{ "version": 3, "sources": ["../../../../../node_modules/react-dropzone/node_modules/file-selector/node_modules/tslib/tslib.es6.js", "../../../../../node_modules/react-dropzone/node_modules/file-selector/dist/es5/file.js", "../../../../../node_modules/react-dropzone/node_modules/file-selector/dist/es5/file-selector.js", "../../../../../node_modules/react-dropzone/node_modules/attr-accept/dist/es/index.js", "../../../../../node_modules/react-dropzone/src/utils/index.js", "../../../../../node_modules/react-dropzone/src/index.js", "../../../../../node_modules/lodash/_assignMergeValue.js", "../../../../../node_modules/lodash/_safeGet.js", "../../../../../node_modules/lodash/toPlainObject.js", "../../../../../node_modules/lodash/_baseMergeDeep.js", "../../../../../node_modules/lodash/_baseMerge.js", "../../../../../node_modules/lodash/_createAssigner.js", "../../../../../node_modules/lodash/merge.js", "../../../../../node_modules/lodash/_arrayEvery.js", "../../../../../node_modules/lodash/_baseEvery.js", "../../../../../node_modules/lodash/every.js", "../../../../../node_modules/lodash/_basePick.js", "../../../../../node_modules/lodash/pick.js", "../../../../../node_modules/@qwerty.software/calc-of-price/package.json", "../../../../../node_modules/ua-parser-js/src/ua-parser.js", "../../../../../node_modules/lodash/_castSlice.js", "../../../../../node_modules/lodash/_asciiToArray.js", "../../../../../node_modules/lodash/_unicodeToArray.js", "../../../../../node_modules/lodash/_stringToArray.js", "../../../../../node_modules/lodash/_createCaseFirst.js", "../../../../../node_modules/lodash/upperFirst.js", "../../../../../node_modules/lodash/capitalize.js", "../../../../../node_modules/lodash/camelCase.js", "../../../../../node_modules/react-phone-input-2/lib/lib.js", "../../../../../node_modules/@qwerty.software/ui-order-form/src/constants.ts", "../../../../../node_modules/env.js", "../../../../../node_modules/shared/utils/unzip/index.js", "../../../../../node_modules/shared/store-manager/middlewares/unzip-pusher-data/index.js", "../../../../../node_modules/shared/store-manager/middlewares/events/store-event-target.ts", "../../../../../node_modules/shared/helpers/singleton.ts", "../../../../../node_modules/shared/store-manager/middlewares/events/index.ts", "../../../../../node_modules/shared/store-manager/sagas.ts", "../../../../../node_modules/shared/utils/is-plain-object.ts", "../../../../../node_modules/@qwerty.software/ab-test/src/component/hydrators/check-request.ts", "../../../../../node_modules/@qwerty.software/ab-test/src/component/_register.ts", "../../../../../node_modules/@qwerty.software/ab-test/src/component/_hydrators.ts", "../../../../../node_modules/@qwerty.software/ab-test/src/component/constants.ts", "../../../../../node_modules/@qwerty.software/ab-test/src/component/store/slice.ts", "../../../../../node_modules/@qwerty.software/ab-test/src/component/store/hydrate-listener.ts", "../../../../../node_modules/@qwerty.software/ab-test/src/component/store/index.ts", "../../../../../node_modules/shared/global-entities/discount/side-effects/index.ts", "../../../../../node_modules/shared/store-manager/core.ts", "../../../../../node_modules/shared/global-entities/ref-to-interact-slice/store.ts", "../../../../../node_modules/shared/global-entities/files-uploader/validators/_build-validator.ts", "../../../../../node_modules/shared/utils/notify/index.ts", "../../../../../node_modules/shared/global-entities/files-uploader/validators/material-extension.ts", "../../../../../node_modules/shared/global-entities/configs/utils/init.ts", "../../../../../node_modules/shared/global-entities/configs/utils/get.ts", "../../../../../node_modules/static/default.json", "../../../../../node_modules/shared/helpers/configs/get-from-configs.js", "../../../../../node_modules/shared/constants/configs.ts", "../../../../../node_modules/shared/constants/auth.js", "../../../../../node_modules/shared/constants/pagesWordsSwitcher.js", "../../../../../node_modules/shared/common/fields-configs.js", "../../../../../node_modules/shared/global-entities/files-uploader/validators/material-size-limit.ts", "../../../../../node_modules/shared/global-entities/files-uploader/validators/index.ts", "../../../../../node_modules/shared/constants/sagas.ts", "../../../../../node_modules/shared/global-entities/files-uploader/definitions.ts", "../../../../../node_modules/shared/global-entities/files-uploader/selectors.ts", "../../../../../node_modules/shared/global-entities/files-uploader/persistor/transforms/aborted.ts", "../../../../../node_modules/shared/global-entities/files-uploader/slice.ts", "../../../../../node_modules/shared/global-entities/discount/definitions.ts", "../../../../../node_modules/shared/global-entities/discount/persistor/transforms/whitelist.ts", "../../../../../node_modules/shared/global-entities/discount/slice.ts", "../../../../../node_modules/shared/helpers/string/convert-string-to-boolean.js", "../../../../../node_modules/shared/utils/storage/storagies/local.js", "../../../../../node_modules/shared/utils/storage/storagies/session.js", "../../../../../node_modules/shared/utils/storage/index.js", "../../../../../node_modules/shared/microservices/sheared/universal-constants.js", "../../../../../node_modules/shared/global-entities/user-data/constants.js", "../../../../../node_modules/shared/constants/persistor.js", "../../../../../node_modules/shared/constants/storage.js", "../../../../../node_modules/shared/global-entities/user-data/reducer.js", "../../../../../node_modules/shared/global-entities/price-data/constants.js", "../../../../../node_modules/shared/global-entities/price-data/reducer.js", "../../../../../node_modules/shared/global-entities/price-data/index.ts", "../../../../../node_modules/shared/global-entities/geo-tag/constants.ts", "../../../../../node_modules/shared/utils/query-string/methods/get-params.js", "../../../../../node_modules/shared/utils/query-string/methods/manipulate-param-without-refresh.js", "../../../../../node_modules/shared/utils/query-string/methods/build.js", "../../../../../node_modules/shared/utils/query-string/methods/make-search-depends-on-env.js", "../../../../../node_modules/shared/utils/query-string/index.js", "../../../../../node_modules/shared/constants/query-params.js", "../../../../../node_modules/shared/global-entities/geo-tag/utils/searchLocalContryCode.ts", "../../../../../node_modules/shared/global-entities/geo-tag/utils/searchLocalIP.ts", "../../../../../node_modules/shared/global-entities/geo-tag/utils/searchLocalGeoTag.ts", "../../../../../node_modules/shared/global-entities/geo-tag/store/types.ts", "../../../../../node_modules/shared/global-entities/geo-tag/store/reducer.ts", "../../../../../node_modules/shared/store-manager/localforage.ts", "../../../../../node_modules/@qwerty.software/live-chat/src/store/utils/extractCustomVaraibles.ts", "../../../../../node_modules/@qwerty.software/live-chat/src/store/types.ts", "../../../../../node_modules/@qwerty.software/live-chat/src/store/initialState.ts", "../../../../../node_modules/@qwerty.software/live-chat/src/store/constants.ts", "../../../../../node_modules/@qwerty.software/live-chat/src/store/reducer.ts", "../../../../../node_modules/@qwerty.software/live-chat/src/constants.ts", "../../../../../node_modules/@qwerty.software/live-chat/src/store/selectors.ts", "../../../../../node_modules/@qwerty.software/live-chat/src/methods/constants.ts", "../../../../../node_modules/@qwerty.software/live-chat/src/methods/open/saga.ts", "../../../../../node_modules/@qwerty.software/live-chat/src/store/sagas/interactionWithUser.ts", "../../../../../node_modules/@qwerty.software/live-chat/src/store/index.ts", "../../../../../node_modules/shared/utils/http-client/tools/axios.js", "../../../../../node_modules/shared/utils/custom-event/index.js", "../../../../../node_modules/shared/constants/custom-events.js", "../../../../../node_modules/shared/constants/visibility-actions.js", "../../../../../node_modules/shared/utils/global-spinner/index.js", "../../../../../node_modules/shared/utils/http-client/request-handler.js", "../../../../../node_modules/shared/utils/from-url/redesign-referrer.ts", "../../../../../node_modules/shared/utils/from-url/temp-query.ts", "../../../../../node_modules/shared/utils/from-url/a-b-test-referrer.ts", "../../../../../node_modules/shared/utils/from-url/index.ts", "../../../../../node_modules/shared/utils/visitor/index.ts", "../../../../../node_modules/shared/utils/action-tracker/interior-track/store/sagas/track/request.ts", "../../../../../node_modules/shared/utils/action-tracker/interior-track/store/constants.ts", "../../../../../node_modules/shared/utils/action-tracker/interior-track/store/sagas/track/index.ts", "../../../../../node_modules/shared/global-entities/files-uploader/middlewares/reorient-image.ts", "../../../../../node_modules/shared/global-entities/files-uploader/sagas/upload-files/single-file.ts", "../../../../../node_modules/shared/global-entities/files-uploader/sagas/upload-files/index.ts", "../../../../../node_modules/@qwerty.software/currency-switcher/src/store/constants.ts", "../../../../../node_modules/@qwerty.software/currency-switcher/src/store/slice.ts", "../../../../../node_modules/shared/global-entities/bootstrap-data/utils/init.ts", "../../../../../node_modules/shared/global-entities/bootstrap-data/utils/get.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/contexts/constants.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/utils/helpers/session-notify.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/constants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/constants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/constants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/work-type-paper-type.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/work-type.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/paper-type.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/deadline.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/pages-words-switcher.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/spacing.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/additional-features/ai-check-report.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/max-value/pages-slides-spacing-deadline.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/max-value/prodlems-questions-deadline.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/max-value/index.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/academic-level.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/subject.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/quantity-key.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/index.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/index.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/price-data/ContextPDAdapter.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/price-data/selectors.ts", "../../../../../node_modules/shared/global-entities/discount/adapters/async-field.ts", "../../../../../node_modules/shared/global-entities/discount/selectors.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/price-data/constants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/price-data/index.ts", "../../../../../node_modules/@qwerty.software/currency-switcher/src/utils/replace-price-via-currency.ts", "../../../../../node_modules/shared/global-entities/discount/sagas/apply-discount.ts", "../../../../../node_modules/shared/store-manager/index.ts", "../../../../../node_modules/ui/circular-progressbar/src/variant_default/index.tsx", "../../../../../node_modules/ui/circular-progressbar/src/context/hoc.tsx", "../../../../../node_modules/ui/circular-progressbar/src/context/index.tsx", "../../../../../node_modules/ui/circular-progressbar/src/components/root.tsx", "../../../../../node_modules/ui/circular-progressbar/src/variables.module.scss", "../../../../../node_modules/ui/circular-progressbar/src/components/track.tsx", "../../../../../node_modules/ui/circular-progressbar/src/components/bar.tsx", "../../../../../node_modules/ui/button/src/variant_default/index.tsx", "../../../../../node_modules/ui/button/src/context/hoc.tsx", "../../../../../node_modules/ui/button/src/context/index.tsx", "../../../../../node_modules/ui/button/src/components/button.tsx", "../../../../../node_modules/ui/button/src/variables.module.scss", "../../../../../node_modules/shared/ui/_hooks/use-ripple.ts", "../../../../../node_modules/ui/tooltip/src/variant_default/index.tsx", "../../../../../node_modules/ui/tooltip/src/hooks/use-position/index.ts", "../../../../../node_modules/ui/tooltip/src/hooks/use-position/coords.ts", "../../../../../node_modules/ui/tooltip/src/hooks/use-anchor.ts", "../../../../../node_modules/ui/tooltip/src/hooks/use-open.ts", "../../../../../node_modules/ui/tooltip/src/hooks/use-portal.ts", "../../../../../node_modules/ui/tooltip/src/hooks/use-render.ts", "../../../../../node_modules/ui/tooltip/src/variables.module.scss", "../../../../../node_modules/ui/input/src/variant_default/index.tsx", "../../../../../node_modules/ui/input/src/context/hoc.tsx", "../../../../../node_modules/ui/input/src/context/index.tsx", "../../../../../node_modules/ui/input/src/components/input.tsx", "../../../../../node_modules/ui/input/src/variables.module.scss", "../../../../../node_modules/ui/select/src/variant_default/index.tsx", "../../../../../node_modules/ui/select/src/context/hoc.tsx", "../../../../../node_modules/ui/select/src/context/index.tsx", "../../../../../node_modules/ui/select/src/components/select.tsx", "../../../../../node_modules/ui/select/src/variables.module.scss", "../../../../../node_modules/ui/select/src/components/option.tsx", "../../../../../node_modules/ui/select/src/components/optgroup.tsx", "../../../../../node_modules/ui/textarea/src/variant_default/index.tsx", "../../../../../node_modules/ui/textarea/src/components/textarea.tsx", "../../../../../node_modules/ui/textarea/src/variables.module.scss", "../../../../../node_modules/ui/dropzone/src/variant_default/index.tsx", "../../../../../node_modules/ui/dropzone/src/context/hoc.tsx", "../../../../../node_modules/ui/dropzone/src/context/index.tsx", "../../../../../node_modules/ui/dropzone/src/components/root.tsx", "../../../../../node_modules/ui/dropzone/src/components/input.tsx", "../../../../../node_modules/ui/dropzone/src/variables.module.scss", "../../../../../node_modules/ui/dropzone/src/components/backdrop.tsx", "../../../../../node_modules/ui/dropzone/src/components/drag-message.tsx", "../../../../../node_modules/shared/ui/_hooks/use-ripple.ts", "../../../../../node_modules/shared/ui/_responsive/base.tsx", "../../../../../node_modules/shared/ui/_responsive/breakpoints.module.scss", "../../../../../node_modules/shared/ui/_responsive/index.tsx", "../../../../../node_modules/ui/dropzone/src/assets/clip.svg", "../../../../../node_modules/ui/dropzone/src/components/drop-message.tsx", "../../../../../node_modules/ui/dropzone/src/assets/upload.svg", "../../../../../node_modules/ui/radio-group/src/variant_default/index.tsx", "../../../../../node_modules/ui/radio-group/src/variant_default/option.tsx", "../../../../../node_modules/ui/radio-group/src/components/option.tsx", "../../../../../node_modules/shared/ui/_hooks/use-ripple.ts", "../../../../../node_modules/ui/radio-group/src/context/index.tsx", "../../../../../node_modules/ui/radio-group/src/tools/base-equality-fn.ts", "../../../../../node_modules/ui/radio-group/src/variables.module.scss", "../../../../../node_modules/ui/radio-group/src/context/hoc.tsx", "../../../../../node_modules/ui/number-input/src/variant_default/index.tsx", "../../../../../node_modules/ui/number-input/src/context/hoc.tsx", "../../../../../node_modules/ui/number-input/src/context/index.tsx", "../../../../../node_modules/ui/number-input/src/hooks/use-api.ts", "../../../../../node_modules/ui/number-input/src/tools/base-stringify.ts", "../../../../../node_modules/ui/number-input/src/tools/base-parse.ts", "../../../../../node_modules/ui/number-input/src/tools/base-normalize.ts", "../../../../../node_modules/ui/number-input/src/hooks/use-temp-state.ts", "../../../../../node_modules/ui/number-input/src/components/decrease.tsx", "../../../../../node_modules/ui/number-input/src/components/button.tsx", "../../../../../node_modules/shared/ui/_hooks/use-ripple.ts", "../../../../../node_modules/ui/number-input/src/variables.module.scss", "../../../../../node_modules/ui/number-input/src/assets/minus.svg.tsx", "../../../../../node_modules/ui/number-input/src/components/input.tsx", "../../../../../node_modules/ui/number-input/src/components/increase.tsx", "../../../../../node_modules/ui/number-input/src/assets/plus.svg.tsx", "../../../../../node_modules/ui/switcher/src/variant_default/index.tsx", "../../../../../node_modules/ui/switcher/src/context/index.tsx", "../../../../../node_modules/ui/switcher/src/context/hoc.tsx", "../../../../../node_modules/ui/switcher/src/components/flag.tsx", "../../../../../node_modules/ui/switcher/src/variables.module.scss", "../../../../../node_modules/ui/switcher/src/components/label.tsx", "../../../../../node_modules/ui/switcher/src/components/thumb.tsx", "../../../../../node_modules/shared/ui/_hooks/use-ripple.ts", "../../../../../node_modules/ui/checkbox/src/variant_default/index.tsx", "../../../../../node_modules/ui/checkbox/src/context/index.tsx", "../../../../../node_modules/ui/checkbox/src/assets/checked.svg", "../../../../../node_modules/ui/checkbox/src/assets/unchecked.svg", "../../../../../node_modules/ui/checkbox/src/context/hoc.tsx", "../../../../../node_modules/ui/checkbox/src/components/root.tsx", "../../../../../node_modules/shared/ui/_hooks/use-ripple.ts", "../../../../../node_modules/ui/checkbox/src/variables.module.scss", "../../../../../node_modules/ui/checkbox/src/components/flag.tsx", "../../../../../node_modules/ui/checkbox/src/components/label.tsx", "../../../../../node_modules/ui/checkbox/src/components/icon.tsx", "../../../../../node_modules/ui/tabs/src/variant_default/index.tsx", "../../../../../node_modules/ui/tabs/src/variant_default/tab.tsx", "../../../../../node_modules/ui/tabs/src/components/tab.tsx", "../../../../../node_modules/shared/ui/_hooks/use-ripple.ts", "../../../../../node_modules/ui/tabs/src/context/index.tsx", "../../../../../node_modules/ui/tabs/src/tools/base-equality-fn.ts", "../../../../../node_modules/ui/tabs/src/variables.module.scss", "../../../../../node_modules/ui/tabs/src/context/hoc.tsx", "../../../../../node_modules/ui/accordion/src/variant_default/index.tsx", "../../../../../node_modules/ui/accordion/src/variant_default/components/panel.tsx", "../../../../../node_modules/ui/accordion/src/variant_default/components/head.tsx", "../../../../../node_modules/shared/framework/icons/arrow.js", "../../../../../node_modules/shared/framework/icons/template/index.js", "../../../../../node_modules/ui/accordion/src/variables.module.scss", "../../../../../node_modules/ui/accordion/src/variant_default/components/body.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/ab-tests/prices-ab-test/speedy-expadable.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/contexts/form-context/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/_decorator/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/_decorator/configs-context.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/contexts/dictionary-context/index.tsx", "../../../../../node_modules/shared/utils/dictionary/t.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/contexts/dictionary-context/dictionary.ts", "../../../../../node_modules/shared/global-entities/discount/with-discount.tsx", "../../../../../node_modules/shared/store-manager/absrtact-initializer.ts", "../../../../../node_modules/shared/store-manager/initializer.ts", "../../../../../node_modules/shared/global-entities/discount/side-effects/search-param.ts", "../../../../../node_modules/shared/global-entities/files-uploader/with-files-uploader.tsx", "../../../../../node_modules/shared/global-entities/files-uploader/side-effects/notifications.ts", "../../../../../node_modules/shared/global-entities/files-uploader/side-effects/index.ts", "../../../../../node_modules/shared/store-manager/hooks/use-slices.ts", "../../../../../node_modules/shared/utils/notify/configure-notify.tsx", "../../../../../node_modules/shared/common/store-gate.tsx", "../../../../../node_modules/shared/utils/set-design-type-to-storage/index.js", "../../../../../node_modules/shared/constants/project-ids.ts", "../../../../../node_modules/shared/hooks/use-store-manager.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/user/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/user/constants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/price-data/usePriceData.ts", "../../../../../node_modules/shared/hooks/useAction.ts", "../../../../../node_modules/shared/global-entities/discount/hooks/use-discount.tsx", "../../../../../node_modules/shared/global-entities/discount/hooks/use-price-activation.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/price-data/use-calculate.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/price-data/extract-free-features-from-raw-order.ts", "../../../../../node_modules/shared/global-entities/user-data/hook.ts", "../../../../../node_modules/shared/global-entities/user-data/actions/check.js", "../../../../../node_modules/shared/global-entities/user-data/adapter.js", "../../../../../node_modules/shared/utils/action-tracker/index.ts", "../../../../../node_modules/shared/utils/action-tracker/google-track.ts", "../../../../../node_modules/shared/utils/action-tracker/interior-track/index.ts", "../../../../../node_modules/shared/utils/rt/index.ts", "../../../../../node_modules/shared/utils/first-check-request/index.ts", "../../../../../node_modules/shared/utils/visited-pages/track-main-page.ts", "../../../../../node_modules/shared/utils/visited-pages/index.ts", "../../../../../node_modules/shared/utils/action-tracker/getUserTraficFields.js", "../../../../../node_modules/shared/global-entities/user-data/actions/fingerprint/index.ts", "../../../../../node_modules/shared/global-entities/user-data/actions/fingerprint/toBinary.tsx", "../../../../../node_modules/shared/global-entities/user-data/helpers/toggle-auth-buttons.js", "../../../../../node_modules/shared/constants/data-attrs.js", "../../../../../node_modules/shared/global-entities/user-data/selectors.js", "../../../../../node_modules/@qwerty.software/ui-order-form/src/hooks/use-mark-order-page-as-visited.tsx", "../../../../../node_modules/shared/global-entities/user-data/hooks/useVisitorID.ts", "../../../../../node_modules/shared/global-entities/geo-tag/index.ts", "../../../../../node_modules/shared/utils/cookie/index.js", "../../../../../node_modules/shared/global-entities/geo-tag/tracers/index.ts", "../../../../../node_modules/shared/global-entities/geo-tag/tracers/cloudflare.ts", "../../../../../node_modules/shared/global-entities/geo-tag/store/hooks/geoTag.ts", "../../../../../node_modules/shared/global-entities/geo-tag/store/actions.ts", "../../../../../node_modules/shared/global-entities/geo-tag/store/selectors.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/hooks/use-clear-after-time.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/changed-data-reminder/store/actions.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/step/index.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/step/constants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/step/constants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/utils/sanitizers/number.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/step/utils/go.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/step/slice-creator.ts", "../../../../../node_modules/@qwerty.software/chat-bot/src/store/slice.ts", "../../../../../node_modules/@qwerty.software/chat-bot/src/store/definitions.ts", "../../../../../node_modules/@qwerty.software/chat-bot/src/variables.module.scss", "../../../../../node_modules/shared/store-manager/hooks/use-slice.ts", "../../../../../node_modules/shared/store-manager/hooks/useSaga.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/hint-login.ts", "../../../../../node_modules/shared/framework/modal/constants.js", "../../../../../node_modules/shared/microservices/auth/auth-modal/constants.ts", "../../../../../node_modules/shared/common/sheared/universal-constants.js", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/index.ts", "../../../../../node_modules/shared/microservices/order/order-form/actions.tsx", "../../../../../node_modules/shared/helpers/webview/webview-post-message.js", "../../../../../node_modules/shared/global-entities/user-data/helpers/system-authorization.js", "../../../../../node_modules/shared/microservices/order/order-form/helpers/track-successful-order-submission.js", "../../../../../node_modules/@qwerty.software/payments-modals/src/modals-control/index.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/modals-control/constants.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/constants.ts", "../../../../../node_modules/shared/microservices/order/order-form/configs/basic.js", "../../../../../node_modules/shared/microservices/order/order-form/constants.js", "../../../../../node_modules/shared/microservices/order/order-form/configs/default/basic.js", "../../../../../node_modules/shared/microservices/order/order-form/configs/template-one/basic.js", "../../../../../node_modules/shared/microservices/order/order-form/configs/template-two/basic.js", "../../../../../node_modules/shared/microservices/order/order-form/configs/resume/basic.js", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/request/adapters/order.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/request/extractors/agreements.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/request/extractors/discount.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/request/extractors/materials.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/request/extractors/preferred-order.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/request/extractors/topic.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/request/extractors/upsales.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/request/adapters/user.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/request/adapters/inquiry.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/validation/index.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/validation/validators/values-fileds.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/validation/validators/auth-fields.ts", "../../../../../node_modules/shared/helpers/scroll/scroll-to.js", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/user/validators/index.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/user/validators/clientAgreements.ts", "../../../../../node_modules/shared/utils/validator/validators/email.js", "../../../../../node_modules/shared/utils/validator/validators/phone.js", "../../../../../node_modules/shared/utils/validator/validators/client-agreements.js", "../../../../../node_modules/shared/utils/validator/validators/more-then-chars-length.js", "../../../../../node_modules/shared/utils/validator/validators/less-then-chars-length.js", "../../../../../node_modules/shared/utils/validator/validators/only-numbers.js", "../../../../../node_modules/shared/utils/validator/index.js", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/user/validators/email.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/user/validators/password.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/user/validators/phone.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/auth/constants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/validation/validators/order-fields.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/preferred-order/definitions.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/errors/NotifyError.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/errors/EmptyValueError.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/errors/AuthValidationError.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/place-order/errors/OrderValidationError.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/sagas/step/index.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/index.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/store/index.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/store/slice.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/store/actions/get-payment-data.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/store/actions/dismiss-personal-funds.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/store/actions/get-personal-funds-balance.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/store/constants.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/store/actions/apply-personal-funds.ts", "../../../../../node_modules/shared/utils/round-to-two.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/api/with-payment-flow-api-init.tsx", "../../../../../node_modules/shared/utils/user-agent/index.js", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/api/utils/window-centerer.js", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/api/index.js", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/context/index.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/context/use-open-event.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/context/incoming-event-side-effects.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/modals-control/listeners/use-open-payments-modal-listener.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/modal.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/components/modal/index.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/discount-error/index.tsx", "../../../../../node_modules/shared/framework/icons/template/index.js", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/discount-error/icon.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/payment-methods/index.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/payment-methods/payment-method/index.tsx", "../../../../../node_modules/shared/ui/_responsive/base.tsx", "../../../../../node_modules/shared/ui/_responsive/breakpoints.module.scss", "../../../../../node_modules/shared/ui/_responsive/index.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/payment-methods/payment-method/payment-image/index.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/payment-methods/payment-method/alternate-methods-list/index.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/payment-methods/payment-method/alternate-methods-list/gate-icon.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/api/open-payment-method.ts", "../../../../../node_modules/shared/helpers/redirects/redirect.js", "../../../../../node_modules/shared/helpers/redirects/forward-to-dashboard.js", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/utils/forward-to-dashboard.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/api/utils/build-query-result.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/utils/payment-methods-adapter.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/personal-funds/index.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/personal-funds/components/personal-funds-input/index.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/personal-funds/components/personal-funds-input/normilize-input-value.ts", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/personal-funds/components/apply-button.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/personal-funds/components/applied-personal-funds.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/modal-footer/index.tsx", "../../../../../node_modules/@qwerty.software/payments-modals/src/payment-methods-modal/components/modal-footer/pay-later-button.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/speedy/extendable/form.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/speedy/main/form.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/hooks/use-change-order-by-query.tsx", "../../../../../node_modules/shared/store-manager/providers/query/index.ts", "../../../../../node_modules/shared/store-manager/api/botstrap-data.ts", "../../../../../node_modules/shared/global-entities/bootstrap-data/slice.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/hooks/constants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/hooks/use-copy-order-to-clipboard.tsx", "../../../../../node_modules/shared/framework/switch/simple-switch/switch.tsx", "../../../../../node_modules/shared/framework/switch/simple-switch/case.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/stepper/compact.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/stepper/trackSteps.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/navigation/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/navigation/submit.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/summary/speedypaper.com.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/discount/field/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/discount/field/components/assigned/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/summary/components/price-items-list/components/price-item.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/tooltip/index.tsx", "../../../../../node_modules/shared/framework/icons/cross.js", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/discount/field/components/assigned/use-discount-title.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/discount/field/components/assigned/constants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/discount/field/components/form.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/hooks/use-storage-discount-flag.tsx", "../../../../../node_modules/shared/utils/storage/contstants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/discount/field/components/hint.tsx", "../../../../../node_modules/@qwerty.software/live-chat/src/store/actions.ts", "../../../../../node_modules/@qwerty.software/live-chat/src/methods/updateCustomVariables.ts", "../../../../../node_modules/@qwerty.software/live-chat/src/methods/open/index.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/discount/field/use-storage-discount-flag.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/summary/components/reset.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/changed-data-reminder/store/selectors.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/summary/components/price-items-list/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/summary/utils/number.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/summary/components/price-items-list/components/price-units-list.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/summary/components/total-price.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/summary/components/payment-methods/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/summary/components/payment-methods/icon.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/bottom-price-box/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/hooks/use-cookie-policy-shift.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/paper-type/with-most-popular.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/fieldbox/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/_common/select.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/_common/popular-choices/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/_common/popular-choices/usePopular.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/_common/popular-choices/options.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/subject/with-most-popular.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/topic/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/paper-details-materials/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/paper-details/field.tsx", "../../../../../node_modules/shared/hooks/useCustomEvent.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/materials/field.tsx", "../../../../../node_modules/shared/framework/icons/upload-files.js", "../../../../../node_modules/shared/global-entities/files-uploader/hooks/use-files.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/materials/files-list/file/context/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/materials/files-list/file/success.tsx", "../../../../../node_modules/shared/global-entities/files-uploader/hooks/use-file.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/materials/files-list/file/components/name.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/materials/files-list/file/components/size.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/materials/files-list/file/components/remove-button.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/materials/files-list/file/icons/remove-icon.svg", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/materials/files-list/file/error.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/materials/files-list/file/components/error-message.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/materials/files-list/file/progress.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/materials/files-list/file/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/materials/files-list/file/static.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/materials/files-list/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/paper-format/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/paper-format/field.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/_common/radio-group/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/academic-level/radio-group.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/work-type/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/deadline/speedypaper.com.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/deadline/use-deadline-helper.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/deadline/get-deadlines.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/deadline/use-disabled.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/quantity/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/quantity/field.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/_common/number-input/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/_sanitizers/number-input.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/_sanitizers/id.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/quantity/pages-words-switcher/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/quantity/useHint.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/spacing/select.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/slides/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/slides/speaker-notes.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/_common/checkbox/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/tooltip/floating-tooltip.tsx", "../../../../../node_modules/shared/framework/tooltips/floating-tooltip/index.tsx", "../../../../../node_modules/shared/hooks/useWindowEvent.ts", "../../../../../node_modules/shared/helpers/use-is-mouse-device.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/sources/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/sources/soft-copies.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/writer-category/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/writer-category/field.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/writer-category/option-button/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/writer-category/option-button/preferred-error-tooltip/use-preferred-error.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/previously-ordered-upsales/use-filtered-upsales.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/additional-features/use-additional-features-disabled.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/additional-features/index.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/additional-features/multiply-choise-questions.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/additional-features/resume101.org.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/additional-features/constants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/preferred-order/with-search-input.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/preferred-order/requests/search-preferred.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/preferred-order/form/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/preferred-order/saga.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/preferred-order/request.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/order/preferred-order/constants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/_common/login-link.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/preferred-order/form/components/hints.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/preferred-order/form/utils/get-hint-text.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/preferred-order/form/components/button.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/preferred-order/form/components/search-input.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/preferred-order/form/components/preferred-writers-list.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/additional-features/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/additional-features/field.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/additional-features/feature.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/additional-features/extract-texts-from-titles.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/additional-features/use-sort-filter-features.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/additional-features/use-included-in-package-features.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/additional-features/use-upsales-badges.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/software/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/software/checkbox-field.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/software/select-field.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/form-fields/discount/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/previously-ordered-upsales/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/previously-ordered-upsales/use-tracking.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/auth/socials-inside-tabs.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/auth/already-logged/index.tsx", "../../../../../node_modules/shared/global-entities/user-data/actions/signout.js", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/auth/tabs/tabs-socials-inside.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/auth/tabs/components/email.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/auth/tabs/components/phone/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/auth/tabs/components/phone/field.tsx", "../../../../../node_modules/shared/global-entities/phone/configs.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/auth/tabs/components/password/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/auth/tabs/components/password/adornment.tsx", "../../../../../node_modules/shared/framework/icons/visibility.js", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/auth/tabs/components/password/forgot-password.tsx", "../../../../../node_modules/shared/common/fields/auth/social/index.tsx", "../../../../../node_modules/shared/common/fields/auth/social/apple/index.tsx", "../../../../../node_modules/shared/common/fields/auth/social/hooks/useCheckValid.tsx", "../../../../../node_modules/shared/common/sheared/universal-actions.jsx", "../../../../../node_modules/shared/microservices/order/sheared/helpers/set-order-data-changed-key.js", "../../../../../node_modules/shared/microservices/dashboard/constants.js", "../../../../../node_modules/shared/common/sheared/universal-selectors.js", "../../../../../node_modules/shared/common/fields/auth/social/apple/actions.ts", "../../../../../node_modules/shared/common/fields/auth/social/google/index.tsx", "../../../../../node_modules/shared/common/fields/auth/social/google/actions.ts", "../../../../../node_modules/shared/common/fields/auth/social/facebook/index.tsx", "../../../../../node_modules/shared/common/fields/auth/social/facebook/actions.ts", "../../../../../node_modules/shared/common/fields/auth/social/facebook/text.tsx", "../../../../../node_modules/shared/common/fields/auth/social/facebook/loader-hoc.tsx", "../../../../../node_modules/shared/helpers/make-class-via-project.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/auth/tabs/components/agreements/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/auth/tabs/components/agreements/field/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/auth/tabs/components/agreements/field/toggle.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/components/summary/mobile-accordion.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/speedy/stepless/form.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/extender/slice.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/store/slices/extender/constants.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/_extender/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/speedy/_form-difference/checkbox-icons/checked.svg", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/speedy/_form-difference/checkbox-icons/unchecked.svg", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/speedy/_form-difference/additional-feature-special/index.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/speedy/_form-difference/additional-feature-special/icon.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/speedy/_form-difference/writer-category-button.tsx", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/ab-tests/prices-ab-test/_form-difference/connect-price-data.tsx", "../../../../../node_modules/@qwerty.software/ab-test/src/component/hooks/use-ab-test.tsx", "../../../../../node_modules/@qwerty.software/ab-test/src/component/tracking/index.ts", "../../../../../node_modules/@qwerty.software/ui-order-form/src/templates/ab-tests/prices-ab-test/_form-difference/place-order-saga-component.tsx", "../../../../../resources/views/sites/speedypaper-com/microservices-kits/order-form/render.tsx"], "sourcesContent": ["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n 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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n", "export var COMMON_MIME_TYPES = new Map([\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\n ['aac', 'audio/aac'],\n ['abw', 'application/x-abiword'],\n ['arc', 'application/x-freearc'],\n ['avif', 'image/avif'],\n ['avi', 'video/x-msvideo'],\n ['azw', 'application/vnd.amazon.ebook'],\n ['bin', 'application/octet-stream'],\n ['bmp', 'image/bmp'],\n ['bz', 'application/x-bzip'],\n ['bz2', 'application/x-bzip2'],\n ['cda', 'application/x-cdf'],\n ['csh', 'application/x-csh'],\n ['css', 'text/css'],\n ['csv', 'text/csv'],\n ['doc', 'application/msword'],\n ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'],\n ['eot', 'application/vnd.ms-fontobject'],\n ['epub', 'application/epub+zip'],\n ['gz', 'application/gzip'],\n ['gif', 'image/gif'],\n ['heic', 'image/heic'],\n ['heif', 'image/heif'],\n ['htm', 'text/html'],\n ['html', 'text/html'],\n ['ico', 'image/vnd.microsoft.icon'],\n ['ics', 'text/calendar'],\n ['jar', 'application/java-archive'],\n ['jpeg', 'image/jpeg'],\n ['jpg', 'image/jpeg'],\n ['js', 'text/javascript'],\n ['json', 'application/json'],\n ['jsonld', 'application/ld+json'],\n ['mid', 'audio/midi'],\n ['midi', 'audio/midi'],\n ['mjs', 'text/javascript'],\n ['mp3', 'audio/mpeg'],\n ['mp4', 'video/mp4'],\n ['mpeg', 'video/mpeg'],\n ['mpkg', 'application/vnd.apple.installer+xml'],\n ['odp', 'application/vnd.oasis.opendocument.presentation'],\n ['ods', 'application/vnd.oasis.opendocument.spreadsheet'],\n ['odt', 'application/vnd.oasis.opendocument.text'],\n ['oga', 'audio/ogg'],\n ['ogv', 'video/ogg'],\n ['ogx', 'application/ogg'],\n ['opus', 'audio/opus'],\n ['otf', 'font/otf'],\n ['png', 'image/png'],\n ['pdf', 'application/pdf'],\n ['php', 'application/x-httpd-php'],\n ['ppt', 'application/vnd.ms-powerpoint'],\n ['pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation'],\n ['rar', 'application/vnd.rar'],\n ['rtf', 'application/rtf'],\n ['sh', 'application/x-sh'],\n ['svg', 'image/svg+xml'],\n ['swf', 'application/x-shockwave-flash'],\n ['tar', 'application/x-tar'],\n ['tif', 'image/tiff'],\n ['tiff', 'image/tiff'],\n ['ts', 'video/mp2t'],\n ['ttf', 'font/ttf'],\n ['txt', 'text/plain'],\n ['vsd', 'application/vnd.visio'],\n ['wav', 'audio/wav'],\n ['weba', 'audio/webm'],\n ['webm', 'video/webm'],\n ['webp', 'image/webp'],\n ['woff', 'font/woff'],\n ['woff2', 'font/woff2'],\n ['xhtml', 'application/xhtml+xml'],\n ['xls', 'application/vnd.ms-excel'],\n ['xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],\n ['xml', 'application/xml'],\n ['xul', 'application/vnd.mozilla.xul+xml'],\n ['zip', 'application/zip'],\n ['7z', 'application/x-7z-compressed'],\n // Others\n ['mkv', 'video/x-matroska'],\n ['mov', 'video/quicktime'],\n ['msg', 'application/vnd.ms-outlook']\n]);\nexport function toFileWithPath(file, path) {\n var f = withMimeType(file);\n if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path\n var webkitRelativePath = file.webkitRelativePath;\n Object.defineProperty(f, 'path', {\n value: typeof path === 'string'\n ? path\n // If is set,\n // the File will have a {webkitRelativePath} property\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory\n : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0\n ? webkitRelativePath\n : file.name,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n return f;\n}\nfunction withMimeType(file) {\n var name = file.name;\n var hasExtension = name && name.lastIndexOf('.') !== -1;\n if (hasExtension && !file.type) {\n var ext = name.split('.')\n .pop().toLowerCase();\n var type = COMMON_MIME_TYPES.get(ext);\n if (type) {\n Object.defineProperty(file, 'type', {\n value: type,\n writable: false,\n configurable: false,\n enumerable: true\n });\n }\n }\n return file;\n}\n//# sourceMappingURL=file.js.map", "import { __awaiter, __generator, __read, __spreadArray } from \"tslib\";\nimport { toFileWithPath } from './file';\nvar FILES_TO_IGNORE = [\n // Thumbnail cache files for macOS and Windows\n '.DS_Store',\n 'Thumbs.db' // Windows\n];\n/**\n * Convert a DragEvent's DataTrasfer object to a list of File objects\n * NOTE: If some of the items are folders,\n * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.\n *\n * EXPERIMENTAL: A list of https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle objects can also be passed as an arg\n * and a list of File objects will be returned.\n *\n * @param evt\n */\nexport function fromEvent(evt) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (isObject(evt) && isDataTransfer(evt.dataTransfer)) {\n return [2 /*return*/, getDataTransferFiles(evt.dataTransfer, evt.type)];\n }\n else if (isChangeEvt(evt)) {\n return [2 /*return*/, getInputFiles(evt)];\n }\n else if (Array.isArray(evt) && evt.every(function (item) { return 'getFile' in item && typeof item.getFile === 'function'; })) {\n return [2 /*return*/, getFsHandleFiles(evt)];\n }\n return [2 /*return*/, []];\n });\n });\n}\nfunction isDataTransfer(value) {\n return isObject(value);\n}\nfunction isChangeEvt(value) {\n return isObject(value) && isObject(value.target);\n}\nfunction isObject(v) {\n return typeof v === 'object' && v !== null;\n}\nfunction getInputFiles(evt) {\n return fromList(evt.target.files).map(function (file) { return toFileWithPath(file); });\n}\n// Ee expect each handle to be https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle\nfunction getFsHandleFiles(handles) {\n return __awaiter(this, void 0, void 0, function () {\n var files;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, Promise.all(handles.map(function (h) { return h.getFile(); }))];\n case 1:\n files = _a.sent();\n return [2 /*return*/, files.map(function (file) { return toFileWithPath(file); })];\n }\n });\n });\n}\nfunction getDataTransferFiles(dt, type) {\n return __awaiter(this, void 0, void 0, function () {\n var items, files;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!dt.items) return [3 /*break*/, 2];\n items = fromList(dt.items)\n .filter(function (item) { return item.kind === 'file'; });\n // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,\n // only 'dragstart' and 'drop' has access to the data (source node)\n if (type !== 'drop') {\n return [2 /*return*/, items];\n }\n return [4 /*yield*/, Promise.all(items.map(toFilePromises))];\n case 1:\n files = _a.sent();\n return [2 /*return*/, noIgnoredFiles(flatten(files))];\n case 2: return [2 /*return*/, noIgnoredFiles(fromList(dt.files)\n .map(function (file) { return toFileWithPath(file); }))];\n }\n });\n });\n}\nfunction noIgnoredFiles(files) {\n return files.filter(function (file) { return FILES_TO_IGNORE.indexOf(file.name) === -1; });\n}\n// IE11 does not support Array.from()\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility\n// https://developer.mozilla.org/en-US/docs/Web/API/FileList\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList\nfunction fromList(items) {\n if (items === null) {\n return [];\n }\n var files = [];\n // tslint:disable: prefer-for-of\n for (var i = 0; i < items.length; i++) {\n var file = items[i];\n files.push(file);\n }\n return files;\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem\nfunction toFilePromises(item) {\n if (typeof item.webkitGetAsEntry !== 'function') {\n return fromDataTransferItem(item);\n }\n var entry = item.webkitGetAsEntry();\n // Safari supports dropping an image node from a different window and can be retrieved using\n // the DataTransferItem.getAsFile() API\n // NOTE: FileSystemEntry.file() throws if trying to get the file\n if (entry && entry.isDirectory) {\n return fromDirEntry(entry);\n }\n return fromDataTransferItem(item);\n}\nfunction flatten(items) {\n return items.reduce(function (acc, files) { return __spreadArray(__spreadArray([], __read(acc), false), __read((Array.isArray(files) ? flatten(files) : [files])), false); }, []);\n}\nfunction fromDataTransferItem(item) {\n var file = item.getAsFile();\n if (!file) {\n return Promise.reject(\"\".concat(item, \" is not a File\"));\n }\n var fwp = toFileWithPath(file);\n return Promise.resolve(fwp);\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry\nfunction fromEntry(entry) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry)];\n });\n });\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry\nfunction fromDirEntry(entry) {\n var reader = entry.createReader();\n return new Promise(function (resolve, reject) {\n var entries = [];\n function readEntries() {\n var _this = this;\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader\n // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries\n reader.readEntries(function (batch) { return __awaiter(_this, void 0, void 0, function () {\n var files, err_1, items;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!batch.length) return [3 /*break*/, 5];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, Promise.all(entries)];\n case 2:\n files = _a.sent();\n resolve(files);\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n reject(err_1);\n return [3 /*break*/, 4];\n case 4: return [3 /*break*/, 6];\n case 5:\n items = Promise.all(batch.map(fromEntry));\n entries.push(items);\n // Continue reading\n readEntries();\n _a.label = 6;\n case 6: return [2 /*return*/];\n }\n });\n }); }, function (err) {\n reject(err);\n });\n }\n readEntries();\n });\n}\n// https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry\nfunction fromFileEntry(entry) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve, reject) {\n entry.file(function (file) {\n var fwp = toFileWithPath(file, entry.fullPath);\n resolve(fwp);\n }, function (err) {\n reject(err);\n });\n })];\n });\n });\n}\n//# sourceMappingURL=file-selector.js.map", "\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (file, acceptedFiles) {\n if (file && acceptedFiles) {\n var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');\n var fileName = file.name || '';\n var mimeType = (file.type || '').toLowerCase();\n var baseMimeType = mimeType.replace(/\\/.*$/, '');\n return acceptedFilesArray.some(function (type) {\n var validType = type.trim().toLowerCase();\n\n if (validType.charAt(0) === '.') {\n return fileName.toLowerCase().endsWith(validType);\n } else if (validType.endsWith('/*')) {\n // This is something like a image/* mime type\n return baseMimeType === validType.replace(/\\/.*$/, '');\n }\n\n return mimeType === validType;\n });\n }\n\n return true;\n};", "import accepts from \"attr-accept\";\n\n// Error codes\nexport const FILE_INVALID_TYPE = \"file-invalid-type\";\nexport const FILE_TOO_LARGE = \"file-too-large\";\nexport const FILE_TOO_SMALL = \"file-too-small\";\nexport const TOO_MANY_FILES = \"too-many-files\";\n\nexport const ErrorCode = {\n FileInvalidType: FILE_INVALID_TYPE,\n FileTooLarge: FILE_TOO_LARGE,\n FileTooSmall: FILE_TOO_SMALL,\n TooManyFiles: TOO_MANY_FILES,\n};\n\n// File Errors\nexport const getInvalidTypeRejectionErr = (accept) => {\n accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;\n const messageSuffix = Array.isArray(accept)\n ? `one of ${accept.join(\", \")}`\n : accept;\n return {\n code: FILE_INVALID_TYPE,\n message: `File type must be ${messageSuffix}`,\n };\n};\n\nexport const getTooLargeRejectionErr = (maxSize) => {\n return {\n code: FILE_TOO_LARGE,\n message: `File is larger than ${maxSize} ${\n maxSize === 1 ? \"byte\" : \"bytes\"\n }`,\n };\n};\n\nexport const getTooSmallRejectionErr = (minSize) => {\n return {\n code: FILE_TOO_SMALL,\n message: `File is smaller than ${minSize} ${\n minSize === 1 ? \"byte\" : \"bytes\"\n }`,\n };\n};\n\nexport const TOO_MANY_FILES_REJECTION = {\n code: TOO_MANY_FILES,\n message: \"Too many files\",\n};\n\n// Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with\n// that MIME type will always be accepted\nexport function fileAccepted(file, accept) {\n const isAcceptable =\n file.type === \"application/x-moz-file\" || accepts(file, accept);\n return [\n isAcceptable,\n isAcceptable ? null : getInvalidTypeRejectionErr(accept),\n ];\n}\n\nexport function fileMatchSize(file, minSize, maxSize) {\n if (isDefined(file.size)) {\n if (isDefined(minSize) && isDefined(maxSize)) {\n if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];\n if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];\n } else if (isDefined(minSize) && file.size < minSize)\n return [false, getTooSmallRejectionErr(minSize)];\n else if (isDefined(maxSize) && file.size > maxSize)\n return [false, getTooLargeRejectionErr(maxSize)];\n }\n return [true, null];\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\n\n/**\n *\n * @param {object} options\n * @param {File[]} options.files\n * @param {string|string[]} [options.accept]\n * @param {number} [options.minSize]\n * @param {number} [options.maxSize]\n * @param {boolean} [options.multiple]\n * @param {number} [options.maxFiles]\n * @param {(f: File) => FileError|FileError[]|null} [options.validator]\n * @returns\n */\nexport function allFilesAccepted({\n files,\n accept,\n minSize,\n maxSize,\n multiple,\n maxFiles,\n validator,\n}) {\n if (\n (!multiple && files.length > 1) ||\n (multiple && maxFiles >= 1 && files.length > maxFiles)\n ) {\n return false;\n }\n\n return files.every((file) => {\n const [accepted] = fileAccepted(file, accept);\n const [sizeMatch] = fileMatchSize(file, minSize, maxSize);\n const customErrors = validator ? validator(file) : null;\n return accepted && sizeMatch && !customErrors;\n });\n}\n\n// React's synthetic events has event.isPropagationStopped,\n// but to remain compatibility with other libs (Preact) fall back\n// to check event.cancelBubble\nexport function isPropagationStopped(event) {\n if (typeof event.isPropagationStopped === \"function\") {\n return event.isPropagationStopped();\n } else if (typeof event.cancelBubble !== \"undefined\") {\n return event.cancelBubble;\n }\n return false;\n}\n\nexport function isEvtWithFiles(event) {\n if (!event.dataTransfer) {\n return !!event.target && !!event.target.files;\n }\n // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file\n return Array.prototype.some.call(\n event.dataTransfer.types,\n (type) => type === \"Files\" || type === \"application/x-moz-file\"\n );\n}\n\nexport function isKindFile(item) {\n return typeof item === \"object\" && item !== null && item.kind === \"file\";\n}\n\n// allow the entire document to be a drag target\nexport function onDocumentDragOver(event) {\n event.preventDefault();\n}\n\nfunction isIe(userAgent) {\n return (\n userAgent.indexOf(\"MSIE\") !== -1 || userAgent.indexOf(\"Trident/\") !== -1\n );\n}\n\nfunction isEdge(userAgent) {\n return userAgent.indexOf(\"Edge/\") !== -1;\n}\n\nexport function isIeOrEdge(userAgent = window.navigator.userAgent) {\n return isIe(userAgent) || isEdge(userAgent);\n}\n\n/**\n * This is intended to be used to compose event handlers\n * They are executed in order until one of them calls `event.isPropagationStopped()`.\n * Note that the check is done on the first invoke too,\n * meaning that if propagation was stopped before invoking the fns,\n * no handlers will be executed.\n *\n * @param {Function} fns the event hanlder functions\n * @return {Function} the event handler to add to an element\n */\nexport function composeEventHandlers(...fns) {\n return (event, ...args) =>\n fns.some((fn) => {\n if (!isPropagationStopped(event) && fn) {\n fn(event, ...args);\n }\n return isPropagationStopped(event);\n });\n}\n\n/**\n * canUseFileSystemAccessAPI checks if the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)\n * is supported by the browser.\n * @returns {boolean}\n */\nexport function canUseFileSystemAccessAPI() {\n return \"showOpenFilePicker\" in window;\n}\n\n/**\n * Convert the `{accept}` dropzone prop to the\n * `{types}` option for https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n *\n * @param {AcceptProp} accept\n * @returns {{accept: string[]}[]}\n */\nexport function pickerOptionsFromAccept(accept) {\n if (isDefined(accept)) {\n const acceptForPicker = Object.entries(accept)\n .filter(([mimeType, ext]) => {\n let ok = true;\n\n if (!isMIMEType(mimeType)) {\n console.warn(\n `Skipped \"${mimeType}\" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.`\n );\n ok = false;\n }\n\n if (!Array.isArray(ext) || !ext.every(isExt)) {\n console.warn(\n `Skipped \"${mimeType}\" because an invalid file extension was provided.`\n );\n ok = false;\n }\n\n return ok;\n })\n .reduce(\n (agg, [mimeType, ext]) => ({\n ...agg,\n [mimeType]: ext,\n }),\n {}\n );\n return [\n {\n // description is required due to https://crbug.com/1264708\n description: \"Files\",\n accept: acceptForPicker,\n },\n ];\n }\n return accept;\n}\n\n/**\n * Convert the `{accept}` dropzone prop to an array of MIME types/extensions.\n * @param {AcceptProp} accept\n * @returns {string}\n */\nexport function acceptPropAsAcceptAttr(accept) {\n if (isDefined(accept)) {\n return (\n Object.entries(accept)\n .reduce((a, [mimeType, ext]) => [...a, mimeType, ...ext], [])\n // Silently discard invalid entries as pickerOptionsFromAccept warns about these\n .filter((v) => isMIMEType(v) || isExt(v))\n .join(\",\")\n );\n }\n\n return undefined;\n}\n\n/**\n * Check if v is an exception caused by aborting a request (e.g window.showOpenFilePicker()).\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is an abort exception.\n */\nexport function isAbort(v) {\n return (\n v instanceof DOMException &&\n (v.name === \"AbortError\" || v.code === v.ABORT_ERR)\n );\n}\n\n/**\n * Check if v is a security error.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/DOMException.\n * @param {any} v\n * @returns {boolean} True if v is a security error.\n */\nexport function isSecurityError(v) {\n return (\n v instanceof DOMException &&\n (v.name === \"SecurityError\" || v.code === v.SECURITY_ERR)\n );\n}\n\n/**\n * Check if v is a MIME type string.\n *\n * See accepted format: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers.\n *\n * @param {string} v\n */\nexport function isMIMEType(v) {\n return (\n v === \"audio/*\" ||\n v === \"video/*\" ||\n v === \"image/*\" ||\n v === \"text/*\" ||\n /\\w+\\/[-+.\\w]+/g.test(v)\n );\n}\n\n/**\n * Check if v is a file extension.\n * @param {string} v\n */\nexport function isExt(v) {\n return /^.*\\.[\\w]+$/.test(v);\n}\n\n/**\n * @typedef {Object.} AcceptProp\n */\n\n/**\n * @typedef {object} FileError\n * @property {string} message\n * @property {ErrorCode|string} code\n */\n\n/**\n * @typedef {\"file-invalid-type\"|\"file-too-large\"|\"file-too-small\"|\"too-many-files\"} ErrorCode\n */\n", "/* eslint prefer-template: 0 */\nimport React, {\n forwardRef,\n Fragment,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useReducer,\n useRef,\n} from \"react\";\nimport PropTypes from \"prop-types\";\nimport { fromEvent } from \"file-selector\";\nimport {\n acceptPropAsAcceptAttr,\n allFilesAccepted,\n composeEventHandlers,\n fileAccepted,\n fileMatchSize,\n canUseFileSystemAccessAPI,\n isAbort,\n isEvtWithFiles,\n isIeOrEdge,\n isPropagationStopped,\n isSecurityError,\n onDocumentDragOver,\n pickerOptionsFromAccept,\n TOO_MANY_FILES_REJECTION,\n} from \"./utils/index\";\n\n/**\n * Convenience wrapper component for the `useDropzone` hook\n *\n * ```jsx\n * \n * {({getRootProps, getInputProps}) => (\n *
\n * \n *

Drag 'n' drop some files here, or click to select files

\n *
\n * )}\n *
\n * ```\n */\nconst Dropzone = forwardRef(({ children, ...params }, ref) => {\n const { open, ...props } = useDropzone(params);\n\n useImperativeHandle(ref, () => ({ open }), [open]);\n\n // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element\n return {children({ ...props, open })};\n});\n\nDropzone.displayName = \"Dropzone\";\n\n// Add default props for react-docgen\nconst defaultProps = {\n disabled: false,\n getFilesFromEvent: fromEvent,\n maxSize: Infinity,\n minSize: 0,\n multiple: true,\n maxFiles: 0,\n preventDropOnDocument: true,\n noClick: false,\n noKeyboard: false,\n noDrag: false,\n noDragEventsBubbling: false,\n validator: null,\n useFsAccessApi: true,\n autoFocus: false,\n};\n\nDropzone.defaultProps = defaultProps;\n\nDropzone.propTypes = {\n /**\n * Render function that exposes the dropzone state and prop getter fns\n *\n * @param {object} params\n * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render\n * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render\n * @param {Function} params.open Open the native file selection dialog\n * @param {boolean} params.isFocused Dropzone area is in focus\n * @param {boolean} params.isFileDialogActive File dialog is opened\n * @param {boolean} params.isDragActive Active drag is in progress\n * @param {boolean} params.isDragAccept Dragged files are accepted\n * @param {boolean} params.isDragReject Some dragged files are rejected\n * @param {File[]} params.acceptedFiles Accepted files\n * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected\n */\n children: PropTypes.func,\n\n /**\n * Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n */\n accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n\n /**\n * Allow drag 'n' drop (or selection from the file dialog) of multiple files\n */\n multiple: PropTypes.bool,\n\n /**\n * If false, allow dropped items to take over the current browser window\n */\n preventDropOnDocument: PropTypes.bool,\n\n /**\n * If true, disables click to open the native file selection dialog\n */\n noClick: PropTypes.bool,\n\n /**\n * If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n */\n noKeyboard: PropTypes.bool,\n\n /**\n * If true, disables drag 'n' drop\n */\n noDrag: PropTypes.bool,\n\n /**\n * If true, stops drag event propagation to parents\n */\n noDragEventsBubbling: PropTypes.bool,\n\n /**\n * Minimum file size (in bytes)\n */\n minSize: PropTypes.number,\n\n /**\n * Maximum file size (in bytes)\n */\n maxSize: PropTypes.number,\n /**\n * Maximum accepted number of files\n * The default value is 0 which means there is no limitation to how many files are accepted.\n */\n maxFiles: PropTypes.number,\n\n /**\n * Enable/disable the dropzone\n */\n disabled: PropTypes.bool,\n\n /**\n * Use this to provide a custom file aggregator\n *\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n getFilesFromEvent: PropTypes.func,\n\n /**\n * Cb for when closing the file dialog with no selection\n */\n onFileDialogCancel: PropTypes.func,\n\n /**\n * Cb for when opening the file dialog\n */\n onFileDialogOpen: PropTypes.func,\n\n /**\n * Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `` click event.\n */\n useFsAccessApi: PropTypes.bool,\n\n /**\n * Set to true to focus the root element on render\n */\n autoFocus: PropTypes.bool,\n\n /**\n * Cb for when the `dragenter` event occurs.\n *\n * @param {DragEvent} event\n */\n onDragEnter: PropTypes.func,\n\n /**\n * Cb for when the `dragleave` event occurs\n *\n * @param {DragEvent} event\n */\n onDragLeave: PropTypes.func,\n\n /**\n * Cb for when the `dragover` event occurs\n *\n * @param {DragEvent} event\n */\n onDragOver: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n *\n * @param {File[]} acceptedFiles\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n onDrop: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are accepted, this callback is not invoked.\n *\n * @param {File[]} files\n * @param {(DragEvent|Event)} event\n */\n onDropAccepted: PropTypes.func,\n\n /**\n * Cb for when the `drop` event occurs.\n * Note that if no files are rejected, this callback is not invoked.\n *\n * @param {FileRejection[]} fileRejections\n * @param {(DragEvent|Event)} event\n */\n onDropRejected: PropTypes.func,\n\n /**\n * Cb for when there's some error from any of the promises.\n *\n * @param {Error} error\n */\n onError: PropTypes.func,\n\n /**\n * Custom validation function. It must return null if there's no errors.\n * @param {File} file\n * @returns {FileError|FileError[]|null}\n */\n validator: PropTypes.func,\n};\n\nexport default Dropzone;\n\n/**\n * A function that is invoked for the `dragenter`,\n * `dragover` and `dragleave` events.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dragCb\n * @param {DragEvent} event\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are not files (such as link, text, etc.).\n *\n * @callback dropCb\n * @param {File[]} acceptedFiles List of accepted files\n * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n * It is not invoked if the items are files (such as link, text, etc.).\n *\n * @callback dropAcceptedCb\n * @param {File[]} files List of accepted files that meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is invoked for the `drop` or input change event.\n *\n * @callback dropRejectedCb\n * @param {File[]} files List of rejected files that do not meet the given criteria\n * (`accept`, `multiple`, `minSize`, `maxSize`)\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n */\n\n/**\n * A function that is used aggregate files,\n * in a asynchronous fashion, from drag or input change events.\n *\n * @callback getFilesFromEvent\n * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)\n * @returns {(File[]|Promise)}\n */\n\n/**\n * An object with the current dropzone state.\n *\n * @typedef {object} DropzoneState\n * @property {boolean} isFocused Dropzone area is in focus\n * @property {boolean} isFileDialogActive File dialog is opened\n * @property {boolean} isDragActive Active drag is in progress\n * @property {boolean} isDragAccept Dragged files are accepted\n * @property {boolean} isDragReject Some dragged files are rejected\n * @property {File[]} acceptedFiles Accepted files\n * @property {FileRejection[]} fileRejections Rejected files and why they were rejected\n */\n\n/**\n * An object with the dropzone methods.\n *\n * @typedef {object} DropzoneMethods\n * @property {Function} getRootProps Returns the props you should apply to the root drop container you render\n * @property {Function} getInputProps Returns the props you should apply to hidden file input you render\n * @property {Function} open Open the native file selection dialog\n */\n\nconst initialState = {\n isFocused: false,\n isFileDialogActive: false,\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false,\n acceptedFiles: [],\n fileRejections: [],\n};\n\n/**\n * A React hook that creates a drag 'n' drop area.\n *\n * ```jsx\n * function MyDropzone(props) {\n * const {getRootProps, getInputProps} = useDropzone({\n * onDrop: acceptedFiles => {\n * // do something with the File objects, e.g. upload to some server\n * }\n * });\n * return (\n *
\n * \n *

Drag and drop some files here, or click to select files

\n *
\n * )\n * }\n * ```\n *\n * @function useDropzone\n *\n * @param {object} props\n * @param {import(\"./utils\").AcceptProp} [props.accept] Set accepted file types.\n * Checkout https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker types option for more information.\n * Keep in mind that mime type determination is not reliable across platforms. CSV files,\n * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under\n * Windows. In some cases there might not be a mime type set at all (https://github.com/react-dropzone/react-dropzone/issues/276).\n * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files\n * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window\n * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog\n * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.\n * Note that it also stops tracking the focus state.\n * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop\n * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents\n * @param {number} [props.minSize=0] Minimum file size (in bytes)\n * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)\n * @param {boolean} [props.disabled=false] Enable/disable the dropzone\n * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator\n * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection\n * @param {boolean} [props.useFsAccessApi] Set to true to use the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API\n * to open the file picker instead of using an `` click event.\n * @param {boolean} autoFocus Set to true to auto focus the root element.\n * @param {Function} [props.onFileDialogOpen] Cb for when opening the file dialog\n * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.\n * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs\n * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs\n * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.\n * Note that this callback is invoked after the `getFilesFromEvent` callback is done.\n *\n * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.\n * `accept` must be an object with keys as a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) and the value an array of file extensions (optional).\n * If `multiple` is set to false and additional files are dropped,\n * all files besides the first will be rejected.\n * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.\n *\n * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.\n * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.\n *\n * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.\n * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:\n *\n * ```js\n * function onDrop(acceptedFiles) {\n * const req = request.post('/upload')\n * acceptedFiles.forEach(file => {\n * req.attach(file.name, file)\n * })\n * req.end(callback)\n * }\n * ```\n * @param {dropAcceptedCb} [props.onDropAccepted]\n * @param {dropRejectedCb} [props.onDropRejected]\n * @param {(error: Error) => void} [props.onError]\n *\n * @returns {DropzoneState & DropzoneMethods}\n */\nexport function useDropzone(props = {}) {\n const {\n accept,\n disabled,\n getFilesFromEvent,\n maxSize,\n minSize,\n multiple,\n maxFiles,\n onDragEnter,\n onDragLeave,\n onDragOver,\n onDrop,\n onDropAccepted,\n onDropRejected,\n onFileDialogCancel,\n onFileDialogOpen,\n useFsAccessApi,\n autoFocus,\n preventDropOnDocument,\n noClick,\n noKeyboard,\n noDrag,\n noDragEventsBubbling,\n onError,\n validator,\n } = {\n ...defaultProps,\n ...props,\n };\n\n const acceptAttr = useMemo(() => acceptPropAsAcceptAttr(accept), [accept]);\n const pickerTypes = useMemo(() => pickerOptionsFromAccept(accept), [accept]);\n\n const onFileDialogOpenCb = useMemo(\n () => (typeof onFileDialogOpen === \"function\" ? onFileDialogOpen : noop),\n [onFileDialogOpen]\n );\n const onFileDialogCancelCb = useMemo(\n () =>\n typeof onFileDialogCancel === \"function\" ? onFileDialogCancel : noop,\n [onFileDialogCancel]\n );\n\n /**\n * @constant\n * @type {React.MutableRefObject}\n */\n const rootRef = useRef(null);\n\n const inputRef = useRef(null);\n\n const [state, dispatch] = useReducer(reducer, initialState);\n const { isFocused, isFileDialogActive } = state;\n\n const fsAccessApiWorksRef = useRef(\n typeof window !== \"undefined\" &&\n window.isSecureContext &&\n useFsAccessApi &&\n canUseFileSystemAccessAPI()\n );\n\n // Update file dialog active state when the window is focused on\n const onWindowFocus = () => {\n // Execute the timeout only if the file dialog is opened in the browser\n if (!fsAccessApiWorksRef.current && isFileDialogActive) {\n setTimeout(() => {\n if (inputRef.current) {\n const { files } = inputRef.current;\n\n if (!files.length) {\n dispatch({ type: \"closeDialog\" });\n onFileDialogCancelCb();\n }\n }\n }, 300);\n }\n };\n useEffect(() => {\n window.addEventListener(\"focus\", onWindowFocus, false);\n return () => {\n window.removeEventListener(\"focus\", onWindowFocus, false);\n };\n }, [inputRef, isFileDialogActive, onFileDialogCancelCb, fsAccessApiWorksRef]);\n\n const dragTargetsRef = useRef([]);\n const onDocumentDrop = (event) => {\n if (rootRef.current && rootRef.current.contains(event.target)) {\n // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler\n return;\n }\n event.preventDefault();\n dragTargetsRef.current = [];\n };\n\n useEffect(() => {\n if (preventDropOnDocument) {\n document.addEventListener(\"dragover\", onDocumentDragOver, false);\n document.addEventListener(\"drop\", onDocumentDrop, false);\n }\n\n return () => {\n if (preventDropOnDocument) {\n document.removeEventListener(\"dragover\", onDocumentDragOver);\n document.removeEventListener(\"drop\", onDocumentDrop);\n }\n };\n }, [rootRef, preventDropOnDocument]);\n\n // Auto focus the root when autoFocus is true\n useEffect(() => {\n if (!disabled && autoFocus && rootRef.current) {\n rootRef.current.focus();\n }\n return () => {};\n }, [rootRef, autoFocus, disabled]);\n\n const onErrCb = useCallback(\n (e) => {\n if (onError) {\n onError(e);\n } else {\n // Let the user know something's gone wrong if they haven't provided the onError cb.\n console.error(e);\n }\n },\n [onError]\n );\n\n const onDragEnterCb = useCallback(\n (event) => {\n event.preventDefault();\n // Persist here because we need the event later after getFilesFromEvent() is done\n event.persist();\n stopPropagation(event);\n\n dragTargetsRef.current = [...dragTargetsRef.current, event.target];\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event))\n .then((files) => {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n\n const fileCount = files.length;\n const isDragAccept =\n fileCount > 0 &&\n allFilesAccepted({\n files,\n accept: acceptAttr,\n minSize,\n maxSize,\n multiple,\n maxFiles,\n validator,\n });\n const isDragReject = fileCount > 0 && !isDragAccept;\n\n dispatch({\n isDragAccept,\n isDragReject,\n isDragActive: true,\n type: \"setDraggedFiles\",\n });\n\n if (onDragEnter) {\n onDragEnter(event);\n }\n })\n .catch((e) => onErrCb(e));\n }\n },\n [\n getFilesFromEvent,\n onDragEnter,\n onErrCb,\n noDragEventsBubbling,\n acceptAttr,\n minSize,\n maxSize,\n multiple,\n maxFiles,\n validator,\n ]\n );\n\n const onDragOverCb = useCallback(\n (event) => {\n event.preventDefault();\n event.persist();\n stopPropagation(event);\n\n const hasFiles = isEvtWithFiles(event);\n if (hasFiles && event.dataTransfer) {\n try {\n event.dataTransfer.dropEffect = \"copy\";\n } catch {} /* eslint-disable-line no-empty */\n }\n\n if (hasFiles && onDragOver) {\n onDragOver(event);\n }\n\n return false;\n },\n [onDragOver, noDragEventsBubbling]\n );\n\n const onDragLeaveCb = useCallback(\n (event) => {\n event.preventDefault();\n event.persist();\n stopPropagation(event);\n\n // Only deactivate once the dropzone and all children have been left\n const targets = dragTargetsRef.current.filter(\n (target) => rootRef.current && rootRef.current.contains(target)\n );\n // Make sure to remove a target present multiple times only once\n // (Firefox may fire dragenter/dragleave multiple times on the same element)\n const targetIdx = targets.indexOf(event.target);\n if (targetIdx !== -1) {\n targets.splice(targetIdx, 1);\n }\n dragTargetsRef.current = targets;\n if (targets.length > 0) {\n return;\n }\n\n dispatch({\n type: \"setDraggedFiles\",\n isDragActive: false,\n isDragAccept: false,\n isDragReject: false,\n });\n\n if (isEvtWithFiles(event) && onDragLeave) {\n onDragLeave(event);\n }\n },\n [rootRef, onDragLeave, noDragEventsBubbling]\n );\n\n const setFiles = useCallback(\n (files, event) => {\n const acceptedFiles = [];\n const fileRejections = [];\n\n files.forEach((file) => {\n const [accepted, acceptError] = fileAccepted(file, acceptAttr);\n const [sizeMatch, sizeError] = fileMatchSize(file, minSize, maxSize);\n const customErrors = validator ? validator(file) : null;\n\n if (accepted && sizeMatch && !customErrors) {\n acceptedFiles.push(file);\n } else {\n let errors = [acceptError, sizeError];\n\n if (customErrors) {\n errors = errors.concat(customErrors);\n }\n\n fileRejections.push({ file, errors: errors.filter((e) => e) });\n }\n });\n\n if (\n (!multiple && acceptedFiles.length > 1) ||\n (multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles)\n ) {\n // Reject everything and empty accepted files\n acceptedFiles.forEach((file) => {\n fileRejections.push({ file, errors: [TOO_MANY_FILES_REJECTION] });\n });\n acceptedFiles.splice(0);\n }\n\n dispatch({\n acceptedFiles,\n fileRejections,\n type: \"setFiles\",\n });\n\n if (onDrop) {\n onDrop(acceptedFiles, fileRejections, event);\n }\n\n if (fileRejections.length > 0 && onDropRejected) {\n onDropRejected(fileRejections, event);\n }\n\n if (acceptedFiles.length > 0 && onDropAccepted) {\n onDropAccepted(acceptedFiles, event);\n }\n },\n [\n dispatch,\n multiple,\n acceptAttr,\n minSize,\n maxSize,\n maxFiles,\n onDrop,\n onDropAccepted,\n onDropRejected,\n validator,\n ]\n );\n\n const onDropCb = useCallback(\n (event) => {\n event.preventDefault();\n // Persist here because we need the event later after getFilesFromEvent() is done\n event.persist();\n stopPropagation(event);\n\n dragTargetsRef.current = [];\n\n if (isEvtWithFiles(event)) {\n Promise.resolve(getFilesFromEvent(event))\n .then((files) => {\n if (isPropagationStopped(event) && !noDragEventsBubbling) {\n return;\n }\n setFiles(files, event);\n })\n .catch((e) => onErrCb(e));\n }\n dispatch({ type: \"reset\" });\n },\n [getFilesFromEvent, setFiles, onErrCb, noDragEventsBubbling]\n );\n\n // Fn for opening the file dialog programmatically\n const openFileDialog = useCallback(() => {\n // No point to use FS access APIs if context is not secure\n // https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#feature_detection\n if (fsAccessApiWorksRef.current) {\n dispatch({ type: \"openDialog\" });\n onFileDialogOpenCb();\n // https://developer.mozilla.org/en-US/docs/Web/API/window/showOpenFilePicker\n const opts = {\n multiple,\n types: pickerTypes,\n };\n window\n .showOpenFilePicker(opts)\n .then((handles) => getFilesFromEvent(handles))\n .then((files) => {\n setFiles(files, null);\n dispatch({ type: \"closeDialog\" });\n })\n .catch((e) => {\n // AbortError means the user canceled\n if (isAbort(e)) {\n onFileDialogCancelCb(e);\n dispatch({ type: \"closeDialog\" });\n } else if (isSecurityError(e)) {\n fsAccessApiWorksRef.current = false;\n // CORS, so cannot use this API\n // Try using the input\n if (inputRef.current) {\n inputRef.current.value = null;\n inputRef.current.click();\n } else {\n onErrCb(\n new Error(\n \"Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no was provided.\"\n )\n );\n }\n } else {\n onErrCb(e);\n }\n });\n return;\n }\n\n if (inputRef.current) {\n dispatch({ type: \"openDialog\" });\n onFileDialogOpenCb();\n inputRef.current.value = null;\n inputRef.current.click();\n }\n }, [\n dispatch,\n onFileDialogOpenCb,\n onFileDialogCancelCb,\n useFsAccessApi,\n setFiles,\n onErrCb,\n pickerTypes,\n multiple,\n ]);\n\n // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone\n const onKeyDownCb = useCallback(\n (event) => {\n // Ignore keyboard events bubbling up the DOM tree\n if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {\n return;\n }\n\n if (\n event.key === \" \" ||\n event.key === \"Enter\" ||\n event.keyCode === 32 ||\n event.keyCode === 13\n ) {\n event.preventDefault();\n openFileDialog();\n }\n },\n [rootRef, openFileDialog]\n );\n\n // Update focus state for the dropzone\n const onFocusCb = useCallback(() => {\n dispatch({ type: \"focus\" });\n }, []);\n const onBlurCb = useCallback(() => {\n dispatch({ type: \"blur\" });\n }, []);\n\n // Cb to open the file dialog when click occurs on the dropzone\n const onClickCb = useCallback(() => {\n if (noClick) {\n return;\n }\n\n // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()\n // to ensure React can handle state changes\n // See: https://github.com/react-dropzone/react-dropzone/issues/450\n if (isIeOrEdge()) {\n setTimeout(openFileDialog, 0);\n } else {\n openFileDialog();\n }\n }, [noClick, openFileDialog]);\n\n const composeHandler = (fn) => {\n return disabled ? null : fn;\n };\n\n const composeKeyboardHandler = (fn) => {\n return noKeyboard ? null : composeHandler(fn);\n };\n\n const composeDragHandler = (fn) => {\n return noDrag ? null : composeHandler(fn);\n };\n\n const stopPropagation = (event) => {\n if (noDragEventsBubbling) {\n event.stopPropagation();\n }\n };\n\n const getRootProps = useMemo(\n () =>\n ({\n refKey = \"ref\",\n role,\n onKeyDown,\n onFocus,\n onBlur,\n onClick,\n onDragEnter,\n onDragOver,\n onDragLeave,\n onDrop,\n ...rest\n } = {}) => ({\n onKeyDown: composeKeyboardHandler(\n composeEventHandlers(onKeyDown, onKeyDownCb)\n ),\n onFocus: composeKeyboardHandler(\n composeEventHandlers(onFocus, onFocusCb)\n ),\n onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),\n onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),\n onDragEnter: composeDragHandler(\n composeEventHandlers(onDragEnter, onDragEnterCb)\n ),\n onDragOver: composeDragHandler(\n composeEventHandlers(onDragOver, onDragOverCb)\n ),\n onDragLeave: composeDragHandler(\n composeEventHandlers(onDragLeave, onDragLeaveCb)\n ),\n onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb)),\n role: typeof role === \"string\" && role !== \"\" ? role : \"presentation\",\n [refKey]: rootRef,\n ...(!disabled && !noKeyboard ? { tabIndex: 0 } : {}),\n ...rest,\n }),\n [\n rootRef,\n onKeyDownCb,\n onFocusCb,\n onBlurCb,\n onClickCb,\n onDragEnterCb,\n onDragOverCb,\n onDragLeaveCb,\n onDropCb,\n noKeyboard,\n noDrag,\n disabled,\n ]\n );\n\n const onInputElementClick = useCallback((event) => {\n event.stopPropagation();\n }, []);\n\n const getInputProps = useMemo(\n () =>\n ({ refKey = \"ref\", onChange, onClick, ...rest } = {}) => {\n const inputProps = {\n accept: acceptAttr,\n multiple,\n type: \"file\",\n style: { display: \"none\" },\n onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),\n onClick: composeHandler(\n composeEventHandlers(onClick, onInputElementClick)\n ),\n tabIndex: -1,\n [refKey]: inputRef,\n };\n\n return {\n ...inputProps,\n ...rest,\n };\n },\n [inputRef, accept, multiple, onDropCb, disabled]\n );\n\n return {\n ...state,\n isFocused: isFocused && !disabled,\n getRootProps,\n getInputProps,\n rootRef,\n inputRef,\n open: composeHandler(openFileDialog),\n };\n}\n\n/**\n * @param {DropzoneState} state\n * @param {{type: string} & DropzoneState} action\n * @returns {DropzoneState}\n */\nfunction reducer(state, action) {\n /* istanbul ignore next */\n switch (action.type) {\n case \"focus\":\n return {\n ...state,\n isFocused: true,\n };\n case \"blur\":\n return {\n ...state,\n isFocused: false,\n };\n case \"openDialog\":\n return {\n ...initialState,\n isFileDialogActive: true,\n };\n case \"closeDialog\":\n return {\n ...state,\n isFileDialogActive: false,\n };\n case \"setDraggedFiles\":\n return {\n ...state,\n isDragActive: action.isDragActive,\n isDragAccept: action.isDragAccept,\n isDragReject: action.isDragReject,\n };\n case \"setFiles\":\n return {\n ...state,\n acceptedFiles: action.acceptedFiles,\n fileRejections: action.fileRejections,\n };\n case \"reset\":\n return {\n ...initialState,\n };\n default:\n return state;\n }\n}\n\nfunction noop() {}\n\nexport { ErrorCode } from \"./utils\";\n", "var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n", "/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n", "var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n", "var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n", "var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n", "var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n", "var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n", "/**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\nfunction arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = arrayEvery;\n", "var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\nfunction baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n}\n\nmodule.exports = baseEvery;\n", "var arrayEvery = require('./_arrayEvery'),\n baseEvery = require('./_baseEvery'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\nfunction every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = every;\n", "var basePickBy = require('./_basePickBy'),\n hasIn = require('./hasIn');\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n}\n\nmodule.exports = basePick;\n", "var basePick = require('./_basePick'),\n flatRest = require('./_flatRest');\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n});\n\nmodule.exports = pick;\n", "{\n \"name\": \"@qwerty.software/calc-of-price\",\n \"isModule\": true,\n \"version\": \"1.15.1\",\n \"description\": \"As boilerplate used [component-boilerplate](https://github.com/BereNOD/component-boilerplate)\",\n \"main\": \"dist/main.js\",\n \"sideEffects\": false,\n \"keywords\": [],\n \"author\": \"\",\n \"license\": \"ISC\",\n \"scripts\": {\n \"peers-install\": \"npm-install-peers\",\n \"eslint\": \"eslint . --ext .jsx\",\n \"get-version\": \"node -p \\\"require('./package.json').version\\\"\",\n \"clean\": \"rm -r dist/ adapters/ | exit 0\",\n \"prebuild\": \"npm run clean\",\n \"build\": \"package-it\",\n \"build:commit\": \"git commit -am \\\"Build v$(npm --silent run get-version)\\\" | exit 0 && git push origin master\",\n \"start\": \"package-it --watch\",\n \"test\": \"jest\",\n \"cypress:open\": \"cypress open\",\n \"server-down\": \"docker-compose down\",\n \"server-start\": \"docker-compose up -d\",\n \"serv\": \"npm run server-down && npm run server-start\"\n },\n \"dependencies\": {\n \"dotenv\": \"^8.2.0\"\n },\n \"peerDependencies\": {\n \"lodash\": \"^4.17.21\",\n \"regenerator-runtime\": \"^0.13.10\"\n },\n \"devDependencies\": {\n \"@qwerty.software/package-it\": \"^0.0.2-rc.13\",\n \"@types/lodash\": \"^4.14.161\",\n \"@typescript-eslint/eslint-plugin\": \"^4.4.0\",\n \"@typescript-eslint/parser\": \"^4.0.1\",\n \"cypress\": \"^5.1.0\",\n \"eslint\": \"^7.8.1\",\n \"eslint-config-airbnb\": \"^18.2.0\",\n \"eslint-config-airbnb-typescript\": \"^9.0.0\",\n \"eslint-module-utils\": \"^2.2.0\",\n \"eslint-plugin-compat\": \"^3.8.0\",\n \"eslint-plugin-import\": \"^2.22.1\",\n \"eslint-plugin-jsx-a11y\": \"^6.3.1\",\n \"eslint-plugin-node\": \"^11.1.0\",\n \"eslint-plugin-react\": \"^7.21.3\",\n \"jest\": \"^26.4.2\",\n \"lodash\": \"^4.17.20\",\n \"npm-install-peers\": \"^1.2.1\",\n \"prettier\": \"^2.1.1\",\n \"typescript\": \"^4.0.2\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/BereNOD/calc-of-price.git\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/BereNOD/calc-of-price/issues\"\n },\n \"homepage\": \"https://github.com/BereNOD/calc-of-price#readme\"\n}\n", "/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v0.7.35\n Copyright \u00A9 2012-2021 Faisal Salman \n MIT License *//*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment. \n Demo : https://faisalman.github.io/ua-parser-js\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '0.7.35',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major',\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE= 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded',\n UA_MAX_LENGTH = 350;\n\n var AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n BROWSER = 'Browser',\n CHROME = 'Chrome',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n OPERA = 'Opera',\n SAMSUNG = 'Samsung',\n SHARP = 'Sharp',\n SONY = 'Sony',\n VIERA = 'Viera',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n FACEBOOK = 'Facebook',\n CHROMIUM_OS = 'Chromium OS',\n MAC_OS = 'Mac OS';\n\n ///////////\n // Helper\n //////////\n\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i=0; i 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length === 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n\n strMapper = function (str, map) {\n\n for (var i in map) {\n // check if current value is array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n return str;\n };\n\n ///////////////\n // String map\n //////////////\n\n // Safari < 3.0\n var oldSafariMap = {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n },\n windowsVersionMap = {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : 'NT 5.0',\n 'XP' : ['NT 5.1', 'NT 5.2'],\n 'Vista' : 'NT 6.0',\n '7' : 'NT 6.1',\n '8' : 'NT 6.2',\n '8.1' : 'NT 6.3',\n '10' : ['NT 6.4', 'NT 10.0'],\n 'RT' : 'ARM'\n };\n\n //////////////\n // Regex map\n /////////////\n\n var regexes = {\n\n browser : [[\n\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, 'Chrome']], [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n ], [VERSION, [NAME, 'Edge']], [\n\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ], [NAME, VERSION], [\n /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [VERSION, [NAME, OPERA+' Mini']], [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [\n\n // Mixed\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer\n // Trident based\n /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i, // Avant/IEMobile/SlimBrowser\n /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i, // Baidu Browser\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ\n /(heytap|ovi)browser\\/([\\d\\.]+)/i, // Heytap/Ovi\n /(weibo)__([\\d\\.]+)/i // Weibo\n ], [NAME, VERSION], [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ], [VERSION, [NAME, 'UC'+BROWSER]], [\n /microm.+\\bqbcore\\/([\\w\\.]+)/i, // WeChat Desktop for Windows Built-in Browser\n /\\bqbcore\\/([\\w\\.]+).+microm/i\n ], [VERSION, [NAME, 'WeChat(Win) Desktop']], [\n /micromessenger\\/([\\w\\.]+)/i // WeChat\n ], [VERSION, [NAME, 'WeChat']], [\n /konqueror\\/([\\w\\.]+)/i // Konqueror\n ], [VERSION, [NAME, 'Konqueror']], [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ], [VERSION, [NAME, 'IE']], [\n /ya(?:search)?browser\\/([\\w\\.]+)/i // Yandex\n ], [VERSION, [NAME, 'Yandex']], [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [\n /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ], [VERSION, [NAME, FIREFOX+' Focus']], [\n /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ], [VERSION, [NAME, OPERA+' Touch']], [\n /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ], [VERSION, [NAME, 'Coc Coc']], [\n /dolfin\\/([\\w\\.]+)/i // Dolphin\n ], [VERSION, [NAME, 'Dolphin']], [\n /coast\\/([\\w\\.]+)/i // Opera Coast\n ], [VERSION, [NAME, OPERA+' Coast']], [\n /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI '+BROWSER]], [\n /fxios\\/([-\\w\\.]+)/i // Firefox for iOS\n ], [VERSION, [NAME, FIREFOX]], [\n /\\bqihu|(qi?ho?o?|360)browser/i // 360\n ], [[NAME, '360 '+BROWSER]], [\n /(oculus|samsung|sailfish|huawei)browser\\/([\\w\\.]+)/i\n ], [[NAME, /(.+)/, '$1 '+BROWSER], VERSION], [ // Oculus/Samsung/Sailfish/Huawei Browser\n /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i // QQBrowser/Baidu App/2345 Browser\n ], [NAME, VERSION], [\n /(metasr)[\\/ ]?([\\w\\.]+)/i, // SouGouBrowser\n /(lbbrowser)/i, // LieBao Browser\n /\\[(linkedin)app\\]/i // LinkedIn App for iOS & Android\n ], [NAME], [\n\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, FACEBOOK], VERSION], [\n /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i, // Kakao App\n /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i, // Naver InApp\n /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(chromium|instagram)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram\n ], [NAME, VERSION], [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ], [VERSION, [NAME, 'GSA']], [\n /musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i // TikTok\n ], [VERSION, [NAME, 'TikTok']], [\n\n /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ], [VERSION, [NAME, CHROME+' Headless']], [\n\n / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, CHROME+' WebView'], VERSION], [\n\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ], [VERSION, [NAME, 'Android '+BROWSER]], [\n\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n /version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, strMapper, oldSafariMap]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ], [VERSION, [NAME, FIREFOX+' Reality']], [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser\n /(links) \\(([\\w\\.]+)/i, // Links\n /panasonic;(viera)/i // Panasonic Viera\n ], [NAME, VERSION], [\n \n /(cobalt)\\/([\\w\\.]+)/i // Cobalt\n ], [NAME, [VERSION, /master.|lts./, \"\"]]\n ],\n\n cpu : [[\n\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, lowerize]], [\n\n /((?:i[346]|x)86)[;\\)]/i // IA32 (x86)\n ], [[ARCHITECTURE, 'ia32']], [\n\n /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i // ARM64\n ], [[ARCHITECTURE, 'arm64']], [\n\n /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ], [[ARCHITECTURE, 'armhf']], [\n\n // PocketPC mistakenly identified as PowerPC\n /windows (ce|mobile); ppc;/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\n\n /(sun4\\w)[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [\n\n /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, lowerize]]\n ],\n\n device : [[\n\n //////////////////////////\n // MOBILES & TABLETS\n /////////////////////////\n\n // Samsung\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [\n /\\b((?:s[cgp]h|gt|sm)-\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i,\n /samsung[- ]([-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\n\n // Apple\n /(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i // iPod/iPhone\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n /(macintosh);/i\n ], [MODEL, [VENDOR, APPLE]], [\n\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [\n\n // Huawei\n /\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [\n /(?:huawei|honor)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\n\n // Xiaomi\n /\\b(poco[\\w ]+)(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i // Xiaomi Mi\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\n\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n ], [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]], [\n\n // Vivo\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\n\n // Realme\n /\\b(rmx[12]\\d{3})(?: bui|;|\\))/i\n ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\n\n // Motorola\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\n\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\n\n // Lenovo\n /(ideatab[-\\w ]+)/i,\n /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n\n // Nokia\n /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n /nokia[-_ ]?([-\\w\\.]*)/i\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [\n\n // Google\n /(pixel c)\\b/i // Google Pixel C\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\n\n // Sony\n /droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [\n /sony tablet [ps]/i,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\n\n // OnePlus\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i, // Kindle Fire without Silk / Echo Show\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\n\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\n\n // Asus\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [\n / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [\n\n // HTC\n /(nexus 9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n\n // MIXED\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i, // Asus\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(lenovo)[-_ ]?([-\\w]+)/i, // Lenovo\n /(jolla)/i, // Jolla\n /(oppo) ?([\\w ]+) bui/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /(kobo)\\s(ereader|touch)/i, // Kobo\n /(archos) (gamepad2?)/i, // Archos\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(surface duo)/i // Surface Duo\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\n /(u304aa)/i // AT&T\n ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [\n /\\bsie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n /\\b(rct\\w+) b/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n /\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n /\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [\n /\\b(tm\\d{3}\\w+) b/i\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n /\\b(k88) b/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n /\\b(nx\\d{3}j) b/i // ZTE Nubia\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [\n /\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n /\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n /\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n /\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n /\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [\n /\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n /\\b(ph-1) /i // Essential PH-1\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n /\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n /\\btu_(1491) b/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n /(shield[\\w ]+) b/i // Nvidia Shield Tablets\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [\n /(sprint) (\\w+)/i // Sprint Phones\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\n\n ///////////////////\n // SMARTTVS\n ///////////////////\n\n /smart-tv.+(samsung)/i // Samsung\n ], [VENDOR, [TYPE, SMARTTV]], [\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [\n /(apple) ?tv/i // Apple TV\n ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\n /crkey/i // Google Chromecast\n ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /droid.+aft(\\w)( bui|\\))/i // Fire TV\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\n /\\(dtv[\\);].+(aquos)/i,\n /(aquos-tv[\\w ]+)\\)/i // Sharp\n ], [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],[\n /(bravia[\\w ]+)( bui|\\))/i // Sony\n ], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [\n /(mitv-\\w{5}) bui/i // Xiaomi\n ], [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], [\n /Hbbtv.*(technisat) (.*);/i // TechniSAT\n ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i // SmartTV from Unidentified Vendors\n ], [[TYPE, SMARTTV]], [\n\n ///////////////////\n // CONSOLES\n ///////////////////\n\n /(ouya)/i, // Ouya\n /(nintendo) ([wids3utch]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n /droid.+; (shield) bui/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n /(playstation [345portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\n\n ///////////////////\n // WEARABLES\n ///////////////////\n\n /((pebble))app/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i // Apple Watch\n ], [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]], [\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n /droid.+; (wt63?0{2,3})\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\n /(quest( 2| pro)?)/i // Oculus Quest\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [\n\n ///////////////////\n // EMBEDDED\n ///////////////////\n\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ], [VENDOR, [TYPE, EMBEDDED]], [\n /(aeobc)\\b/i // Echo Dot\n ], [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]], [\n\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n ], [MODEL, [TYPE, MOBILE]], [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n ], [MODEL, [TYPE, TABLET]], [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ], [[TYPE, TABLET]], [\n /(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ], [[TYPE, MOBILE]], [\n /(android[-\\w\\. ]{0,9});.+buil/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, EDGE+'HTML']], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i, // iCab\n /\\b(libweb)/i\n ], [NAME, VERSION], [\n\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows) nt 6\\.2; (arm)/i, // Windows RT\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i, // Windows Phone\n /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i\n ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\n /(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ], [[NAME, 'Windows'], [VERSION, strMapper, windowsVersionMap]], [\n\n // iOS/macOS\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /ios;fbsv\\/([\\d\\.]+)/i,\n /cfnetwork\\/.+darwin/i\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n ], [[NAME, MAC_OS], [VERSION, /_/g, '.']], [\n\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i // Android-x86/HarmonyOS\n ], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i, // Blackberry\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, // Tizen/KaiOS\n /\\((series40);/i // Series 40\n ], [NAME, VERSION], [\n /\\(bb(10);/i // BlackBerry 10\n ], [VERSION, [NAME, BLACKBERRY]], [\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ], [VERSION, [NAME, 'Symbian']], [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ], [VERSION, [NAME, FIREFOX+' OS']], [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n ], [VERSION, [NAME, 'webOS']], [\n /watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i // watchOS\n ], [VERSION, [NAME, 'watchOS']], [\n\n // Google Chromecast\n /crkey\\/([\\d\\.]+)/i // Google Chromecast\n ], [VERSION, [NAME, CHROME+'cast']], [\n /(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i // Chromium OS\n ], [[NAME, CHROMIUM_OS], VERSION],[\n\n // Smart TVs\n /panasonic;(viera)/i, // Panasonic Viera\n /(netrange)mmh/i, // Netrange\n /(nettv)\\/(\\d+\\.[\\w\\.]+)/i, // NetTV\n\n // Console\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n /(hurd|linux) ?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) (\\w+)/i // Haiku\n ], [NAME, VERSION], [\n /(sunos) ?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS\n /(unix) ?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n var UAParser = function (ua, extensions) {\n\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _navigator = (typeof window !== UNDEF_TYPE && window.navigator) ? window.navigator : undefined;\n var _ua = ua || ((_navigator && _navigator.userAgent) ? _navigator.userAgent : EMPTY);\n var _uach = (_navigator && _navigator.userAgentData) ? _navigator.userAgentData : undefined;\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n var _isSelfNav = _navigator && _navigator.userAgent == _ua;\n\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser[MAJOR] = majorize(_browser[VERSION]);\n // Brave-specific detection\n if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {\n _browser[NAME] = 'Brave';\n }\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {\n _device[TYPE] = MOBILE;\n }\n // iPadOS-specific detection: identified as Mac, but has some iOS-only properties\n if (_isSelfNav && _device[MODEL] == 'Macintosh' && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {\n _device[MODEL] = 'iPad';\n _device[TYPE] = TABLET;\n }\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n if (_isSelfNav && !_os[NAME] && _uach && _uach.platform != 'Unknown') {\n _os[NAME] = _uach.platform \n .replace(/chrome os/i, CHROMIUM_OS)\n .replace(/macos/i, MAC_OS); // backward compatibility\n }\n return _os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n\n ///////////\n // Export\n //////////\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (typeof(define) === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n // browser env\n window.UAParser = UAParser;\n }\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n\n})(typeof window === 'object' ? window : this);\n", "var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n", "/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n", "/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n", "var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n", "var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;\n", "var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n", "var toString = require('./toString'),\n upperFirst = require('./upperFirst');\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\nmodule.exports = capitalize;\n", "var capitalize = require('./capitalize'),\n createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n});\n\nmodule.exports = camelCase;\n", "module.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.l=!0,a.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var a in e)r.d(n,a,function(t){return e[t]}.bind(null,a));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=9)}([function(e,t){e.exports=require(\"react\")},function(e,t,r){var n;\n/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/!function(){\"use strict\";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t=o?a:o)),r=a,t=h(t),e.slice(r,r+t.length)==t}}).call(this,r(3))},function(e,t){var r;r=function(){return this}();try{r=r||new Function(\"return this\")()}catch(e){\"object\"==typeof window&&(r=window)}e.exports=r},function(e,t,r){(function(t){var r=/^\\[object .+?Constructor\\]$/,n=\"object\"==typeof t&&t&&t.Object===Object&&t,a=\"object\"==typeof self&&self&&self.Object===Object&&self,o=n||a||Function(\"return this\")();var i,u=Array.prototype,c=Function.prototype,s=Object.prototype,l=o[\"__core-js_shared__\"],f=(i=/[^.]+$/.exec(l&&l.keys&&l.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+i:\"\",d=c.toString,p=s.hasOwnProperty,h=s.toString,m=RegExp(\"^\"+d.call(p).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),y=u.splice,b=x(o,\"Map\"),g=x(Object,\"create\");function v(e){var t=-1,r=e?e.length:0;for(this.clear();++t-1},C.prototype.set=function(e,t){var r=this.__data__,n=w(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},_.prototype.clear=function(){this.__data__={hash:new v,map:new(b||C),string:new v}},_.prototype.delete=function(e){return j(this,e).delete(e)},_.prototype.get=function(e){return j(this,e).get(e)},_.prototype.has=function(e){return j(this,e).has(e)},_.prototype.set=function(e,t){return j(this,e).set(e,t),this},N.Cache=_,e.exports=N}).call(this,r(3))},function(e,t,r){(function(t){var r=/^\\s+|\\s+$/g,n=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,o=/^0o[0-7]+$/i,i=parseInt,u=\"object\"==typeof t&&t&&t.Object===Object&&t,c=\"object\"==typeof self&&self&&self.Object===Object&&self,s=u||c||Function(\"return this\")(),l=Object.prototype.toString,f=Math.max,d=Math.min,p=function(){return s.Date.now()};function h(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function m(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return!!e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==l.call(e)}(e))return NaN;if(h(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=h(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(r,\"\");var u=a.test(e);return u||o.test(e)?i(e.slice(2),u?2:8):n.test(e)?NaN:+e}e.exports=function(e,t,r){var n,a,o,i,u,c,s=0,l=!1,y=!1,b=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function g(t){var r=n,o=a;return n=a=void 0,s=t,i=e.apply(o,r)}function v(e){return s=e,u=setTimeout(_,t),l?g(e):i}function C(e){var r=e-c;return void 0===c||r>=t||r<0||y&&e-s>=o}function _(){var e=p();if(C(e))return w(e);u=setTimeout(_,function(e){var r=t-(e-c);return y?d(r,o-(e-s)):r}(e))}function w(e){return u=void 0,b&&n?g(e):(n=a=void 0,i)}function S(){var e=p(),r=C(e);if(n=arguments,a=this,c=e,r){if(void 0===u)return v(c);if(y)return u=setTimeout(_,t),g(c)}return void 0===u&&(u=setTimeout(_,t)),i}return t=m(t)||0,h(r)&&(l=!!r.leading,o=(y=\"maxWait\"in r)?f(m(r.maxWait)||0,t):o,b=\"trailing\"in r?!!r.trailing:b),S.cancel=function(){void 0!==u&&clearTimeout(u),s=0,n=c=a=u=void 0},S.flush=function(){return void 0===u?i:w(p())},S}}).call(this,r(3))},function(e,t,r){(function(e,r){var n=\"[object Arguments]\",a=\"[object Map]\",o=\"[object Object]\",i=\"[object Set]\",u=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,c=/^\\w*$/,s=/^\\./,l=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,f=/\\\\(\\\\)?/g,d=/^\\[object .+?Constructor\\]$/,p=/^(?:0|[1-9]\\d*)$/,h={};h[\"[object Float32Array]\"]=h[\"[object Float64Array]\"]=h[\"[object Int8Array]\"]=h[\"[object Int16Array]\"]=h[\"[object Int32Array]\"]=h[\"[object Uint8Array]\"]=h[\"[object Uint8ClampedArray]\"]=h[\"[object Uint16Array]\"]=h[\"[object Uint32Array]\"]=!0,h[n]=h[\"[object Array]\"]=h[\"[object ArrayBuffer]\"]=h[\"[object Boolean]\"]=h[\"[object DataView]\"]=h[\"[object Date]\"]=h[\"[object Error]\"]=h[\"[object Function]\"]=h[a]=h[\"[object Number]\"]=h[o]=h[\"[object RegExp]\"]=h[i]=h[\"[object String]\"]=h[\"[object WeakMap]\"]=!1;var m=\"object\"==typeof e&&e&&e.Object===Object&&e,y=\"object\"==typeof self&&self&&self.Object===Object&&self,b=m||y||Function(\"return this\")(),g=t&&!t.nodeType&&t,v=g&&\"object\"==typeof r&&r&&!r.nodeType&&r,C=v&&v.exports===g&&m.process,_=function(){try{return C&&C.binding(\"util\")}catch(e){}}(),w=_&&_.isTypedArray;function S(e,t,r,n){var a=-1,o=e?e.length:0;for(n&&o&&(r=e[++a]);++a-1},ue.prototype.set=function(e,t){var r=this.__data__,n=de(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},ce.prototype.clear=function(){this.__data__={hash:new ie,map:new(H||ue),string:new ie}},ce.prototype.delete=function(e){return xe(this,e).delete(e)},ce.prototype.get=function(e){return xe(this,e).get(e)},ce.prototype.has=function(e){return xe(this,e).has(e)},ce.prototype.set=function(e,t){return xe(this,e).set(e,t),this},se.prototype.add=se.prototype.push=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this},se.prototype.has=function(e){return this.__data__.has(e)},le.prototype.clear=function(){this.__data__=new ue},le.prototype.delete=function(e){return this.__data__.delete(e)},le.prototype.get=function(e){return this.__data__.get(e)},le.prototype.has=function(e){return this.__data__.has(e)},le.prototype.set=function(e,t){var r=this.__data__;if(r instanceof ue){var n=r.__data__;if(!H||n.length<199)return n.push([e,t]),this;r=this.__data__=new ce(n)}return r.set(e,t),this};var pe,he,me=(pe=function(e,t){return e&&ye(e,t,qe)},function(e,t){if(null==e)return e;if(!ze(e))return pe(e,t);for(var r=e.length,n=he?r:-1,a=Object(e);(he?n--:++nu))return!1;var s=o.get(e);if(s&&o.get(t))return s==t;var l=-1,f=!0,d=1&a?new se:void 0;for(o.set(e,t),o.set(t,e);++l-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991}function $e(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function Ve(e){return!!e&&\"object\"==typeof e}function Ke(e){return\"symbol\"==typeof e||Ve(e)&&\"[object Symbol]\"==z.call(e)}var Ue=w?function(e){return function(t){return e(t)}}(w):function(e){return Ve(e)&&Ge(e.length)&&!!h[z.call(e)]};function qe(e){return ze(e)?fe(e):we(e)}function He(e){return e}r.exports=function(e,t,r){var n=Le(e)?S:x,a=arguments.length<3;return n(e,_e(t),r,a,me)}}).call(this,r(3),r(7)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){String.prototype.padEnd||(String.prototype.padEnd=function(e,t){return e>>=0,t=String(void 0!==t?t:\" \"),this.length>e?String(this):((e-=this.length)>t.length&&(t+=t.repeat(e/t.length)),String(this)+t.slice(0,e))})},function(e,t,r){\"use strict\";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}function o(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t0?(o.mainCode=!0,c||\"Array\"===t.constructor.name&&t.includes(e[2])?(o.hasAreaCodes=!0,[o].concat(u)):(s=s.concat(u),[o])):[o]})))),s]}function A(e,t,r,n){if(null!==r){var a=Object.keys(r),o=Object.values(r);a.forEach((function(r,a){if(n)return e.push([r,o[a]]);var i=e.findIndex((function(e){return e[0]===r}));if(-1===i){var u=[r];u[t]=o[a],e.push(u)}else e[i][t]=o[a]}))}}function D(e,t){return 0===t.length?e:e.map((function(e){var r=t.findIndex((function(t){return t[0]===e[2]}));if(-1===r)return e;var n=t[r];return n[1]&&(e[4]=n[1]),n[3]&&(e[5]=n[3]),n[2]&&(e[6]=n[2]),e}))}var P=function e(t,r,n,a,i,u,s,l,f,d,p,h,m,y){c(this,e),this.filterRegions=function(e,t){if(\"string\"==typeof e){var r=e;return t.filter((function(e){return e.regions.some((function(e){return e===r}))}))}return t.filter((function(t){return e.map((function(e){return t.regions.some((function(t){return t===e}))})).some((function(e){return e}))}))},this.sortTerritories=function(e,t){var r=[].concat(o(e),o(t));return r.sort((function(e,t){return e.namet.name?1:0})),r},this.getFilteredCountryList=function(e,t,r){return 0===e.length?t:r?e.map((function(e){var r=t.find((function(t){return t.iso2===e}));if(r)return r})).filter((function(e){return e})):t.filter((function(t){return e.some((function(e){return e===t.iso2}))}))},this.localizeCountries=function(e,t,r){for(var n=0;nt.localName?1:0})),e},this.getCustomAreas=function(e,t){for(var r=[],n=0;nt.dialCode.length)return r;if(r.dialCode.length===t.dialCode.length&&r.priority=\"0\"&&e.indexOf(0)<=\"9\"?n.find((function(t){return t.dialCode==+e})):n.find((function(t){return t.iso2==e})))&&t.dialCode&&r.setState({selectedCountry:t,formattedNumber:r.props.disableCountryCode?\"\":r.formatNumber(t.dialCode,t)})},r.scrollTo=function(e,t){if(e){var n=r.dropdownRef;if(n&&document.body){var a=n.offsetHeight,o=n.getBoundingClientRect().top+document.body.scrollTop,i=o+a,u=e,c=u.getBoundingClientRect(),s=u.offsetHeight,l=c.top+document.body.scrollTop,f=l+s,d=l-o+n.scrollTop,p=a/2-s/2;if(r.props.enableSearch?li){t&&(d+=p);var h=a-s;n.scrollTop=d-h}}}},r.scrollToTop=function(){var e=r.dropdownRef;e&&document.body&&(e.scrollTop=0)},r.formatNumber=function(e,t){if(!t)return e;var n,o=t.format,c=r.props,s=c.disableCountryCode,l=c.enableAreaCodeStretch,f=c.enableLongNumbers,d=c.autoFormat;if(s?((n=o.split(\" \")).shift(),n=n.join(\" \")):l&&t.isAreaCode?((n=o.split(\" \"))[1]=n[1].replace(/\\.+/,\"\".padEnd(t.areaCodeLength,\".\")),n=n.join(\" \")):n=o,!e||0===e.length)return s?\"\":r.props.prefix;if(e&&e.length<2||!n||!d)return s?e:r.props.prefix+e;var p,h=w()(n,(function(e,t){if(0===e.remainingText.length)return e;if(\".\"!==t)return{formattedText:e.formattedText+t,remainingText:e.remainingText};var r,n=i(r=e.remainingText)||a(r)||u(),o=n[0],c=n.slice(1);return{formattedText:e.formattedText+o,remainingText:c}}),{formattedText:\"\",remainingText:e.split(\"\")});return(p=f?h.formattedText+h.remainingText.join(\"\"):h.formattedText).includes(\"(\")&&!p.includes(\")\")&&(p+=\")\"),p},r.cursorToEnd=function(){var e=r.numberInputRef;if(document.activeElement===e){e.focus();var t=e.value.length;\")\"===e.value.charAt(t-1)&&(t-=1),e.setSelectionRange(t,t)}},r.getElement=function(e){return r[\"flag_no_\".concat(e)]},r.getCountryData=function(){return r.state.selectedCountry?{name:r.state.selectedCountry.name||\"\",dialCode:r.state.selectedCountry.dialCode||\"\",countryCode:r.state.selectedCountry.iso2||\"\",format:r.state.selectedCountry.format||\"\"}:{}},r.handleFlagDropdownClick=function(e){if(e.preventDefault(),r.state.showDropdown||!r.props.disabled){var t=r.state,n=t.preferredCountries,a=t.onlyCountries,o=t.selectedCountry,i=r.concatPreferredCountries(n,a).findIndex((function(e){return e.dialCode===o.dialCode&&e.iso2===o.iso2}));r.setState({showDropdown:!r.state.showDropdown,highlightCountryIndex:i},(function(){r.state.showDropdown&&r.scrollTo(r.getElement(r.state.highlightCountryIndex))}))}},r.handleInput=function(e){var t=e.target.value,n=r.props,a=n.prefix,o=n.onChange,i=r.props.disableCountryCode?\"\":a,u=r.state.selectedCountry,c=r.state.freezeSelection;if(!r.props.countryCodeEditable){var s=a+(u.hasAreaCodes?r.state.onlyCountries.find((function(e){return e.iso2===u.iso2&&e.mainCode})).dialCode:u.dialCode);if(t.slice(0,s.length)!==s)return}if(t===a)return o&&o(\"\",r.getCountryData(),e,\"\"),r.setState({formattedNumber:\"\"});if(t.replace(/\\D/g,\"\").length>15){if(!1===r.props.enableLongNumbers)return;if(\"number\"==typeof r.props.enableLongNumbers&&t.replace(/\\D/g,\"\").length>r.props.enableLongNumbers)return}if(t!==r.state.formattedNumber){e.preventDefault?e.preventDefault():e.returnValue=!1;var l=r.props.country,f=r.state,d=f.onlyCountries,p=f.selectedCountry,h=f.hiddenAreaCodes;if(o&&e.persist(),t.length>0){var m=t.replace(/\\D/g,\"\");(!r.state.freezeSelection||p&&p.dialCode.length>m.length)&&(u=r.props.disableCountryGuess?p:r.guessSelectedCountry(m.substring(0,6),l,d,h)||p,c=!1),i=r.formatNumber(m,u),u=u.dialCode?u:p}var y=e.target.selectionStart,b=e.target.selectionStart,g=r.state.formattedNumber,v=i.length-g.length;r.setState({formattedNumber:i,freezeSelection:c,selectedCountry:u},(function(){v>0&&(b-=v),\")\"==i.charAt(i.length-1)?r.numberInputRef.setSelectionRange(i.length-1,i.length-1):b>0&&g.length>=i.length?r.numberInputRef.setSelectionRange(b,b):y1?o.replace(n.dialCode,a.dialCode):a.dialCode,u=r.formatNumber(i.replace(/\\D/g,\"\"),a);r.setState({showDropdown:!1,selectedCountry:a,freezeSelection:!0,formattedNumber:u,searchValue:\"\"},(function(){r.cursorToEnd(),r.props.onChange&&r.props.onChange(u.replace(/[^0-9]+/g,\"\"),r.getCountryData(),t,u)}))}},r.handleInputFocus=function(e){r.numberInputRef&&r.numberInputRef.value===r.props.prefix&&r.state.selectedCountry&&!r.props.disableCountryCode&&r.setState({formattedNumber:r.props.prefix+r.state.selectedCountry.dialCode},(function(){r.props.jumpCursorToEnd&&setTimeout(r.cursorToEnd,0)})),r.setState({placeholder:\"\"}),r.props.onFocus&&r.props.onFocus(e,r.getCountryData()),r.props.jumpCursorToEnd&&setTimeout(r.cursorToEnd,0)},r.handleInputBlur=function(e){e.target.value||r.setState({placeholder:r.props.placeholder}),r.props.onBlur&&r.props.onBlur(e,r.getCountryData())},r.handleInputCopy=function(e){if(r.props.copyNumbersOnly){var t=window.getSelection().toString().replace(/[^0-9]+/g,\"\");e.clipboardData.setData(\"text/plain\",t),e.preventDefault()}},r.getHighlightCountryIndex=function(e){var t=r.state.highlightCountryIndex+e;return t<0||t>=r.state.onlyCountries.length+r.state.preferredCountries.length?t-e:r.props.enableSearch&&t>r.getSearchFilteredCountries().length?0:t},r.searchCountry=function(){var e=r.getProbableCandidate(r.state.queryString)||r.state.onlyCountries[0],t=r.state.onlyCountries.findIndex((function(t){return t==e}))+r.state.preferredCountries.length;r.scrollTo(r.getElement(t),!0),r.setState({queryString:\"\",highlightCountryIndex:t})},r.handleKeydown=function(e){var t=r.props.keys,n=e.target.className;if(n.includes(\"selected-flag\")&&e.which===t.ENTER&&!r.state.showDropdown)return r.handleFlagDropdownClick(e);if(n.includes(\"form-control\")&&(e.which===t.ENTER||e.which===t.ESC))return e.target.blur();if(r.state.showDropdown&&!r.props.disabled&&(!n.includes(\"search-box\")||e.which===t.UP||e.which===t.DOWN||e.which===t.ENTER||e.which===t.ESC&&\"\"===e.target.value)){e.preventDefault?e.preventDefault():e.returnValue=!1;var a=function(e){r.setState({highlightCountryIndex:r.getHighlightCountryIndex(e)},(function(){r.scrollTo(r.getElement(r.state.highlightCountryIndex),!0)}))};switch(e.which){case t.DOWN:a(1);break;case t.UP:a(-1);break;case t.ENTER:r.props.enableSearch?r.handleFlagItemClick(r.getSearchFilteredCountries()[r.state.highlightCountryIndex]||r.getSearchFilteredCountries()[0],e):r.handleFlagItemClick([].concat(o(r.state.preferredCountries),o(r.state.onlyCountries))[r.state.highlightCountryIndex],e);break;case t.ESC:case t.TAB:r.setState({showDropdown:!1},r.cursorToEnd);break;default:(e.which>=t.A&&e.which<=t.Z||e.which===t.SPACE)&&r.setState({queryString:r.state.queryString+String.fromCharCode(e.which)},r.state.debouncedQueryStingSearcher)}}},r.handleInputKeyDown=function(e){var t=r.props,n=t.keys,a=t.onEnterKeyPress,o=t.onKeyDown;e.which===n.ENTER&&a&&a(e),o&&o(e)},r.handleClickOutside=function(e){r.dropdownRef&&!r.dropdownContainerRef.contains(e.target)&&r.state.showDropdown&&r.setState({showDropdown:!1})},r.handleSearchChange=function(e){var t=e.currentTarget.value,n=r.state,a=n.preferredCountries,o=n.selectedCountry,i=0;if(\"\"===t&&o){var u=r.state.onlyCountries;i=r.concatPreferredCountries(a,u).findIndex((function(e){return e==o})),setTimeout((function(){return r.scrollTo(r.getElement(i))}),100)}r.setState({searchValue:t,highlightCountryIndex:i})},r.concatPreferredCountries=function(e,t){return e.length>0?o(new Set(e.concat(t))):t},r.getDropdownCountryName=function(e){return e.localName||e.name},r.getSearchFilteredCountries=function(){var e=r.state,t=e.preferredCountries,n=e.onlyCountries,a=e.searchValue,i=r.props.enableSearch,u=r.concatPreferredCountries(t,n),c=a.trim().toLowerCase().replace(\"+\",\"\");if(i&&c){if(/^\\d+$/.test(c))return u.filter((function(e){var t=e.dialCode;return[\"\".concat(t)].some((function(e){return e.toLowerCase().includes(c)}))}));var s=u.filter((function(e){var t=e.iso2;return[\"\".concat(t)].some((function(e){return e.toLowerCase().includes(c)}))})),l=u.filter((function(e){var t=e.name,r=e.localName;e.iso2;return[\"\".concat(t),\"\".concat(r||\"\")].some((function(e){return e.toLowerCase().includes(c)}))}));return r.scrollToTop(),o(new Set([].concat(s,l)))}return u},r.getCountryDropdownList=function(){var e=r.state,t=e.preferredCountries,a=e.highlightCountryIndex,o=e.showDropdown,i=e.searchValue,u=r.props,c=u.disableDropdown,s=u.prefix,l=r.props,f=l.enableSearch,d=l.searchNotFound,p=l.disableSearchIcon,h=l.searchClass,m=l.searchStyle,b=l.searchPlaceholder,g=l.autocompleteSearch,v=r.getSearchFilteredCountries().map((function(e,t){var n=a===t,o=N()({country:!0,preferred:\"us\"===e.iso2||\"gb\"===e.iso2,active:\"us\"===e.iso2,highlight:n}),i=\"flag \".concat(e.iso2);return y.a.createElement(\"li\",Object.assign({ref:function(e){return r[\"flag_no_\".concat(t)]=e},key:\"flag_no_\".concat(t),\"data-flag-key\":\"flag_no_\".concat(t),className:o,\"data-dial-code\":\"1\",tabIndex:c?\"-1\":\"0\",\"data-country-code\":e.iso2,onClick:function(t){return r.handleFlagItemClick(e,t)},role:\"option\"},n?{\"aria-selected\":!0}:{}),y.a.createElement(\"div\",{className:i}),y.a.createElement(\"span\",{className:\"country-name\"},r.getDropdownCountryName(e)),y.a.createElement(\"span\",{className:\"dial-code\"},e.format?r.formatNumber(e.dialCode,e):s+e.dialCode))})),C=y.a.createElement(\"li\",{key:\"dashes\",className:\"divider\"});t.length>0&&(!f||f&&!i.trim())&&v.splice(t.length,0,C);var _=N()(n({\"country-list\":!0,hide:!o},r.props.dropdownClass,!0));return y.a.createElement(\"ul\",{ref:function(e){return!f&&e&&e.focus(),r.dropdownRef=e},className:_,style:r.props.dropdownStyle,role:\"listbox\",tabIndex:\"0\"},f&&y.a.createElement(\"li\",{className:N()(n({search:!0},h,h))},!p&&y.a.createElement(\"span\",{className:N()(n({\"search-emoji\":!0},\"\".concat(h,\"-emoji\"),h)),role:\"img\",\"aria-label\":\"Magnifying glass\"},\"\uD83D\uDD0E\"),y.a.createElement(\"input\",{className:N()(n({\"search-box\":!0},\"\".concat(h,\"-box\"),h)),style:m,type:\"search\",placeholder:b,autoFocus:!0,autoComplete:g?\"on\":\"off\",value:i,onChange:r.handleSearchChange})),v.length>0?v:y.a.createElement(\"li\",{className:\"no-entries-message\"},y.a.createElement(\"span\",null,d)))};var s,l=new P(e.enableAreaCodes,e.enableTerritories,e.regions,e.onlyCountries,e.preferredCountries,e.excludeCountries,e.preserveOrder,e.masks,e.priority,e.areaCodes,e.localization,e.prefix,e.defaultMask,e.alwaysDefaultMask),h=l.onlyCountries,m=l.preferredCountries,b=l.hiddenAreaCodes,v=e.value?e.value.replace(/\\D/g,\"\"):\"\";s=e.disableInitialCountryGuess?0:v.length>1?r.guessSelectedCountry(v.substring(0,6),e.country,h,b)||0:e.country&&h.find((function(t){return t.iso2==e.country}))||0;var _,S=v.length<2&&s&&!j()(v,s.dialCode)?s.dialCode:\"\";_=\"\"===v&&0===s?\"\":r.formatNumber((e.disableCountryCode?\"\":S)+v,s.name?s:void 0);var x=h.findIndex((function(e){return e==s}));return r.state={showDropdown:e.showDropdown,formattedNumber:_,onlyCountries:h,preferredCountries:m,hiddenAreaCodes:b,selectedCountry:s,highlightCountryIndex:x,queryString:\"\",freezeSelection:!1,debouncedQueryStingSearcher:g()(r.searchCountry,250),searchValue:\"\"},r}var r,l,m;return function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(t,e),r=t,(l=[{key:\"componentDidMount\",value:function(){document.addEventListener&&this.props.enableClickOutside&&document.addEventListener(\"mousedown\",this.handleClickOutside),this.props.onMount&&this.props.onMount(this.state.formattedNumber.replace(/[^0-9]+/g,\"\"),this.getCountryData(),this.state.formattedNumber)}},{key:\"componentWillUnmount\",value:function(){document.removeEventListener&&this.props.enableClickOutside&&document.removeEventListener(\"mousedown\",this.handleClickOutside)}},{key:\"componentDidUpdate\",value:function(e,t,r){e.country!==this.props.country?this.updateCountry(this.props.country):e.value!==this.props.value&&this.updateFormattedNumber(this.props.value)}},{key:\"updateFormattedNumber\",value:function(e){if(null===e)return this.setState({selectedCountry:0,formattedNumber:\"\"});var t=this.state,r=t.onlyCountries,n=t.selectedCountry,a=t.hiddenAreaCodes,o=this.props,i=o.country,u=o.prefix;if(\"\"===e)return this.setState({selectedCountry:n,formattedNumber:\"\"});var c,s,l=e.replace(/\\D/g,\"\");if(n&&j()(e,u+n.dialCode))s=this.formatNumber(l,n),this.setState({formattedNumber:s});else{var f=(c=this.props.disableCountryGuess?n:this.guessSelectedCountry(l.substring(0,6),i,r,a)||n)&&j()(l,u+c.dialCode)?c.dialCode:\"\";s=this.formatNumber((this.props.disableCountryCode?\"\":f)+l,c||void 0),this.setState({selectedCountry:c,formattedNumber:s})}}},{key:\"render\",value:function(){var e,t,r,a=this,o=this.state,i=o.onlyCountries,u=o.selectedCountry,c=o.showDropdown,s=o.formattedNumber,l=o.hiddenAreaCodes,f=this.props,d=f.disableDropdown,p=f.renderStringAsFlag,h=f.isValid,m=f.defaultErrorMessage,b=f.specialLabel;if(\"boolean\"==typeof h)t=h;else{var g=h(s.replace(/\\D/g,\"\"),u,i,l);\"boolean\"==typeof g?!1===(t=g)&&(r=m):(t=!1,r=g)}var v=N()((n(e={},this.props.containerClass,!0),n(e,\"react-tel-input\",!0),e)),C=N()({arrow:!0,up:c}),_=N()(n({\"form-control\":!0,\"invalid-number\":!t,open:c},this.props.inputClass,!0)),w=N()({\"selected-flag\":!0,open:c}),S=N()(n({\"flag-dropdown\":!0,\"invalid-number\":!t,open:c},this.props.buttonClass,!0)),j=\"flag \".concat(u&&u.iso2);return y.a.createElement(\"div\",{className:\"\".concat(v,\" \").concat(this.props.className),style:this.props.style||this.props.containerStyle,onKeyDown:this.handleKeydown},b&&y.a.createElement(\"div\",{className:\"special-label\"},b),r&&y.a.createElement(\"div\",{className:\"invalid-number-message\"},r),y.a.createElement(\"input\",Object.assign({className:_,style:this.props.inputStyle,onChange:this.handleInput,onClick:this.handleInputClick,onDoubleClick:this.handleDoubleClick,onFocus:this.handleInputFocus,onBlur:this.handleInputBlur,onCopy:this.handleInputCopy,value:s,onKeyDown:this.handleInputKeyDown,placeholder:this.props.placeholder,disabled:this.props.disabled,type:\"tel\"},this.props.inputProps,{ref:function(e){a.numberInputRef=e,\"function\"==typeof a.props.inputProps.ref?a.props.inputProps.ref(e):\"object\"==typeof a.props.inputProps.ref&&(a.props.inputProps.ref.current=e)}})),y.a.createElement(\"div\",{className:S,style:this.props.buttonStyle,ref:function(e){return a.dropdownContainerRef=e}},p?y.a.createElement(\"div\",{className:w},p):y.a.createElement(\"div\",{onClick:d?void 0:this.handleFlagDropdownClick,className:w,title:u?\"\".concat(u.localName||u.name,\": + \").concat(u.dialCode):\"\",tabIndex:d?\"-1\":\"0\",role:\"button\",\"aria-haspopup\":\"listbox\",\"aria-expanded\":!!c||void 0},y.a.createElement(\"div\",{className:j},!d&&y.a.createElement(\"div\",{className:C}))),c&&this.getCountryDropdownList()))}}])&&s(r.prototype,l),m&&s(r,m),t}(y.a.Component);F.defaultProps={country:\"\",value:\"\",onlyCountries:[],preferredCountries:[],excludeCountries:[],placeholder:\"1 (702) 123-4567\",searchPlaceholder:\"search\",searchNotFound:\"No entries to show\",flagsImagePath:\"./flags.png\",disabled:!1,containerStyle:{},inputStyle:{},buttonStyle:{},dropdownStyle:{},searchStyle:{},containerClass:\"\",inputClass:\"\",buttonClass:\"\",dropdownClass:\"\",searchClass:\"\",className:\"\",autoFormat:!0,enableAreaCodes:!1,enableTerritories:!1,disableCountryCode:!1,disableDropdown:!1,enableLongNumbers:!1,countryCodeEditable:!0,enableSearch:!1,disableSearchIcon:!1,disableInitialCountryGuess:!1,disableCountryGuess:!1,regions:\"\",inputProps:{},localization:{},masks:null,priority:null,areaCodes:null,preserveOrder:[],defaultMask:\"... ... ... ... ..\",alwaysDefaultMask:!1,prefix:\"+\",copyNumbersOnly:!0,renderStringAsFlag:\"\",autocompleteSearch:!1,jumpCursorToEnd:!0,enableAreaCodeStretch:!1,enableClickOutside:!0,showDropdown:!1,isValid:!0,defaultErrorMessage:\"\",specialLabel:\"Phone\",onEnterKeyPress:null,keys:{UP:38,DOWN:40,RIGHT:39,LEFT:37,ENTER:13,ESC:27,PLUS:43,A:65,Z:90,SPACE:32,TAB:9}};t.default=F}]);", "export const FORM_ID = 'constants://order.formID' as const\nexport const INQUIRY_FORM_ID = 'constants://inquiry.formID' as const\n\nexport const NAME = 'new-order' as const\nexport const ORDER_NAMESPACE = 'new-order' as const", "exports.ENV = 'production'\n\nexports.PORT = 8686\n\nexports.SERVER_URL = 'https://ms-hub.site.supplies'\n\nexports.PRICE_CALCULATOR_SERVER_URL = 'https://price-calculator-module.site.supplies'\n\nexports.API_URL = 'https://api.speedy.company/'\n\nexports.API_PROXY_URL = '/api/'\n\nexports.USE_HOST = false\n\nexports.PRICE_CALCULATOR_LOGGER = false\n\nexports.FETCH_GENERAL_CONFIGS_URL = 'https://api.speedy.company/client/configs/LAKSJHdASKLDFJLAljsaf897234hlafsf1LSf'\n\nexports.CLICK_JACKING_DEFENSE = true\n\nexports.ENABLE_PT = false\n", "import pako from 'pako'\n\nconst unzip = (data) => {\n const compressedData = atob(data)\n // eslint-disable-next-line\n const unziped = pako.inflate(new Uint8Array(compressedData.split('').map(x => x.charCodeAt(0))))\n // eslint-disable-next-line\n\treturn JSON.parse(String.fromCharCode.apply(null, new Uint16Array(unziped)))\n}\n\nexport default unzip\n", "/* utils general */\nimport unzip from 'utils/unzip'\n\nexport default store => next => action => {\n if (action.data && action.data.event_data && action.data.event_data.format === 'gzip') {\n const modifyedAction = {\n ...action,\n data: {\n ...action.data,\n event_data: {\n ...action.data.event_data,\n action_data: unzip(action.data.event_data.action_data),\n format: 'object',\n },\n },\n }\n\n return next(modifyedAction)\n }\n\n return next(action)\n}\n", "class StoreEventTarget extends EventTarget {\n protected listeners: { [key: string]: (EventListener)[] } = {}\n\n public addEventListener = (type: string, listener: EventListener, ...args: any) => {\n if (!this.listeners[type]) {\n this.listeners[type] = []\n }\n\n this.listeners[type].push(listener)\n\n super.addEventListener(type, listener, ...args)\n }\n\n public removeEventListener = (type: string, listener: EventListener, ...args: any) => {\n if (!this.listeners[type]) {\n return\n }\n\n const index = this.listeners[type].indexOf(listener)\n\n if (index !== -1) {\n this.listeners[type].splice(index, 1)\n }\n\n if (this.listeners[type].length === 0) {\n delete this.listeners[type]\n }\n\n super.removeEventListener(type, listener, ...args)\n }\n\n public getEventListeners = (type?: string) => {\n if (type && this.listeners[type] && this.listeners[type].length === 0) {\n delete this.listeners[type]\n }\n\n if (!type) {\n return this.listeners\n }\n\n return this.listeners[type]\n }\n\n public dispatchEvent = (event: Event) => {\n const listeners = this.getEventListeners(event.type)\n\n if (!listeners || listeners.length === 0) {\n return false\n }\n\n return super.dispatchEvent(event)\n }\n}\n\nexport default StoreEventTarget", "/**\n * Singleton factory\n * \n * Using for bind factory returned value to global scope on first call\n * and only return if value exists\n * \n * @warning Use as specific as possible key for avoid collisions (hashes, uuids, etc.) between different values,\n * but declare as string literal for avoid collisions with other singletons.\n * \n * @param key - global variable name\n * @param factory - factory function\n * @param onceCallback - callback for first call\n * \n * @returns factory returned value\n * \n * P.S.: helper writed for easy typing.\n */\nexport default function singleton unknown = () => unknown>(\n key: string,\n factory: TFactory,\n options?: {\n onCreate?: (factory: ReturnType) => void\n }\n): ReturnType {\n const { onCreate: handleCreate } = options ?? {}\n\n // @ts-ignore\n if (!window[key]) {\n // @ts-ignore\n window[key] = factory()\n\n if (handleCreate) {\n handleCreate(window[key])\n }\n }\n\n // @ts-ignore\n return window[key]\n}", "import StoreEventTarget from './store-event-target'\n\nimport singleton from 'helpers/singleton'\n\nexport const storeEvents = singleton('590912f1-8b25-40aa-b922-250960cbbeb2', () => new StoreEventTarget())\n\nconst eventsMiddlware = store => next => action => {\n storeEvents.dispatchEvent(new CustomEvent(action.type, { detail: action }))\n\n return next(action)\n}\n\nexport default eventsMiddlware", "import createSagaMiddleware from 'redux-saga'\n// @ts-ignore\nconst sagaMiddleware = window.sagaMiddleware ?? createSagaMiddleware()\n// @ts-ignore\nwindow.sagaMiddleware = sagaMiddleware\n\nexport default sagaMiddleware\n", "interface IsPlainObject {\n (value: any): boolean\n}\n\nconst isPlainObject: IsPlainObject = value => value?.constructor === Object\n\nexport default isPlainObject", "import { RegisteredAbTests } from '../_register'\n\nimport isPlainObject from 'utils/is-plain-object'\n\nimport type { Hydrator, ABTestsMap } from '../types'\n\nconst hydrateCheckRequest = (register: RegisteredAbTests[]): Hydrator => (payload: any) => {\n if (!isPlainObject(payload)) {\n return {} as ABTestsMap\n }\n\n return register.reduce((tests, testName) => {\n if (typeof payload[testName] !== 'undefined') {\n tests[testName] = payload[testName]\n }\n\n return tests\n }, {} as ABTestsMap)\n}\n\nexport default hydrateCheckRequest", "export enum RegisteredAbTests {\n IPHONE_BANNER = 'showIphoneBanner',\n ORDER_BOT = 'chatbotOrderFormAlternative',\n INC_PRICES = 'incPrices',\n NEW_ORDER_FORM = 'newOrderForm',\n}\n", "import hydrateCheckRequest from './hydrators/check-request'\n\nimport { RegisteredAbTests } from './_register'\n\nimport type { Hydrator } from './types'\n\nexport const hydrators: Array = [\n hydrateCheckRequest(Object.values(RegisteredAbTests)),\n]\n\nexport default hydrators", "import { v4 as uuid } from 'uuid'\n\nimport { RegisteredAbTests } from './_register'\n\nimport type { ABTests, ABTestsState } from './types.d'\n\nexport const NAME = 'ab-tests' as const\n\nexport const AB_TESTS_LIST = Object.values(RegisteredAbTests)\n\nexport const INITIAL_AB_TESTS: ABTests = AB_TESTS_LIST.reduce((acc, testName) => {\n acc[testName] = {\n name: testName,\n group: undefined,\n hydrated: false,\n rayId: uuid(),\n }\n\n return acc\n}, {} as ABTests)\n\nexport const INITIAL_STATE: ABTestsState = {\n abTests: INITIAL_AB_TESTS,\n checkRequestReady: false,\n}", "import * as RTK from '@reduxjs/toolkit'\n\nimport { RegisteredAbTests } from '../_register'\nimport hydrators from '../_hydrators'\n\nimport { NAME, INITIAL_STATE } from '../constants'\nimport type { State, ABTestsMap } from '../types.d'\n\nexport const slice = RTK.createSlice({\n name: NAME,\n initialState: INITIAL_STATE,\n reducers: {\n hydrate(state, action: RTK.PayloadAction) {\n state.checkRequestReady = true\n Object.entries(hydrate(action.payload)).forEach(([testName, group]) => {\n state.abTests[testName as RegisteredAbTests].group = group\n state.abTests[testName as RegisteredAbTests].hydrated = true\n })\n },\n }\n})\n\nexport const abTestsSlice = slice\n\nconst GET_STATE = (state: State) => state[NAME]\n\nexport const AB_TEST = (testName: RegisteredAbTests) => RTK.createSelector(GET_STATE, state => state.abTests[testName])\nexport const AB_TESTS = RTK.createSelector(GET_STATE, state => state.abTests)\nexport const CHECK_REQUEST_READY = RTK.createSelector(GET_STATE, state => state.checkRequestReady)\n\nexport function hydrate(payload: unknown) {\n return hydrators.reduce((acc, hydrator) => {\n const testsMap: ABTestsMap = hydrator(payload)\n\n for (const testName in testsMap) {\n acc[testName as RegisteredAbTests] = testsMap[testName]\n }\n\n return acc\n }, {} as ABTestsMap)\n}\n\n", "import { createListenerMiddleware } from '@reduxjs/toolkit'\n\nimport { slice, AB_TESTS } from './slice'\n\nimport type { State, ABTest } from '../types.d'\n\nconst ATTRS_DOMAIN = 'data-ab-test'\nconst CONTAINER_ATTR = 'data-ab-tests-container'\n\nconst listener = createListenerMiddleware()\n\nlistener.startListening({\n actionCreator: slice.actions.hydrate,\n effect(_, { getState }) {\n const state = getState() as State\n const abTests = AB_TESTS(state)\n\n const container = getContainer()\n\n Object.values(abTests).forEach((test) => {\n setTest(container, test)\n })\n },\n})\n\nexport const abTestsHydarateListener = listener\n\nfunction getContainer() {\n const existsRoot = document.body.querySelector(`div[${CONTAINER_ATTR}]`)\n\n const container = existsRoot || document.createElement('div')\n\n container.setAttribute(CONTAINER_ATTR, '')\n container.setAttribute('hidden', '')\n\n if (!existsRoot) {\n document.body.prepend(container)\n }\n\n return container\n}\n\nfunction setTest(container: HTMLDivElement, test: ABTest) {\n const existsNode = document.body.querySelector(`div[${ATTRS_DOMAIN}-ray-id=\"${test.rayId}\"]`)\n\n if (!test.hydrated) {\n return\n }\n\n const node = existsNode || document.createElement('div')\n\n const group = typeof test.group === 'string' ? test.group : JSON.stringify(test.group)\n\n node.setAttribute(ATTRS_DOMAIN, '')\n node.setAttribute(`${ATTRS_DOMAIN}-ray-id`, test.rayId)\n node.setAttribute('data-name', test.name)\n node.setAttribute('data-group', group)\n\n if (!existsNode) {\n container.append(node)\n }\n}", "export {\n abTestsSlice,\n\n AB_TEST,\n AB_TESTS,\n} from './slice'\nexport { abTestsHydarateListener } from './hydrate-listener'", "import { createListenerMiddleware } from '@reduxjs/toolkit'\n\nimport singleton from 'helpers/singleton'\n\nconst SINGLETON_ID = 'ab30ee82-f520-4686-8e37-29af85f87b21'\n\nexport const discountListener = singleton(SINGLETON_ID, () => createListenerMiddleware())", "import {\n // ENV,\n PRICE_CALCULATOR_SERVER_URL,\n\n // @ts-ignore\n} from 'env'\n\nimport { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\n\n// import { promiseBaseQuery } from './api/base-query-functions'\n\nimport { configureStore, combineReducers, Store, Middleware, Reducer, ReducersMapObject, Slice } from '@reduxjs/toolkit'\nimport { persistStore, persistReducer, Persistor, PersistConfig } from 'redux-persist'\n\n// import { routerReducer } from 'react-router-redux'\n\n// import _throttle from 'lodash/throttle'\n// import _isEqual from 'lodash/isEqual'\n\nimport unzipPusherData from '@qwerty.software/store-manager/middlewares/unzip-pusher-data'\nimport events from '@qwerty.software/store-manager/middlewares/events'\nimport sagas from '@qwerty.software/store-manager/sagas'\n\nimport { abTestsSlice, abTestsHydarateListener } from '@qwerty.software/ab-test/src/component/store'\nimport { discountListener } from 'global-entities/discount/side-effects'\n// import { filesUploaderListener } from 'global-entities/files-uploader/side-effects'\n\nimport type { IStoreManager } from './types'\nimport type { ICurrencySwitcherState, ResponseData } from './api/price-calculator-api/exchange-rates'\n\n// const DEV_TOOLS = ENV !== 'production'\n\nabstract class StoreManager implements IStoreManager {\n public store!: Store\n\n public persistor!: Persistor\n\n public persist!: () => void\n\n // Create an object which maps keys to reducers\n private reducers!: ReducersMapObject\n\n // Create the initial combinedReducer\n private combinedReducer!: ReturnType\n\n // An array which is used to delete state keys when reducers are removed\n private keysToRemove: string[] = []\n\n // static APIv1 = createApi({\n // reducerPath: '[APIv1]',\n // baseQuery: fetchBaseQuery({\n // baseUrl: `/api`,\n // }),\n // endpoints: () => ({}),\n // })\n\n static PriceCalculatorApiV1 = createApi({\n reducerPath: '[PriceCalculatorApiV1]',\n baseQuery: fetchBaseQuery({\n baseUrl: PRICE_CALCULATOR_SERVER_URL,\n }),\n endpoints: (builder) => ({\n rates: builder.query({\n query: () => ({\n url: `/exchange-rates`,\n method: 'GET',\n params: {},\n }),\n transformResponse: (response: ResponseData) => ({\n rates: response?.rates,\n timestamp: response?.timestamp,\n }),\n providesTags: ['CurrencyRate'],\n }),\n }),\n tagTypes: ['CurrencyRate'],\n })\n\n // static Promises = createApi({\n // reducerPath: '[Promises]',\n // baseQuery: promiseBaseQuery(),\n // endpoints: () => ({}),\n // })\n\n protected constructor(\n reducers: ReducersMapObject = {},\n ) {\n this.reducers = {\n // api reducers\n // [StoreManager.APIv1.reducerPath]: StoreManager.APIv1.reducer,\n [StoreManager.PriceCalculatorApiV1.reducerPath]: StoreManager.PriceCalculatorApiV1.reducer,\n // [StoreManager.Promises.reducerPath]: StoreManager.Promises.reducer,\n\n [abTestsSlice.name]: abTestsSlice.reducer,\n\n // @ts-ignore\n // routing: routerReducer,\n\n ...reducers,\n }\n this.combinedReducer = combineReducers(this.reducers)\n\n this.store = configureStore({\n // devTools: DEV_TOOLS,\n\n reducer: this.reduce,\n middleware: (getDefaultMiddleware) => getDefaultMiddleware({\n serializableCheck: false,\n immutableCheck: false,\n })\n .concat([\n unzipPusherData,\n events,\n sagas,\n\n // api middlewares\n // StoreManager.APIv1.middleware,\n StoreManager.PriceCalculatorApiV1.middleware,\n // StoreManager.Promises.middleware,\n\n // side effects middlewares\n abTestsHydarateListener.middleware,\n discountListener.middleware,\n // filesUploaderListener.middleware,\n ]),\n })\n\n this.persistor = persistStore(this.store)\n\n this.persist = this.persistor.persist\n // this.persist = _throttle(this.persistor.persist, 500, {\n // leading: false,\n // trailing: true,\n // })\n }\n\n // The root reducer function exposed by this object\n // This will be passed to the store\n protected reduce = (state, action) => {\n // If any reducers have been removed, clean up their state first\n if (this.keysToRemove.length > 0) {\n state = { ...state }\n for (const key of this.keysToRemove) {\n delete state[key]\n }\n this.keysToRemove = []\n }\n\n // Delegate to the combined reducer\n return this.combinedReducer(state, action)\n }\n\n public addReducer = (key: string, reducer: Reducer, persistConfig?: PersistConfig) => {\n if (persistConfig) {\n reducer = persistReducer(\n persistConfig,\n reducer,\n )\n }\n\n if (!key || this.reducers[key]) {\n return\n }\n\n // Add the reducer to the reducer mapping\n this.reducers[key] = reducer\n\n // Generate a new combined reducer\n this.combinedReducer = combineReducers(this.reducers)\n\n this.store.replaceReducer(this.reduce)\n\n this.persist()\n }\n\n // Removes a reducer with the specified key\n public removeReducer = (key: string) => {\n if (!key || !this.reducers[key]) {\n return\n }\n\n // Remove it from the reducer mapping\n delete this.reducers[key]\n\n // Add the key to the list of keys to clean up\n this.keysToRemove.push(key)\n\n // Generate a new combined reducer\n this.combinedReducer = combineReducers(this.reducers)\n\n this.store.replaceReducer(this.reduce)\n\n this.persist()\n }\n\n public addReducers = (reducers, persistConfig?: PersistConfig) => {\n for (const key in reducers) {\n this.addReducer(key, reducers[key], persistConfig)\n }\n }\n\n public removeReducers = (keys) => {\n for (const key of keys) {\n this.removeReducer(key)\n }\n }\n\n public addSlice = (slice: Slice, persistConfig?: PersistConfig) => {\n this.addReducer(slice.name, slice.reducer, persistConfig)\n }\n\n public removeSlice = (slice: Slice | string) => {\n this.removeReducer(typeof slice === 'string' ? slice : slice.name)\n }\n\n public addSlices = (slices: (Slice | [slice: Slice, persistConfig?: PersistConfig])[]) => {\n for (const _slice of slices) {\n const [slice, persistConfig] = Array.isArray(_slice) ? _slice : [_slice]\n\n this.addSlice(slice, persistConfig)\n }\n }\n\n public removeSlices = (slices: (Slice | string)[]) => {\n for (const slice of slices) {\n this.removeSlice(slice)\n }\n }\n}\n\nexport default StoreManager\n", "import { createSlice, PayloadAction, } from '@reduxjs/toolkit'\nimport type { ReactNode } from 'react'\n\nexport interface State {\n cookiePolicyNode: ReactNode | null\n}\n\nconst initialState: State = {\n cookiePolicyNode: null\n}\n\nexport const slice = createSlice({\n name: `slice://global-entities/ref-to-interact`,\n initialState,\n reducers: {\n setCookiePolicyNode(state, action: PayloadAction) {\n state.cookiePolicyNode = action.payload\n },\n },\n})\n\nexport const { setCookiePolicyNode } = slice.actions\n\ntype Store = {\n [slice.name]: State\n}\n\nexport const COOKIE_POLICY_NODE = (state: Store) => state[slice.name]?.cookiePolicyNode\n", "import { Validator } from '../definitions'\n\nfunction buildValidator(\n name: Validator['name'],\n fn: Omit,\n Error: Validator['Error'],\n): Validator {\n Object.defineProperty(fn, 'name', {\n value: name,\n\n configurable: false,\n enumerable: false,\n writable: false,\n })\n Object.defineProperty(fn, 'Error', {\n value: Error,\n\n configurable: false,\n enumerable: false,\n writable: false,\n })\n\n return fn as Validator\n}\n\nexport default buildValidator", "import { SharedProps, enqueueSnackbar } from 'notistack'\n\nconst DEFAULT_OPTIONS: SharedProps = {\n anchorOrigin: { horizontal: 'left', vertical: 'bottom' },\n autoHideDuration: 3000,\n}\n\nconst notify = {\n success: (messageText: string, options?: SharedProps) => {\n try {\n enqueueSnackbar && enqueueSnackbar(messageText, { // enqueueSnackbar && - this fix files uploader bug with uploaded file with error on page load\n variant: 'success',\n autoHideDuration: options?.autoHideDuration || DEFAULT_OPTIONS.autoHideDuration,\n anchorOrigin: options?.anchorOrigin || DEFAULT_OPTIONS.anchorOrigin\n })\n } catch (error) {\n console.error(error)\n }\n },\n error: (messageText: string, options?: SharedProps) => {\n try {\n enqueueSnackbar && enqueueSnackbar(messageText, {\n variant: 'error',\n autoHideDuration: options?.autoHideDuration || DEFAULT_OPTIONS.autoHideDuration,\n anchorOrigin: options?.anchorOrigin || DEFAULT_OPTIONS.anchorOrigin\n })\n } catch (error) {\n console.error(error)\n }\n },\n warning: (messageText: string, options?: SharedProps) => {\n try {\n enqueueSnackbar && enqueueSnackbar(messageText, {\n variant: 'warning',\n autoHideDuration: options?.autoHideDuration || DEFAULT_OPTIONS.autoHideDuration,\n anchorOrigin: options?.anchorOrigin || DEFAULT_OPTIONS.anchorOrigin\n })\n } catch (error) {\n console.error(error)\n }\n },\n info: (messageText: string, options?: SharedProps) => {\n try {\n enqueueSnackbar && enqueueSnackbar(messageText, {\n variant: 'info',\n autoHideDuration: options?.autoHideDuration || DEFAULT_OPTIONS.autoHideDuration,\n anchorOrigin: options?.anchorOrigin || DEFAULT_OPTIONS.anchorOrigin\n })\n } catch (error) {\n console.error(error)\n }\n },\n}\n\n// @ts-ignore\nwindow.toastr = notify\n\nexport default notify\n", "import buildValidator from './_build-validator'\nimport type { ValidationError } from './_error-interface'\n\nimport notify from 'utils/notify'\n\nimport { FileMeta } from '../definitions'\n\nclass NotAllowedExtensionError extends Error implements ValidationError {\n protected fileName: string\n\n constructor({ file }: FileMeta) {\n super('Security reasons error')\n\n this.fileName = file.name\n }\n\n notify() {\n // notify.error(`'${this.fileName}' was not uploaded due to security reasons. Please contact support staff.`)\n }\n}\n\nconst materialExtension = buildValidator(\n 'material-extension',\n (fileMeta: FileMeta) => {\n const ext = fileext(fileMeta.file.name)\n const allowedExtensions = getAllowedExtensions()\n\n if (ext && !allowedExtensions.includes(ext)) {\n notify.error(`'${fileMeta.file.name}' was not uploaded due to security reasons. Please contact support staff.`)\n throw new NotAllowedExtensionError(fileMeta)\n }\n },\n NotAllowedExtensionError,\n)\n\nexport default materialExtension\n\nfunction fileext(fileName: string) {\n return fileName.split('.')[fileName.split('.').length - 1]\n}\n\nfunction getAllowedExtensions() {\n return [\n 'docx',\n 'doc',\n 'txt',\n 'pdf',\n 'sav',\n 'scv',\n 'xlsx',\n 'xls',\n 'pptx',\n 'ppt',\n 'png',\n 'jpg',\n 'webp',\n 'jpeg',\n 'mp4',\n 'pub',\n 'rar',\n 'zip',\n 'rtf',\n ]\n}", "import type { Configs as ConfigsMapType } from 'common/configs/types'\n\nexport const KEY = 'MICROSERVICES_CONFIGS' as const\n\ndeclare global {\n interface Window {\n MICROSERVICES_INNER_CONFIGS?: ConfigsMapType\n MICROSERVICES_OUTER_CONFIGS?: ConfigsMapType\n\n [KEY]?: ConfigsMapType\n }\n}\n\nexport const initConfigs = (...args: Array) => {\n const prevConfigs = window[KEY] || {}\n\n const innerConfigs = window.MICROSERVICES_INNER_CONFIGS || {}\n const outerConfigs = window.MICROSERVICES_OUTER_CONFIGS || {}\n\n const configs = Object.assign({}, innerConfigs, outerConfigs, prevConfigs, ...args) as ConfigsMapType\n\n window[KEY] = configs\n}\n\nexport type { Configs as ConfigsMapType } from 'common/configs/types'", "import { KEY } from './init'\n\nexport const getConfigs = () => {\n if (!window[KEY]) {\n throw new Error('Configs are not initialized')\n }\n\n return window[KEY]\n}", "{\n \"calculatorConfigs\": \"default\",\n \"orderFormConfigs\": \"default\",\n \"inquiryFormConfigs\": \"default\",\n \"orderInfoConfigs\": \"default\",\n \"defaultCalculatorType\": \"vertical\",\n \"inquiryFormSidebarType\": \"default\",\n \"defaultEmailsCollectorType\": \"default\",\n \"livechatOptions\": {\n \"license\": 5580561,\n \"chat_between_groups\": false\n }\n}\n", "import { getConfigs } from 'global-entities/configs/utils/get'\n\n/* helpers general */\n// import getDomain from 'helpers/domain/get-domain'\n// import getInnerConfigs from 'helpers/configs/get-inner-configs'\n// import getOuterConfigs from 'helpers/configs/get-outer-configs'\n// import getContextConfigs from 'helpers/configs/get-context-configs'\n\n/* configs mh default */\nimport defaultConfigs from 'static/default.json'\n\nexport default (key) => {\n // if (!window.hasOwnProperty('globalNumberOfCallsForGetFromConfigs')) {\n // window.globalNumberOfCallsForGetFromConfigs = 0\n // }\n\n // window.globalNumberOfCallsForGetFromConfigs++\n\n const configs = getConfigs()\n\n // if (!Object.keys(configs).length && window.globalNumberOfCallsForGetFromConfigs === 1) {\n // // eslint-disable-next-line no-console\n // console.warn(`Can't find configs for '${getDomain()}' project!`)\n // return\n // }\n\n if (!key) {\n return configs\n }\n\n if (!configs[key]) {\n // console.warn(`[FALLBACK_TO_DEFAULT] used ${value} instead of \"${key}\" of \"${getDomain()}\"`);\n return defaultConfigs[key] || undefined\n }\n\n return configs[key]\n}\n", "export const PROJECT_ID = 'id' as const\nexport const PROJECT_DOMAIN = 'domain' as const\nexport const PROJECT_FAMILY = 'family' as const\nexport const PROJECT_PARENT = 'parent' as const\n\nexport const ORDER_PAGE_PATH = 'orderPagePath' as const\n\nexport const IS_ALIAS_DOMAIN = 'isAliasDomain' as const\nexport const SHARE_LOCAL_STORAGE_TO = 'shareLocalStorageTo' as const\n\nexport const ORDER_DATA_DEFAULTS = 'orderDataDefaults' as const\nexport const ORDER_DATA_DISABLED_PERSISTOR = 'orderDataDisabledPersistor' as const\n\nexport const CALCULATOR_CONFIGS = 'calculatorConfigs' as const\n\nexport const HIDE_JINP = 'hideNewJinp' as const\n\nexport const ORDER_FORM_CONFIGS = 'orderFormConfigs' as const\nexport const ORDER_FORM_BOTTOMBAR_TYPE = 'orderFormBottombarType' as const\nexport const ORDER_FORM_IS_AVAILABLE_ONLY_FOR_AUTHORIZED_USER = 'orderFormIsAvailableOnlyForAuthorizedUser' as const\n\nexport const INQUIRY_FORM_CONFIGS = 'inquiryFormConfigs' as const\nexport const INQUIRY_FORM_SIDEBAR_TYPE = 'inquiryFormSidebarType' as const\nexport const INQUIRY_FORM_BOTTOMBAR_TYPE = 'inquiryFormBottombarType' as const\nexport const INQUIRY_PAGE_PATH = 'inquiryPagePath' as const\n\nexport const ORDER_INFO_CONFIGS = 'orderInfoConfigs' as const\n\nexport const DELIVER_DATA_FROM_CALCULATOR_TO_ORDER_FORM_VIA_QUERY_STRING = 'deliverDataFromCalculatorToOrderFormViaQueryString' as const\n\nexport const SHOULD_DISABLE_USER_CHECK_REQUEST = 'shouldDisableUserCheckRequest' as const\n\nexport const SHOULD_REDIRECT_TO_PARENT_SITE = 'shouldRedirectToParentSite' as const\nexport const PARENT_SITE_URL = 'parentSiteUrl' as const\nexport const ADDITIONAL_QUERY_PARAMS_TO_PARENT_SITE = 'additionalQueryParamsToParentSite' as const\n\nexport const SHOULD_USE_SPECIFIC_API = 'shouldUseSpecificApi' as const\nexport const SPECIFIC_API_URL = 'specificApiUrl' as const\n\nexport const DASHBOARD_SUBDOMAIN = 'dashboardSubdomain'\n\nexport const LIVECHAT_OPTIONS = 'livechatOptions' as const\n\nexport const SHOULD_DISABLE_LOAD_ALWAYS_SERVICES = 'shouldDisableLoadAlwaysServices' as const\n\nexport const SHOULD_DISABLE_RATE_US = 'shouldDisableRateUs' as const\n\nexport const IS_NEW_SPEEDYPAPER_DESIGN = 'newSpeedyDesign' as const\n\nexport const TRACK_TOOL = 'trackTool' as const\n\nexport const CASHBACK_PERCENT_IN_CALCULATOR = 'cashback' as const //LA-2461 !!!!\nexport const CALCULATOR_QUERY_FLOW = 'calculatorQueryFlow' as const\n\nexport const WITH_RECAPTCHA = 'withRecaptcha' as const\n\nexport const ORDER_FORM_BOT_SWITCHER_FORCE_ENABLED = 'orderFormBotSwitcherForceEnabled' as const\nexport const ORDER_FORM_BOT_SWITCHER_VARIANT = 'orderFormBotSwitcherVariant' as const\n\nexport const INC_PRICES_AB_TEST_VERSION = 'incPricesAbTestVersion' as const\n\nexport const FORCE_HIDE_TURNITIN_UPSALE = 'forceHideTurnitinUpsale' as const", "export const USER_DATA_EXPIRES_TIMEOUT = 7.2e+6 // 2 hours, same with api\n\nexport const AUTHORISATION_STATUSES = {\n authorized: 'AUTHORIZED',\n unauthorized: 'UNAUTHORIZED',\n}\n\nexport const SIGNUP = {\n authType: 'signup',\n aliasedAuthTypes: ['register'],\n route: 'register',\n authFormStep: 1,\n orderFormStep: 2,\n}\n\nexport const SIGNIN = {\n authType: 'signin',\n aliasedAuthTypes: ['login'],\n route: 'login',\n authFormStep: 2,\n orderFormStep: 1,\n}\n\nexport const FORGOT = {\n authType: 'forgot',\n route: 'password/forgot',\n authFormStep: 2,\n}\n\nexport const RESET = {\n authType: 'reset',\n route: 'password/reset',\n}\n\nexport const FACEBOOK = {\n authType: 'facebook',\n}\n\nexport const GOOGLE = {\n authType: 'google',\n}\n\nexport const APPLE = {\n authType: 'apple',\n}\n\nexport const DASHBOARD = {\n action: 'dashboard',\n}\n\nexport const SIGNOUT = {\n action: 'signout',\n aliasedAuthTypes: ['logout'],\n route: 'logout',\n}\n\nexport const CHECK_TRIGGERED = 'CHECK_TRIGGERED'\nexport const CHECK = {\n action: 'check',\n route: 'check',\n}\n", "export const PAGES = 'pages'\nexport const WORDS = 'words'\nexport const SWITCHER_BUTTONS = [\n PAGES,\n WORDS,\n]\n\nexport const PAGES_INDEX = SWITCHER_BUTTONS.findIndex((button) => button === PAGES)\nexport const WORDS_INDEX = SWITCHER_BUTTONS.findIndex((button) => button === WORDS)\n", "/* helpers general */\nimport getFromConfigs from 'helpers/configs/get-from-configs'\n\n/* constants general */\nimport { ORDER_DATA_DEFAULTS } from 'constants/configs'\nimport { SIGNUP } from 'constants/auth'\n\nimport { PAGES_INDEX } from 'constants/pagesWordsSwitcher'\n\nconst orderDataDefaults = getFromConfigs(ORDER_DATA_DEFAULTS)\n\nexport default {\n authType: {\n name: 'authType',\n defaultValue: (orderDataDefaults && orderDataDefaults.authType) || SIGNUP.authType,\n defaultType: 'string',\n effectsOnOrderDataChange: false,\n },\n\n name: {\n name: 'name',\n defaultValue: '',\n defaultType: 'string',\n debounceTime: 500,\n effectsOnOrderDataChange: false,\n },\n\n firstName: {\n name: 'firstName',\n defaultValue: '',\n defaultType: 'string',\n debounceTime: 500,\n effectsOnOrderDataChange: false,\n },\n\n lastName: {\n name: 'lastName',\n defaultValue: '',\n defaultType: 'string',\n debounceTime: 500,\n effectsOnOrderDataChange: false,\n },\n\n email: {\n name: 'email',\n defaultValue: '',\n defaultType: 'string',\n debounceTime: 500,\n effectsOnOrderDataChange: false,\n },\n\n phone: {\n name: 'phone',\n defaultValue: '',\n defaultType: 'string',\n effectsOnOrderDataChange: false,\n },\n\n oldPassword: {\n name: 'oldPassword',\n defaultValue: '',\n defaultType: 'string',\n minLength: 6,\n debounceTime: 500,\n effectsOnOrderDataChange: false,\n },\n\n password: {\n name: 'password',\n defaultValue: '',\n defaultType: 'string',\n minLength: 6,\n debounceTime: 500,\n effectsOnOrderDataChange: false,\n },\n\n passwordConfirmation: {\n name: 'passwordConfirmation',\n defaultValue: '',\n defaultType: 'string',\n minLength: 6,\n debounceTime: 500,\n effectsOnOrderDataChange: false,\n },\n\n rememberMe: {\n name: 'rememberMe',\n defaultValue: (orderDataDefaults && orderDataDefaults.rememberMe) || true,\n defaultType: 'boolean',\n effectsOnOrderDataChange: false,\n },\n\n facebookAuth: {\n name: 'facebookAuth',\n defaultValue: {},\n defaultType: 'object',\n effectsOnOrderDataChange: false,\n },\n\n googleAuth: {\n name: 'googleAuth',\n defaultValue: {},\n defaultType: 'object',\n effectsOnOrderDataChange: false,\n },\n\n appleAuth: {\n name: 'appleAuth',\n defaultValue: {},\n defaultType: 'object',\n effectsOnOrderDataChange: false,\n },\n\n topic: {\n name: 'topic',\n defaultValue: (orderDataDefaults && orderDataDefaults.topic) || '',\n defaultType: 'string',\n minLength: 8,\n maxLength: 300,\n debounceTime: 500,\n effectsOnOrderDataChange: true,\n },\n\n paperDetails: {\n name: 'paperDetails',\n defaultValue: (orderDataDefaults && orderDataDefaults.paperDetails) || '',\n defaultType: 'string',\n minLength: 15,\n maxLength: 1000,\n debounceTime: 500,\n effectsOnOrderDataChange: true,\n },\n\n academicLevel: {\n name: 'academicLevel',\n defaultValue: (orderDataDefaults && orderDataDefaults.academicLevel) || 10,\n defaultType: 'number',\n effectsOnOrderDataChange: true,\n },\n\n paperType: {\n name: 'paperType',\n defaultValue: (orderDataDefaults && orderDataDefaults.paperType) || 90,\n problemSolvingKey: 110,\n resumeKey: 116,\n multiplyQuestionsKey: 200,\n questionsAndAnswersKey: 199,\n includesFollowUpThankYouLetterKeys: [166, 168],\n defaultType: 'number',\n effectsOnOrderDataChange: true,\n },\n\n workType: {\n name: 'workType',\n defaultValue: (orderDataDefaults && orderDataDefaults.workType) || 20,\n problemSolvingKey: 22,\n gradingMarkingKey: 172,\n multiplyQuestionsKey: 201,\n questionsAndAnswersKey: 202,\n defaultType: 'number',\n effectsOnOrderDataChange: true,\n },\n\n paperFormat: {\n name: 'paperFormat',\n defaultValue: (orderDataDefaults && orderDataDefaults.paperFormat) || 26,\n defaultType: 'number',\n effectsOnOrderDataChange: true,\n },\n\n subject: {\n name: 'subject',\n defaultValue: (orderDataDefaults && orderDataDefaults.subject) || 78,\n defaultType: 'number',\n effectsOnOrderDataChange: true,\n },\n\n deadline: {\n name: 'deadline',\n defaultValue: (orderDataDefaults && orderDataDefaults.deadline) || 9,\n defaultType: 'number',\n effectsOnOrderDataChange: true,\n },\n\n pagesWordsSwitcher: {\n name: 'pagesWordsSwitcher',\n defaultValue: (orderDataDefaults && orderDataDefaults.pagesWordsSwitcher) || PAGES_INDEX,\n problemSolvingKey: 0,\n questionsKey: 0,\n defaultType: 'number',\n debounceTime: 300,\n effectsOnOrderDataChange: true,\n },\n\n pages: {\n name: 'pages',\n defaultValue: (orderDataDefaults && orderDataDefaults.pages) || 1,\n problemSolvingKey: 0,\n questionsKey: 0,\n defaultType: 'number',\n debounceTime: 300,\n effectsOnOrderDataChange: true,\n },\n\n words: {\n name: 'words',\n defaultValue: (orderDataDefaults && orderDataDefaults.words) || 0,\n problemSolvingKey: 0,\n questionsKey: 0,\n defaultType: 'number',\n debounceTime: 300,\n effectsOnOrderDataChange: true,\n },\n\n problems: {\n name: 'problems',\n defaultValue: (orderDataDefaults && orderDataDefaults.problems) || 0,\n problemSolvingKey: 1,\n questionsKey: 0,\n defaultType: 'number',\n defaultHidden: true,\n debounceTime: 300,\n effectsOnOrderDataChange: true,\n },\n\n questions: {\n name: 'questions',\n defaultValue: (orderDataDefaults && orderDataDefaults.questions) || 0,\n questionsKey: 1,\n problemSolvingKey: 0,\n defaultType: 'number',\n defaultHidden: true,\n debounceTime: 300,\n effectsOnOrderDataChange: true,\n },\n\n slides: {\n name: 'slides',\n defaultValue: {\n slidesCount: (orderDataDefaults && orderDataDefaults.slides) || 0,\n checkedSpeakernotes: false,\n },\n problemSolvingKey: {\n slidesCount: 0,\n checkedSpeakernotes: false,\n },\n defaultType: 'object',\n speakerNotesID: 14,\n debounceTime: 300,\n effectsOnOrderDataChange: true,\n },\n\n spacing: {\n name: 'spacing',\n defaultValue: (orderDataDefaults && orderDataDefaults.spacing) || 118,\n problemSolvingKey: 118,\n multiplyQuestionsKey: 118,\n defaultType: 'number',\n effectsOnOrderDataChange: true,\n },\n\n sources: {\n name: 'sources',\n defaultValue: {\n sourcesCount: (orderDataDefaults && orderDataDefaults.sources) || 0,\n checkedSoftcopies: false,\n },\n multiplyQuestionsKey: {\n sourcesCount: 0,\n checkedSoftcopies: false,\n },\n defaultType: 'object',\n softcopiesID: 8,\n debounceTime: 300,\n effectsOnOrderDataChange: true,\n },\n\n software: {\n name: 'software',\n requiresPreEnable: true,\n enabled: false,\n defaultValue: (orderDataDefaults && orderDataDefaults.software) || 9,\n defaultType: 'number',\n effectsOnOrderDataChange: true,\n },\n\n writerCategory: {\n name: 'writerCategory',\n defaultValue: (orderDataDefaults && orderDataDefaults.writerCategory) || 1,\n defaultType: 'number',\n minDeadlineKey: 4,\n proWriterKey: 2,\n topWriterKey: 3,\n preferredWriterKey: 11,\n effectsOnOrderDataChange: true,\n },\n\n preferredOrder: {\n name: 'preferredOrder',\n defaultValue: null,\n defaultType: 'string',\n minLength: 4,\n maxLength: 10,\n effectsOnOrderDataChange: true,\n },\n\n additionalFeatures: {\n name: 'additionalFeatures',\n defaultValue: (orderDataDefaults && orderDataDefaults.additionalFeatures) || [],\n defaultType: 'array',\n followUpThankYouLetterKey: 6,\n effectsOnOrderDataChange: true,\n },\n\n discount: {\n name: 'discount',\n defaultValue: '',\n defaultType: 'string',\n buttonText: {\n apply: 'Apply',\n cancel: 'Cancel',\n },\n debounceTime: 300,\n effectsOnOrderDataChange: true,\n },\n\n files: {\n name: 'files',\n defaultValue: [],\n defaultType: 'array',\n maxFileSize: 1024 * 1024 * 25, // 25Mb\n status: {\n CANCELED: 'canceled',\n PENDING: 'pending',\n INDEFINITE: 'indefinite',\n SUCCESS: 'success',\n ERROR: 'error',\n },\n effectsOnOrderDataChange: true,\n },\n\n clientAgreements: {\n name: 'clientAgreements',\n defaultValue: [],\n requiredValues: [1, 2, 3],\n subscribedValue: 4,\n defaultType: 'array',\n effectsOnOrderDataChange: false,\n },\n\n amount: {\n name: 'amount',\n defaultValue: 1,\n defaultType: 'number',\n effectsOnOrderDataChange: false,\n debounceTime: 100,\n },\n\n tipsAmountWriter: {\n name: 'tipsAmountWriter',\n defaultValue: 10,\n defaultType: 'number',\n effectsOnOrderDataChange: false,\n },\n\n tipsAmountSupport: {\n name: 'tipsAmountSupport',\n defaultValue: 10,\n defaultType: 'number',\n effectsOnOrderDataChange: false,\n },\n\n tipsSupportsList: {\n name: 'tipsSupportsList',\n defaultValue: [],\n defaultType: 'array',\n effectsOnOrderDataChange: false,\n },\n\n revisionDaysAmount: {\n name: 'revisionDaysAmount',\n defaultValue: 8,\n maxValue: 20,\n defaultType: 'number',\n effectsOnOrderDataChange: false,\n },\n\n revisionHoursAmount: {\n name: 'revisionHoursAmount',\n maxValue: 24,\n defaultValue: 0,\n defaultType: 'number',\n effectsOnOrderDataChange: false,\n },\n\n revisionMinutesAmount: {\n name: 'revisionMinutesAmount',\n maxValue: 60,\n defaultValue: 0,\n defaultType: 'number',\n effectsOnOrderDataChange: false,\n },\n\n revisionComment: {\n name: 'revisionComment',\n defaultValue: '',\n defaultType: 'string',\n minLength: 8,\n effectsOnOrderDataChange: false,\n },\n\n revisionDeadline: {\n name: 'revisionDeadline',\n defaultType: 'string',\n defaultValue: '',\n effectsOnOrderDataChange: false,\n },\n\n /* steppers */\n orderFormStepper: {\n name: 'orderFormStepper',\n defaultValue: 1,\n defaultType: 'number',\n effectsOnOrderDataChange: false,\n },\n\n userAreaStepper: {\n name: 'userAreaStepper',\n defaultValue: 2,\n defaultType: 'number',\n effectsOnOrderDataChange: false,\n },\n\n authFormStepper: {\n name: 'authFormStepper',\n defaultValue: 1,\n defaultType: 'number',\n effectsOnOrderDataChange: false,\n },\n\n pricesTableStepper: {\n name: 'pricesTableStepper',\n defaultValue: 1,\n defaultType: 'number',\n effectsOnOrderDataChange: false,\n },\n\n ordersTableStepper: {\n name: 'ordersTableStepper',\n defaultValue: 3,\n defaultType: 'number',\n effectsOnOrderDataChange: false,\n },\n\n orderInfoStepper: {\n name: 'orderInfoStepper',\n defaultValue: 1,\n defaultType: 'number',\n effectsOnOrderDataChange: false,\n orderDetailsStep: 1,\n messagesStep: 2,\n filesStep: 3,\n },\n\n walletStepper: {\n name: 'walletStepper',\n defaultValue: 1,\n defaultType: 'number',\n effectsOnOrderDataChange: false,\n },\n}\n", "import buildValidator from './_build-validator'\nimport type { ValidationError } from './_error-interface'\n\nimport notify from 'utils/notify'\n\nimport { FileMeta } from '../definitions'\n\nimport cc from 'common/fields-configs'\n\nclass MaxFileSizeError extends Error implements ValidationError {\n protected fileName: string\n\n constructor({ file }: FileMeta) {\n super('File size is too big')\n\n this.fileName = file.name\n }\n\n notify() {\n // notify.error(`'${this.fileName}' should not exceed 25MB. Please contact support staff.`)\n }\n}\n\nconst materialExtension = buildValidator(\n 'material-size-limit',\n (fileMeta: FileMeta) => {\n if (fileMeta.file.size && fileMeta.file.size > cc.files.maxFileSize) {\n notify.error(`'${fileMeta.file.name}' should not exceed 25MB. Please contact support staff.`)\n throw new MaxFileSizeError(fileMeta)\n }\n },\n MaxFileSizeError,\n)\n\nexport default materialExtension", "import materialExtensionValidator from './material-extension'\nimport materialSizeLimitValidator from './material-size-limit'\n\nimport { Validator, FileMeta } from '../definitions'\n\n/**\n * Factory for getting validator by name\n *\n * @param name validator`s name\n * @returns Validator\n */\nconst validation = (name: string): Validator => {\n switch (name) {\n case materialExtensionValidator.name:\n return materialExtensionValidator\n\n case materialSizeLimitValidator.name:\n return materialSizeLimitValidator\n\n default:\n throw new Error(`Validator \"${name}\" not found`)\n }\n}\n\nexport const baseGetValidatorMapName = (namespace: string) => {\n /**\n * write here rules for dynamic file-uploader namespace name transform for key of validator map\n */\n return namespace\n}\n\nconst register = (\n getValidatorMapName: (namespace: string, file: FileMeta) => string = baseGetValidatorMapName,\n) => (namespace: string, file: FileMeta) => {\n switch (getValidatorMapName(namespace, file)) {\n case 'new-order':\n case 'dashboard':\n return [\n validation('material-extension'),\n validation('material-size-limit'),\n ]\n\n default:\n return []\n }\n}\n\nexport default register", "export const SAGAS_SCHEMA = 'saga://' as const", "import { createAction } from '@reduxjs/toolkit'\n\nimport { SAGAS_SCHEMA } from 'constants/sagas'\n\nimport type { PayloadAction } from '@reduxjs/toolkit'\n\nexport const NAME = 'files-uploader' as const\nexport type NAME = typeof NAME\nexport const FILES_UPLOADER_SLICE = `slice://${NAME}/` as const\nexport const UPLOAD_FILES_SAGA = `${SAGAS_SCHEMA}${NAME}/upload` as const\nexport const CANCEL_UPLOAD_FILES = `${SAGAS_SCHEMA}${NAME}/upload/cancel` as const\n\nexport type Namespace = string\n\nexport interface FileStat {\n name: string,\n size: number,\n}\n\nexport const PreloadState = {\n PENDING: 'pending',\n PROGRESS: 'progress',\n FULFILLED: 'fulfilled',\n REJECTED: 'rejected',\n} as const\nexport type PreloadState = typeof PreloadState[keyof typeof PreloadState]\n\nexport interface FileMeta {\n hash: string,\n id: number | null,\n file: FileStat\n preload?: {\n state?: PreloadState\n progress?: number\n\n error: string | null\n }\n}\n\nexport interface FileUploaderState {\n files: {\n [namespace in Namespace]?: FileMeta[]\n }\n}\n\nexport type UploadFilesSagaAction = PayloadAction<{\n namespace: Namespace\n\n files: File | File[]\n}, typeof UPLOAD_FILES_SAGA>\n\nexport interface FileErrorConstructor {\n new(file: FileMeta): Error\n}\n\nexport interface Validator {\n (file: FileMeta): void\n readonly name: string\n readonly Error: FileErrorConstructor\n}\n\nexport interface UploadFileResponse {\n errors: string[]\n data?: {\n uploaded_file_id: number\n }\n}\n\nexport const INITIAL_STATE: FileUploaderState = {\n files: {},\n}\n\nexport function uploadFilesSagaAction(namespace: string, files: File | File[]) {\n return createAction(UPLOAD_FILES_SAGA)({ namespace, files })\n}\n\nexport function cancelFileUpload(hash: string) {\n return createAction(`${CANCEL_UPLOAD_FILES}/${hash}`)()\n}", "import { createSelector } from '@reduxjs/toolkit'\n\nimport validatorRegister from './validators'\n\nimport {\n FILES_UPLOADER_SLICE,\n\n Namespace,\n FileUploaderState,\n} from './definitions'\n\nexport const validation = (namespace: Namespace, file: FileUploaderState['files'][Namespace][number]) => {\n const getValidator = validatorRegister()\n const validators = getValidator(namespace, file)\n\n return validators.reduce((acc, validator) => {\n let validationResult = null\n\n try {\n validator(file)\n } catch (error) {\n validationResult = error\n } finally {\n return {\n ...acc,\n [validator.name]: validationResult,\n }\n }\n }, {} as Record)\n}\n\nexport const createFilesSelector = (namespace: Namespace) => createSelector(\n [createSelector(GET_STATE, state => state.files[namespace] || [])],\n files => files.map(file => ({\n ...file,\n\n validation: validation(namespace, file),\n }))\n)\n\nexport const createFileSelector = (namespace: Namespace, hash: string) => createSelector(\n [createFilesSelector(namespace)],\n files => {\n const file = files.find(file => file.hash === hash)\n\n if (!file) {\n throw new Error(`File with hash \"${hash}\" not found`)\n }\n\n return file\n })\n\nfunction GET_STATE(state: any) {\n return state[FILES_UPLOADER_SLICE] as FileUploaderState\n}", "import { createTransform } from 'redux-persist'\n\nimport { validation } from '../../selectors'\n\nimport { PreloadState, FileUploaderState, FileMeta } from '../../definitions'\n\nconst write = (inboundState, key) => {\n switch (key) {\n default:\n return { ...inboundState }\n }\n}\n\nconst CompletedStates = [PreloadState.FULFILLED, PreloadState.REJECTED] as PreloadState[]\n\nconst hydrate = (outboundState, key) => {\n switch (key) {\n case 'files': {\n const namespaces = Object.keys(outboundState as FileUploaderState['files'])\n\n const result = namespaces.reduce((accumulator, namespace) => {\n accumulator[namespace] = outboundState[namespace].map((file) => {\n // failure front-end validation checks\n const invalid = Object.values(validation(namespace, file)).some(error => error !== null)\n // preload request fulfilled or rejected\n const uploaded = CompletedStates.indexOf(file.preload?.state as PreloadState) !== -1\n\n if (invalid || uploaded) {\n return file\n }\n\n return {\n ...file,\n\n preload: {\n ...file.preload,\n state: PreloadState.REJECTED,\n\n error: 'Aborted',\n }\n }\n }, [] as FileMeta[])\n\n return accumulator\n }, {} as FileUploaderState['files'])\n\n return result\n }\n\n default:\n return { ...outboundState }\n }\n}\n\nconst whitelist = createTransform(write, hydrate, {})\n\nexport default whitelist", "import { createSlice, PayloadAction, DeepPartial } from '@reduxjs/toolkit'\nimport localStorage from 'redux-persist/es/storage'\n\nimport aborted from './persistor/transforms/aborted'\n\nimport {\n INITIAL_STATE,\n\n FILES_UPLOADER_SLICE,\n\n FileMeta,\n} from './definitions'\n\nconst filesUploaderSlice = createSlice({\n name: FILES_UPLOADER_SLICE,\n initialState: INITIAL_STATE,\n reducers: {\n addFile(state, action: PayloadAction<{ namespace: string, files: FileMeta | FileMeta[] }>) {\n const { namespace } = action.payload\n const files = Array.isArray(action.payload.files)\n ? action.payload.files\n : [action.payload.files]\n\n if (!state.files[namespace]) {\n state.files[namespace] = []\n }\n\n state.files[namespace].push(...files)\n },\n\n updateFile(state, action: PayloadAction<{ namespace: string, hash: string, file: DeepPartial> }>) {\n const { namespace, hash, file } = action.payload\n\n if (!state.files[namespace]) {\n state.files[namespace] = []\n }\n\n const fileIndex = state.files[namespace].findIndex(file => file.hash === hash)\n\n if (fileIndex === -1) {\n console.error(`File with hash \"${hash}\" not found`)\n return\n }\n\n const fileMeta = state.files[namespace][fileIndex]\n\n state.files[namespace][fileIndex] = {\n ...fileMeta,\n ...file,\n\n preload: {\n error: null,\n\n ...(fileMeta.preload || {}),\n ...(file.preload || {}),\n },\n }\n },\n\n removeFile(state, action: PayloadAction<{ namespace: string, hash: string }>) {\n const { namespace, hash } = action.payload\n\n if (!state.files[namespace]) {\n state.files[namespace] = []\n }\n\n const fileIndex = state.files[namespace].findIndex(file => file.hash === hash)\n\n if (fileIndex === -1) {\n throw new Error(`File with hash \"${hash}\" not found`)\n }\n\n state.files[namespace] = state.files[namespace].filter(file => file.hash !== hash)\n },\n\n resetFiles(state, action: PayloadAction<{ namespace: string }>) {\n const { namespace } = action.payload\n\n state.files[namespace] = []\n }\n },\n})\n\nexport const FILES_UPLOADER_PERSIST_CONFIG = {\n key: FILES_UPLOADER_SLICE,\n storage: localStorage,\n transforms: [aborted],\n}\n\nexport const slice = filesUploaderSlice", "import { createAction } from '@reduxjs/toolkit'\n\nimport { SAGAS_SCHEMA } from 'constants/sagas'\n\nimport type { Response, SuccessData, UnauthorizedData } from './discount.d'\n\nexport const NAME = 'discount' as const\nexport type NAME = typeof NAME\nexport const DISCOUNT_SLICE = `slice://${NAME}/` as const\nexport const CHECK_SEARCH_PARAM = `side-effect://${NAME}/check-search-param` as const\nexport const APPLY_DISCOUNT_KEY = 'apply-discount' as const\nexport const APPLY_DISCOUNT_SAGA = `${SAGAS_SCHEMA}${NAME}/${APPLY_DISCOUNT_KEY}` as const\nexport const CANCEL_APPLY_DISCOUNT = `${SAGAS_SCHEMA}${NAME}/${APPLY_DISCOUNT_KEY}/cancel` as const\nexport const APPLIED_DISCOUNT = `${SAGAS_SCHEMA}${NAME}/applied` as const\n\nexport type Namespace = string\n\nexport interface Discount {\n name: string,\n size: number,\n}\n\nexport const PreloadState = {\n PENDING: 'pending',\n PROGRESS: 'progress',\n FULFILLED: 'fulfilled',\n REJECTED: 'rejected',\n} as const\nexport type PreloadState = typeof PreloadState[keyof typeof PreloadState]\n\nexport type DiscountResponse = Response | Response | Response<[]>\n\nexport interface DiscountMeta {\n code: string\n\n sended: boolean\n applied: boolean\n\n data: SuccessData | UnauthorizedData | null\n\n response: Omit | null\n\n preload?: {\n state?: PreloadState\n progress?: number\n\n error: string | null\n }\n}\n\nexport const DiscountVariant = {\n PERCENT: 'percent',\n SUM: 'sum',\n LIMIT: 'limit',\n} as const\nexport type DiscountVariant = typeof DiscountVariant[keyof typeof DiscountVariant]\n\nexport interface DiscountState {\n discount: {\n [namespace in Namespace]?: DiscountMeta\n }\n}\n\nexport const INITIAL_STATE: DiscountState = {\n discount: {},\n}\n\nexport const NOOP_DISCOUNT: DiscountMeta = {\n code: '',\n sended: false,\n applied: false,\n data: null,\n response: null,\n}\n\nexport const applyDiscountAction = createAction<{\n namespace: Namespace\n\n disableNotify?: boolean\n useCheckRoute?: boolean\n}>(APPLY_DISCOUNT_SAGA)\n\nexport function applyDiscount(namespace: Namespace, options: {\n disableNotify?: boolean\n useCheckRoute?: boolean\n} = {}) {\n return applyDiscountAction({ namespace, ...options })\n}\nexport type ApplyDiscountAction = ReturnType\n\nexport function cancelApplyDiscount(namespace: Namespace) {\n return createAction(`${CANCEL_APPLY_DISCOUNT}/${namespace}`)()\n}\nexport type CancelApplyDiscountAction = ReturnType\n\nexport function appliedDiscount(namespace: Namespace) {\n return createAction(`${APPLIED_DISCOUNT}/${namespace}`)()\n}\nexport type AppliedDiscountAction = ReturnType", "import { createTransform } from 'redux-persist'\n\nimport { DiscountMeta, NOOP_DISCOUNT } from '../../definitions'\n\ntype PersistedMap = {\n [namespace: string]: {\n code: string,\n sended: boolean,\n }\n}\n\nconst write = (inboundState, key) => {\n switch (key) {\n case 'discount': {\n const discount = inboundState as Record\n\n return Object.keys(discount).reduce((acc, ns) => {\n acc[ns] = {\n code: discount[ns].code,\n sended: discount[ns].sended,\n }\n\n return acc\n }, {} as PersistedMap)\n }\n\n default:\n return inboundState\n }\n}\n\nconst hydrate = (outboundState, key) => {\n switch (key) {\n case 'discount': {\n const discount = outboundState as PersistedMap\n\n return Object.keys(discount).reduce((acc, ns) => {\n acc[ns] = {\n ...NOOP_DISCOUNT,\n ...discount[ns],\n }\n\n return acc\n }, {} as Record)\n }\n\n default:\n return outboundState\n }\n}\n\nconst whitelist = createTransform(write, hydrate, {})\n\nexport default whitelist", "import { createSlice, PayloadAction, DeepPartial } from '@reduxjs/toolkit'\nimport localStorage from 'redux-persist/es/storage'\n\nimport whitelist from './persistor/transforms/whitelist'\n\nimport {\n INITIAL_STATE,\n\n DISCOUNT_SLICE,\n NOOP_DISCOUNT,\n\n applyDiscountAction,\n\n DiscountResponse,\n DiscountMeta,\n} from './definitions'\n\nconst discountSlice = createSlice({\n name: DISCOUNT_SLICE,\n initialState: INITIAL_STATE,\n reducers: {\n setCode(state, action: PayloadAction<{ namespace: string, code: string }>) {\n const { namespace, code } = action.payload\n\n state.discount[namespace] = {\n ...NOOP_DISCOUNT,\n code,\n }\n },\n updateDiscount(state, action: PayloadAction<{\n namespace: string\n discount?: Omit, 'code' | 'response' | 'data'>\n response?: DiscountResponse | null\n }>) {\n const { namespace, discount = {} } = action.payload\n\n state.discount[namespace] = {\n ...NOOP_DISCOUNT,\n\n ...state.discount[namespace],\n ...discount,\n\n preload: {\n error: null,\n\n ...(state.discount[namespace]?.preload || {}),\n ...(discount.preload || {}),\n },\n }\n\n const rawResponse = action.payload.response\n\n if (!rawResponse) {\n return\n }\n\n let { data, ...response } = rawResponse\n const normalizedData = Array.isArray(data) ? null : data\n\n state.discount[namespace] = {\n ...NOOP_DISCOUNT,\n\n ...state.discount[namespace],\n\n data: normalizedData,\n response,\n }\n },\n cancelDiscount(state, action: PayloadAction<{ namespace: string }>) {\n const { namespace } = action.payload\n\n state.discount[namespace] = {\n ...NOOP_DISCOUNT,\n code: state.discount[namespace]?.code || NOOP_DISCOUNT.code\n }\n },\n resetDiscount(state, action: PayloadAction<{ namespace: string }>) {\n const { namespace } = action.payload\n\n state.discount[namespace] = {\n ...NOOP_DISCOUNT,\n }\n },\n },\n extraReducers(builder) {\n builder.addCase(applyDiscountAction, (state, action) => {\n const { namespace } = action.payload\n\n state.discount[namespace] = {\n ...NOOP_DISCOUNT,\n ...state.discount[namespace],\n sended: true,\n }\n })\n },\n})\n\nexport const DISCOUNT_PERSIST_CONFIG = {\n key: DISCOUNT_SLICE,\n storage: localStorage,\n transforms: [whitelist],\n}\n\nexport const slice = discountSlice", "export default (string) => {\n let boolean\n\n switch (string) {\n case 'true':\n boolean = true\n break\n\n case 'false':\n boolean = false\n break\n\n default:\n boolean = undefined\n break\n }\n\n return boolean\n}\n", "const isEnabled = () => navigator.cookieEnabled && typeof localStorage !== 'undefined'\n\nconst get = (storageItemKey) => {\n if (!isEnabled()) {\n return\n }\n\n return localStorage.getItem(storageItemKey)\n}\n\nconst set = async (storageItemKey, storageItemValue, { expiresAt, share = false } = {}) => {\n if (!isEnabled()) {\n return false\n }\n\n localStorage.setItem(storageItemKey, JSON.stringify({ value: storageItemValue, expiresAt }))\n\n return null\n}\n\nconst remove = async (storageItemKey, { share = false } = {}) => {\n if (!isEnabled()) {\n return false\n }\n\n localStorage.removeItem(storageItemKey)\n\n return null\n}\n\nconst getRelatedKeys = (storageItemKey) => {\n if (!isEnabled()) {\n return\n }\n return Object.keys(localStorage).filter((key) => key.includes(`${storageItemKey}__`))\n}\n\nexport default {\n isEnabled,\n get,\n set,\n remove,\n getRelatedKeys,\n}\n", "const isEnabled = () => navigator.cookieEnabled && typeof sessionStorage !== 'undefined'\n\nconst get = (storageItemKey) => {\n if (!isEnabled()) {\n return\n }\n return sessionStorage.getItem(storageItemKey)\n}\n\nconst set = (storageItemKey, storageItemValue, { expiresAt }) => {\n if (!isEnabled()) {\n return\n }\n\n sessionStorage.setItem(storageItemKey, JSON.stringify({\n value: storageItemValue,\n expiresAt,\n }))\n}\n\nconst remove = (storageItemKey) => {\n if (!isEnabled()) {\n return\n }\n sessionStorage.removeItem(storageItemKey)\n}\n\nconst getRelatedKeys = (storageItemKey) => {\n if (!isEnabled()) {\n return\n }\n return Object.keys(sessionStorage).filter((key) => key.includes(`${storageItemKey}__`))\n}\n\nexport default {\n isEnabled,\n get,\n set,\n remove,\n getRelatedKeys,\n}\n", "import isPlainObject from 'lodash/isPlainObject'\n\n/* env */\nimport { ENV } from 'env'\n\n/* helpers general */\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport convertStringToBoolean from 'helpers/string/convert-string-to-boolean'\n\n/* constants general */\nimport { PROJECT_DOMAIN } from 'constants/configs'\n\n/* storagies */\nimport localStorage from 'utils/storage/storagies/local'\nimport sessionStorage from 'utils/storage/storagies/session'\n\nconst version = 'v-0.0.12'\n\nconst addVersion = (storageItemKey) => `${storageItemKey}__${version}`\n\nconst changeDependsOnENV = (storageItemKey) => {\n if (ENV !== 'production') {\n const domain = getFromConfigs(PROJECT_DOMAIN)\n storageItemKey = `${storageItemKey}__${domain}`\n\n return storageItemKey\n }\n\n return storageItemKey\n}\n\nconst getRelatedKeys = (storageItemKey, { storageType = 'local' }) => {\n let keys\n switch (storageType) {\n case 'local':\n keys = localStorage.getRelatedKeys(storageItemKey)\n break\n case 'session':\n keys = sessionStorage.getRelatedKeys(storageItemKey)\n break\n default:\n // eslint-disable-next-line no-console\n console.error(`This '${storageType}' storage type doesn't available`)\n break\n }\n\n return keys\n}\n\nconst remove = (storageItemKey, { storageType = 'local', isOuterKey = false, shouldCompletelyRemove = false, ...rest } = {}) => {\n if (!isOuterKey) {\n if (!shouldCompletelyRemove) {\n storageItemKey = addVersion(storageItemKey)\n storageItemKey = changeDependsOnENV(storageItemKey)\n }\n }\n\n switch (storageType) {\n case 'local':\n localStorage.remove(storageItemKey, rest)\n break\n case 'session':\n sessionStorage.remove(storageItemKey)\n break\n default:\n // eslint-disable-next-line no-console\n console.error(`This '${storageType}' storage type doesn't available`)\n break\n }\n}\n\nconst removeOldVersions = (storageItemKey, { storageType = 'local' } = {}) => {\n const relatedKeys = getRelatedKeys(storageItemKey, { storageType })\n\n relatedKeys && relatedKeys.forEach((key) => {\n const keyVersion = key.split('__')[1]\n if (keyVersion !== version) {\n storageItemKey = `${storageItemKey}__${keyVersion}`\n storageItemKey = changeDependsOnENV(storageItemKey)\n remove(storageItemKey, { storageType, shouldCompletelyRemove: true })\n }\n })\n}\n\nconst get = (storageItemKey, { storageType = 'local', isOuterKey = false, ignoreExpitesAt = false } = {}) => {\n removeOldVersions(storageItemKey, { storageType })\n\n if (!isOuterKey) {\n storageItemKey = addVersion(storageItemKey)\n storageItemKey = changeDependsOnENV(storageItemKey)\n }\n\n let storageItem\n switch (storageType) {\n case 'local':\n storageItem = localStorage.get(storageItemKey)\n break\n case 'session':\n storageItem = sessionStorage.get(storageItemKey)\n break\n default:\n // eslint-disable-next-line no-console\n console.error(`This '${storageType}' storage type doesn't available`)\n break\n }\n\n let parsedStorageItem\n try {\n parsedStorageItem = JSON.parse(storageItem)\n } catch (error) {\n parsedStorageItem = storageItem\n }\n\n let storageItemValue = parsedStorageItem\n\n if (isPlainObject(parsedStorageItem)) {\n if (parsedStorageItem.hasOwnProperty('value')) {\n storageItemValue = parsedStorageItem.value\n\n if (!ignoreExpitesAt && parsedStorageItem.hasOwnProperty('expiresAt') && parsedStorageItem.expiresAt) {\n const expiresAt = parsedStorageItem.expiresAt\n\n const date = new Date()\n const timestamp = date.getTime()\n\n if (expiresAt < timestamp) {\n remove(storageItemKey, { storageType })\n return null\n }\n }\n } else {\n return null\n }\n }\n\n if (storageItemValue === 'true' || storageItemValue === 'false') {\n storageItemValue = convertStringToBoolean(storageItemValue)\n }\n\n let parsedStorageItemValue\n try {\n parsedStorageItemValue = JSON.parse(storageItemValue)\n } catch (error) {\n parsedStorageItemValue = storageItemValue\n }\n\n return parsedStorageItemValue\n}\n\nconst set = (storageItemKey, storageItemValue, { storageType = 'local', expires = null, isOuterKey = false, ...rest } = {}) => {\n if (!isOuterKey) {\n storageItemKey = addVersion(storageItemKey)\n storageItemKey = changeDependsOnENV(storageItemKey)\n }\n\n storageItemValue = JSON.stringify(storageItemValue)\n\n let expiresAt = null\n if (expires && typeof expires === 'number') {\n const date = new Date()\n expiresAt = date.setTime(date.getTime() + expires)\n }\n\n switch (storageType) {\n case 'local':\n localStorage.set(storageItemKey, storageItemValue, { expiresAt, ...rest })\n break\n case 'session':\n sessionStorage.set(storageItemKey, storageItemValue, { expiresAt })\n break\n default:\n // eslint-disable-next-line no-console\n console.error(`This '${storageType}' storage type doesn't available`)\n break\n }\n}\n\nconst isEnabled = (storageType) => {\n let isEnabled\n switch (storageType) {\n case 'local':\n isEnabled = localStorage.isEnabled()\n break\n case 'session':\n isEnabled = sessionStorage.isEnabled()\n break\n default:\n // eslint-disable-next-line no-console\n console.error(`This '${storageType}' storage type doesn't available`)\n break\n }\n\n return isEnabled\n}\n\nconst storage = {\n isEnabled,\n\n get,\n set,\n remove,\n\n version,\n addVersion,\n changeDependsOnENV,\n removeOldVersions,\n}\n\nexport default storage\n\nwindow.MICROSERVICES_UTILS_AND_HELPERS = window.MICROSERVICES_UTILS_AND_HELPERS || {}\n!window.MICROSERVICES_UTILS_AND_HELPERS?.storage && (window.MICROSERVICES_UTILS_AND_HELPERS.storage = storage)", "export const UNIVERSAL_UPDATE_ACROSS_STORES = 'UNIVERSAL_UPDATE_ACROSS_STORES'\n\nexport const REMOTE_ATTEMPT = '/REMOTE_ATTEMPT'\nexport const REMOTE_ERROR = '/REMOTE_ERROR'\nexport const REMOTE_SUCCESS = '/REMOTE_SUCCESS'\n", "export const USER_CHECK = 'USER_CHECK'\nexport const USER_UPDATE = 'USER_UPDATE'\nexport const USER_AUTHORIZE = 'USER_AUTHORIZE'\nexport const USER_UNAUTHORIZE = 'USER_UNAUTHORIZE'\n\nexport const REMOTE_SUCCESS = '/REMOTE_SUCCESS'\n\nexport const ORDER_PAYMENT_SUCCESS = 'user-data/order-payment/success'\n", "export const PERSISTOR_PREFIX = 'persist:'\n\nexport const ORDER_DATA_PERSISTOR_NAME = 'order_data'\n\nexport const ORDER_DATA_PERSISTOR_EXPIRES_TIMEOUT = 8.64e7 // 1 day\n", "import { ORDER_DATA_PERSISTOR_NAME, PERSISTOR_PREFIX } from 'constants/persistor'\n\nexport const ORDER_DATA_PERSISTOR_KEY = `${PERSISTOR_PREFIX}${ORDER_DATA_PERSISTOR_NAME}`\n\nexport const AUTH_ACTION_KEY = 'auth_action'\nexport const USER_DATA_KEY = 'user_data'\nexport const IS_EXISTING_USER_KEY = 'is_existing_user'\n\nexport const SHOULD_PREVENT_REDIRECT_TO_DASHBOARD_KEY = 'should_prevent_redirect_to_dashboard'\n\nexport const PLACE_ORDER_AUTHORIZATION_FROM_MODAL = 'place_order_authorization_from_modal'\n\nexport const ORDER_DATA_CHANGED_FROM_FORM_ASSERTS_KEY = 'order_data_changed_from_form_asserts_item'\nexport const ORDER_DATA_CHANGED_FROM_CALCULATOR_ASSERTS_KEY = 'order_data_changed_from_calculator_asserts_item'\n\nexport const HIDE_DISCOUNT_NOTIFICATION_KEY = 'hide_discount_notification'\n\nexport const THANKS_PAGE_VOTING_KEY = 'thanks_page_voting'\n\nexport const ACCOUNT_MANAGER_PROCESSED_KEY = 'account_manager_processed'\n\nexport const REFERRALS_PAGE_WITH_BADGE_VISITED = 'referrals_page_with_badge_visited'\n\nexport const DESIGN_TYPE = 'design_type'\n\n/* outer */\nexport const TEMP_QS_KEY = 'tempQS'\nexport const REFERRER = 'refer'\n\nexport const CONVERSION_PARAMS_KEY = 'conversionParams'\nexport const CONVERSION_PARAMS_FROM_PRICE_COMPARATOR_KEY = 'conversionPriceComparatorParams'\n\nexport const VERSION = 'msh-version'\nexport const CONTENTHASH = 'msh-contenthash'\n", "import isEmpty from 'lodash/isEmpty'\n\n/* utils general */\nimport storage from 'utils/storage'\n\n/* redux-constants microservices */\nimport { UNIVERSAL_UPDATE_ACROSS_STORES } from 'microservices/sheared/universal-constants'\n/* redux-constants local */\nimport {\n USER_CHECK,\n USER_UPDATE,\n USER_AUTHORIZE,\n USER_UNAUTHORIZE,\n\n REMOTE_SUCCESS,\n\n ORDER_PAYMENT_SUCCESS,\n} from 'global-entities/user-data/constants'\n\n/* constants general */\nimport { USER_DATA_EXPIRES_TIMEOUT } from 'constants/auth'\nimport { USER_DATA_KEY } from 'constants/storage'\n\nconst initialStateFromBrowserStorage = storage.get(USER_DATA_KEY)\nconst initialStateFromReduxStorage = {\n authorizationStatus: undefined,\n isAuthorized: false,\n\n userID: null,\n visitorID: null,\n referrerID: null,\n\n email: '',\n phone: '',\n firstName: '',\n lastName: '',\n subscribed: false,\n\n paidOrdersCount: 0,\n}\n\nconst defaultState =\n !isEmpty(initialStateFromBrowserStorage) ?\n initialStateFromBrowserStorage\n :\n initialStateFromReduxStorage\n\nexport default (state = defaultState, action) => {\n switch (action.type) {\n case UNIVERSAL_UPDATE_ACROSS_STORES:\n case USER_CHECK + REMOTE_SUCCESS:\n case USER_UPDATE + REMOTE_SUCCESS:\n case USER_AUTHORIZE + REMOTE_SUCCESS:\n case USER_UNAUTHORIZE + REMOTE_SUCCESS:\n storage.set(USER_DATA_KEY, action.payload, { expires: USER_DATA_EXPIRES_TIMEOUT })\n return {\n checked: true,\n ...state,\n ...action.payload,\n }\n\n case ORDER_PAYMENT_SUCCESS:\n return {\n ...state,\n paidOrdersCount: state.paidOrdersCount + 1,\n }\n\n default:\n return state\n }\n}\n", "export const NAME = 'priceData'\n\nexport const CALCULATE_PRICE__ATTEMPT = 'CALCULATE_PRICE__ATTEMPT'\nexport const CALCULATE_PRICE__SUCCESS = 'CALCULATE_PRICE__SUCCESS'\n", "/* redux-constants local */\nimport {\n CALCULATE_PRICE__ATTEMPT,\n CALCULATE_PRICE__SUCCESS,\n} from 'global-entities/price-data/constants'\n\nconst defaultState = {\n currency: '$',\n\n priceFull: 0,\n priceBasic: 0,\n priceForCalculatorItems: 0,\n\n pricePerUnit: {\n default: 0,\n pages: 0,\n words: 0,\n slides: 0,\n problems: 0,\n questions: 0,\n },\n priceForUnits: {\n pages: 0,\n words: 0,\n slides: 0,\n problems: 0,\n questions: 0,\n },\n\n priceAdditionals: {\n writerCategory: {\n total: 0,\n basic: 0,\n additional: 0,\n },\n additionalFeatures: {\n total: 0,\n },\n softcopies: 0,\n software: 0,\n },\n\n discountAmount: 0,\n\n priceWithDiscount: 0,\n priceWithUpsales: 0,\n\n technicalSubjectPricePB: 0,\n technicalSubjectPricePWD: 0,\n}\n\nexport default (state = defaultState, action) => {\n switch (action.type) {\n case CALCULATE_PRICE__ATTEMPT:\n return {\n ...state,\n }\n\n case CALCULATE_PRICE__SUCCESS:\n return {\n ...state,\n ...action.payload,\n }\n\n default:\n return state\n }\n}\n", "import reducer from './reducer'\n\nimport { NAME } from './constants'\n\nexport const priceDataReducers = {\n [NAME]: reducer,\n}\n", "export const KEY = 'geo-tag'\n\nexport const BLACKLIST_COUNTRIES = {\n ke: { name: 'Kenia', iso2: 'ke' },\n bd: { name: 'Bangladesh', iso2: 'bd' },\n ph: { name: 'Phillipines', iso2: 'ph' },\n in: { name: 'India', iso2: 'in' },\n pk: { name: 'Pakistan', iso2: 'pk' },\n zw: { name: 'Zimbabwe', iso2: 'zw' },\n bn: { name: 'Brunei', iso2: 'bn' },\n ye: { name: 'Yemen', iso2: 'ye' },\n lr: { name: 'Liberia', iso2: 'lr' },\n lk: { name: 'Sri Lanka', iso2: 'lk' },\n ps: { name: 'Palestine', iso2: 'ps' },\n uz: { name: 'Uzbekistan', iso2: 'uz'},\n ar: { name: 'Argentina', iso2: 'ar'},\n am: { name: 'Armenia', iso2: 'am'},\n mn: { name: 'Mongolia', iso2: 'mn'},\n md: { name: 'Moldova', iso2: 'md'},\n}\n", "/* helpers general */\nimport convertStringToBoolean from 'helpers/string/convert-string-to-boolean'\n\nexport default (key) => {\n const queryParamsString = window.location.search\n if (!queryParamsString) {\n return\n }\n\n const queryParamsArray = queryParamsString.replace('?', '').split('&')\n const queryParamsObject = {}\n\n queryParamsArray.forEach((param) => {\n const paramArray = param.split('=')\n const paramKey = paramArray[0]\n let paramValue = paramArray[1]\n\n if (paramValue) {\n // paramValue = paramValue.replace(/%20/g, ' ')\n // paramValue = paramValue.replace(/%2C/g, ',')\n // paramValue = paramValue.replace(/%22/g, '\"')\n // paramValue = paramValue.replace(/%27/g, '\\'')\n // paramValue = paramValue.replace(/%3A/g, ':')\n\n paramValue = decodeURIComponent(paramValue)\n\n if (paramValue === 'true' || paramValue === 'false') {\n paramValue = convertStringToBoolean(paramValue)\n }\n queryParamsObject[paramKey] = paramValue\n }\n })\n\n if (!key) {\n return queryParamsObject\n }\n\n if (key && queryParamsObject[key]) {\n return queryParamsObject[key]\n }\n}\n", "export default (key, value = undefined, method = undefined) => {\n const queryParamsString = window.location.search\n if (method !== 'add' && !queryParamsString) {\n return\n }\n\n const queryParamsArray = queryParamsString.replace('?', '').split('&')\n\n let staticQueryParamsString = ''\n\n let divider = ''\n for (let i = 0; i < queryParamsArray.length; i++) {\n if (queryParamsArray[i].split('=')[0] !== key) {\n staticQueryParamsString += divider + queryParamsArray[i]\n divider = staticQueryParamsString.length ? '&' : ''\n }\n }\n\n let updatedQueryParamsString = staticQueryParamsString\n if (value) {\n updatedQueryParamsString = `${staticQueryParamsString}${divider}${key}=${value}`\n }\n\n updatedQueryParamsString = updatedQueryParamsString.length ? `?${updatedQueryParamsString}` : window.location.origin + window.location.pathname\n\n window.history.replaceState('', '', updatedQueryParamsString)\n}\n", "export default (queryParamsObject) => {\n const keys = Object.keys(queryParamsObject)\n const values = keys.map((key) => queryParamsObject[key])\n\n return keys.map((key, index) => `${key}=${values[index]}`).join('&')\n}\n", "import isEmpty from 'lodash/isEmpty'\nimport isPlainObject from 'lodash/isPlainObject'\n\n/* utils general */\nimport queryString from 'utils/query-string'\n\nexport default (additionalQueryParams = {}) => {\n let queryParamsString = ''\n\n const currentQueryParams = queryString.getParams()\n if (!isEmpty(currentQueryParams)) {\n queryParamsString = queryString.build(currentQueryParams)\n }\n\n if (isPlainObject(additionalQueryParams) && !isEmpty(additionalQueryParams)) {\n if (queryParamsString) {\n queryParamsString += `&${queryString.build(additionalQueryParams)}`\n } else {\n queryParamsString += queryString.build(additionalQueryParams)\n }\n }\n\n return queryParamsString ? `?${queryParamsString}` : ''\n}\n", "/* methods */\nimport getParams from 'utils/query-string/methods/get-params'\nimport manipulateParamWithoutRefresh from 'utils/query-string/methods/manipulate-param-without-refresh'\nimport build from 'utils/query-string/methods/build'\n\nimport makeSearchDependsOnENV from 'utils/query-string/methods/make-search-depends-on-env'\n\nexport default {\n getParams,\n getParam: (key) => getParams(key),\n addParam: (key, value) => manipulateParamWithoutRefresh(key, value, 'add'),\n updateParam: (key, value) => manipulateParamWithoutRefresh(key, value, 'update'),\n removeParam: (key) => manipulateParamWithoutRefresh(key, null, 'remove'),\n build,\n\n makeSearchDependsOnENV,\n}\n", "export const PNAME_KEY = 'pname'\n\n/* auth */\nexport const AUTH_TYPE_KEY = 'authType'\nexport const SINGLE_AUTH_METHOD_KEY = 'singleAuthMethod'\nexport const PAGE_REDIRECT = 'pageRedirect'\n\n/* order */\nexport const DUPLICATE_ORDER_DATA_CHANGES_INTO_URL_KEY = 'duplicateOrderDataChangesIntoURL'\nexport const ORDER_DATA_DISABLED_PERSISTOR_KEY = 'disabledOrderPersistor'\nexport const UNDO_REDO_KEY = 'undo-redo'\n\n/* dashboard */\nexport const ORDERS_TABLE_ACTIVE_TAB_KEY = 'ordersTableActiveTab'\nexport const ORDER_INFO_ACTIVE_TAB_KEY = 'orderInfoActiveTab'\n\nexport const PRICE_DATA_LOGGER_KEY = 'priceDataLogger'\nexport const PRICE_RESULT_LOGGER_KEY = 'priceResultLogger'\n\n/* outer */\nexport const E2E_KEY = 'e2e'\n", "import storage from 'utils/storage'\n\nimport { KEY } from 'global-entities/geo-tag/constants'\n\nimport queryString from 'utils/query-string'\n\nimport { E2E_KEY } from 'constants/query-params'\n\nconst E2E_ENABLE = queryString.getParam(E2E_KEY)\n\nconst searchLocalCountryCode = (): string | undefined => {\n // 1st step: const hardcore for e2e testing\n if (E2E_ENABLE) {\n return 'us'\n }\n\n // 2nd step: search geo tag in sessionStorage\n let countryCode = sessionStorage.getItem(KEY)\n if (countryCode) {\n countryCode = JSON.parse(countryCode)?.countryCode\n }\n\n // 3rd step: search in geo_params - fallback\n if (!countryCode) {\n countryCode = storage.get('geo_params', { storageType: 'session' })?.country\n }\n\n // 4th step: search countryCode in sessionSotage\n if (!countryCode) {\n countryCode = sessionStorage.getItem('countryCode')\n\n if (countryCode) {\n countryCode = JSON.parse(countryCode)?.value\n }\n }\n\n // 5th step: can't find\n if (!countryCode) {\n return\n }\n\n return countryCode.toLowerCase()\n}\n\nexport default searchLocalCountryCode\n", "import storage from 'utils/storage'\n\nimport { KEY } from 'global-entities/geo-tag/constants'\n\nimport queryString from 'utils/query-string'\n\nimport { E2E_KEY } from 'constants/query-params'\n\nconst E2E_ENABLE = queryString.getParam(E2E_KEY)\n\nconst searchLocalIP = (): string | undefined => {\n // 1st step: const hardcore for e2e testing\n if (E2E_ENABLE) {\n return '0.0.0.0'\n }\n\n // 2st step: search geo tag in sessionStorage\n let IP = sessionStorage.getItem(KEY)\n\n if (IP) {\n IP = JSON.parse(IP)?.IP\n }\n\n // 3nd step: search geo_params - fallback\n if (!IP) {\n IP = storage.get('geo_params', { storageType: 'session' })?.ip\n }\n\n // 4nd step: search IP in sessionSotage\n if (!IP) {\n IP = sessionStorage.getItem('IP')\n\n if (IP) {\n IP = JSON.parse(IP)?.value\n }\n }\n\n // 5th step: can't find\n if (!IP) {\n return\n }\n\n return IP.toLowerCase()\n}\n\nexport default searchLocalIP\n", "import searchLocalCountryCode from 'global-entities/geo-tag/utils/searchLocalContryCode'\nimport searchLocalIP from 'global-entities/geo-tag/utils/searchLocalIP'\n\nconst searchLocalGeoTag = () => ({\n countryCode: searchLocalCountryCode(),\n IP: searchLocalIP(),\n})\n\nexport default searchLocalGeoTag\n", "// #region COUNTRY_CODE\nexport type CountryCodeType = string\n\nexport interface ICountryCodeStore {\n countryCode?: CountryCodeType\n}\n\nexport const SET_CONTRY_CODE = 'geo-tag/SET_CONTRY_CODE'\n// #endregion COUNTRY_CODE\n\n// #region IP\nexport type IPType = string\n\nexport interface IIPStore {\n IP?: IPType\n}\n\nexport const SET_IP = 'geo-tag/SET_IP'\n// #endregion IP\n\n// #region GeoTag\nexport type GeoTagStoreType = ICountryCodeStore & IIPStore\n\nexport interface IGeoTagStore {\n 'geo-tag': GeoTagStoreType\n}\n// #endregion GeoTag\n", "import { Reducer } from 'redux'\n\nimport searchLocalGeoTag from 'global-entities/geo-tag/utils/searchLocalGeoTag'\n\nimport queryString from 'utils/query-string'\n\nimport { KEY } from 'global-entities/geo-tag/constants'\nimport { E2E_KEY } from 'constants/query-params'\n\nimport * as types from 'global-entities/geo-tag/store/types'\n\nimport type { GeoTagActions } from 'global-entities/geo-tag/store/actions'\n\nconst E2E_ENABLE = queryString.getParam(E2E_KEY)\n\nconst initialState: types.GeoTagStoreType = searchLocalGeoTag()\n\nconst save = (state: types.GeoTagStoreType): types.GeoTagStoreType => {\n sessionStorage.setItem(KEY, JSON.stringify(state))\n\n return state\n}\n\nconst reducer: Reducer = (\n state: types.GeoTagStoreType = initialState,\n action: GeoTagActions,\n): types.GeoTagStoreType => {\n switch (action.type) {\n case types.SET_CONTRY_CODE:\n state = {\n ...state,\n countryCode: E2E_ENABLE ? 'us' : action.payload.toLowerCase(),\n }\n break\n case types.SET_IP:\n state = {\n ...state,\n IP: E2E_ENABLE ? '0.0.0.0' : action.payload.toLowerCase(),\n }\n break\n default:\n if (!sessionStorage.getItem(KEY)) {\n save(state)\n }\n return state\n }\n\n return save(state)\n}\n\nexport const geoTagReducers = {\n [KEY]: reducer\n}\n\nexport default reducer\n", "import localforage from 'localforage'\n\nconst instance = localforage.createInstance({\n name: '[MSH] Storage',\n driver: [\n // localforage.INDEXEDDB,\n // localforage.WEBSQL,\n localforage.LOCALSTORAGE,\n ],\n})\n\nexport default instance\n", "import type { CustomParamType } from '../types'\n\nconst extractCustomVaraibles = (params: Array = []) => {\n const LC_EXPERIMENT_CUSTOM_VARIABLES = typeof (window as any).LC_EXPERIMENT_CUSTOM_VARIABLES !== 'undefined'\n ? (window as any).LC_EXPERIMENT_CUSTOM_VARIABLES\n : []\n\n if (Array.isArray(LC_EXPERIMENT_CUSTOM_VARIABLES)) {\n return [...params, ...LC_EXPERIMENT_CUSTOM_VARIABLES]\n }\n\n return [...params]\n}\n\nexport default extractCustomVaraibles\n", "import { ILivechat } from '../types'\n\nexport enum Loaded {\n DISCONNECTED,\n CONNECTING,\n CONNECTED,\n}\n\nexport enum Interaction {\n NO = 'no',\n YES = 'yes',\n DISABLE_CHECK = 'disable_check',\n}\n\nexport type CustomParamType = {\n name: string\n value: string\n}\n\n// #region Livechat\nexport interface ILiveChatStore {\n 'live-chat': {\n ref: ILivechat | null\n options: {\n license?: number\n group?: number\n chat_between_groups?: boolean\n /**\n * The available options are:\n * ga \u2013 Universal Analytics;\n * gtm \u2013 Google Tag Manager;\n * gtag \u2013 Global Site Tag (gtag.js);\n * gaq \u2013 traditional asynchronous code for Google Analytics.\n */\n ga_version?: 'ga' | 'gtm' | 'gtag' | 'gaq'\n visitor?: {\n name: string\n email: string\n }\n params?: Array\n }\n loaded: {\n flag: Loaded\n }\n open: boolean\n interactionWithUser: Interaction\n }\n}\n// #endregion Livechat\n", "import _get from 'lodash/get'\n\nimport getFromConfigs from 'helpers/configs/get-from-configs'\n\nimport { LIVECHAT_OPTIONS } from 'constants/configs'\n\nimport extractCustomVaraibles from './utils/extractCustomVaraibles'\n\nimport {\n ILiveChatStore,\n Interaction,\n Loaded,\n} from '@qwerty.software/live-chat/src/store/types'\n\nconst initialState: ILiveChatStore['live-chat'] = {\n loaded: {\n flag: Loaded.DISCONNECTED,\n },\n options: {\n chat_between_groups: false,\n visitor: {},\n params: extractCustomVaraibles([]),\n ...getFromConfigs(LIVECHAT_OPTIONS),\n ...(window as any)[LIVECHAT_OPTIONS],\n },\n ref: null,\n open: false,\n interactionWithUser: Interaction.NO,\n}\n\nexport default initialState\n", "export const LOADING = 'live-chat/LOADING'\n\nexport const SET_CUSTOM_VARIABLES = 'live-chat/SET_CUSTOM_VARIABLES'\nexport const UPDATE_CUSTOM_VARIABLES = 'live-chat/UPDATE_CUSTOM_VARIABLES'\n\nexport const REF_SET = 'live-chat/ref/SET'\n\nexport const OPEN = 'live-chat/OPEN'\n\nexport const INTERACTION = 'live-chat/USER_INTERACTION'\nexport const INTERACTION_SAGA = 'live-chat/saga/USER_INTERACTION'\n", "import _get from 'lodash/get'\nimport { set } from 'monolite'\nimport { Reducer } from 'redux'\n\nimport initialState from './initialState'\n\nimport {\n LOADING,\n SET_CUSTOM_VARIABLES,\n UPDATE_CUSTOM_VARIABLES,\n REF_SET,\n OPEN,\n INTERACTION,\n} from './constants'\n\nimport { ILivechat } from '../types'\nimport { ILiveChatStore, Loaded, Interaction, CustomParamType } from './types'\n\nimport { IAction as Action } from '@qwerty.software/store-manager/types'\n\ntype Actions = Action\n | Action>\n | Action>\n | Action\n | Action\n | Action\n\nconst reducer: Reducer = (state = initialState, action) => {\n switch (action.type) {\n case LOADING:\n return set(state, _ => _.loaded.flag, action.payload)\n\n case SET_CUSTOM_VARIABLES:\n return set(state, _ => _.options.params, [...action.payload])\n case UPDATE_CUSTOM_VARIABLES:\n return set(state, _ => _.options.params, (params) => [...(params || []), ...action.payload])\n\n case REF_SET:\n return set(state, _ => _.ref, action.payload)\n\n case OPEN:\n return set(state, _ => _.open, action.payload)\n\n case INTERACTION:\n return set(state, _ => _.interactionWithUser, action.payload)\n\n default:\n return state\n }\n}\n\nexport default reducer\n", "export const msName = 'live-chat'\n\nexport const GLOBAL_VISIBILITY_STATE = 'LIVE_CHAT__GLOBAL_VISIBILITY_STATE'\n", "import type { ILiveChatStore, Loaded, Interaction } from './types'\n\nimport { msName } from '../constants'\nimport { ILivechat } from '../types'\n\nexport const LOADED = (state: ILiveChatStore): Loaded => state[msName].loaded.flag\n\nexport const OPTIONS = (state: ILiveChatStore): ILiveChatStore['live-chat']['options'] => state[msName].options\n\nexport const REF = (state: ILiveChatStore): ILivechat | null => state[msName].ref\n\nexport const OPEN = (state: ILiveChatStore): boolean => state[msName].open\n\nexport const INTERACTION_WITH_USER = (state: ILiveChatStore): Interaction => state[msName].interactionWithUser\n", "export const LIVECHAT_OPEN = 'livechat/OPEN'\n", "import { put, select, takeEvery } from 'redux-saga/effects'\nimport { SagaIterator } from '@redux-saga/types'\n\nimport { REF, LOADED } from '../../store/selectors'\n\nimport { LOADING, OPEN } from '../../store/constants'\nimport { LIVECHAT_OPEN } from '../constants'\n\nimport { Loaded } from '../../store/types'\n\nfunction* open(): SagaIterator {\n const loaded: ReturnType = yield select(LOADED)\n\n if (loaded === Loaded.DISCONNECTED) {\n yield put({ type: LOADING, payload: Loaded.CONNECTING })\n yield put({ type: OPEN, payload: true })\n }\n\n const ref = yield select(REF)\n if (ref) {\n ref.open_chat_window()\n }\n}\n\nexport default function* () {\n yield takeEvery(LIVECHAT_OPEN, open)\n}\n", "import { put, select, takeEvery } from 'redux-saga/effects'\nimport { SagaIterator } from '@redux-saga/types'\n\n// import { INTERACTION_WITH_USER } from '../selectors'\n\nimport { INTERACTION, INTERACTION_SAGA } from '../constants'\n\nimport { Interaction } from '../types'\n\nfunction* interactionWithUser(): SagaIterator {\n // const interactionWithUser: Interaction = yield select(INTERACTION_WITH_USER)\n\n // if (interactionWithUser === Interaction.DISABLE_CHECK) {\n // return\n // }\n\n yield put({ type: INTERACTION, payload: Interaction.YES })\n\n // yield put({ type: INTERACTION, payload: Interaction.DISABLE_CHECK })\n}\n\nexport default function* () {\n yield takeEvery(INTERACTION_SAGA, interactionWithUser)\n}\n", "import _get from 'lodash/get'\nimport { persistReducer } from 'redux-persist'\n\nimport localforage from '@qwerty.software/store-manager/localforage'\n\nimport reducer from './reducer'\n\nimport { msName as NAME } from '../constants'\n\nexport const liveChatReducers = {\n [NAME]: persistReducer({\n key: NAME,\n storage: localforage,\n blacklist: [\n 'ref',\n 'options',\n 'loaded',\n ],\n }, reducer),\n}\n\nexport { default as livechatOpenWatcher } from '../methods/open/saga'\nexport { default as livechatInteractionWithUserWatcher } from './sagas/interactionWithUser'", "import axios from 'axios'\n\n/* utils general */\nimport storage from 'utils/storage'\nimport notify from 'utils/notify'\n\nimport { ENV } from 'env'\nimport { CookieStorage } from 'cookie-storage'\n\nexport const axiosTool = ({ options, cb }) => {\n options.withCredentials = true\n options.timeout = 9e4 // 1.5m\n\n const reqSource = axios.CancelToken.source()\n options.cancelToken = options.cancelToken || reqSource.token\n\n const reqInstance = axios.create(options)\n\n const createAxiosResponseInterceptor = () => {\n const interceptor = reqInstance.interceptors.response.use(\n response => {\n if (cb && typeof cb === 'function') {\n return cb(response.data)\n }\n\n return response\n },\n error => {\n console.log(error)\n if (axios.isCancel(error)) {\n // eslint-disable-next-line no-console\n console.warn('Request canceled')\n }\n\n if (error?.response?.status === 401) {\n reqInstance.interceptors.response.eject(interceptor)\n\n return reqInstance.post('/api/v2/auth/refresh')\n .then(response => {\n if (ENV === 'local') {\n error.response.config.params.token = response.data.access_token\n }\n\n if (response.data.expires_in) {\n storage.set('jwt', response.data.access_token, { expires: response.data.expires_in })\n } else {\n storage.set('jwt', response.data.access_token)\n }\n\n error.response.config.headers.Authorization = `Bearer ${response.data.access_token}`\n reqInstance.defaults.headers.common.Authorization = `Bearer ${response.data.access_token}`\n\n return axios(error.response.config)\n })\n .catch(err => {\n delete reqInstance.defaults.headers.common.Authorization\n delete error.response.config.headers.Authorization\n const cookieStorage = new CookieStorage()\n cookieStorage.removeItem('access_token')\n storage.remove('jwt')\n notify.error('Your session has expired. Please login again.')\n\n // setTimeout(() => {\n // window.location.href = '/signin'\n // }, 3000)\n\n return axios(error.response.config)\n })\n .finally(createAxiosResponseInterceptor)\n }\n\n if (cb && typeof cb === 'function') {\n return cb(null, error)\n }\n\n return Promise.reject(error)\n },\n )\n }\n\n createAxiosResponseInterceptor()\n\n return {\n instance: reqInstance(),\n source: !options.cancelToken ? reqSource : null,\n }\n}\n", "const trigger = (name, detail = {}) => {\n const event = new CustomEvent(name, { detail })\n document.dispatchEvent(event)\n}\n\nconst on = (name, handler) => {\n document.addEventListener(name, handler)\n}\n\nconst off = (name, handler) => {\n document.removeEventListener(name, handler, false)\n}\n\nexport default {\n on,\n off,\n trigger,\n}\n", "/* inner */\nexport const USER_AUTHORIZED = 'USER_AUTHORIZED' // overall event when authorized\nexport const USER_SIGNED_IN = 'USER_SIGNED_IN'\nexport const USER_SIGNED_UP = 'USER_SIGNED_UP'\n\nexport const USER_AUTHORIZED_VIA_SOCIAL_ACCOUNT = 'USER_AUTHORIZED_VIA_SOCIAL_ACCOUNT' // overall event when authorized via social account\nexport const USER_AUTHORIZED_VIA_FACEBOOK = 'USER_AUTHORIZED_VIA_FACEBOOK'\n\nexport const USER_UNAUTHORIZED = 'USER_UNAUTHORIZED' // overall event when unauthorized\n\nexport const USER_CHECKED = 'USER_CHECKED'\nexport const AUTH_TYPE_CHANGED = 'AUTH_TYPE_CHANGED'\n\nexport const AUTH_MODAL_OPENED = 'AUTH_MODAL_OPENED'\nexport const REQUEST_CALL_MODAL_OPENED = 'REQUEST_CALL_MODAL_OPENED'\n\nexport const VALIDATE_DISCOUNT_FOR_UNAUTHORIZED = 'VALIDATE_DISCOUNT_FOR_UNAUTHORIZED'\n\nexport const TIPS_MODAL_OPENED = 'TIPS_MODAL_OPENED'\nexport const TIPS_MODAL_CLOSED = 'TIPS_MODAL_CLOSED'\n\nexport const SPECIAL_DISCOUNT_MODAL_OPENED = 'SPECIAL_DISCOUNT_MODAL_OPENED'\nexport const SPECIAL_DISCOUNT_MODAL_CLOSED = 'SPECIAL_DISCOUNT_MODAL_CLOSED'\n\nexport const REVISION_MODAL_OPENED = 'REVISION_MODAL_OPENED'\nexport const REVISION_MODAL_CLOSED = 'REVISION_MODAL_CLOSED'\n\nexport const PRICE_CALCULATED = 'PRICE_CALCULATED'\n\nexport const FIELD_VALIDATED = 'FIELD_VALIDATED__'\n\nexport const VALIDATE_FIELD = 'VALIDATE_FIELD__'\n\nexport const UNIVERSAL_ANIMATION = 'UNIVERSAL_ANIMATION__'\n\nexport const IS_MICROSERVICE_READY = 'IS_MICROSERVICE_READY__'\n\nexport const INQUIRY_FORM_SHOULD_BE_SUBMITTED = 'INQUIRY_FORM_SHOULD_BE_SUBMITTED'\n\nexport const INQUIRY_FORM_REMOTE_SUCCESS = 'INQUIRY_FORM_REMOTE_SUCCESS'\nexport const PHONE_COLLECTOR_REMOTE_SUCCESS = 'PHONE_COLLECTOR_REMOTE_SUCCESS'\n\nexport const TOGGLE_SPINNER_VISIBILITY = 'TOGGLE_SPINNER_VISIBILITY'\nexport const TOGGLE_LIVECHAT_VISIBILITY = 'TOGGLE_LIVECHAT_VISIBILITY'\n\nexport const ORDER_DATA_CHANGED_FROM_CALCULATOR = 'ORDER_DATA_CHANGED_FROM_CALCULATOR'\nexport const ORDER_DATA_CHANGED_FROM_FORM = 'ORDER_DATA_CHANGED_FROM_FORM'\nexport const ORDER_DATA_CHANGED_FROM_DASHBOARD_EDIT = 'ORDER_DATA_CHANGED_FROM_DASHBOARD_EDIT'\n\nexport const COOKIE_POLICY_ACCEPTED = 'COOKIE_POLICY_ACCEPTED'\n\nexport const LIVE_CHAT_APPEARED = 'LIVE_CHAT_APPEARED'\n\nexport const FIELD_VALUE_UPDATED = 'FIELD_VALUE_UPDATED__'\n\nexport const MESSAGE_RECEIVED = 'MESSAGE_RECEIVED'\n\nexport const REFERRALS_PAGE_OPENED = 'REFERRALS_PAGE_OPENED'\nexport const REFERRALS_PAGE_CLOSED = 'REFERRALS_PAGE_CLOSED'\n\nexport const SUBMIT_ORDER_FORM_AFTER_AUTH = 'SUBMIT_ORDER_FORM_AFTER_AUTH'\n", "export const SHOW = 'show'\nexport const HIDE = 'hide'\n", "/* utils general */\nimport customEvent from 'utils/custom-event'\n\n/* constants general */\nimport { TOGGLE_SPINNER_VISIBILITY } from 'constants/custom-events'\nimport { SHOW, HIDE } from 'constants/visibility-actions'\n\nconst toggle = (action) => {\n customEvent.trigger(TOGGLE_SPINNER_VISIBILITY, { action })\n}\n\nconst show = () => {\n toggle(SHOW)\n}\n\nconst hide = () => {\n toggle(HIDE)\n}\n\nexport default {\n show,\n hide,\n toggle,\n}\n", "import FormData from 'form-data'\nimport isPlainObject from 'lodash/isPlainObject'\nimport isBoolean from 'lodash/isBoolean'\nimport QS from 'utils/query-string'\n// import { get as getFingerprint } from 'utils/fingerprint'\nimport { CookieStorage } from 'cookie-storage'\n\n/* env */\nimport {\n ENV,\n API_URL,\n API_PROXY_URL,\n} from 'env'\n\nimport searchLocalGeoTag from 'global-entities/geo-tag/utils/searchLocalGeoTag'\n\n/* tools local */\nimport { axiosTool } from 'utils/http-client/tools/axios'\n\n/* utils general */\nimport globalSpinner from 'utils/global-spinner'\nimport storage from 'utils/storage'\n\n/* helpers general */\nimport getFromConfigs from 'helpers/configs/get-from-configs'\n\n/* constants general */\nimport {\n PROJECT_DOMAIN,\n PROJECT_ID,\n SHOULD_USE_SPECIFIC_API,\n SPECIFIC_API_URL,\n IS_ALIAS_DOMAIN,\n DASHBOARD_SUBDOMAIN,\n} from 'constants/configs'\n\nconst reqH = (options = {}, cb) => {\n const cookieStorage = new CookieStorage()\n\n const requiredDataParams = {\n app_id: getFromConfigs(PROJECT_ID),\n pname: getFromConfigs(PROJECT_DOMAIN),\n }\n const advancedDataParams = {\n ...requiredDataParams,\n timezone: -(new Date()).getTimezoneOffset(),\n url: window.location.origin + window.location.pathname,\n }\n\n if (getFromConfigs(IS_ALIAS_DOMAIN)) {\n advancedDataParams.from_alias_domain = true\n advancedDataParams.alias_domain = window.location.origin\n }\n\n const { IP } = searchLocalGeoTag()\n if (IP) {\n advancedDataParams._ip = IP\n }\n\n const queryJwt = QS.getParam('jwt')\n\n if (queryJwt) {\n storage.set('jwt', queryJwt)\n }\n\n const requestOptions = {}\n\n if (typeof options.shouldUseSpecificApi === 'undefined') {\n options.shouldUseSpecificApi = false\n }\n\n if (typeof options.urlPrefix === 'undefined') {\n options.urlPrefix = 'client'\n }\n if (options.urlPrefix) {\n options.url = `${options.urlPrefix}/${options.url}`\n }\n\n if (options.shouldUseSpecificApi || getFromConfigs(SHOULD_USE_SPECIFIC_API)) {\n const specificApiUrl = options.specificApiUrl || getFromConfigs(SPECIFIC_API_URL)\n requestOptions.url = specificApiUrl + options.url\n } else {\n if (typeof options.useProxy === 'undefined') {\n options.useProxy = true\n }\n\n if (ENV === 'test') {\n options.useProxy = false\n }\n\n if (options.useProxy) {\n if (ENV === 'production' && getFromConfigs(IS_ALIAS_DOMAIN)) {\n const aliasedDomain = getFromConfigs(PROJECT_DOMAIN)\n requestOptions.url = `https://${aliasedDomain}${API_PROXY_URL}${options.url}`\n } else {\n requestOptions.url = API_PROXY_URL + options.url\n }\n } else {\n requestOptions.url = API_URL + options.url\n }\n }\n\n if (typeof options.method === 'undefined') {\n options.method = 'GET'\n }\n if (typeof options.params === 'undefined') {\n options.params = {}\n }\n\n if (!options.params.k && options.params.k !== false) {\n // Random parameter for API requests,\n // so that the exact address does not match\n // and the Cloudflare cache does not work\n options.params.k = Math.random()\n }\n options.params = { ...options.params, ...requiredDataParams }\n requestOptions.params = options.params\n\n if (options.method !== 'GET' && options.data) {\n if (typeof options.sendMethod === 'undefined') {\n options.sendMethod = 'form-data'\n }\n if (options.method === 'PUT') {\n options.sendMethod = 'urlencoded'\n }\n\n options.data = { ...options.data, ...advancedDataParams }\n\n if (options.sendMethod === 'json') {\n requestOptions.data = JSON.stringify(options.data)\n } else if (options.sendMethod === 'urlencoded') {\n requestOptions.data = Object.keys(options.data).map((key) => {\n const value = options.data[key]\n const encodedKey = encodeURIComponent(key)\n\n if (Array.isArray(value)) {\n return value.map((item) => `${encodedKey}[]=${encodeURIComponent(item)}`).join('&')\n }\n\n if (isPlainObject(value) && !(value instanceof File)) {\n const encodedObject = []\n for (const innerKey in value) {\n encodedObject.push(`${encodedKey}[${innerKey}]=${encodeURIComponent(value[innerKey])}`)\n }\n return encodedObject.join('&')\n }\n\n return `${encodedKey}=${encodeURIComponent(value)}`\n }).join('&')\n } else {\n const formData = new FormData()\n Object.keys(options.data).forEach((key) => {\n const value = options.data[key]\n if (Array.isArray(value)) { // if value is array - add each key\n Object.keys(value).forEach((innerKey) => {\n formData.append(`${key}[]`, value[innerKey])\n })\n } else if (isPlainObject(value) && !(value instanceof File)) { // if value is object - add each key to the overall key\n for (const innerKey in value) {\n formData.append(`${key}[${innerKey}]`, value[innerKey])\n }\n } else {\n formData.append(key, value)\n }\n })\n requestOptions.data = formData\n }\n }\n\n requestOptions.method = options.method\n\n requestOptions.headers = {\n // Fingerprint: getFingerprint(),\n ...(options?.headers || {}),\n }\n\n let jwt = storage.get('jwt', { ignoreExpitesAt: true })\n\n const isCookieSessionFlow = !!getFromConfigs(DASHBOARD_SUBDOMAIN)\n const jwtCookieStorage = cookieStorage.getItem('access_token')\n\n if (isCookieSessionFlow && !jwtCookieStorage && !queryJwt) {\n storage.remove('jwt')\n jwt = null\n }\n\n if (isCookieSessionFlow && jwtCookieStorage && !jwt && !queryJwt) {\n storage.set('jwt', jwtCookieStorage)\n jwt = jwtCookieStorage\n }\n\n if (jwt) {\n if (ENV === 'local') {\n requestOptions.params.token = jwt\n requestOptions.headers.Authorization = `Bearer ${jwt}`\n } else {\n requestOptions.headers.Authorization = `Bearer ${jwt}`\n }\n }\n\n if (storage.get('Visitor')) {\n requestOptions.headers.Visitor = storage.get('Visitor')\n }\n\n requestOptions.mode = 'cors'\n\n if (options.cancelToken) {\n requestOptions.cancelToken = options.cancelToken\n }\n\n if (!options.skipGlobalSpinner) {\n globalSpinner.show()\n }\n\n if (options.onUploadProgress) {\n requestOptions.onUploadProgress = options.onUploadProgress\n }\n\n const requestToolOptions = {\n options: requestOptions,\n cb,\n }\n\n if (isBoolean(options.hideGlobalSpinnerAfterResponse)) {\n requestToolOptions.hideGlobalSpinner = options.hideGlobalSpinnerAfterResponse\n } else if (options.skipGlobalSpinner) {\n requestToolOptions.hideGlobalSpinner = false\n }\n\n return axiosTool(requestToolOptions)\n}\n\n/**\n * @type (options?: TOptions) => Promise\n */\nexport const reqHPromise = (options = {}) => new Promise((resolve, reject) => {\n\n reqH(options, (response, error) => {\n if (error) {\n reject(error)\n } else {\n resolve(response)\n }\n })\n})\n\nexport default reqH\n", "import { CookieStorage } from 'cookie-storage'\n\nconst REDESIGN_REFERRER = 'redesign-referrer'\nconst REDESIGN_REFERRER_FLAG = 'redesign-referrer-flag'\nconst REDESIGN_REFERRER_MARK = 'sended'\n\nexport const getRedesignReferrer = (): string | false => {\n const cookieStorage = new CookieStorage()\n\n // setted from cloudflare worker\n const redesignReferrer = cookieStorage.getItem(REDESIGN_REFERRER)\n const redesignReferrerFlag = localStorage[REDESIGN_REFERRER_FLAG] !== REDESIGN_REFERRER_MARK\n\n if (redesignReferrerFlag && redesignReferrer) {\n return redesignReferrer\n }\n\n return false\n}\n\nexport const setRedesignReferrer = (): boolean => {\n const cookieStorage = new CookieStorage()\n\n const redesignReferrer = cookieStorage.getItem(REDESIGN_REFERRER)\n const redesignReferrerFlag = localStorage[REDESIGN_REFERRER_FLAG] !== REDESIGN_REFERRER_MARK\n\n if (redesignReferrerFlag && redesignReferrer) {\n localStorage['redesign-referrer-flag'] = 'sended'\n\n return true\n }\n\n return false\n}\n", "import storage from 'utils/storage'\n\nimport { TEMP_QS_KEY } from 'constants/storage'\n\ntype TempQueryType = string[]\ntype QueryType = {\n [key: string]: any\n}\n\nexport const getTempQuery = () => {\n const tempQuery: TempQueryType = storage.get(TEMP_QS_KEY, { isOuterKey: true }) || []\n\n return tempQuery.reduce((accumulator, param) => {\n const [key, value] = param.split('=')\n\n if (key && value) {\n accumulator[key] = decodeURIComponent(value)\n }\n\n return accumulator\n }, {} as QueryType)\n}\n", "const AB_TEST_REFERRER = 'abTestReferrer'\n\nexport const getABTestReferrer = (): string | false => {\n if (localStorage.abTestReferrer) {\n setTimeout(() => {\n localStorage.removeItem(AB_TEST_REFERRER)\n }, 1000)\n\n return localStorage.abTestReferrer\n }\n\n return false\n}\n", "import storage from 'utils/storage'\n\nimport { getRedesignReferrer } from 'utils/from-url/redesign-referrer'\nimport { getTempQuery } from 'utils/from-url/temp-query'\nimport { getABTestReferrer } from 'utils/from-url/a-b-test-referrer'\n\nimport { REFERRER } from 'constants/storage'\n\nexport const getFromURL = () => {\n const redesignReferrer = getRedesignReferrer()\n if (redesignReferrer) {\n return redesignReferrer\n }\n\n const query = getTempQuery()\n if ('from_url' in query) {\n return query.from_url\n }\n\n const abTestReferrer = getABTestReferrer()\n if (abTestReferrer) {\n return abTestReferrer\n }\n\n if ('utm_referrer' in query && document.referrer === '') {\n return query.utm_referrer\n }\n\n const referrer = storage.get(REFERRER, { isOuterKey: true })\n if (referrer) {\n return referrer\n }\n\n return document.referrer\n}\n", "import storage from 'utils/storage'\n\nexport enum Visitor {\n OLD,\n NEW,\n}\n\nlet issetVisitorFlag = false\nlet issetVisitorIsNewFlag = false\n\nexport const getVisitor = (): number => storage.get('Visitor')\n\nexport const setVisitor = (visitorId: number): void => {\n // @ts-ignore\n storage.set('Visitor', visitorId, { share: true })\n issetVisitorFlag = true\n}\n\nexport const getIsNewVisitor = (): Visitor => (storage.get('is_new_visitor') ? Visitor.NEW : Visitor.OLD)\n\nexport const setIsNewVisitor = (isNew: Visitor): void => {\n // @ts-ignore\n storage.set('is_new_visitor', isNew ? Visitor.NEW : Visitor.OLD, { share: true })\n issetVisitorIsNewFlag = true\n}\n\nexport const issetVisitor = (): boolean => issetVisitorFlag && issetVisitorIsNewFlag\n", "import _size from 'lodash/size'\nimport Bugsnag from '@bugsnag/js'\nimport pluralize from 'pluralize'\n\nimport { reqHPromise } from 'utils/http-client/request-handler'\n\nimport { getFromURL } from 'utils/from-url'\nimport { getVisitor, getIsNewVisitor, setIsNewVisitor, Visitor } from 'utils/visitor'\n\nimport type { InteriorTrackDataType } from 'utils/action-tracker/interior-track/types'\nimport type { Action, Response } from 'utils/action-tracker/interior-track/store/sagas/track/types'\n\nconst request = async (payload: Action['payload']) => {\n const is_new = getIsNewVisitor()\n setIsNewVisitor(Visitor.OLD)\n\n try {\n const response: Response = await reqHPromise({\n method: 'POST',\n url: 'hj/TcKBd22fwu5TG',\n urlPrefix: false,\n data: {\n ...(payload.data || {}),\n event_name: payload.eventName,\n url_current: window.location.href,\n url_from: getFromURL(),\n visitor_id: getVisitor(),\n is_new,\n } as InteriorTrackDataType,\n })\n\n if (_size(response.errors) > 0) {\n setIsNewVisitor(is_new)\n throw new Error(`${pluralize('Reason', _size(response.errors))}: \"${response.errors.join('\", \"')}\".`)\n }\n\n return response\n } catch (error) {\n setIsNewVisitor(is_new)\n Bugsnag.notify(error as any)\n }\n}\n\nexport default request\n", "export const INTERIOR_TRACK = 'INTERIOR_TRACK'\n", "import { SagaIterator } from '@redux-saga/types'\nimport { call, takeEvery } from 'redux-saga/effects'\nimport _size from 'lodash/size'\n\nimport request from 'utils/action-tracker/interior-track/store/sagas/track/request'\n\nimport { INTERIOR_TRACK } from 'utils/action-tracker/interior-track/store/constants'\n\nimport type { Action } from 'utils/action-tracker/interior-track/store/sagas/track/types'\n\nfunction* track(action: Action): SagaIterator {\n try {\n if (!action.payload.eventName) {\n return\n }\n\n const response: Request = yield call(request, action.payload)\n\n if (action.payload.callback) {\n action.payload.callback(null, response)\n }\n } catch (error) {\n let errorMessage = \"Unknown error\"\n if (error instanceof Error) {\n errorMessage = error.message\n }\n console.error('[Track failure]', errorMessage)\n\n if (action.payload.callback) {\n action.payload.callback(error, null)\n }\n }\n}\n\nexport default function* () {\n yield takeEvery(INTERIOR_TRACK, track)\n}\n", "import loadImage from 'blueimp-load-image'\n\ninterface ReorientImageMiddleware {\n (file: FileList | File[]): Promise\n}\n\nexport const reorientImagesMiddleware: ReorientImageMiddleware = async (files: FileList | File[]) => {\n const result: Array = await Promise.all(Array.from(files).map(async (file) => {\n return await loadImage(\n file,\n { orientation: true, meta: true, canvas: true }\n )\n .then(data => {\n if (!data?.imageHead) throw new Error()\n loadImage.writeExifData(data.imageHead, data, 'Orientation', 1)\n return new Promise(resolve => {\n data.image.toBlob(blob => {\n data.blob = blob\n resolve(data)\n }, file.type)\n })\n })\n .then(data => loadImage.replaceHead(data.blob, data.imageHead))\n .then(blob => {\n return new File([blob], file.name)\n })\n .catch(() => file)\n }))\n\n return result\n}", "import { put, call, take, race } from 'redux-saga/effects'\nimport axios from 'axios'\n\nimport md5 from 'md5'\n\nimport StoreManager from '@qwerty.software/store-manager'\n\nimport { reqHPromise } from 'utils/http-client/request-handler'\n\nimport { slice } from '../../slice'\n\nimport { reorientImagesMiddleware } from '../../middlewares/reorient-image'\n\nimport validatorRegister from '../../validators'\n\nimport {\n cancelFileUpload,\n\n CANCEL_UPLOAD_FILES,\n\n UploadFileResponse,\n\n FileMeta,\n} from '../../definitions'\nimport { PreloadState } from 'global-entities/files-uploader/definitions'\n\ntype UpdateFile = (file: Parameters[0]['file']) => ReturnType\ntype Pending = () => ReturnType\ntype Fulfilled = () => ReturnType\ntype Rejected = (error: string) => ReturnType\ntype Progress = (progress: number) => ReturnType\n\nconst createUploadFile = (namespace: string) => {\n const getValidator = validatorRegister()\n\n return function* uploadFile(file: File) {\n file = (yield call(reorientImagesMiddleware, [file]))[0]\n\n const hash = `${md5(file.name)}${Math.random()}`\n\n const update: UpdateFile = file => slice.actions.updateFile({ namespace, hash, file })\n\n const pending: Pending = () => update({ preload: { state: PreloadState.PENDING, progress: 0, error: null } })\n const progress: Progress = progress => update({ preload: { state: PreloadState.PROGRESS, progress, error: null } })\n const fulfilled: Fulfilled = () => update({ preload: { state: PreloadState.FULFILLED, progress: 100, error: null } })\n const rejected: Rejected = error => update({ preload: { state: PreloadState.REJECTED, error } })\n\n const fileMeta: FileMeta = {\n id: null,\n file: {\n name: file.name,\n size: file.size,\n },\n\n hash,\n }\n\n yield put(slice.actions.addFile({ namespace, files: fileMeta }))\n\n const validators = getValidator(namespace, fileMeta)\n\n const errors = validators.reduce((acc, validator) => {\n try {\n validator(fileMeta)\n } catch (error) {\n return [...acc, error]\n }\n\n return acc\n }, [] as Array)\n\n if (errors.length > 0) {\n return\n }\n\n let errorMessage = 'Something went wrong'\n try {\n const { token, cancel } = axios.CancelToken.source()\n function* request() {\n let result: UploadFileResponse | null = null\n try {\n yield put(pending())\n result = yield call(reqHPromise, {\n method: 'POST',\n url: 'preload-files',\n data: { file },\n cancelToken: token,\n onUploadProgress: (progressEvent: ProgressEvent) => {\n const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total)\n\n StoreManager.getInstance().store.dispatch(progress(percentCompleted))\n },\n })\n yield put(fulfilled())\n } catch (error) {\n yield put(rejected(error.message))\n }\n\n return result\n }\n\n const result: {\n response?: UploadFileResponse\n cancelation?: ReturnType\n removeFile?: ReturnType\n } = yield race({\n response: call(request),\n cancelation: take(`${CANCEL_UPLOAD_FILES}/${fileMeta.hash}`),\n removeFile: call(function* () {\n while (true) {\n const removeFileAction: ReturnType = yield take(slice.actions.removeFile.type)\n\n if (namespace === removeFileAction.payload.namespace) {\n return removeFileAction\n }\n }\n }),\n })\n\n if (result.removeFile) {\n cancel('File removed.')\n\n return\n }\n\n if (result.cancelation) {\n errorMessage = 'Canceled'\n\n cancel(errorMessage)\n yield put(rejected(errorMessage))\n }\n\n const { data, errors } = (result.response || {}) as UploadFileResponse\n\n if (!data) {\n if (errors?.length > 0) {\n throw new ResponseError(errors[0])\n }\n\n throw new EmptyResponseError()\n }\n\n yield put(update({\n id: data.uploaded_file_id,\n }))\n } catch (error) {\n if (error instanceof ResponseError) {\n errorMessage = error.message\n }\n\n yield put(update({\n preload: {\n error: errorMessage,\n }\n }))\n }\n }\n}\n\nexport default createUploadFile\n\nexport class ResponseError extends Error { }\nexport class EmptyResponseError extends Error { }", "import { takeEvery, fork } from 'redux-saga/effects'\n\nimport createUploadFile from './single-file'\n\nimport {\n UPLOAD_FILES_SAGA,\n\n UploadFilesSagaAction,\n} from '../../definitions'\n\nfunction* uploadFilesSaga(action: UploadFilesSagaAction) {\n const { namespace } = action.payload\n const files = Array.isArray(action.payload.files)\n ? action.payload.files\n : [action.payload.files]\n\n const upload = createUploadFile(namespace)\n\n for (const file of files) {\n yield fork(upload, file)\n }\n}\n\nexport function* uploadFilesSagaWatcher() {\n yield takeEvery(UPLOAD_FILES_SAGA, uploadFilesSaga)\n}", "export enum CurrencyIds {\n USD = 1,\n EUR = 2,\n GBP = 3,\n AUD = 4,\n CAD = 6,\n AED = 7,\n SGD = 9,\n HKD = 10,\n}\n\nexport interface ICurrency {\n id: number,\n name: string,\n symbol: string | undefined\n rate: number\n}\n\nexport const DEFAULT_CURRENCY: ICurrency = { id: CurrencyIds.USD, name: 'USD', symbol: '$', rate: 1 }\n\nexport const NAME = 'currency'\n", "import localforage from 'localforage'\n\nimport { createSlice, PayloadAction } from '@reduxjs/toolkit'\nimport { DEFAULT_CURRENCY, ICurrency, NAME } from './constants'\n\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport { PROJECT_DOMAIN } from 'constants/configs'\n\ninterface ICurrencyState {\n currency: ICurrency\n}\n\nconst INITIAL_STATE: ICurrencyState = {\n currency: DEFAULT_CURRENCY\n}\n\nconst domain: string = getFromConfigs(PROJECT_DOMAIN)\n\nexport const currencySlice = createSlice({\n name: `slice://${NAME}/`,\n initialState: INITIAL_STATE,\n reducers: {\n change(state: ICurrencyState, action: PayloadAction<{ currency: ICurrency }>) {\n state.currency = action.payload.currency\n },\n },\n})\n\nexport const CURRENCY_SLICE_PERSIST_CONFIG = {\n keyPrefix: '',\n key: currencySlice.name,\n storage: localforage.createInstance({\n name: '[MSH] Storage',\n storeName: `${NAME}:${domain}`,\n driver: [\n // localforage.INDEXEDDB,\n localforage.LOCALSTORAGE,\n ]\n }),\n}\n\n\ninterface State {\n [currencySlice.name]: ICurrencyState\n}\n\n// @ts-ignore\nexport const HYDRATED = (state: State): boolean => Boolean(state?.[currencySlice.name]?._persist?.rehydrated)\nexport const CURRENCY = (state: State): ICurrencyState['currency'] => state[currencySlice.name]['currency']\n", "import type { BootstrapData } from 'types/BootstrapData'\n\nconst GLOBAL_BOOTSTRAP_DATA_FIELDS = ['livechatGroupsIDs'] as const\n\nenum PickedBdFields {\n paperTypes = 'paperTypes',\n paperTypeGroups = 'paperTypeGroups',\n subjects = 'subjects',\n academicLevels = 'academicLevels',\n paperFormats = 'paperFormats',\n workTypes = 'workTypes',\n deadlines = 'deadlines',\n spacings = 'spacings',\n writerCategories = 'writerCategories',\n additionalFeatures = 'additionalFeatures',\n softwares = 'softwares',\n softcopies = 'softcopies',\n speakerNotes = 'speakerNotes',\n prices = 'prices',\n currencies = 'currencies'\n}\n\nexport const KEY = 'MICROSERVICES_BOOTSTRAP_DATA' as const\n\ndeclare global {\n interface Window {\n [KEY]?: BootstrapData.ICore\n }\n}\n\nexport const initBootstrapData = (...args: Array) => {\n const prevBootstrapData = window[KEY] || {}\n\n const bootstrapData = Object.assign({}, prevBootstrapData, ...args) as BootstrapData.ICore\n\n // transform for price calculator\n // @ts-ignore\n bootstrapData.priceCalculatorAdapted = {\n bdPrices: bootstrapData[PickedBdFields.prices],\n bdPaperTypeGroups: bootstrapData[PickedBdFields.paperTypeGroups],\n bdPaperTypes: bootstrapData[PickedBdFields.paperTypes],\n bdAcademicLevels: bootstrapData[PickedBdFields.academicLevels],\n bdSpacings: bootstrapData[PickedBdFields.spacings],\n bdSubjects: bootstrapData[PickedBdFields.subjects],\n bdSoftwares: bootstrapData[PickedBdFields.softwares],\n bdWriterCategories: bootstrapData[PickedBdFields.writerCategories],\n bdAdditionalFeatures: bootstrapData[PickedBdFields.additionalFeatures],\n bdSoftcopies: bootstrapData[PickedBdFields.softcopies],\n bdSpeakerNotes: bootstrapData[PickedBdFields.speakerNotes],\n bdCurrencies: bootstrapData[PickedBdFields.currencies],\n }\n\n for (const key of GLOBAL_BOOTSTRAP_DATA_FIELDS) {\n window[key] = bootstrapData[key]\n }\n\n window[KEY] = bootstrapData\n\n return bootstrapData\n}\n\nexport type { BootstrapData } from 'types/BootstrapData'\n", "import { KEY } from './init'\n\nexport const getBootstrapData = () => {\n if (!window[KEY]) {\n throw new Error('Bootstrap data is not initialized')\n }\n\n return window[KEY]\n}", "export enum Entity {\n MAIN = 'main',\n CALCULATOR = 'calculator',\n BOT = 'bot',\n INQUIRY = 'inquiry',\n DASHBOARD = 'dashboard'\n}", "import notify from 'utils/notify'\nimport storage from \"utils/storage\"\n\ninterface ISessionNotify {\n text: string\n timeOut?: number\n extendedTimeOut?: number\n method?: 'success' | 'warning'\n key: string\n}\n\nexport const sessionNotify = ({\n text,\n method = 'success',\n timeOut = 8000,\n extendedTimeOut = 3000,\n key\n}: ISessionNotify) => {\n if (!storage.get(key, { storageType: 'session' })) {\n\n notify[method](text, {\n autoHideDuration: timeOut,\n },\n )\n\n storage.set(key, true, { storageType: 'session' })\n }\n}\n", "import { SAGAS_SCHEMA } from 'constants/sagas'\nimport { NAME } from '@qwerty.software/ui-order-form/src/constants'\n\nexport const SAGAS_PREFIX = `${SAGAS_SCHEMA}${NAME}/` as const\n\nexport enum FieldNames {\n PAPER_TYPE = 'paperType',\n SUBJECT = 'subject',\n TOPIC = 'topic',\n PAPER_DETAILS = 'paperDetails',\n PAPER_FORMAT = 'paperFormat',\n\n ACADEMIC_LEVEL = 'academicLevel',\n WORK_TYPE = 'workType',\n DEADLINE = 'deadline',\n\n QUANTITY_KEY = 'quantityKey',\n QUANTITY = 'quantity',\n WORDS = 'words',\n\n PAGES_WORDS_SWITCHER = 'pagesWordsSwitcher',\n SPACING = 'spacing',\n SLIDES = 'slides',\n SPEAKER_NOTES = 'speakerNotes',\n SOURCES = 'sources',\n SOFT_COPIES = 'softCopies',\n\n WRITER_CATEGORY = 'writerCategory',\n PREFERRED_ORDER = 'preferredOrder',\n ADDITIONAL_FEATURES = 'additionalFeatures',\n SOFTWARE = 'software',\n}\n\nexport enum QuantityKeys {\n PAGES = 'pages',\n WORDS = 'words',\n PROBLEMS = 'problems',\n QUESTIONS = 'questions',\n}\n\nexport enum SpacingIds {\n DOUBLE = 118,\n ONE_AND_HALF = 186,\n SINGLE = 117,\n}\n\nexport const DEFAULT_NUMBER_MAX_VALUE = 9999\nexport const DEFAULT_WORDS_PER_PAGE = 275\n\nexport enum WorkTypeIds {\n MULTIPLY_CHOISE_QUESTIONS = 201,\n PROBLEM_SOLVING = 22,\n WRITING_FROM_SCRATCH = 20,\n PARAPHRASING_REWRITING = 175,\n EDITING_PROOFREADING = 21,\n QUESTIONS_AND_ANSWERS_DEP = 212,\n GRADING_MARKING_DEP = 172,\n}\n\nexport enum PaperTypeIds {\n MULTIPLY_CHOISE_QUESTIONS = 200,\n PROBLEM_SOLVING = 110,\n ESSAY = 90,\n QUESTIONS_AND_ANSWERS_DEP = 211,\n QUESTIONS_AND_ANSWERS = 219,\n REPORT = 94,\n COURSE_WORK = 87,\n CASE_STUDY = 86,\n RESEARCH_PAPER = 95,\n CV_WRITING__COVER_LETTER__FOLLOW_UP = 166,\n RESUME_WRITING__COVER_LETTER__FOLLOW_UP = 168,\n}\n\nexport enum UpsaleIds {\n PLAGIARISM_REPORT = 4,\n PROGRESSIVE_DELIVERY = 5,\n FOLLOW_UP = 6,\n LINKED_IN = 7,\n SOFT_COPIES = 8,\n SUMMARY = 9,\n DRAFT = 10,\n ABSTRACT = 12,\n GRAMMARLY_REPORT = 13,\n SPEAKER_NOTES = 14,\n SECOND_VERSION_ORDER = 15,\n TURNITIN_REPORT = 16,\n AI_CHECK_REPORT = 17,\n VIP_SERVICE = 18,\n}\n\nexport enum AcademicLevelIds {\n HIGH_SCHOOL = 10,\n UNDERGRADUATE = 11,\n PHD = 13,\n}\n\nexport enum DeadlineIds {\n FOUR_HOURS = 215,\n SIX_HOURS = 1,\n TWELVE_HOURS = 2,\n TWENTY_FOUR_HOURS = 3,\n TWO_DAYS = 4,\n THREE_DAYS = 5,\n FIVE_DAYS = 6,\n SEVEN_DAYS = 7,\n NINE_DAYS = 8,\n FOURTEEN_DAYS = 9,\n TWENTY_DAYS = 190,\n}\n\nexport enum WriterCategoryIds {\n BEST_AVAILIBLE = 1,\n PRO = 2,\n TOP = 3,\n PREFERRED = 11,\n}\n\nexport enum PaperFormatIds {\n APA = 26,\n}\n\nexport enum SubjectIds {\n OTHER = 78,\n NURSING = 63,\n BUSINESS = 35,\n ENGLISH = 45,\n PSYCHOLOGY = 68,\n MANAGEMENT = 58,\n}\n\nexport enum SoftwareIds {\n AUTO_CAD = 1,\n MATLAB = 2,\n SPSS = 3,\n MS_ACCESS = 4,\n STATA = 5,\n DATABASE = 6,\n PROGRAMMING_LANGUAGE = 7,\n OTHER = 8,\n WRITERS_CHOICE = 9,\n JAVA_SCRIPT = 10,\n HTML_CSS = 11,\n R_STUDIO = 12,\n PYTHON = 13,\n CISCO_PACKET_TRACER = 14,\n}\n", "import { PAGES_INDEX } from 'constants/pagesWordsSwitcher'\n\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport { PROJECT_DOMAIN } from 'constants/configs'\n\nimport { ORDER_DATA_DEFAULTS } from 'constants/configs'\n\nimport type {\n OrderDataLists,\n OrderValues,\n OrderState,\n} from './types'\n\nimport { SAGAS_SCHEMA } from 'constants/sagas'\nimport {\n FieldNames,\n PaperTypeIds,\n WriterCategoryIds,\n SubjectIds,\n PaperFormatIds,\n DeadlineIds,\n AcademicLevelIds,\n WorkTypeIds,\n QuantityKeys,\n SpacingIds,\n DEFAULT_NUMBER_MAX_VALUE,\n} from '@qwerty.software/ui-order-form/src/store/constants'\n\nconst domain: string = getFromConfigs(PROJECT_DOMAIN)\n\nexport const NAME = `order.form:${domain}` as const\n\nexport const SAGAS_PREFIX = `${SAGAS_SCHEMA}${NAME}/` as const\n\nexport const PAGES_SWITCHER_KEY = 0 as const\nexport const WORDS_SWITCHER_KEY = 1 as const\n\nexport enum PickedBdFields {\n paperTypes = 'paperTypes',\n paperTypeGroups = 'paperTypeGroups',\n subjects = 'subjects',\n academicLevels = 'academicLevels',\n paperFormats = 'paperFormats',\n workTypes = 'workTypes',\n deadlines = 'deadlines',\n spacings = 'spacings',\n writerCategories = 'writerCategories',\n additionalFeatures = 'additionalFeatures',\n softwares = 'softwares',\n softcopies = 'softcopies',\n speakerNotes = 'speakerNotes',\n prices = 'prices',\n currencies = 'currencies'\n}\n\nexport const MAX_QUANTITY_KEY = 'maxQuantity'\nexport const MAX_SLIDES_KEY = 'maxSlides'\n\nexport const INITIAL_LISTS: OrderDataLists = {\n paperFormats: [],\n paperTypes: [],\n subjects: [],\n academicLevels: [],\n workTypes: [],\n deadlines: [],\n spacings: [],\n writerCategories: [],\n additionalFeatures: [],\n softwares: [],\n currencies: [],\n}\nconst orderDataDefaults = getFromConfigs(ORDER_DATA_DEFAULTS)\n\nexport const INITIAL_VALUES: OrderValues = {\n [FieldNames.PAPER_TYPE]: (orderDataDefaults && orderDataDefaults.paperType) || PaperTypeIds.ESSAY,\n [FieldNames.SUBJECT]: (orderDataDefaults && orderDataDefaults.subject) || SubjectIds.OTHER,\n [FieldNames.TOPIC]: (orderDataDefaults && orderDataDefaults.topic) || '',\n [FieldNames.PAPER_DETAILS]: (orderDataDefaults && orderDataDefaults.paperDetails) || '',\n [FieldNames.PAPER_FORMAT]: (orderDataDefaults && orderDataDefaults.paperFormat) || PaperFormatIds.APA,\n\n [FieldNames.ACADEMIC_LEVEL]: (orderDataDefaults && orderDataDefaults.academicLevel) || AcademicLevelIds.HIGH_SCHOOL,\n [FieldNames.WORK_TYPE]: (orderDataDefaults && orderDataDefaults.workType) || WorkTypeIds.WRITING_FROM_SCRATCH,\n [FieldNames.DEADLINE]: (orderDataDefaults && orderDataDefaults.deadline) || DeadlineIds.FOURTEEN_DAYS,\n [FieldNames.QUANTITY_KEY]: QuantityKeys.PAGES,\n [FieldNames.QUANTITY]: (orderDataDefaults && orderDataDefaults.pages) || (orderDataDefaults && orderDataDefaults.pages) === 0 ? orderDataDefaults.pages : 1,\n [FieldNames.WORDS]: (orderDataDefaults && orderDataDefaults.words) || (orderDataDefaults && orderDataDefaults.words) === 0 ? orderDataDefaults.words : 275,\n [FieldNames.PAGES_WORDS_SWITCHER]: (orderDataDefaults && orderDataDefaults.pagesWordsSwitcher) || (orderDataDefaults && orderDataDefaults.pagesWordsSwitcher) === 0 ? orderDataDefaults.pagesWordsSwitcher : PAGES_INDEX,\n [FieldNames.SPACING]: SpacingIds.DOUBLE,\n [FieldNames.SLIDES]: (orderDataDefaults && orderDataDefaults.slides) || 0,\n [FieldNames.SPEAKER_NOTES]: false,\n [FieldNames.SOURCES]: (orderDataDefaults && orderDataDefaults.sources) || 0,\n [FieldNames.SOFT_COPIES]: false,\n\n [FieldNames.WRITER_CATEGORY]: (orderDataDefaults && orderDataDefaults.writerCategory) || WriterCategoryIds.BEST_AVAILIBLE,\n [FieldNames.PREFERRED_ORDER]: {\n value: '',\n sended: false,\n\n errors: [],\n data: undefined,\n isLoading: false,\n },\n [FieldNames.ADDITIONAL_FEATURES]: (orderDataDefaults && orderDataDefaults.additionalFeatures) || [],\n [FieldNames.SOFTWARE]: {\n checked: false,\n value: (orderDataDefaults && orderDataDefaults.software) || 9,\n },\n\n validation: {},\n\n placeOrderPending: false,\n\n orderChanged: false,\n showReminder: false,\n\n lastChangedAt: undefined,\n\n [MAX_QUANTITY_KEY]: DEFAULT_NUMBER_MAX_VALUE,\n [MAX_SLIDES_KEY]: DEFAULT_NUMBER_MAX_VALUE,\n}\n\nexport const INITIAL_STATE: OrderState = {\n ...INITIAL_VALUES,\n}\n\nexport const COMMON_PERSIST_BLACKLIST = [\n 'preferredOrder.isLoading',\n 'discount.isLoading',\n 'validation',\n 'placeOrderPending',\n]\n\nexport const ORDER_SLICE_NAME = `slice://${NAME}/`\n", "import { UpsaleIds, DeadlineIds, QuantityKeys, WorkTypeIds, SpacingIds, FieldNames, AcademicLevelIds } from '@qwerty.software/ui-order-form/src/store/constants'\n\nexport const MIN_DEADLINE_WRITING_FROM_SCRATCH = DeadlineIds.FOUR_HOURS\nexport const MIN_DEADLINE_BY_WORKTYPE = DeadlineIds.SIX_HOURS\n\nexport const subjectFlagToDisableDeadline = 'isTechnical'\n\nexport const disabledAdditionalFeaturesByMultiplyChoiseQuestions = [\n UpsaleIds.PLAGIARISM_REPORT,\n UpsaleIds.SUMMARY,\n UpsaleIds.DRAFT,\n UpsaleIds.ABSTRACT,\n UpsaleIds.GRAMMARLY_REPORT,\n]\n\nexport const disabledAdditionalFeaturesByPaperType = [\n UpsaleIds.FOLLOW_UP,\n]\n\nexport const disabledDeadlinesByWorkType = {\n [WorkTypeIds.MULTIPLY_CHOISE_QUESTIONS]: [\n DeadlineIds.FOUR_HOURS,\n ],\n [WorkTypeIds.PROBLEM_SOLVING]: [\n DeadlineIds.FOUR_HOURS,\n ],\n [WorkTypeIds.PARAPHRASING_REWRITING]: [\n DeadlineIds.FOUR_HOURS,\n ],\n [WorkTypeIds.EDITING_PROOFREADING]: [\n DeadlineIds.FOUR_HOURS,\n ],\n}\n\nexport const disabledDeadlinesByAcademicLevel = {\n [AcademicLevelIds.PHD]: [\n DeadlineIds.FOUR_HOURS,\n ],\n}\n\nexport const MAX_PROBLEMS_AND_QUESTIONS_CONFIG = {\n [QuantityKeys.PROBLEMS]: {\n [DeadlineIds.FOUR_HOURS]: 4, // deadlineId: problems or questions\n [DeadlineIds.SIX_HOURS]: 5,\n [DeadlineIds.TWELVE_HOURS]: 10,\n [DeadlineIds.TWENTY_FOUR_HOURS]: 20,\n },\n [QuantityKeys.QUESTIONS]: {\n [DeadlineIds.FOUR_HOURS]: 20,\n [DeadlineIds.SIX_HOURS]: 35,\n [DeadlineIds.TWELVE_HOURS]: 70,\n [DeadlineIds.TWENTY_FOUR_HOURS]: 140,\n },\n}\n\nexport const MAX_SLIDES_AND_PAGES_CONFIG = {\n [WorkTypeIds.EDITING_PROOFREADING]: {\n [SpacingIds.DOUBLE]: {\n [DeadlineIds.FOUR_HOURS]: 6, // deadlineId: pages + slides\n [DeadlineIds.SIX_HOURS]: 8,\n [DeadlineIds.TWELVE_HOURS]: 16,\n [DeadlineIds.TWENTY_FOUR_HOURS]: 32,\n },\n [SpacingIds.ONE_AND_HALF]: {\n [DeadlineIds.FOUR_HOURS]: 4,\n [DeadlineIds.SIX_HOURS]: 5,\n [DeadlineIds.TWELVE_HOURS]: 10,\n [DeadlineIds.TWENTY_FOUR_HOURS]: 21,\n },\n [SpacingIds.SINGLE]: {\n [DeadlineIds.FOUR_HOURS]: 3,\n [DeadlineIds.SIX_HOURS]: 4,\n [DeadlineIds.TWELVE_HOURS]: 8,\n [DeadlineIds.TWENTY_FOUR_HOURS]: 16,\n },\n },\n other: {\n [SpacingIds.DOUBLE]: {\n [DeadlineIds.FOUR_HOURS]: 4,\n [DeadlineIds.SIX_HOURS]: 5,\n [DeadlineIds.TWELVE_HOURS]: 10,\n [DeadlineIds.TWENTY_FOUR_HOURS]: 20,\n },\n [SpacingIds.ONE_AND_HALF]: {\n [DeadlineIds.FOUR_HOURS]: 3,\n [DeadlineIds.SIX_HOURS]: 4,\n [DeadlineIds.TWELVE_HOURS]: 8,\n [DeadlineIds.TWENTY_FOUR_HOURS]: 15,\n },\n [SpacingIds.SINGLE]: {\n [DeadlineIds.FOUR_HOURS]: 2,\n [DeadlineIds.SIX_HOURS]: 3,\n [DeadlineIds.TWELVE_HOURS]: 5,\n [DeadlineIds.TWENTY_FOUR_HOURS]: 10,\n },\n },\n}\n\nexport const AFFECTING_TO_MAX_VALUE_FIELDS = [\n FieldNames.PAPER_TYPE,\n FieldNames.WORK_TYPE,\n FieldNames.DEADLINE,\n FieldNames.SPACING,\n FieldNames.PAGES_WORDS_SWITCHER,\n FieldNames.QUANTITY,\n FieldNames.WORDS,\n FieldNames.SLIDES,\n]\n\nexport const MULTIPLY_QUESTIONS_NOTIFICATION_KEY = 'SHOW_MULTIPLY_QUESTIONS_NOTIF'\n", "import _difference from 'lodash/difference'\nimport { OrderValues } from \"../types\"\n\nimport { sessionNotify } from '@qwerty.software/ui-order-form/src/utils/helpers/session-notify'\n\nimport { FieldNames, PaperTypeIds, QuantityKeys, WorkTypeIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { PAGES_SWITCHER_KEY } from '@qwerty.software/ui-order-form/src/store/slices/order/constants'\nimport { MIN_DEADLINE_BY_WORKTYPE, disabledAdditionalFeaturesByMultiplyChoiseQuestions, disabledDeadlinesByWorkType } from './constants'\nimport { PayloadAction } from '@reduxjs/toolkit'\n\nexport const workTypePaperTypeMirrorRelations = (state, action: PayloadAction<{ key: K, value: OrderValues[K] }>) => {\n const FieldIds = action.payload.key === FieldNames.PAPER_TYPE ? PaperTypeIds : WorkTypeIds\n const RelatedFieldIds = action.payload.key === FieldNames.PAPER_TYPE ? WorkTypeIds : PaperTypeIds\n const RelatedFieldName = action.payload.key === FieldNames.PAPER_TYPE ? FieldNames.WORK_TYPE : FieldNames.PAPER_TYPE\n const defaultValue = RelatedFieldName === FieldNames.PAPER_TYPE ? PaperTypeIds.ESSAY : WorkTypeIds.WRITING_FROM_SCRATCH\n\n switch (action.payload.value) {\n case FieldIds.PROBLEM_SOLVING:\n state[RelatedFieldName] = RelatedFieldIds.PROBLEM_SOLVING\n state[FieldNames.QUANTITY_KEY] = QuantityKeys.PROBLEMS\n disabledDeadlinesByWorkType[WorkTypeIds.PROBLEM_SOLVING].includes(state[FieldNames.DEADLINE]) && (state[FieldNames.DEADLINE] = MIN_DEADLINE_BY_WORKTYPE)\n break\n\n case FieldIds.MULTIPLY_CHOISE_QUESTIONS:\n state[RelatedFieldName] = RelatedFieldIds.MULTIPLY_CHOISE_QUESTIONS\n state[FieldNames.QUANTITY_KEY] = QuantityKeys.QUESTIONS\n state[FieldNames.ADDITIONAL_FEATURES] = _difference(state[FieldNames.ADDITIONAL_FEATURES], disabledAdditionalFeaturesByMultiplyChoiseQuestions)\n disabledDeadlinesByWorkType[WorkTypeIds.MULTIPLY_CHOISE_QUESTIONS].includes(state[FieldNames.DEADLINE]) && (state[FieldNames.DEADLINE] = MIN_DEADLINE_BY_WORKTYPE)\n\n sessionNotify({\n text: 'Please note that we do not accept online tests with limited attempts and a deadline',\n key: 'SHOW_MULTIPLY_QUESTIONS_NOTIF',\n })\n break\n\n default:\n if (\n state[RelatedFieldName] === RelatedFieldIds.PROBLEM_SOLVING ||\n state[RelatedFieldName] === RelatedFieldIds.MULTIPLY_CHOISE_QUESTIONS ||\n state[RelatedFieldName] === RelatedFieldIds.QUESTIONS_AND_ANSWERS_DEP\n ) {\n state[RelatedFieldName] = defaultValue // change to default\n state[FieldNames.QUANTITY_KEY] = state[FieldNames.PAGES_WORDS_SWITCHER] === PAGES_SWITCHER_KEY ? QuantityKeys.PAGES : QuantityKeys.WORDS\n }\n break\n }\n\n}\n", "import { OrderValues } from \"../types\"\n\nimport { FieldNames, WorkTypeIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { MIN_DEADLINE_BY_WORKTYPE, disabledDeadlinesByWorkType } from './constants'\n\nexport const workTypeRelations = (state, value: OrderValues[K]) => {\n const disabledDeadlines = disabledDeadlinesByWorkType[value as WorkTypeIds]\n\n if (disabledDeadlines && disabledDeadlines.includes(state[FieldNames.DEADLINE])) {\n state[FieldNames.DEADLINE] = MIN_DEADLINE_BY_WORKTYPE\n }\n}\n", "import _difference from 'lodash/difference'\n\nimport { OrderValues } from \"../types\"\n\nimport { FieldNames, PaperTypeIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { disabledAdditionalFeaturesByPaperType } from './constants'\n\nexport const paperTypeRelations = (state, value: OrderValues[K]) => {\n switch (value) {\n case PaperTypeIds.CV_WRITING__COVER_LETTER__FOLLOW_UP:\n case PaperTypeIds.RESUME_WRITING__COVER_LETTER__FOLLOW_UP:\n state[FieldNames.ADDITIONAL_FEATURES] = _difference(state[FieldNames.ADDITIONAL_FEATURES], disabledAdditionalFeaturesByPaperType)\n break\n\n default:\n break\n }\n}\n", "import { FieldNames, DeadlineIds, WriterCategoryIds } from '@qwerty.software/ui-order-form/src/store/constants'\n\nexport const deadlineRelations = (state, value: number) => {\n if (\n state[FieldNames.WRITER_CATEGORY] === WriterCategoryIds.PREFERRED &&\n (value < DeadlineIds.TWO_DAYS || value === DeadlineIds.FOUR_HOURS)\n ) {\n state[FieldNames.WRITER_CATEGORY] = WriterCategoryIds.BEST_AVAILIBLE\n }\n}\n", "import { OrderValues } from \"../types\"\n\nimport { FieldNames, QuantityKeys } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { WORDS_SWITCHER_KEY, PAGES_SWITCHER_KEY } from '@qwerty.software/ui-order-form/src/store/slices/order/constants'\n\nexport const pagesWordsSwitcherRelations = (state, value: OrderValues[K]) => {\n switch (value) {\n case WORDS_SWITCHER_KEY:\n state[FieldNames.QUANTITY_KEY] = QuantityKeys.WORDS\n break\n\n case PAGES_SWITCHER_KEY:\n state[FieldNames.QUANTITY_KEY] = QuantityKeys.PAGES\n break\n\n default:\n break\n }\n}\n", "import { FieldNames, QuantityKeys } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { BootstrapData } from 'store/types'\n\nexport const spacingRelations = (state, currentSpacing: BootstrapData.ISpacing) => {\n switch (state[FieldNames.QUANTITY_KEY]) {\n case QuantityKeys.PAGES:\n state[FieldNames.WORDS] = Math.ceil(state[FieldNames.QUANTITY] * currentSpacing.wordsCount)\n break\n\n case QuantityKeys.WORDS:\n state[FieldNames.QUANTITY] = Math.ceil(state[FieldNames.WORDS] / currentSpacing.wordsCount)\n break\n }\n}\n", "import _difference from 'lodash/difference'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport { FieldNames, QuantityKeys, UpsaleIds, WorkTypeIds } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport type { OrderState as State } from '../../types'\nimport type { DisabledChecker } from './types'\n\nconst AI_CHECK_REPORT_DISABLED_TOOLTIP = 'AI writing detection tool is unavailable for less than 400 words or more than 15000'\n\nconst checker: DisabledChecker = (state: State) => {\n const spacingValue = getSpacingValue(state)\n\n const quantity = parseFloat(`${state[FieldNames.QUANTITY]}`)\n const quantityKey = state[FieldNames.QUANTITY_KEY]\n const words = parseFloat(`${state[FieldNames.WORDS]}`)\n const workType = parseFloat(`${state[FieldNames.WORK_TYPE]}`)\n\n const disabled = {}\n\n switch (true) {\n case Boolean(quantityKey === QuantityKeys.PAGES && quantity === 1 && spacingValue === 2): // 1 page double spacing\n case Boolean(quantityKey === QuantityKeys.WORDS && words !== 0 && words < 400): // lt 400 words\n case Boolean(quantityKey === QuantityKeys.PAGES && quantity > 54 && spacingValue === 2): // gt 54 pages with double spacing\n case Boolean(quantityKey === QuantityKeys.PAGES && quantity > 37 && spacingValue === 1.5): // gt 37 pages with 1.5 spacing\n case Boolean(quantityKey === QuantityKeys.PAGES && quantity > 27 && spacingValue === 1): // gt 27 pages with single spacing\n case Boolean(quantityKey === QuantityKeys.WORDS && words > 15000): // gt 15_000 words\n case Boolean(workType === WorkTypeIds.MULTIPLY_CHOISE_QUESTIONS): // Multiple choice questions\n case Boolean(workType === WorkTypeIds.PROBLEM_SOLVING): // Problem solving\n disabled[UpsaleIds.AI_CHECK_REPORT] = AI_CHECK_REPORT_DISABLED_TOOLTIP\n break\n }\n\n return disabled\n}\n\nexport const additionalFeaturesAIreport = (state: State) => {\n const features = Object.keys(checker(state)).map(Number)\n\n state[FieldNames.ADDITIONAL_FEATURES] = _difference(state[FieldNames.ADDITIONAL_FEATURES], features)\n}\n\nexport const aiCheckReport = checker\n\nfunction getSpacingValue(state: State) {\n const { spacings } = getBootstrapData()\n const spacing = spacings.find((item) => item.id === state[FieldNames.SPACING])\n\n if (!spacing) {\n return null\n }\n\n return spacing.value\n}", "import { FieldNames, QuantityKeys, WorkTypeIds, DEFAULT_NUMBER_MAX_VALUE } from \"@qwerty.software/ui-order-form/src/store/constants\";\nimport { MAX_QUANTITY_KEY, MAX_SLIDES_KEY } from \"@qwerty.software/ui-order-form/src/store/slices/order/constants\";\nimport { MAX_SLIDES_AND_PAGES_CONFIG } from \"../constants\";\n\nimport type { BootstrapData } from \"store/types\";\n\n// PAGES / SLIDES / DEADLINE / SPACING LOGIC (logic in task LR-4693 https://speedycompany.atlassian.net/browse/LR-4693)\n\nexport const setMaxPagesSlides = (state, currentSpacing: BootstrapData.ISpacing) => {\n // for editing/proofreading - 1 page cost equals 1 slide, for other worktypes - 1 page cost equals 2 slides\n const slidesMtl = state[FieldNames.WORK_TYPE] !== WorkTypeIds.EDITING_PROOFREADING ? 2 : 1\n\n const wordsMtl = state[FieldNames.QUANTITY_KEY] === QuantityKeys.WORDS ? currentSpacing.wordsCount : 1\n\n const maxSumFromConfig = state[FieldNames.WORK_TYPE] === WorkTypeIds.EDITING_PROOFREADING\n ? MAX_SLIDES_AND_PAGES_CONFIG[WorkTypeIds.EDITING_PROOFREADING][state[FieldNames.SPACING]][state[FieldNames.DEADLINE]]\n : MAX_SLIDES_AND_PAGES_CONFIG.other[state[FieldNames.SPACING]][state[FieldNames.DEADLINE]]\n\n const maxSumCurrent = state[FieldNames.QUANTITY] + Math.round(state[FieldNames.SLIDES] / slidesMtl)\n\n if (maxSumCurrent > maxSumFromConfig) {\n state[FieldNames.QUANTITY] = state[FieldNames.QUANTITY] >= maxSumFromConfig ? maxSumFromConfig : state[FieldNames.QUANTITY]\n state[FieldNames.WORDS] = state[FieldNames.QUANTITY] * currentSpacing.wordsCount\n state[FieldNames.SLIDES] = (maxSumFromConfig - state[FieldNames.QUANTITY]) * slidesMtl\n }\n\n if (!maxSumFromConfig) {\n state[MAX_QUANTITY_KEY] = DEFAULT_NUMBER_MAX_VALUE * wordsMtl\n state[MAX_SLIDES_KEY] = DEFAULT_NUMBER_MAX_VALUE\n } else {\n state[MAX_QUANTITY_KEY] = (maxSumFromConfig - Math.round(state[FieldNames.SLIDES] / slidesMtl)) * wordsMtl\n state[MAX_SLIDES_KEY] = (maxSumFromConfig - state[FieldNames.QUANTITY]) * slidesMtl\n }\n}\n", "import { FieldNames, DEFAULT_NUMBER_MAX_VALUE } from \"@qwerty.software/ui-order-form/src/store/constants\";\nimport { MAX_QUANTITY_KEY } from \"@qwerty.software/ui-order-form/src/store/slices/order/constants\";\nimport { MAX_PROBLEMS_AND_QUESTIONS_CONFIG } from \"../constants\";\n\nexport const setMaxProblemsQuestions = (state) => {\n if (Object.keys(MAX_PROBLEMS_AND_QUESTIONS_CONFIG).includes(state[FieldNames.QUANTITY_KEY])) {\n const maxValue = MAX_PROBLEMS_AND_QUESTIONS_CONFIG[state[FieldNames.QUANTITY_KEY]][state[FieldNames.DEADLINE]] || DEFAULT_NUMBER_MAX_VALUE\n if (state[FieldNames.QUANTITY] > maxValue) {\n state[FieldNames.QUANTITY] = maxValue\n }\n state[MAX_QUANTITY_KEY] = maxValue\n }\n}\n", "import { FieldNames, QuantityKeys} from \"@qwerty.software/ui-order-form/src/store/constants\";\nimport { BootstrapData } from \"store/types\";\nimport { setMaxPagesSlides } from './pages-slides-spacing-deadline';\nimport { setMaxProblemsQuestions } from './prodlems-questions-deadline';\n\nexport const maxValueRelations = (state, currentSpacing: BootstrapData.ISpacing) => {\n switch (state[FieldNames.QUANTITY_KEY]) {\n case QuantityKeys.PAGES:\n case QuantityKeys.WORDS:\n setMaxPagesSlides(state, currentSpacing)\n break\n\n case QuantityKeys.PROBLEMS:\n case QuantityKeys.QUESTIONS:\n setMaxProblemsQuestions(state)\n break\n\n default:\n break\n }\n}\n", "import notify from 'utils/notify'\nimport { FieldNames, DeadlineIds, AcademicLevelIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { disabledDeadlinesByAcademicLevel } from './constants'\n\nexport const academicLevelRelations = (state, value: AcademicLevelIds) => {\n const disabledDeadlines = disabledDeadlinesByAcademicLevel[value]\n if (disabledDeadlines && disabledDeadlines.includes(state[FieldNames.DEADLINE])) {\n state[FieldNames.DEADLINE] = DeadlineIds.SIX_HOURS\n notify.warning('The 4-hour deadline is not applicable to the Ph.D. academic level, so it has been changed to the closest available option.')\n }\n}\n", "import notify from 'utils/notify'\nimport { FieldNames, DeadlineIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\nimport { subjectFlagToDisableDeadline } from './constants'\n\n/**\n * RELATED! functional for chat-bot using in:\n * - packages/chat-bot/src/store/selectors/disabled-deadlines/errors/complex-subject.ts\n * - packages/chat-bot/src/components/inputs/deadline/index.tsx:59\n */\nexport const subjectRelations = (state, value) => {\n const { subjects } = getBootstrapData()\n const bdSubject = subjects.find((item) => item.id === value)\n\n if (bdSubject?.[subjectFlagToDisableDeadline] && state[FieldNames.DEADLINE] === DeadlineIds.FOUR_HOURS) {\n state[FieldNames.DEADLINE] = DeadlineIds.SIX_HOURS\n notify.warning('The 4-hour deadline is not applicable to the selected subject, so it has been changed to the closest available option.')\n }\n}\n", "import { OrderValues } from \"../types\"\n\nimport { FieldNames, QuantityKeys } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { WORDS_SWITCHER_KEY, PAGES_SWITCHER_KEY } from '@qwerty.software/ui-order-form/src/store/slices/order/constants'\n\nexport const quantityKeyRelations = (state, value: OrderValues[K]) => {\n switch (value) {\n case QuantityKeys.PAGES:\n state[FieldNames.PAGES_WORDS_SWITCHER] = PAGES_SWITCHER_KEY\n break\n\n case QuantityKeys.WORDS:\n state[FieldNames.PAGES_WORDS_SWITCHER] = WORDS_SWITCHER_KEY\n break\n\n default:\n break\n }\n}\n", "import { PayloadAction } from \"@reduxjs/toolkit\";\n\nimport { getBootstrapData } from \"global-entities/bootstrap-data/utils/get\";\n\nimport { workTypePaperTypeMirrorRelations } from \"./work-type-paper-type\";\nimport { workTypeRelations } from \"./work-type\";\nimport { paperTypeRelations } from './paper-type'\nimport { deadlineRelations } from \"./deadline\";\nimport { pagesWordsSwitcherRelations } from \"./pages-words-switcher\";\nimport { spacingRelations } from \"./spacing\";\nimport { additionalFeaturesAIreport } from './additional-features/ai-check-report'\n\nimport { maxValueRelations } from \"./max-value\";\n\nimport { FieldNames, AcademicLevelIds, WorkTypeIds } from '@qwerty.software/ui-order-form/src/store/constants';\nimport { AFFECTING_TO_MAX_VALUE_FIELDS } from \"./constants\";\n\nimport type { OrderValues } from \"../types\";\nimport { academicLevelRelations } from \"./academic-level\";\nimport { subjectRelations } from \"./subject\";\nimport { quantityKeyRelations } from \"./quantity-key\";\n\nexport const fieldsRelations = (state, action: PayloadAction<{ key: K, value: OrderValues[K] }>) => {\n const { spacings } = getBootstrapData()\n const currentSpacing = spacings.find((item) => item.id === state[FieldNames.SPACING])\n\n // TODO: added 29.05.2024 - teprorary relation for deleted worktype - remove it after 2 months\n // because persisted orders with this worktype can be with 0 price\n if (state[FieldNames.WORK_TYPE] === WorkTypeIds.GRADING_MARKING_DEP) {\n state[FieldNames.WORK_TYPE] = WorkTypeIds.WRITING_FROM_SCRATCH\n }\n // END TODO\n\n switch (action.payload.key) {\n case FieldNames.SUBJECT:\n subjectRelations(state, action.payload.value)\n break\n\n case FieldNames.ACADEMIC_LEVEL:\n academicLevelRelations(state, action.payload.value as AcademicLevelIds)\n break\n\n case FieldNames.PAPER_TYPE:\n workTypePaperTypeMirrorRelations(state, action)\n paperTypeRelations(state, action.payload.value)\n additionalFeaturesAIreport(state)\n break\n\n case FieldNames.WORK_TYPE:\n workTypePaperTypeMirrorRelations(state, action)\n workTypeRelations(state, action.payload.value as WorkTypeIds)\n additionalFeaturesAIreport(state)\n break\n\n case FieldNames.DEADLINE:\n deadlineRelations(state, action.payload.value as OrderValues[FieldNames.DEADLINE])\n break\n\n case FieldNames.SPACING:\n spacingRelations(state, currentSpacing)\n additionalFeaturesAIreport(state)\n break\n\n case FieldNames.PAGES_WORDS_SWITCHER:\n pagesWordsSwitcherRelations(state, action.payload.value)\n additionalFeaturesAIreport(state)\n break\n\n case FieldNames.QUANTITY_KEY:\n quantityKeyRelations(state, action.payload.value)\n additionalFeaturesAIreport(state)\n break\n\n case FieldNames.QUANTITY:\n state[FieldNames.WORDS] = Math.ceil(action.payload.value as OrderValues[FieldNames.QUANTITY] * currentSpacing.wordsCount)\n additionalFeaturesAIreport(state)\n break\n\n case FieldNames.WORDS:\n state[FieldNames.QUANTITY] = Math.ceil(action.payload.value as OrderValues[FieldNames.WORDS] / currentSpacing.wordsCount)\n additionalFeaturesAIreport(state)\n break\n\n default:\n break\n }\n\n // !!! this order is important - maxValueRelations should be the last\n AFFECTING_TO_MAX_VALUE_FIELDS.includes(action.payload.key) && maxValueRelations(state, currentSpacing)\n}\n", "import { createSlice, PayloadAction } from '@reduxjs/toolkit'\nimport localforage from 'localforage'\n\nimport type { PreferredOrderData } from './types/preferred-order'\nimport type { OrderState, OrderValues, Validation } from './types'\n\nimport { Entity } from '@qwerty.software/ui-order-form/src/contexts/constants'\n\nimport { fieldsRelations } from './fields-relations'\n\nimport {\n NAME,\n INITIAL_STATE,\n COMMON_PERSIST_BLACKLIST,\n\n MAX_QUANTITY_KEY,\n MAX_SLIDES_KEY,\n ORDER_SLICE_NAME,\n} from './constants'\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\n\nexport const orderSlice = createSlice({\n name: ORDER_SLICE_NAME,\n initialState: INITIAL_STATE,\n reducers: {\n init(state, action: PayloadAction) {\n return {...state, ...action.payload}\n },\n change(state, action: PayloadAction<{ key: K, value: OrderValues[K], entity?: Entity }>) {\n state[action.payload.key] = action.payload.value\n\n // !!! this order is important - fieldsRelations should be after change value\n fieldsRelations(state, action)\n state.orderChanged = true\n state.lastChangedAt = Date.now()\n\n if (!state.showReminder && action.payload.entity && action.payload.entity === Entity.MAIN) {\n state.showReminder = true\n }\n },\n validation(state, action: PayloadAction<{ key: TKey, validation: Validation }>) {\n if (action.payload.validation.valid) {\n delete state.validation[action.payload.key]\n return\n }\n\n state.validation[action.payload.key] = action.payload.validation\n },\n reset(state, action: PayloadAction<{ key?: K | K[] }>) {\n if (!action.payload?.key) {\n return { ...INITIAL_STATE }\n } else {\n const keys = Array.isArray(action.payload.key) ? action.payload.key : [action.payload.key]\n\n keys.forEach(key => {\n state[key] = INITIAL_STATE[key]\n })\n }\n\n state.orderChanged = false\n state.showReminder = false\n },\n\n // preferred order\n loadingPreferredOrderStart(state) {\n state.preferredOrder.isLoading = true\n },\n fetchPreferredOrderError(state, action: PayloadAction) {\n state.preferredOrder.isLoading = false\n state.preferredOrder.sended = false\n state.preferredOrder.errors = action.payload\n state.preferredOrder.data = undefined\n },\n checkPreferredOrder(state, action: PayloadAction) {\n state.preferredOrder.isLoading = false\n state.preferredOrder.data = action.payload\n state.preferredOrder.errors = undefined\n },\n cancelPreferredOrderData(state, action: PayloadAction<{shouldClearOnCancel?: boolean}>) {\n state.preferredOrder.data = undefined\n state.preferredOrder.errors = undefined\n state.preferredOrder.sended = false\n\n if (action.payload.shouldClearOnCancel) {\n state.preferredOrder.value = ''\n }\n },\n\n // place order pending\n placeOrderLoadingStart(state) {\n state.placeOrderPending = true\n },\n placeOrderLoadingStop(state) {\n state.placeOrderPending = false\n },\n },\n})\n\nexport const HYDRATED = (state: State): boolean => Boolean(state?.[orderSlice.name]?._persist?.rehydrated)\n\ninterface State {\n //@ts-ignore\n [orderSlice.name]: OrderState\n}\n\nexport const value = (name: Name) => (state: State): OrderValues[Name] => state[orderSlice.name][name]\nexport const validation = (name: Name) => (state: State): Validation => state[orderSlice.name].validation[name] ?? { valid: true }\nexport const ORDER = (state: State): OrderValues => state[orderSlice.name]\n\nexport const PLACE_ORDER_PENDING = (state: State) => state[orderSlice.name].placeOrderPending\nexport const SHOW_REMINDER = (state: State) => state[orderSlice.name].showReminder\nexport const ORDER_CHANGED = (state: State) => state[orderSlice.name].orderChanged\n\nexport const ORDER_LAST_CHANGED_AT = (state: State) => state[orderSlice.name].lastChangedAt\n\nexport const MAX_QUANTITY = (state: State) => state[orderSlice.name][MAX_QUANTITY_KEY]\nexport const MAX_SLIDES = (state: State) => state[orderSlice.name][MAX_SLIDES_KEY]\n\nexport * from './constants'\n\nexport const COMMON_PERSIST_CONFIG = {\n keyPrefix: '',\n key: orderSlice.name,\n // TODO: Disable serialization.\n // serialize: false,\n storage: localforage.createInstance({\n name: '[MSH] Storage',\n storeName: NAME,\n driver: [\n // localforage.INDEXEDDB,\n localforage.LOCALSTORAGE,\n ]\n }),\n blacklist: COMMON_PERSIST_BLACKLIST,\n}\n\nexport function GET_STATE(state: any) {\n return state[orderSlice.name] as OrderState\n}", "import { DEFAULT_WORDS_PER_PAGE, FieldNames, QuantityKeys, SpacingIds, WorkTypeIds } from \"@qwerty.software/ui-order-form/src/store/constants\"\nimport type { Values } from \"global-entities/price-data/hooks/useCalculator\"\n\nimport type { DiscountMeta } from 'global-entities/discount/definitions'\nimport { isDiscountData } from 'global-entities/discount/selectors'\n\nimport { OrderState } from '../order/types'\nimport { NAME as CURRENCY_FIELD_NAME, ICurrency } from \"@qwerty.software/currency-switcher/src/store/constants\"\n\nexport const ContextPDAdapter = (order: OrderState, currency: ICurrency, discount: Partial) => ({\n pages: 0,\n problems: 0,\n questions: 0,\n [FieldNames.WORDS]: 0,\n [`${order[FieldNames.QUANTITY_KEY]}`]: order.quantityKey === QuantityKeys.WORDS ? order.words : order.quantity,\n\n [FieldNames.SLIDES]: order.slides,\n [FieldNames.SPEAKER_NOTES]: order.speakerNotes,\n [FieldNames.DEADLINE]: order.deadline,\n [FieldNames.SPACING]: order.spacing,\n [FieldNames.WORK_TYPE]: order.workType,\n [FieldNames.PAPER_TYPE]: order.paperType,\n [FieldNames.ACADEMIC_LEVEL]: order.academicLevel,\n [FieldNames.WRITER_CATEGORY]: { chosenID: order.writerCategory },\n [FieldNames.ADDITIONAL_FEATURES]: order.additionalFeatures,\n [FieldNames.SOURCES]: order.sources,\n softcopies: order.softCopies,\n [FieldNames.SUBJECT]: order.subject,\n [CURRENCY_FIELD_NAME]: currency?.name,\n [FieldNames.SOFTWARE]: order.software.checked\n ? order.software.value\n : undefined,\n preferredOrderData: order.preferredOrder.sended && order.preferredOrder.data?.preferredWriterStatus\n ? { writerCategory: order.preferredOrder.data.preferredWriterStatus }\n : undefined,\n\n discountData: discount.applied && isDiscountData(discount?.data)\n ? discount.data.discount\n : undefined,\n\n ...((order[FieldNames.QUANTITY_KEY] === QuantityKeys.WORDS) ? {\n pages: Math.ceil(order.words / DEFAULT_WORDS_PER_PAGE),\n spacing: SpacingIds.DOUBLE,\n } : {}),\n\n\n ...((order[FieldNames.WORK_TYPE] === WorkTypeIds.MULTIPLY_CHOISE_QUESTIONS) ? {\n [FieldNames.SOFTWARE]: undefined,\n } : {}),\n\n ...((order[FieldNames.QUANTITY_KEY] === QuantityKeys.PROBLEMS || order[FieldNames.QUANTITY_KEY] === QuantityKeys.QUESTIONS) ? {\n spacing: SpacingIds.DOUBLE,\n slides: 0,\n speakerNotes: false,\n } : {}),\n\n ...((order[FieldNames.QUANTITY_KEY] === QuantityKeys.QUESTIONS) ? {\n sources: 0,\n softcopies: false,\n } : {}),\n\n} as Values)\n", "import { createSelector } from '@reduxjs/toolkit'\n\nimport calculator from '@qwerty.software/calc-of-price/adapters/microservices'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport { ORDER } from '../order'\nimport { ContextPDAdapter } from './ContextPDAdapter'\n\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\nimport { DEFAULT_CURRENCY } from '@qwerty.software/currency-switcher/src/store/constants'\nimport { DiscountMeta } from 'global-entities/discount/definitions'\n\ninterface Options {\n discountSelector: (state: any) => DiscountMeta\n}\n\nexport const createPriceDataSelector = (options: Options) => {\n const selector = createSelector(\n [ORDER, CURRENCY, options.discountSelector],\n (order, currency, discount) => {\n const adaptedOrderValues = ContextPDAdapter(order, currency, discount)\n\n const data = {\n fieldValues: adaptedOrderValues,\n bd: getBootstrapData().priceCalculatorAdapted,\n currency: currency.symbol,\n }\n\n const priceData = calculator({ ...data }, {\n currency: currency.name,\n rate: currency.rate\n })\n const priceDataBase = currency.name !== DEFAULT_CURRENCY.name\n ? calculator({ ...data }, {\n currency: DEFAULT_CURRENCY.name,\n rate: DEFAULT_CURRENCY.rate\n })\n : priceData\n\n return {\n priceData,\n values: adaptedOrderValues,\n priceDataBase,\n }\n },\n )\n\n return selector\n}\n\nexport const createPriceDataValuesSelector = (options: Options) => {\n const PRICE_DATA = createPriceDataSelector(options)\n\n return createSelector([PRICE_DATA], ({ values }) => values)\n}\n\nexport const createCurrentPriceDataSelector = (options: Options) => {\n const PRICE_DATA = createPriceDataSelector(options)\n\n return createSelector([PRICE_DATA], ({ priceData }) => priceData)\n}\n\nexport const createBasePriceDataSelector = (options: Options) => {\n const PRICE_DATA = createPriceDataSelector(options)\n\n return createSelector([PRICE_DATA], ({ priceDataBase }) => priceDataBase)\n}\n\nfunction GET_STATE(state: any) {\n return state as any\n}", "import { PreloadState } from 'global-entities/discount/definitions'\n\nimport type { DiscountData } from '../discount.d'\n\nfunction adaptee(discount): AsyncField {\n return {\n data: discount?.data,\n errors: discount?.preload?.error ? [discount.preload.error] : [],\n isLoading: ([\n PreloadState.PENDING,\n PreloadState.PROGRESS,\n ] as PreloadState[]).includes(discount?.preload?.state),\n sended: Date.now(),\n value: discount?.code\n }\n}\n\nexport default adaptee", "import { createSelector } from '@reduxjs/toolkit'\n\nimport _get from 'lodash/get'\n\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\nimport type { ICurrency } from '@qwerty.software/currency-switcher/src/store/constants'\nimport * as orderForm from '@qwerty.software/ui-order-form/src/store/slices/price-data/selectors'\n\nimport asyncFieldAdapter from './adapters/async-field'\n\nimport {\n DiscountVariant,\n\n DISCOUNT_SLICE,\n\n NOOP_DISCOUNT,\n\n Namespace,\n DiscountState,\n\n PreloadState,\n} from './definitions'\n\nimport type { DiscountData, SuccessData } from './discount.d'\n\nexport const isDiscountData = (data: DiscountData | null): data is SuccessData => Boolean(data?.discount)\n\nexport const GET_STATE = (state: any) => state[DISCOUNT_SLICE] as DiscountState\n\n/**\n * class - for reduce code: namespace is used in all selectors\n */\nclass Discount {\n constructor(\n protected readonly namespace: Namespace,\n ) { }\n\n public NOOP_DISCOUNT = NOOP_DISCOUNT\n public DiscountVariant = DiscountVariant\n public PreloadState = PreloadState\n public adapters = {\n asyncField: asyncFieldAdapter,\n }\n\n public DISCOUNT = createSelector([GET_STATE], state => state?.discount?.[this.namespace] || NOOP_DISCOUNT)\n\n public PRICE_DATA = orderForm.createPriceDataSelector({\n discountSelector: this.DISCOUNT,\n })\n\n public PRICE_DATA_VALUES = orderForm.createPriceDataValuesSelector({\n discountSelector: this.DISCOUNT,\n })\n\n public CURRENT_PRICE_DATA = orderForm.createCurrentPriceDataSelector({\n discountSelector: this.DISCOUNT,\n })\n\n public BASE_PRICE_DATA = orderForm.createBasePriceDataSelector({\n discountSelector: this.DISCOUNT,\n })\n\n public IS_APPLIED = createSelector([this.DISCOUNT], discount => discount.applied)\n public TYPE = createSelector([this.DISCOUNT], discount => isDiscountData(discount.data) ? discount.data.discount.type : null)\n public LIMIT = createSelector([this.TYPE], discountType => discountType?.limit ?? null)\n public PERCENT = createSelector([this.TYPE], discountType => discountType?.discount_rate ?? null)\n public SUM = createSelector([this.TYPE], discountType => discountType?.discount_sum ?? null)\n public VARIANT = createSelector([this.PERCENT, this.SUM, this.LIMIT], this.getVariant)\n public VARIANT_TITLE = createSelector([this.VARIANT, this.LIMIT, this.PERCENT, this.CURRENT_PRICE_DATA, CURRENCY], this.getVariantTitle)\n public ID = createSelector([this.DISCOUNT], discount => isDiscountData(discount.data) ? discount.data.discount?.id || null : null)\n public TITLE = createSelector([this.TYPE], discountType => discountType?.title ?? null)\n public CODE = createSelector([this.DISCOUNT], discount => discount.code ?? null)\n public PRELOAD_STATE = createSelector([this.DISCOUNT], discount => discount.preload?.state)\n\n public PENDING = createSelector([this.PRELOAD_STATE], state => state === PreloadState.PENDING)\n public PROGRESS = createSelector([this.PRELOAD_STATE], state => state === PreloadState.PROGRESS)\n public FULFILLED = createSelector([this.PRELOAD_STATE], state => state === PreloadState.FULFILLED)\n public REJECTED = createSelector([this.PRELOAD_STATE], state => state === PreloadState.REJECTED)\n\n protected getVariant(percent: number, sum: number, limit: number) {\n if ((limit || 0) > 0) {\n return DiscountVariant.LIMIT\n }\n\n if ((percent || 0) > 0) {\n return DiscountVariant.PERCENT\n }\n\n if ((sum || 0) > 0) {\n return DiscountVariant.SUM\n }\n\n return null\n }\n\n protected getVariantTitle(variant: DiscountVariant, limit: number, percent: number, { discountAmount }: { discountAmount: number }, currency: ICurrency) {\n if (!variant) {\n return null\n }\n\n switch (variant) {\n case DiscountVariant.LIMIT:\n return `${limit}%`\n\n case DiscountVariant.PERCENT:\n return `${percent}%`\n\n case DiscountVariant.SUM:\n default:\n return `${currency?.symbol}${discountAmount}`\n }\n }\n}\n\nexport default function DiscountFacade(namespace: string) {\n return new Discount(namespace)\n}", "import { ContextPDAdapter } from './ContextPDAdapter'\nimport { IPriceDataState } from './types'\nimport { INITIAL_STATE as INITIAL_ORDER_STATE } from '../order/constants'\nimport { DEFAULT_CURRENCY } from '@qwerty.software/currency-switcher/src/store/constants'\nimport { NOOP_DISCOUNT } from 'global-entities/discount/definitions'\n\nexport const NAME = 'order.price-data' as const\nexport const SLICE_NAME = `slice://${NAME}/` as const\n\nexport const INITIAL_PRICE_DATA = {\n discountAmount: 0,\n priceAdditionals: {\n softcopies: 0,\n software: 0,\n speakerNotes: 0,\n writerCategory: {\n additional: 0,\n basic: 0,\n total: 0,\n },\n additionalFeatures: {\n 4: 0,\n 5: 0,\n 8: 0,\n 9: 0,\n 10: 0,\n 12: 0,\n 13: 0,\n 14: 0,\n total: 0\n }\n },\n priceBasic: 0,\n priceBasicWithoutDiscount: 0,\n priceFullWithoutDiscount: 0,\n priceForCalculatorItems: 0,\n priceForCock: 0,\n priceForUnits: {\n pages: 0,\n problems: 0,\n questions: 0,\n slides: 0,\n software: 0,\n },\n priceFull: 0,\n pricePerUnit: {\n default: 0,\n pages: 0,\n problems: 0,\n questions: 0,\n slides: 0,\n software: 0,\n },\n technicalSubjectPricePB: 0,\n}\n\nexport const INITIAL_STATE: IPriceDataState = {\n priceData: INITIAL_PRICE_DATA,\n priceDataBase: INITIAL_PRICE_DATA,\n\n values: ContextPDAdapter(INITIAL_ORDER_STATE, DEFAULT_CURRENCY, NOOP_DISCOUNT),\n}\n", "import { createSlice, createSelector, PayloadAction } from '@reduxjs/toolkit'\n\nimport {\n SLICE_NAME,\n INITIAL_STATE,\n} from './constants'\nimport type { Values } from 'global-entities/price-data/hooks/useCalculator'\nimport { IPriceDataState, IPriceData } from './types'\n\nconst slice = createSlice({\n name: SLICE_NAME,\n initialState: INITIAL_STATE,\n reducers: {\n change(state: IPriceDataState, action: PayloadAction<{\n priceData: IPriceData,\n priceDataBase: IPriceData,\n adaptedOrderValues: Values,\n }>) {\n state.priceData = action.payload.priceData\n state.priceDataBase = action.payload.priceDataBase\n state.values = action.payload.adaptedOrderValues\n },\n },\n})\n\nexport const priceDataSlice = slice\n\nexport const PRICE_DATA_USD = createSelector(GET_STATE, state => state.priceDataBase)\nexport const PRICE_DATA = createSelector(GET_STATE, state => state.priceData)\nexport const PD_VALUES = createSelector(GET_STATE, state => state.values)\n\nfunction GET_STATE(state: {\n [slice.name]: IPriceDataState\n}) {\n return state[slice.name] as IPriceDataState\n}\n", "import _replace from 'lodash/replace'\nimport _toNumber from 'lodash/toNumber'\nimport { ICurrency } from '../store/constants'\n\nexport interface IUseReplacePriceViaCurrency {\n currency: ICurrency\n textWithPrice: string\n}\n\nexport const replacePriceViaCurrency = ({\n currency,\n textWithPrice,\n}) => {\n if (currency?.name === 'USD') {\n return textWithPrice\n }\n\n const priceValuesFromCaption = textWithPrice.includes('$') ? textWithPrice.match(/\\$\\d+(\\.\\d+)?/g) : null\n\n if (priceValuesFromCaption && priceValuesFromCaption.length > 0) {\n let modifiedText = textWithPrice\n priceValuesFromCaption.forEach(priceValue => {\n const priceValueFromCaption = _toNumber(priceValue.replace(/[^\\d\\.]*/g, ''))\n modifiedText = _replace(modifiedText, priceValue, `${currency.symbol}${(priceValueFromCaption * currency.rate).toFixed(2)}`)\n })\n\n return modifiedText\n }\n\n return textWithPrice\n}\n", "import axios from 'axios'\n\nimport type { SagaIterator } from 'redux-saga'\nimport { call, put, take, race, select, takeLatest } from 'redux-saga/effects'\n\nimport StoreManager from '@qwerty.software/store-manager'\n\nimport { reqHPromise } from 'utils/http-client/request-handler'\n\nimport _size from 'lodash/size'\nimport _isEmpty from 'lodash/isEmpty'\n\nimport { slice } from '../slice'\n\nimport Discount from '../selectors'\n\nimport {\n APPLY_DISCOUNT_SAGA,\n ApplyDiscountAction,\n\n appliedDiscount,\n\n CANCEL_APPLY_DISCOUNT,\n CancelApplyDiscountAction,\n\n DiscountResponse,\n} from '../definitions'\nimport { PreloadState } from 'global-entities/discount/definitions'\nimport notify from 'utils/notify'\nimport { PRICE_DATA_USD } from '@qwerty.software/ui-order-form/src/store/slices/price-data'\nimport { replacePriceViaCurrency } from '@qwerty.software/currency-switcher/src/utils/replace-price-via-currency'\n\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\n\ntype UpdateAction = typeof slice.actions.updateDiscount\ntype UpdatePayload = Parameters[0]\n\ntype Update = (discount: Omit) => ReturnType\n\ntype Pending = () => ReturnType\ntype Fulfilled = () => ReturnType\ntype Rejected = (error: string) => ReturnType\ntype Progress = (progress: number) => ReturnType\n\nexport function* applyDiscount(action: ApplyDiscountAction): SagaIterator {\n const { namespace, disableNotify, useCheckRoute } = action.payload\n\n const discountMeta = yield select(Discount(namespace).DISCOUNT)\n\n const update: Update = (discount) => slice.actions.updateDiscount({ namespace, ...discount })\n\n const pending: Pending = () => update({ discount: { preload: { state: PreloadState.PENDING, progress: 0, error: null } } })\n const progress: Progress = progress => update({ discount: { preload: { state: PreloadState.PROGRESS, progress, error: null } } })\n const fulfilled: Fulfilled = () => update({ discount: { preload: { state: PreloadState.FULFILLED, progress: 100, error: null }, applied: true } })\n const rejected: Rejected = error => update({ discount: { preload: { state: PreloadState.REJECTED, error }, applied: false } })\n\n let errorMessage = 'Something went wrong.'\n try {\n const { token, cancel } = axios.CancelToken.source()\n function* request() {\n let response: DiscountResponse | null = null\n try {\n yield put(pending())\n response = yield call(reqHPromise, {\n method: 'GET',\n url: useCheckRoute ? 'discounts/check' : 'discounts/get-current',\n params: {\n price: 0,\n code: discountMeta.code,\n },\n cancelToken: token,\n onUploadProgress: (progressEvent: ProgressEvent) => {\n const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total)\n\n StoreManager.getInstance().store.dispatch(progress(percentCompleted))\n },\n })\n yield put(fulfilled())\n } catch (error) {\n yield put(rejected(error.message))\n } finally {\n yield put(update({ response }))\n }\n\n return response\n }\n\n const result: {\n response?: DiscountResponse\n cancelation?: CancelApplyDiscountAction\n } = yield race({\n response: call(request),\n cancelation: take(`${CANCEL_APPLY_DISCOUNT}/${namespace}`)\n })\n\n if (result.cancelation) {\n cancel(errorMessage)\n\n return\n }\n\n const { data, errors } = result.response || {}\n\n if (!data || (Array.isArray(data) && data.length === 0)) {\n if ((errors?.length || 0) > 0) {\n throw new ResponseError(errors?.[0] || errorMessage)\n }\n\n throw new EmptyResponseError()\n }\n\n const price = yield select(PRICE_DATA_USD)\n const currency = yield select(CURRENCY)\n\n // @ts-ignore\n const priceActivationSum = data.discount?.type?.price_activation\n const modifiedText = replacePriceViaCurrency({ currency, textWithPrice: `Sorry, the code is valid for order over $${priceActivationSum}. Add pages or additional services on $${(priceActivationSum - price.priceFull).toFixed(2)} to activate the code` })\n\n if (data && priceActivationSum) {\n if (price.priceFull < priceActivationSum) {\n yield put(rejected(modifiedText))\n return\n }\n }\n\n yield put(update({\n discount: { applied: true },\n }))\n yield put(appliedDiscount(namespace))\n\n !disableNotify && notify.success('Your discount is applied.')\n } catch (error) {\n if (error instanceof ResponseError) {\n errorMessage = error.message\n }\n\n yield put(rejected(errorMessage))\n }\n}\n\nexport function* applyDiscontSagaWatcher() {\n yield takeLatest(APPLY_DISCOUNT_SAGA, applyDiscount)\n}\n\nexport class ResponseError extends Error { }\nexport class EmptyResponseError extends Error { }\n", "import AbstractStoreManager from './core'\nimport sagasManager from './sagas'\n\nclass StoreManager extends AbstractStoreManager {\n static async init(cb?: () => void): Promise {\n if (window.storeManager?.instance) {\n console.warn('Store already initialized')\n\n return\n }\n\n const instance = new StoreManager({})\n\n for await (const { } of instance.init(finish));\n\n function finish() {\n window.storeManager = { instance }\n\n cb?.()\n }\n }\n\n static getInstance(): StoreManager {\n if (!window.storeManager?.instance) {\n throw new Error('StoreManager not initialized')\n }\n\n return window.storeManager.instance\n }\n\n private async *init(cb?: () => void) {\n yield* this.initSyncSlices()\n yield* this.initSyncReducers()\n yield* this.initSyncSagas()\n\n yield* this.initAsyncSlices()\n yield* this.initAsyncReducers()\n yield* this.initAsyncSagas()\n\n cb?.()\n }\n\n private *initSyncSlices() {\n const slices = [\n require('global-entities/ref-to-interact-slice/store').slice,\n ]\n\n // @ts-ignore\n if (!window?.dev__disableDicountFilesSyncSLises) {\n const filesUploaderSlice = require('global-entities/files-uploader/slice').slice\n const filesUploaderPersistConfig = require('global-entities/files-uploader/slice').FILES_UPLOADER_PERSIST_CONFIG\n const discountSlice = require('global-entities/discount/slice').slice\n const discountPersistConfig = require('global-entities/discount/slice').DISCOUNT_PERSIST_CONFIG\n\n this.addSlice(filesUploaderSlice, filesUploaderPersistConfig)\n yield { slice: filesUploaderSlice }\n\n this.addSlice(discountSlice, discountPersistConfig)\n yield { slice: discountSlice }\n }\n\n for (const slice of slices) {\n this.addSlice(slice)\n\n yield { slice }\n }\n }\n\n private async *initAsyncSlices() {\n const slices = []\n\n for (const slice of slices) {\n await tick()\n\n this.addSlice(slice)\n\n yield { asyncSlice: slice }\n }\n }\n\n private *initSyncReducers() {\n const reducers = {\n 'userData': require('global-entities/user-data/reducer').default,\n ...require('global-entities/price-data').priceDataReducers,\n ...require('global-entities/geo-tag/store/reducer').geoTagReducers,\n ...require('@qwerty.software/live-chat/src/store').liveChatReducers,\n }\n\n for (const name in reducers) {\n this.addReducer(name, reducers[name])\n\n yield { reducer: reducers[name], name }\n }\n }\n\n private async *initAsyncReducers() {\n const reducers = {}\n\n for (const name in reducers) {\n await tick()\n\n this.addReducer(name, reducers[name])\n\n yield { asyncReducer: reducers[name], name }\n }\n }\n\n private *initSyncSagas() {\n const sagas = [\n require('utils/action-tracker/interior-track/store/sagas/track').default,\n ]\n\n for (const saga of sagas) {\n sagasManager.run(saga)\n\n yield { saga }\n }\n }\n\n private async *initAsyncSagas() {\n const liveChat = require('@qwerty.software/live-chat/src/store')\n const uploadFiles = require('global-entities/files-uploader/sagas/upload-files')\n const applyDiscount = require('global-entities/discount/sagas/apply-discount')\n\n const sagas = [\n liveChat.livechatOpenWatcher,\n liveChat.livechatInteractionWithUserWatcher,\n uploadFiles.uploadFilesSagaWatcher,\n applyDiscount.applyDiscontSagaWatcher,\n ]\n\n for (const saga of sagas) {\n await tick()\n\n sagasManager.run(saga)\n\n yield { asyncSaga: saga }\n }\n }\n}\n\nexport type StoreManagerClass = typeof StoreManager\nexport type StoreManagerInstance = StoreManager\n\nwindow.StoreManager = StoreManager\n\nexport default StoreManager\n\nfunction tick() {\n return new Promise((resolve) => setTimeout(resolve, 0))\n}", "import * as React from 'react'\n\nimport withCircularProgressbarContext, { CircularProgressbarProviderProps } from '../context/hoc'\n\nimport Root, { RootProps } from '../components/root'\nimport Track from '../components/track'\nimport Bar from '../components/bar'\n\nimport scssVariables from '../variables.module.scss'\nimport './_themes/default.scss'\nimport './styles.scss'\n\ninterface Props extends Omit {\n size?: React.CSSProperties['width']\n color?: React.CSSProperties['color']\n}\n\nexport default withCircularProgressbarContext(React.forwardRef(\n function CircularProgressbar({ size, color, ...props }, ref) {\n return (\n \n \n \n \n \n )\n })\n)\n\nexport type CircularProgressbarProps = Props & CircularProgressbarProviderProps\n\nexport const circularProgressbarClasses = {\n domain: scssVariables.domain,\n root: scssVariables.root,\n circularProgressbar: scssVariables['circular-progressbar'],\n track: scssVariables.track,\n bar: scssVariables.bar,\n determinate: scssVariables.determinate,\n indeterminate: scssVariables.indeterminate,\n} as const", "import * as React from 'react'\n\nimport CircularProgressbarProvider, { CircularProgressbarProviderProps as ProviderProps } from '.'\n\nconst withCircularProgressbar = (\n Component: React.ComponentType>\n) => React.forwardRef(({\n value,\n\n min,\n max,\n\n disableSpark,\n\n ...props\n}, ref) => (\n \n \n \n))\n\nexport type { ProviderProps as CircularProgressbarProviderProps }\n\nexport default withCircularProgressbar", "import * as React from 'react'\n\nimport { } from './definitions'\n\nexport interface CircularProgressbarProviderProps {\n value?: number\n\n min?: number\n max?: number\n\n disableSpark?: boolean\n}\n\ninterface Children {\n children: React.ReactNode\n}\n\ninterface CircularProgressbarContext extends Omit {\n percent: number\n\n isDeterminate: boolean\n isIndeterminate: boolean\n\n disableSpark?: boolean\n}\n\nconst context = React.createContext({} as CircularProgressbarContext)\nconst { Provider } = context\n\nexport const useCircularProgressbar = () => React.useContext(context)\n\nconst CircularProgressbarProvider: React.FC = ({\n value,\n\n min = 0,\n max = 100,\n\n disableSpark = false,\n\n children,\n}) => {\n if (value < min) {\n value = min\n }\n\n if (value > max) {\n value = max\n }\n\n const percent = React.useMemo(() => {\n if (value === undefined) {\n return 0\n }\n\n return parseFloat((100 * ((value - min) / (max - min))).toFixed(2))\n }, [\n value,\n min,\n max,\n ])\n\n const context = React.useMemo(() => ({\n value,\n\n percent,\n\n min,\n max,\n\n isDeterminate: value !== undefined,\n isIndeterminate: value === undefined,\n\n disableSpark,\n }), [\n value,\n percent,\n min,\n max,\n disableSpark,\n ])\n\n return (\n \n {children}\n \n )\n}\n\nexport default CircularProgressbarProvider", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useCircularProgressbar } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseDivProps = React.DetailedHTMLProps, HTMLDivElement>\n\nexport interface RootProps extends BaseDivProps { }\n\nconst Root = React.forwardRef(({\n className,\n\n ...props\n}, ref) => {\n const { isDeterminate, isIndeterminate, percent } = useCircularProgressbar()\n\n return (\n
\n )\n})\n\nexport default Root", "import 'css-chunk:src/variables.module.scss';export default {\n \"domain\": \"mono-ui_circular-progressbar\",\n \"same-width\": \"same-width\",\n \"root\": \"mono-ui_circular-progressbar\",\n \"circular-progressbar\": \"mono-ui_circular-progressbar__circular-progressbar\",\n \"track\": \"mono-ui_circular-progressbar__track\",\n \"bar\": \"mono-ui_circular-progressbar__bar\",\n \"spark\": \"mono-ui_circular-progressbar__spark\",\n \"determinate\": \"determinate\",\n \"indeterminate\": \"indeterminate\",\n \"animation__indeterminate_m\": \"mono-ui_circular-progressbar__animation--indeterminate-m\",\n \"animation__indeterminate_o\": \"mono-ui_circular-progressbar__animation--indeterminate-o\",\n \"animation__spark\": \"mono-ui_circular-progressbar__animation--spark\"\n};", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseSVGProps = React.DetailedHTMLProps, SVGSVGElement>\n\nexport interface TrackProps extends BaseSVGProps { }\n\nconst Track = React.forwardRef(({\n className,\n\n children,\n\n ...props\n}, ref) => {\n return (\n \n {children}\n \n )\n})\n\nexport default Track", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useCircularProgressbar } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseCircleProps = React.DetailedHTMLProps, SVGCircleElement>\n\nexport interface BarProps extends BaseCircleProps { }\n\nconst Bar: React.FC = ({\n className,\n\n ...props\n}) => {\n const barProps: BaseCircleProps = {\n ...props,\n\n className: clsx(\n scssVariables.bar,\n className,\n ),\n }\n\n return (\n \n )\n}\n\nexport default Bar", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport withButtonContext, { ButtonProviderProps } from '../context/hoc'\n\nimport BaseButton, { ButtonProps as BaseButtonProps } from '../components/button'\n\nimport useRipple, { RippleOptions } from 'ui/_hooks/use-ripple'\n\nimport scssVariables from '../variables.module.scss'\nimport './_themes/default.scss'\nimport './styles.scss'\n\ninterface Props extends Omit {\n fullWidth?: boolean\n readOnly?: boolean\n\n disableRipple?: boolean\n rippleOptions?: RippleOptions\n}\n\nexport default withButtonContext(React.forwardRef(\n function Button({\n children,\n\n fullWidth = false,\n readOnly = false,\n\n disableRipple = false,\n rippleOptions = {},\n\n ...props\n }, ref) {\n const [rippleClass] = useRipple({ disableRipple, ...rippleOptions })\n\n return (\n \n {children}\n \n )\n })\n)\n\nexport type ButtonProps = Props & ButtonProviderProps\n\nexport type { HandleClick as ClickHandler } from '../context/definitions'\n\nexport const buttonClasses = {\n root: scssVariables.root,\n button: scssVariables.button,\n\n fullWidth: scssVariables['full-width'],\n readOnly: scssVariables['read-only'],\n} as const", "import * as React from 'react'\n\nimport ButtonProvider, { ButtonProviderProps as ProviderProps } from '.'\n\nconst withButton = (\n Component: React.ComponentType>\n) => React.forwardRef(({\n name,\n\n form,\n\n value,\n onClick: handleClick,\n\n ...props\n}, ref) => (\n \n \n \n))\n\nexport type { ProviderProps as ButtonProviderProps }\n\nexport default withButton", "import * as React from 'react'\n\nimport { HandleClick } from './definitions'\n\nexport interface ButtonProviderProps {\n name: string\n\n form?: string\n\n value?: unknown\n onClick?: HandleClick\n}\n\ninterface Children {\n children: React.ReactNode\n}\n\ninterface ButtonContext extends Omit {\n onClick: React.MouseEventHandler\n}\n\nconst context = React.createContext({} as ButtonContext)\nconst { Provider } = context\n\nexport const useButton = () => React.useContext(context)\n\nconst ButtonProvider: React.FC = ({\n name,\n\n form,\n\n value,\n onClick,\n\n children,\n}) => {\n const _v = React.useRef(value)\n const _n = React.useRef(name)\n const _click = React.useRef(onClick)\n\n _v.current = value\n _n.current = name\n _click.current = onClick\n\n const handleClick = React.useCallback>(e => {\n _click.current?.(e, _v.current, _n.current)\n }, [])\n\n const fields = React.useMemo(() => ({\n name,\n\n form,\n\n value,\n }), [\n name,\n form,\n value,\n ])\n\n const context = React.useMemo(() => ({\n ...fields,\n\n onClick: handleClick,\n }), [\n fields,\n ])\n\n return (\n \n {children}\n \n )\n}\n\nexport default ButtonProvider", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useButton } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseButtonProps = React.DetailedHTMLProps, HTMLButtonElement>\n\nexport interface ButtonProps extends BaseButtonProps { }\n\nconst Button: React.FC = React.forwardRef(({\n className,\n\n ...props\n}, ref) => {\n const {\n name,\n\n form,\n\n value,\n onClick: handleClick,\n\n ...contextProps\n } = useButton()\n\n return (\n \n )\n})\n\nexport default Button", "import 'css-chunk:src/variables.module.scss';export default {\n \"domain\": \"mono-ui_button\",\n \"same-width\": \"same-width\",\n \"root\": \"mono-ui_button\",\n \"button\": \"mono-ui_button__button\",\n \"full-width\": \"full-width\",\n \"read-only\": \"read-only\"\n};", "import * as React from 'react'\n\nimport ripple from 'ripple-effects'\nimport hashsum from 'hash-sum'\n\nexport type RippleOptions = Parameters[1]\n\ntype UseRippleOptions = RippleOptions & {\n disableRipple?: boolean\n}\n\ntype RippleDestroy = () => boolean\nconst NOOP_DESTROY: RippleDestroy = () => false\n\nconst useRipple = ({ disableRipple, ...rippleOptions }: UseRippleOptions) => {\n const id = React.useId()\n const rippleClass = React.useMemo(() => [id.replace(/:/g, ''), 'ripple'].join('-'), [id])\n\n const destroy = React.useRef(NOOP_DESTROY)\n\n React.useEffect(() => {\n if (!disableRipple) {\n const { destroy: rippleDestroy } = ripple(`.${rippleClass}`, {\n background: 'rgba(200, 200, 200, 0.75)',\n ...rippleOptions\n })\n\n destroy.current = () => {\n rippleDestroy()\n\n return true\n }\n\n return () => {\n rippleDestroy()\n }\n }\n }, [disableRipple, hashsum(rippleOptions)])\n\n return [rippleClass, destroy.current] as const\n}\n\nexport default useRipple", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport type { Gap, Align } from '../context/definitions'\n\nimport usePosition from 'hooks/use-position'\nimport useAnchor from '../hooks/use-anchor'\nimport useOpen from '../hooks/use-open'\nimport usePortal from '../hooks/use-portal'\nimport useRender from '../hooks/use-render'\n\nimport scssVariables from '../variables.module.scss'\nimport './styles.scss'\n\ninterface Options {\n open?: boolean\n\n gap: Partial\n align: Partial\n\n disabled?: boolean\n clickOnly?: boolean\n\n triggers?: Array<'click' | 'hover'>,\n}\n\n/**\n * Tooltip without parent react render tree.\n * More usefull for difficult cases.\n * (e.g. tooltip for button in table cell or target element rendered not by react)\n */\nexport default function useTooltip(\n tooltip: React.ReactNode,\n deps: React.DependencyList,\n options: Partial = {},\n) {\n //# options normalization start\n let openState = React.useState(false)\n openState = React.useMemo(() => [\n typeof options.open !== 'undefined' ? options.open : openState[0],\n openState[1],\n ], [options.open || openState?.[0]])\n const _options = React.useMemo(() => ({\n ...options,\n gap: {\n x: options.gap?.x ?? 0,\n y: options.gap?.y ?? 0,\n ...(options.gap || {}),\n },\n align: {\n x: options.align?.x ?? 'right',\n y: options.align?.y ?? 'middle',\n ...(options.align || {}),\n },\n }), [options.gap?.x, options.gap?.y, options.align?.x, options.align?.y])\n //# options normalization end\n\n const [open, setOpen] = openState\n\n const [anchor, anchorRef] = useAnchor()\n\n const portal = usePortal(open, {\n className: clsx(scssVariables.portal),\n gap: _options.gap,\n })\n\n const _tooltip = React.useMemo(() => {\n if (['string', 'number'].includes(typeof tooltip)) {\n return {tooltip}\n }\n\n return tooltip\n }, deps)\n\n\n useRender(portal, _tooltip, deps)\n\n usePosition(portal, anchor, open, {\n align: _options.align,\n })\n\n useOpen(\n { anchor, tooltip: portal.current },\n openState,\n options?.triggers || ['click'],\n 300,\n options.disabled,\n options.clickOnly,\n )\n\n return [anchorRef, anchor] as const\n}\n\nexport type { } from '../context/definitions'\n\nexport const buttonClasses = {\n root: scssVariables.root,\n portal: scssVariables.portal,\n tooltip: scssVariables.tooltip,\n} as const\n\n", "import * as React from 'react'\n\nimport coords from './coords'\n\nimport {\n Align,\n} from './definitions'\n\nfunction usePosition(\n portal: React.RefObject,\n anchor: HTMLElement,\n open: boolean,\n options: {\n align: Align\n }\n) {\n const handlePosition = React.useCallback(() => {\n if (!anchor) {\n return\n }\n\n const portalPoint = portal.current.getBoundingClientRect()\n const anchorPoint = anchor.getBoundingClientRect()\n\n const [x, y] = coords(portalPoint, anchorPoint, options.align)\n\n portal.current.style.setProperty('--x', `${x}px`)\n portal.current.style.setProperty('--y', `${y}px`)\n }, [anchor, open, options.align.x, options.align.y, portal])\n\n React.useEffect(() => {\n handlePosition()\n\n window.addEventListener('resize', handlePosition)\n window.addEventListener('scroll', handlePosition)\n\n return () => {\n window.removeEventListener('resize', handlePosition)\n window.removeEventListener('scroll', handlePosition)\n }\n }, [handlePosition])\n}\n\nexport default usePosition\n\n", "import type { Point, Align } from './definitions'\n\nfunction coords(portal: Point, anchor: Point, align: Align): [x: number, y: number] {\n return [\n xCoord(portal, anchor, align),\n yCoord(portal, anchor, align),\n ]\n}\n\nexport default coords\n\nfunction xCoord(portal: Point, anchor: Point, align: Align) {\n if (align.y === 'middle') {\n switch (align.x) {\n case 'left': {\n const x = anchor.x - portal.width\n\n if (x < 0) {\n return 0\n }\n\n return x\n }\n\n case 'right': {\n const x = anchor.x + anchor.width\n\n if (x + portal.width > window.innerWidth) {\n return window.innerWidth - portal.width\n }\n\n return x\n }\n\n default: break\n }\n }\n\n switch (align.x) {\n case 'left': {\n return anchor.x\n }\n\n case 'center': {\n return anchor.x + anchor.width / 2 - portal.width / 2\n }\n\n case 'right': {\n return anchor.x + anchor.width - portal.width\n }\n\n default: {\n return anchor.x\n }\n }\n}\n\nfunction yCoord(portal: Point, anchor: Point, align: Align) {\n switch (align.y) {\n case 'top': {\n const y = anchor.y - portal.height\n\n if (y < 0) {\n return 0\n }\n\n return y\n }\n\n case 'middle': {\n return anchor.y + anchor.height / 2 - portal.height / 2\n }\n\n case 'bottom': {\n const y = anchor.y + anchor.height\n\n if (y + portal.height > window.innerHeight) {\n return window.innerHeight - portal.height\n }\n\n return y\n }\n\n default: {\n return anchor.y\n }\n }\n}", "import * as React from 'react'\n\n/**\n * React ref, but with trigger re-rendering when ref changes.\n * \n * @returns ref-like function\n */\nfunction useAnchor<\n TElement extends HTMLElement = HTMLElement,\n>() {\n const [anchor, setAnchor] = React.useState(null)\n const ref = React.useCallback((node: TElement | null) => {\n setAnchor(prevAnchor => {\n if (node !== prevAnchor) {\n return node\n }\n\n return prevAnchor\n })\n }, [])\n\n return [anchor, ref] as const\n}\n\nexport default useAnchor", "import * as React from 'react'\n\nfunction useOpen(\n nodes: {\n anchor: HTMLElement | null,\n tooltip: HTMLElement | null,\n },\n openState: ReturnType>,\n triggers: Array<'click' | 'hover'>,\n closeDelay: number = 300,\n disabled: boolean = false,\n clickOnly: boolean = false,\n) {\n const mdDown = matchMedia(\"(max-width: 991px)\").matches\n const isMouseDevice = matchMedia('(pointer:fine)').matches\n const isTouchDevice = matchMedia('(pointer:coarse)').matches\n\n let _triggers = isMouseDevice && !mdDown ? triggers : ['click']\n\n const _nodes = React.useRef(nodes)\n\n React.useEffect(() => {\n _nodes.current = nodes\n }, [nodes.anchor, nodes.tooltip])\n\n const [open, setOpen] = openState\n const delayTimeout = React.useRef(null)\n\n React.useEffect(() => {\n if (!nodes.anchor || !nodes.tooltip || disabled) {\n return\n }\n\n const { anchor, tooltip } = nodes\n\n const handleOpen = (e) => {\n e.stopPropagation()\n\n if (delayTimeout.current) {\n clearTimeout(delayTimeout.current)\n }\n\n delayTimeout.current = setTimeout(setOpen, 0, true)\n }\n const handleClose = () => {\n if (delayTimeout.current) {\n clearTimeout(delayTimeout.current)\n }\n\n delayTimeout.current = setTimeout(setOpen, closeDelay, false)\n }\n\n const handleCloseImidiate = () => {\n setOpen(false)\n\n if (delayTimeout.current) {\n clearTimeout(delayTimeout.current)\n }\n }\n\n const handleResetTimeout = (e: MouseEvent) => {\n for (let target = e.target as HTMLElement; target; target = target.parentElement) {\n if ((target === tooltip || target === anchor) && delayTimeout.current) {\n return clearTimeout(delayTimeout.current)\n }\n }\n\n delayTimeout.current = setTimeout(setOpen, 50, false) // fallback\n }\n\n const handleOutsideClick = (e) => {\n if (tooltip && !tooltip.contains(e.currentTarget)) {\n handleCloseImidiate()\n }\n\n if (e.target.dataset.closeTooltip) {\n handleCloseImidiate()\n }\n }\n\n if (open) {\n document.addEventListener('scroll', handleCloseImidiate)\n\n if (isMouseDevice && !clickOnly) {\n document.addEventListener('mouseenter', handleResetTimeout)\n document.addEventListener('mousemove', handleResetTimeout)\n document.addEventListener('mouseover', handleResetTimeout)\n }\n\n for (const trigger of _triggers) {\n switch (trigger) {\n case 'click':\n document.addEventListener('click', handleOutsideClick)\n\n anchor.addEventListener('click', handleCloseImidiate)\n\n if (!clickOnly) {\n anchor.addEventListener('blur', handleCloseImidiate)\n\n if (isTouchDevice) {\n anchor.addEventListener('mouseleave', handleCloseImidiate)\n } else {\n anchor.addEventListener('mouseleave', handleClose)\n }\n }\n\n tooltip.addEventListener('mouseleave', handleCloseImidiate)\n break\n case 'hover':\n anchor.addEventListener('mouseleave', handleClose)\n tooltip.addEventListener('mouseleave', handleCloseImidiate)\n break\n default:\n break\n }\n }\n\n return () => {\n document.removeEventListener('scroll', handleCloseImidiate)\n\n if (isMouseDevice && !clickOnly) {\n document.removeEventListener('mouseenter', handleResetTimeout)\n document.removeEventListener('mousemove', handleResetTimeout)\n document.removeEventListener('mouseover', handleResetTimeout)\n }\n\n for (const trigger of _triggers) {\n switch (trigger) {\n case 'click':\n document.removeEventListener('click', handleOutsideClick)\n\n anchor.removeEventListener('click', handleCloseImidiate)\n\n if (!clickOnly) {\n anchor.removeEventListener('blur', handleCloseImidiate)\n\n if (isTouchDevice) {\n anchor.removeEventListener('mouseleave', handleCloseImidiate)\n } else {\n anchor.removeEventListener('mouseleave', handleClose)\n }\n }\n\n tooltip.removeEventListener('mouseleave', handleCloseImidiate)\n break\n\n case 'hover':\n anchor.removeEventListener('mouseleave', handleClose)\n tooltip.removeEventListener('mouseleave', handleCloseImidiate)\n break\n default:\n break\n }\n }\n }\n } else {\n for (const trigger of _triggers) {\n switch (trigger) {\n case 'click':\n anchor.addEventListener('click', handleOpen)\n break\n case 'hover':\n anchor.addEventListener('mouseenter', handleOpen)\n break\n default:\n break\n }\n }\n\n return () => {\n for (const trigger of _triggers) {\n switch (trigger) {\n case 'click':\n anchor.removeEventListener('click', handleOpen)\n break\n case 'hover':\n anchor.removeEventListener('mouseenter', handleOpen)\n break\n default:\n break\n }\n }\n }\n }\n }, [open, nodes.anchor, nodes.tooltip, _triggers, disabled, isMouseDevice, isTouchDevice, delayTimeout?.current, clickOnly])\n}\n\nexport default useOpen", "import * as React from 'react'\nimport { Gap } from './use-position/definitions'\n\ninterface Options {\n className?: string\n\n gap?: Partial\n}\n\n/**\n * Create HTML element and insert it into body, when \"open\".\n */\nfunction usePortal(open: boolean, options: Options = {}) {\n options = {\n ...options,\n gap: {\n x: 0,\n y: 0,\n ...options.gap,\n },\n }\n\n const portal = React.useRef(document.createElement('div'))\n\n if (options.className) {\n portal.current.classList.toggle(options.className, true)\n }\n\n // portal.current.style['margin'] = `${options.gap.y * -1}px ${options.gap.x * -1}px`\n portal.current.style['padding'] = `${options.gap.y}px ${options.gap.x}px`\n\n const timeout = React.useRef(null)\n\n React.useEffect(() => {\n if (open) {\n if (timeout.current) {\n clearTimeout(timeout.current)\n }\n\n document.body.appendChild(portal.current)\n\n timeout.current = setTimeout(() => {\n portal.current.classList.add('opened')\n }, 0)\n\n return () => {\n if (timeout.current) {\n clearTimeout(timeout.current)\n }\n\n onTransition(portal.current, () => {\n if (portal.current.parentNode === document.body) {\n document.body.removeChild(portal.current)\n }\n })\n\n portal.current.classList.remove('opened')\n }\n }\n }, [open])\n\n return portal\n}\n\nexport default usePortal\n\nasync function onTransition(portal: HTMLElement, callback: (() => void), timeout: number = 100) {\n const result = await Promise.race([\n new Promise(resolve => {\n portal.addEventListener('transitionstart', done1)\n\n function done1() {\n resolve(true)\n\n portal.removeEventListener('transitionstart', done1)\n }\n }),\n new Promise(resolve => {\n setTimeout(resolve, timeout, false)\n }),\n ])\n\n if (!result) {\n callback()\n\n return\n }\n\n portal.addEventListener('transitionend', done2)\n\n function done2() {\n callback()\n\n portal.removeEventListener('transitionend', done2)\n }\n}", "import * as React from 'react'\nimport ReactDOM from 'react-dom/client'\n\n/**\n * Create react subrenderer and render children into portal.\n * Need for using as hook without return to default render functon.\n */\nfunction useRender<\n TElement extends HTMLElement = HTMLElement,\n>(portal: React.RefObject, children: React.ReactNode, deps: React.DependencyList) {\n const [root] = React.useState(() => ReactDOM.createRoot(portal.current))\n\n React.useEffect(() => {\n root.render(children)\n\n // return () => {\n // root.unmount()\n // }\n }, deps)\n}\n\nexport default useRender", "import 'css-chunk:src/variables.module.scss';export default {\n \"domain\": \"mono-ui_tooltip\",\n \"same-width\": \"same-width\",\n \"root\": \"mono-ui_tooltip__root\",\n \"portal\": \"mono-ui_tooltip__portal\",\n \"tooltip\": \"mono-ui_tooltip__tooltip\"\n};", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport withInputContext, { InputProviderProps } from '../context/hoc'\n\nimport BaseInput, { InputProps as BaseInputProps } from '../components/input'\n\nimport scssVariables from '../variables.module.scss'\nimport './_themes/default.scss'\nimport './styles.scss'\n\ninterface Props extends Omit {\n error?: boolean\n fullWidth?: boolean\n}\n\nexport default withInputContext(React.forwardRef(\n function Input({\n error = false,\n fullWidth = false,\n\n ...props\n }, ref) {\n return (\n \n )\n })\n)\n\nexport type InputProps = Props & InputProviderProps\n\nexport type { HandleChange as ChangeHandler } from '../context/definitions'\n\nexport const buttonClasses = {\n root: scssVariables.root,\n input: scssVariables.input,\n\n fullWidth: scssVariables['full-width'],\n} as const", "import * as React from 'react'\n\nimport InputProvider, { InputProviderProps as ProviderProps } from '.'\n\nconst withInput = (\n Component: React.ComponentType>\n) => React.forwardRef(({\n name,\n\n form,\n\n value,\n onChange: handleChange,\n\n ...props\n}, ref) => (\n \n \n \n))\n\nexport type { ProviderProps as InputProviderProps }\n\nexport default withInput", "import * as React from 'react'\n\nimport { HandleChange } from './definitions'\n\nexport interface InputProviderProps {\n name: string\n\n form?: string\n\n value: string\n onChange: HandleChange\n}\n\ninterface Children {\n children: React.ReactNode\n}\n\ninterface InputContext extends Omit {\n onChange: React.ChangeEventHandler\n}\n\nconst context = React.createContext({} as InputContext)\nconst { Provider } = context\n\nexport const useInput = () => React.useContext(context)\n\nconst InputProvider: React.FC = ({\n name,\n\n form,\n\n value,\n onChange,\n\n children,\n}) => {\n const handleChange = React.useCallback>(e => {\n onChange?.(e, e.target.value, e.target.name)\n }, [onChange])\n\n const fields = React.useMemo(() => ({\n name,\n\n form,\n\n value,\n }), [\n name,\n form,\n value,\n ])\n\n const context = React.useMemo(() => ({\n ...fields,\n\n onChange: handleChange,\n }), [\n fields,\n\n handleChange,\n ])\n\n return (\n \n {children}\n \n )\n}\n\nexport default InputProvider", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useInput } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseInputProps = React.DetailedHTMLProps, HTMLInputElement>\n\nexport interface InputProps extends Omit { }\n\nexport default React.forwardRef(\n function Input({\n className,\n\n ...props\n }, ref) {\n const {\n name,\n\n form,\n\n value,\n onChange: handleChange,\n\n ...contextProps\n } = useInput()\n\n return (\n \n )\n }\n)", "import 'css-chunk:src/variables.module.scss';export default {\n \"domain\": \"mono-ui_input\",\n \"same-width\": \"same-width\",\n \"root\": \"mono-ui_input\",\n \"input\": \"mono-ui_input__input\",\n \"full-width\": \"full-width\"\n};", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport withSelectContext, { SelectProviderProps } from '../context/hoc'\n\nimport BaseSelect, { SelectProps as BaseSelectProps } from '../components/select'\n\nimport scssVariables from '../variables.module.scss'\nimport './_themes/default.scss'\nimport './styles.scss'\n\ninterface Props extends Omit {\n fullWidth?: boolean\n readOnly?: boolean\n\n _overrideVariant?: string\n}\n\nexport default withSelectContext(React.forwardRef(\n function Select({\n children,\n\n fullWidth,\n readOnly,\n\n _overrideVariant = 'default',\n\n ...props\n }, ref) {\n return (\n \n {children}\n \n )\n }\n))\n\nexport type SelectProps = Props & SelectProviderProps\n\nexport type { HandleChange as ChangeHandler } from '../context/definitions'\n\nexport { default as Option } from '../components/option'\nexport type { OptionProps } from '../components/option'\n\nexport { default as OptGroup } from '../components/optgroup'\nexport type { OptGroupProps } from '../components/optgroup'\n\nexport const buttonClasses = {\n root: scssVariables.root,\n select: scssVariables.select,\n option: scssVariables.option,\n optgroup: scssVariables.optgroup,\n\n fullWidth: scssVariables['full-width'],\n readOnly: scssVariables['read-only'],\n} as const", "import * as React from 'react'\n\nimport SelectProvider, { SelectProviderProps as ProviderProps } from '.'\n\nconst withSelect = (\n Component: React.ComponentType>\n) => React.forwardRef(({\n name,\n\n form,\n\n value,\n onChange,\n\n ...props\n}, ref) => (\n \n \n \n))\n\nexport type { ProviderProps as SelectProviderProps }\n\nexport default withSelect", "import * as React from 'react'\n\nimport {\n HandleChange,\n} from './definitions'\n\nexport interface SelectProviderProps {\n name: string\n\n form?: string\n\n value: string | number\n onChange?: HandleChange\n}\n\ninterface Children {\n children: React.ReactNode\n}\n\ninterface SelectContext extends Omit {\n onChange: React.ChangeEventHandler\n}\n\nconst context = React.createContext({} as SelectContext)\nconst { Provider } = context\n\nexport const useSelect = () => React.useContext(context)\n\nconst SelectProvider: React.FC = ({\n children,\n\n ...props\n}) => {\n const _n = React.useRef(props.name)\n const _v = React.useRef(props.value)\n\n _n.current = props.name\n _v.current = props.value\n\n const handleChange = React.useCallback(e => {\n props.onChange?.(e, e.target.value, _n.current)\n }, [])\n\n const context = React.useMemo(() => ({\n name: props.name,\n\n form: props.form,\n\n value: props.value,\n onChange: handleChange,\n }), [\n props.name,\n props.form,\n props.value,\n handleChange,\n ])\n\n return (\n \n {children}\n \n )\n}\n\nexport default SelectProvider", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport Option, { OptionProps } from './option'\nimport OptGroup, { OptGroupProps } from './optgroup'\n\nimport { useSelect } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseSelectProps = React.DetailedHTMLProps, HTMLSelectElement>\ntype Child = React.ReactElement | React.ReactElement\n\nexport interface SelectProps extends Omit {\n children: Child | Child[]\n}\n\nexport default React.forwardRef(\n function Select({\n className,\n\n children,\n\n ...props\n }, ref) {\n const {\n name,\n\n form,\n\n value,\n onChange: handleChange,\n } = useSelect()\n\n // comment valiation because I need to use select with react fragments\n\n // React.useEffect(() => {\n // React.Children.forEach(children, child => {\n // if (React.isValidElement(child) && (child.type === Option || child.type === OptGroup)) {\n // return\n // }\n\n // throw new Error('\"Select\" component only accepts \"Option\" or \"OptGroup\" as children')\n // })\n // }, [children])\n\n return (\n \n {children}\n \n )\n }\n)", "import 'css-chunk:src/variables.module.scss';export default {\n \"domain\": \"mono-ui_select\",\n \"same-width\": \"same-width\",\n \"root\": \"mono-ui_select\",\n \"select\": \"mono-ui_select__select\",\n \"option\": \"mono-ui_select__option\",\n \"optgroup\": \"mono-ui_select__optgroup\",\n \"full-width\": \"full-width\",\n \"read-only\": \"read-only\"\n};", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseOptionProps = React.DetailedHTMLProps, HTMLOptionElement>\n\nexport interface OptionProps extends Omit {\n children: string\n}\n\nexport default React.forwardRef(\n function Option({\n className,\n\n children,\n\n ...props\n }, ref) {\n return (\n \n )\n }\n)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport Option, { OptionProps } from './option'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseOptGroupProps = React.DetailedHTMLProps, HTMLOptGroupElement>\ntype Child = React.ReactElement\n\nexport interface OptGroupProps extends Omit {\n children: Child | Child[]\n}\n\nexport default React.forwardRef(\n function OptGroup({\n className,\n\n children,\n\n ...props\n }, ref) {\n React.useEffect(() => React.Children.forEach(children, child => {\n if (React.isValidElement(child) && (child.type === Option)) {\n return\n }\n\n throw new Error('\"OptGroup\" component only accepts \"Option\"')\n }), [children])\n\n return (\n \n {children}\n \n )\n }\n)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport BaseTextArea, { TextAreaProps as BaseTextAreaProps } from '../components/textarea'\n\nimport scssVariables from '../variables.module.scss'\nimport './_themes/default.scss'\nimport './styles.scss'\n\ninterface Props extends BaseTextAreaProps {\n fullWidth?: boolean\n autoSize?: boolean\n}\n\nexport default ({\n fullWidth = false,\n autoSize = true,\n onChange,\n\n ...props\n}) => {\n return (\n \n )\n}\n\nexport type TextAreaProps = Props\n\nexport interface ChangeHandler {\n (event: React.ChangeEvent, text: string, name: string): void\n}\n\nexport const textAreaClasses = {\n root: scssVariables.root,\n textarea: scssVariables.textarea,\n\n fullWidth: scssVariables['full-width'],\n} as const", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport scssVariables from '../variables.module.scss'\nimport { ChangeHandler } from 'variant_default'\n\nconst MIN_ROWS_DEFAULT = 1\n\ntype BaseTextAreaProps = React.DetailedHTMLProps, HTMLTextAreaElement>\n\nexport interface TextAreaProps extends Omit {\n onChange: ChangeHandler\n autoSize?: boolean\n}\n\nconst BaseTextArea: React.FC = ({ className, name, form, value, onChange, autoSize: withAutoSize, ...props }) => {\n const ref = React.useRef(null)\n\n var minRows = props.rows || MIN_ROWS_DEFAULT;\n\n const resizeTextarea = React.useCallback(() => {\n if (ref.current.scrollTop === 0) {\n ref.current.scrollTop = 1\n }\n\n while (ref.current.scrollTop === 0) {\n if (ref.current.rows > minRows) {\n ref.current.rows--\n } else {\n break\n }\n\n ref.current.scrollTop = 1\n if (ref.current.scrollTop > 0) {\n ref.current.rows++\n break\n }\n }\n\n while(ref.current.scrollTop > 0) {\n ref.current.rows++\n\n if (ref.current.scrollTop == 0) {\n ref.current.scrollTop = 1\n }\n }\n }, [ref.current, minRows])\n\n React.useEffect(() => {\n if (withAutoSize) {\n resizeTextarea()\n }\n }, [value])\n\n const handleChange= (e) => {\n onChange(e, e.target.value, name)\n }\n\n return (\n \n )\n}\n\nexport default BaseTextArea", "import 'css-chunk:src/variables.module.scss';export default {\n \"domain\": \"mono-ui\",\n \"same-width\": \"same-width\",\n \"root\": \"mono-ui_textarea\",\n \"textarea\": \"mono-ui_textarea\",\n \"autosize\": \"mono-ui_textarea_autosize\",\n \"full-width\": \"full-width\"\n};", "import * as React from 'react'\n\nimport withDropzoneContext, { DropzoneProviderProps } from '../context/hoc'\n\nimport Root, { RootProps } from '../components/root'\nimport Backdrop from '../components/backdrop'\nimport DragMessage from '../components/drag-message'\nimport DropMessage from '../components/drop-message'\n\nimport scssVariables from '../variables.module.scss'\nimport './_themes/default.scss'\nimport './styles.scss'\n\ninterface Props extends Omit {\n dragMessage?: React.ReactNode\n dropMessage?: React.ReactNode\n}\n\nexport default withDropzoneContext(React.forwardRef(\n function Dropzone({\n dragMessage,\n dropMessage,\n\n ...props\n }, ref) {\n return (\n \n \n \n \n \n \n )\n })\n)\n\nexport type DropzoneProps = Props & DropzoneProviderProps\n\nexport type { FilesHandler } from '../context/definitions'\n\nexport const buttonClasses = {\n domain: scssVariables['domain'],\n root: scssVariables['root'],\n input: scssVariables['input'],\n backdrop: scssVariables['backdrop'],\n dragMessage: scssVariables['drag-message'],\n dragMessageCaption: scssVariables['drag-message-caption'],\n dropMessage: scssVariables['drop-message'],\n\n icon: scssVariables['icon'],\n iconClip: scssVariables['icon--clip'],\n iconUpload: scssVariables['icon--upload'],\n\n active: scssVariables['active'],\n blur: scssVariables['blur'],\n focus: scssVariables['focus'],\n drag: scssVariables['drag'],\n\n animationBounce: scssVariables['animation--bounce'],\n\n fullWidth: scssVariables['full-width'],\n readOnly: scssVariables['read-only'],\n} as const", "import * as React from 'react'\n\nimport DropzoneProvider, { DropzoneProviderProps as ProviderProps } from '.'\n\nconst withDropzone = (\n Component: React.ComponentType>\n) => React.forwardRef(({\n name,\n\n form,\n\n onFiles: handleFiles,\n\n dragMessage,\n dropMessage,\n\n dropzoneOptions,\n\n ...props\n}, ref) => (\n \n \n \n))\n\nexport type { ProviderProps as DropzoneProviderProps }\n\nexport default withDropzone", "import * as React from 'react'\nimport { useDropzone as useReactDropzone, DropzoneState, DropzoneOptions, DropEvent, FileRejection } from 'react-dropzone'\n\nimport { FilesHandler } from './definitions'\n\nexport interface DropzoneProviderProps {\n name: string\n\n form?: string\n\n onFiles?: FilesHandler\n\n dragMessage?: React.ReactNode\n dropMessage?: React.ReactNode\n\n dropzoneOptions?: DropzoneOptions\n}\n\ninterface Children {\n children: React.ReactNode\n}\n\ninterface DropzoneContext\n extends Omit,\n Omit {\n rootProps: ReturnType['getRootProps']>\n inputProps: ReturnType['getInputProps']>\n}\n\nconst context = React.createContext({} as DropzoneContext)\nconst { Provider } = context\n\nexport const useDropzone = () => React.useContext(context)\n\nconst DropzoneProvider: React.FC = ({\n name,\n\n form,\n\n onFiles: handleFiles,\n\n dragMessage,\n dropMessage,\n\n children,\n\n dropzoneOptions = {},\n}) => {\n const _n = React.useRef(name)\n\n _n.current = name\n\n const handleDrop = React.useCallback['onDrop']>((\n acceptedFiles: File[],\n fileRejections: FileRejection[],\n event: DropEvent | null,\n ) => {\n handleFiles?.(\n event,\n fileRejections.length > 0 ? fileRejections : null,\n acceptedFiles,\n _n.current,\n )\n }, [handleFiles])\n\n const { getRootProps, getInputProps, ...state } = useReactDropzone({\n ...dropzoneOptions,\n onDrop: handleDrop,\n noClick: true,\n })\n const rootProps = getRootProps()\n const inputProps = getInputProps()\n\n const fields = React.useMemo(() => ({\n name,\n\n form,\n\n rootProps,\n inputProps,\n\n ...state,\n }), [\n name,\n form,\n\n state.isFocused,\n state.isDragActive,\n state.isDragAccept,\n state.isDragReject,\n state.isFileDialogActive,\n state.acceptedFiles,\n state.fileRejections,\n state.rootRef,\n state.inputRef,\n state.open,\n\n rootProps,\n inputProps,\n ])\n\n const context = React.useMemo(() => ({\n ...fields,\n\n dragMessage,\n dropMessage,\n\n onChange: () => { },\n }), [\n fields,\n\n dragMessage,\n dropMessage,\n ])\n\n return (\n \n {children}\n \n )\n}\n\nexport default DropzoneProvider", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useDropzone } from '../context'\n\nimport Input from './input'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseDivProps = React.DetailedHTMLProps, HTMLLabelElement>\n\nexport interface RootProps extends BaseDivProps {\n fullWidth?: boolean\n readOnly?: boolean\n inputId?: string\n}\n\nenum OpenKeyboardsCodes {\n Space = 'Space',\n}\n\nexport default React.forwardRef(\n function Root({\n fullWidth = false,\n readOnly = false,\n inputId,\n\n ...props\n }, ref) {\n const { rootProps, open, isFocused, isDragActive } = useDropzone()\n\n const handleKeyDown = React.useCallback((event: React.KeyboardEvent) => {\n rootProps.onKeyDown?.(event)\n props.onKeyDown?.(event)\n\n switch (event.code) {\n case OpenKeyboardsCodes.Space:\n event.preventDefault()\n open()\n return\n\n default:\n return\n }\n }, [\n rootProps.onKeyDown,\n props.onKeyDown,\n\n open,\n ])\n\n return (\n \n {props.children}\n \n \n )\n }\n)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useDropzone } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseInputProps = React.DetailedHTMLProps, HTMLInputElement>\n\nexport interface InputProps extends Omit { }\n\nexport default React.forwardRef(\n function Input(props, ref) {\n const { name, inputProps } = useDropzone()\n\n return (\n \n )\n }\n)", "import 'css-chunk:src/variables.module.scss';export default {\n \"domain\": \"mono-ui_dropzone\",\n \"same-width\": \"same-width\",\n \"root\": \"mono-ui_dropzone\",\n \"input\": \"mono-ui_dropzone__input\",\n \"backdrop\": \"mono-ui_dropzone__backdrop\",\n \"drag-message\": \"mono-ui_dropzone__drag-message\",\n \"drag-message-caption\": \"mono-ui_dropzone__drag-message-caption\",\n \"drop-message\": \"mono-ui_dropzone__drop-message\",\n \"icon\": \"mono-ui_dropzone__icon\",\n \"icon--clip\": \"mono-ui_dropzone__icon--clip\",\n \"icon--upload\": \"mono-ui_dropzone__icon--upload\",\n \"active\": \"active\",\n \"blur\": \"blur\",\n \"focus\": \"focus\",\n \"drag\": \"drag\",\n \"animation--bounce\": \"animation--bounce\",\n \"full-width\": \"full-width\",\n \"read-only\": \"read-only\"\n};", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useDropzone } from '../context'\n\nimport Input from './input'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseDivProps = React.DetailedHTMLProps, HTMLDivElement>\n\nexport interface DropzoneProps extends BaseDivProps { }\n\nexport default React.forwardRef(\n function Dropzone({\n className,\n\n ...props\n }, ref) {\n const { isDragActive } = useDropzone()\n\n return (\n \n {props.children}\n {/* */}\n
\n )\n }\n)", "// @ts-nocheck\n\nimport * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useDropzone } from '../context'\n\nimport useRipple from 'ui/_hooks/use-ripple'\nimport { useMedia } from 'ui/_responsive'\n\nimport { ReactComponent as ClipIcon } from '../assets/clip.svg'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseDivProps = React.DetailedHTMLProps, HTMLDivElement>\n\nexport interface DragMessageProps extends BaseDivProps { }\n\nexport default React.forwardRef(\n function DragMessage(props, ref) {\n const { dragMessage } = useDropzone()\n const [rippleClass] = useRipple({ disableRipple: true })\n const mdDown = useMedia('md', 'down')\n\n if (dragMessage) {\n return \n {dragMessage}\n \n }\n\n return (\n \n {!mdDown ? (\n \n Attach files\n \n ) : null}\n \n \n )\n }\n)", "import * as React from 'react'\n\nimport ripple from 'ripple-effects'\nimport hashsum from 'hash-sum'\n\nexport type RippleOptions = Parameters[1]\n\ntype UseRippleOptions = RippleOptions & {\n disableRipple?: boolean\n}\n\ntype RippleDestroy = () => boolean\nconst NOOP_DESTROY: RippleDestroy = () => false\n\nconst useRipple = ({ disableRipple, ...rippleOptions }: UseRippleOptions) => {\n const id = React.useId()\n const rippleClass = React.useMemo(() => [id.replace(/:/g, ''), 'ripple'].join('-'), [id])\n\n const destroy = React.useRef(NOOP_DESTROY)\n\n React.useEffect(() => {\n if (!disableRipple) {\n const { destroy: rippleDestroy } = ripple(`.${rippleClass}`, {\n background: 'rgba(200, 200, 200, 0.75)',\n ...rippleOptions\n })\n\n destroy.current = () => {\n rippleDestroy()\n\n return true\n }\n\n return () => {\n rippleDestroy()\n }\n }\n }, [disableRipple, hashsum(rippleOptions)])\n\n return [rippleClass, destroy.current] as const\n}\n\nexport default useRipple", "import * as React from 'react'\n// @ts-ignore\nimport scssBreakpoints from './breakpoints.module.scss'\n\nexport const _breakpoints = {\n xxs: parseInt(scssBreakpoints.xxs),\n xs: parseInt(scssBreakpoints.xs),\n sm: parseInt(scssBreakpoints.sm),\n md: parseInt(scssBreakpoints.md),\n lg: parseInt(scssBreakpoints.lg),\n xl: parseInt(scssBreakpoints.xl),\n} as const\n\nexport type Breakpoint = keyof typeof _breakpoints | Uppercase\nexport type Direction = 'up' | 'down' | Uppercase<'up' | 'down'>\n\nfunction useMedia(breakpoint: Breakpoint, direction: Direction, defaultMatches = false, breakpoints=_breakpoints) {\n const [matches, setMatches] = React.useState(defaultMatches)\n const _direction = direction.toLowerCase() === 'up' ? 'min' : 'max'\n const _breakpoint = breakpoint.toLowerCase() as Breakpoint\n const _thresholdValue = _direction === 'min' ? breakpoints[_breakpoint] : breakpoints[_breakpoint] - 1\n\n React.useEffect(() => {\n const mediaQuery = window.matchMedia(`(${_direction}-width: ${_thresholdValue}px)`)\n\n const handleChange = () => {\n setMatches(mediaQuery.matches)\n }\n\n mediaQuery.addEventListener('change', handleChange)\n\n handleChange()\n\n return () => {\n mediaQuery.removeEventListener('change', handleChange)\n }\n }, [_breakpoint, _direction])\n\n return matches\n}\n\nexport default useMedia", "import 'css-chunk:../../shared/ui/_responsive/breakpoints.module.scss';export default {\n \"xxs\": \"450\",\n \"xs\": \"650\",\n \"sm\": \"768\",\n \"md\": \"992\",\n \"lg\": \"1200\",\n \"xlg\": \"1260\",\n \"xl\": \"1400\",\n \"xxl\": \"1681\"\n};", "import {default as baseUseMedia, type Breakpoint as BaseBreakpoint, type Direction} from './base'\nimport scssBreakpoints from './breakpoints.module.scss'\n\nexport const breakpoints = {\n xs: parseInt(scssBreakpoints.xs),\n sm: parseInt(scssBreakpoints.sm),\n md: parseInt(scssBreakpoints.md),\n lg: parseInt(scssBreakpoints.lg),\n xl: parseInt(scssBreakpoints.xl),\n xxl: parseInt(scssBreakpoints.xxl),\n} as const\n\nexport type Breakpoint = keyof typeof breakpoints | Uppercase\n\n// !!!!!! HERE USED COMMON BREAKPOINTS THAT IS THE SAME AS IN Landing Repo, microservices-hub, em-microservices-hub etc.\n\nexport const useMedia = (\n breakpoint: Breakpoint,\n direction: Direction\n) => baseUseMedia(\n breakpoint as BaseBreakpoint,\n direction,\n Boolean(window.matchMedia(`(${direction.toLowerCase() === 'up' ? 'min' : 'max'}-width: ${breakpoints[breakpoint.toLowerCase()]}px)`).matches),\n breakpoints as any\n)\n", "import * as React from \"react\";\nconst SvgClip = props => ;\nexport default SvgClip;\nexport const ReactComponent = SvgClip;", "// @ts-nocheck\n\nimport * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useDropzone } from '../context'\n\nimport { ReactComponent as UploadIcon } from '../assets/upload.svg'\nimport { useMedia } from 'ui/_responsive'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseDivProps = React.DetailedHTMLProps, HTMLDivElement>\n\nexport interface DropMessageProps extends BaseDivProps { }\n\nexport default React.forwardRef(\n function DropMessage(props, ref) {\n const { dropMessage, isDragActive } = useDropzone()\n const mdDown = useMedia('md', 'down')\n\n if (dropMessage || dropMessage === null) {\n return dropMessage\n }\n\n return (\n \n \n {!mdDown ? 'Drop here' : null}\n \n )\n }\n)", "import * as React from \"react\";\nconst SvgUpload = props => ;\nexport default SvgUpload;\nexport const ReactComponent = SvgUpload;", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport Option, { OptionProps } from './option'\n\nimport withRadioGroupContext, { RadioGroupProviderProps } from '../context/hoc'\n\nimport scssVariables from '../variables.module.scss'\nimport './_themes/default.scss'\nimport './styles.scss'\n\nexport type HTMLDivProps = React.DetailedHTMLProps, HTMLDivElement>\ntype Child = React.ReactElement\n\ninterface Props extends Omit {\n children: Child | Child[]\n\n sameWidth?: boolean\n fullWidth?: boolean\n readOnly?: boolean\n\n _noValidate?: boolean\n\n _overrideVariant?: string\n}\n\nexport default withRadioGroupContext(React.forwardRef(\n function RadioGroup({\n children,\n\n sameWidth,\n fullWidth,\n readOnly,\n\n _noValidate = false,\n\n _overrideVariant = 'default',\n\n ...props\n }, ref) {\n React.useEffect(() => {\n if (_noValidate) {\n return\n }\n\n React.Children.forEach(children, child => {\n if (React.isValidElement(child) && (child.type === Option)) {\n return\n }\n\n throw new Error('\"RadioGroup\" component only accepts \"Option\" as children')\n })\n }, [children, _noValidate])\n\n return (\n
\n {children}\n
\n )\n }\n))\n\nexport type RadioGroupProps = Props & RadioGroupProviderProps\n\nexport type { HandleChange as ChangeHandler } from '../context/definitions'\n\nexport { default as Option } from './option'\nexport type { OptionProps } from './option'\n\nexport const checkGroupClasses = {\n root: scssVariables.root,\n flag: scssVariables.flag,\n label: scssVariables.label,\n option: scssVariables.option,\n\n sameWidth: scssVariables['same-width'],\n fullWidth: scssVariables['full-width'],\n readOnly: scssVariables['read-only'],\n} as const", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport BaseOption, { OptionProps as BaseOptionProps } from '../components/option'\n\nimport scssVariables from '../variables.module.scss'\nimport './_themes/default.scss'\nimport './styles.scss'\n\nexport interface OptionProps extends BaseOptionProps {\n spanProps?: React.DetailedHTMLProps, HTMLSpanElement>\n}\n\nexport default React.forwardRef(\n function Option({\n className,\n\n children,\n\n spanProps = {},\n\n ...props\n }, ref) {\n return (\n \n \n {children}\n \n \n )\n }\n)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport useRipple, { RippleOptions } from 'ui/_hooks/use-ripple'\n\nimport { useRadioGroup } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseLabelProps = React.DetailedHTMLProps, HTMLLabelElement>\n\nexport interface OptionProps extends BaseLabelProps {\n value: unknown\n\n disabled?: boolean\n\n disableRipple?: boolean\n rippleOptions?: RippleOptions\n\n children?: React.ReactNode\n}\n\nexport default React.forwardRef(\n function Option({\n className,\n\n value,\n\n disabled,\n\n disableRipple = false,\n rippleOptions = {},\n\n children,\n\n ...props\n }, ref) {\n const {\n name,\n\n form,\n\n value: currentValue,\n onChange,\n\n equalityFn,\n } = useRadioGroup()\n\n const checked = equalityFn(value, currentValue)\n\n const [rippleClass] = useRipple({\n disableRipple: disableRipple || checked,\n ...rippleOptions\n })\n\n const handleChange = React.useCallback(e => {\n onChange(e, value, name)\n }, [onChange, name, value])\n\n return (\n \n )\n }\n)", "import * as React from 'react'\n\nimport ripple from 'ripple-effects'\nimport hashsum from 'hash-sum'\n\nexport type RippleOptions = Parameters[1]\n\ntype UseRippleOptions = RippleOptions & {\n disableRipple?: boolean\n}\n\ntype RippleDestroy = () => boolean\nconst NOOP_DESTROY: RippleDestroy = () => false\n\nconst useRipple = ({ disableRipple, ...rippleOptions }: UseRippleOptions) => {\n const id = React.useId()\n const rippleClass = React.useMemo(() => [id.replace(/:/g, ''), 'ripple'].join('-'), [id])\n\n const destroy = React.useRef(NOOP_DESTROY)\n\n React.useEffect(() => {\n if (!disableRipple) {\n const { destroy: rippleDestroy } = ripple(`.${rippleClass}`, {\n background: 'rgba(200, 200, 200, 0.75)',\n ...rippleOptions\n })\n\n destroy.current = () => {\n rippleDestroy()\n\n return true\n }\n\n return () => {\n rippleDestroy()\n }\n }\n }, [disableRipple, hashsum(rippleOptions)])\n\n return [rippleClass, destroy.current] as const\n}\n\nexport default useRipple", "import * as React from 'react'\n\nimport baseEqualityFn, { EqualityFn } from '../tools/base-equality-fn'\n\nimport {\n HandleChange,\n} from './definitions'\n\nexport interface RadioGroupProviderProps {\n name: string\n\n form?: string\n\n value: unknown\n onChange?: HandleChange\n\n equalityFn?: EqualityFn\n}\n\ninterface Children {\n children: React.ReactNode\n}\n\ninterface RadioGroupContext extends Omit {\n onChange: HandleChange\n}\n\nconst context = React.createContext({} as RadioGroupContext)\nconst { Provider } = context\n\nexport const useRadioGroup = () => React.useContext(context)\n\nconst RadioGroupProvider: React.FC = ({\n children,\n\n equalityFn = baseEqualityFn,\n\n ...props\n}) => {\n const _n = React.useRef(props.name)\n\n _n.current = props.name\n\n const context = React.useMemo(() => ({\n name: props.name,\n\n form: props.form,\n\n value: props.value,\n onChange: props.onChange || (() => { }),\n\n equalityFn,\n }), [\n props.name,\n props.form,\n props.value,\n props.onChange,\n equalityFn,\n ])\n\n return (\n \n {children}\n \n )\n}\n\nexport default RadioGroupProvider", "function baseEqualityFn(a: unknown, b: unknown) {\n return a === b\n}\n\nexport type EqualityFn = typeof baseEqualityFn\n\nexport default baseEqualityFn", "import 'css-chunk:src/variables.module.scss';export default {\n \"domain\": \"mono-ui_radio-group\",\n \"same-width\": \"same-width\",\n \"root\": \"mono-ui_radio-group\",\n \"flag\": \"mono-ui_radio-group__flag\",\n \"label\": \"mono-ui_radio-group__label\",\n \"option\": \"mono-ui_radio-group__option\",\n \"full-width\": \"full-width\",\n \"read-only\": \"read-only\"\n};", "import * as React from 'react'\n\nimport RadioGroupProvider, { RadioGroupProviderProps as ProviderProps } from '.'\n\nconst withRadioGroup = (\n Component: React.ComponentType>\n) => React.forwardRef(({\n name,\n\n form,\n\n value,\n onChange,\n\n equalityFn,\n\n ...props\n}, ref) => (\n \n \n \n))\n\nexport type { ProviderProps as RadioGroupProviderProps }\n\nexport default withRadioGroup", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport withNumberInputContext, { NumberInputProviderProps } from '../context/hoc'\n\nimport DecreaseButton from '../components/decrease'\nimport BaseInput from '../components/input'\nimport IncreaseButton from '../components/increase'\n\nimport scssVariables from '../variables.module.scss'\nimport './_themes/default.scss'\nimport './styles.scss'\n\nexport type HTMLDivProps = React.DetailedHTMLProps, HTMLDivElement>\n\ninterface Props extends Omit {\n fullWidth?: boolean\n readOnly?: boolean\n svgButton?: boolean\n}\n\nexport default withNumberInputContext(React.forwardRef(\n function NumberInput({\n className,\n\n fullWidth = false,\n readOnly = false,\n\n svgButton = true,\n\n ...props\n }, ref) {\n return (\n
\n \n \n \n
\n )\n }\n))\n\nexport type NumberInputProps = Props & NumberInputProviderProps\n\nexport type { HandleChange as ChangeHandler } from '../context/definitions'\n\nexport const buttonClasses = {\n root: scssVariables.root,\n button: scssVariables.button,\n decrease: scssVariables.decrease,\n increase: scssVariables.increase,\n icon: scssVariables.icon,\n decreaseIcon: scssVariables.decreaseIcon,\n increaseIcon: scssVariables.increaseIcon,\n\n fullWidth: scssVariables['full-width'],\n readOnly: scssVariables['read-only'],\n} as const", "import * as React from 'react'\n\nimport NumberInputProvider, { NumberInputProviderProps as ProviderProps } from '.'\n\nconst withNumberInput = (\n Component: React.ComponentType>\n) => React.forwardRef(({\n name,\n\n form,\n\n value,\n onChange,\n\n decreaseButtonProps,\n inputProps,\n increaseButtonProps,\n\n allowFloat,\n\n min,\n max,\n\n stringify,\n parse,\n\n normalize,\n\n numberPattern,\n\n fontSizeTransform,\n\n ...props\n}, ref) => (\n \n \n \n))\n\nexport type { ProviderProps as NumberInputProviderProps }\n\nexport default withNumberInput", "import * as React from 'react'\n\nimport hashsum from 'hash-sum'\n\nimport _debounce from 'lodash/debounce'\n\nimport useAPI from '../hooks/use-api'\nimport useTempState from '../hooks/use-temp-state'\n\nimport { API, HandleChange } from './definitions'\n\nimport type { DecreaseButtonProps } from '../components/decrease'\nimport type { InputProps } from '../components/input'\nimport type { IncreaseButtonProps } from '../components/increase'\n\nexport interface NumberInputProviderProps extends Partial {\n name: string\n\n form?: string\n\n value: string\n onChange: HandleChange\n\n decreaseButtonProps?: DecreaseButtonProps\n inputProps?: InputProps\n increaseButtonProps?: IncreaseButtonProps\n\n allowFloat?: boolean\n\n fontSizeTransform?: (value: string, api: API) => React.CSSProperties['fontSize']\n}\n\ninterface Children {\n children: React.ReactNode\n}\n\ninterface NumberInputContext extends Omit {\n onChange: React.ChangeEventHandler\n onBlur: React.FocusEventHandler\n\n onIncrease: React.MouseEventHandler\n onKeyIncrease: React.KeyboardEventHandler\n onDecrease: React.MouseEventHandler\n onKeyDecrease: React.KeyboardEventHandler\n\n api: API\n\n fontSizeTransform?: () => React.CSSProperties['fontSize']\n}\n\nconst context = React.createContext({} as NumberInputContext)\nconst { Provider } = context\n\nexport const useNumberInput = () => React.useContext(context)\n\nconst CHARS_WHITELIST_PATTERN = /^[0-9\\b]+$/\nconst CHARS_WHITELIST_WITH_DOT_PATTERN = /^[0-9.\\b]+$/\n\nconst NumberInputProvider: React.FC = ({\n children,\n\n ...props\n}) => {\n const api = useAPI(props)\n\n const [_value, setValue] = useTempState(props.value ?? '')\n const _n = React.useRef(props.name)\n\n _n.current = props.name\n\n const pattern = React.useMemo(() => props.allowFloat ? CHARS_WHITELIST_WITH_DOT_PATTERN : CHARS_WHITELIST_PATTERN, [props.allowFloat])\n\n const save = React.useCallback((e, value) => {\n if (value === '' || pattern.test(`${value}`)) {\n value = value === '' ? 0 : value\n value = `${value}`.includes('.') && props.allowFloat ? parseFloat(value) : parseInt(value, 10)\n\n if (value > api.max) {\n value = `${api.max}`\n }\n\n setValue(value)\n\n if (props.onChange) {\n props.onChange(e, value, _n.current, api)\n }\n }\n }, [api, pattern, props.allowFloat, props.onChange])\n\n const handlers = React.useMemo(() => ({\n value: _value,\n\n onDecrease: e => save(e, api.normalize(api.parse(_value) - 1, api)),\n onChange: e => save(e, e.target.value),\n onBlur: e => save(e, api.normalize(api.parse(_value), api)),\n onIncrease: e => save(e, api.normalize(api.parse(_value) + 1, api)),\n\n onKeyDecrease: e => save(e, api.normalize(api.parse(e.target.value) - 1, api)),\n onKeyIncrease: e => save(e, api.normalize(api.parse(e.target.value) + 1, api)),\n }), [_value, api, props.onChange])\n\n const context = React.useMemo(() => ({\n ...handlers,\n\n api,\n\n name: props.name,\n\n form: props.form,\n\n decreaseButtonProps: props.decreaseButtonProps,\n inputProps: props.inputProps,\n increaseButtonProps: props.increaseButtonProps,\n\n fontSizeTransform: props.fontSizeTransform ? () => props.fontSizeTransform?.(_value, api) : undefined,\n }), [\n handlers,\n props.name,\n props.form,\n hashsum(props.decreaseButtonProps),\n hashsum(props.inputProps),\n hashsum(props.increaseButtonProps),\n props.fontSizeTransform,\n ])\n\n return (\n \n {children}\n \n )\n}\n\nexport default NumberInputProvider", "import * as React from 'react'\n\nimport baseStringify from '../tools/base-stringify'\nimport baseParse from '../tools/base-parse'\nimport baseNormalize from '../tools/base-normalize'\n\nimport { API } from '../context/definitions'\n\nfunction useAPI = Partial>(arg: TArg) {\n return React.useMemo(() => ({\n min: typeof arg.min !== 'undefined' ? arg.min : -Infinity,\n max: typeof arg.max !== 'undefined' ? arg.max : Infinity,\n\n stringify: typeof arg.stringify !== 'undefined' ? arg.stringify : baseStringify,\n parse: typeof arg.parse !== 'undefined' ? arg.parse : baseParse,\n\n normalize: typeof arg.normalize !== 'undefined' ? arg.normalize : baseNormalize,\n\n numberPattern: typeof arg.numberPattern !== 'undefined' ? arg.numberPattern : /^[+-]?\\d+\\.?\\d+/,\n }), [\n arg.min,\n arg.max,\n\n arg.stringify,\n arg.parse,\n\n arg.normalize,\n\n arg.numberPattern,\n ])\n}\n\nexport type UseAPI = typeof useAPI\n\nexport default useAPI", "function baseStringify(value: number): string {\n return value.toString()\n}\n\nexport type Stringify = typeof baseStringify\n\nexport default baseStringify", "function baseParse(value: string): number {\n const _v = parseFloat(value)\n\n return _v ? _v : 0\n}\n\nexport type Parse = typeof baseParse\n\nexport default baseParse", "import type { API } from '../context/definitions'\n\nfunction baseNormalize(\n value: string | number,\n api: API,\n): string {\n const _v = typeof value === 'string' ? api.parse(value === '' ? '0' : value) : value\n\n if (_v < api.min) {\n return api.stringify(api.min)\n }\n\n if (_v > api.max) {\n return api.stringify(api.max)\n }\n\n return api.stringify(_v)\n}\n\nexport type Normalize = typeof baseNormalize\n\nexport default baseNormalize", "import * as React from 'react'\n\nfunction useTempState(state: T): readonly [T, React.Dispatch>] {\n const [value, setValue] = React.useState(state)\n\n React.useEffect(() => {\n setValue(prevProps => {\n if (prevProps === state) {\n return prevProps\n }\n\n return state\n })\n }, [state])\n\n return [value, setValue] as const\n}\n\nexport type UseTempState = typeof useTempState\n\nexport default useTempState", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useNumberInput } from '../context'\n\nimport Button, { ButtonProps } from './button'\n\nimport MinusIcon from '../assets/minus.svg'\n\nimport scssVariables from '../variables.module.scss'\n\nexport interface DecreaseButtonProps extends ButtonProps {\n svgButton?: boolean\n }\n\nexport default React.forwardRef(\n function DecreaseButton({\n className,\n\n children = ,\n\n svgButton,\n\n ...props\n }, ref) {\n const {\n onDecrease: handleDecrease,\n } = useNumberInput()\n\n return (\n \n {svgButton ? children : '-'}\n \n )\n }\n)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport useRipple from 'ui/_hooks/use-ripple'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseButtonProps = React.DetailedHTMLProps, HTMLButtonElement>\n\nexport interface ButtonProps extends BaseButtonProps { }\n\nexport default React.forwardRef(\n function Button({\n className,\n\n children,\n\n ...props\n }, ref) {\n const [rippleClass] = useRipple({})\n\n return (\n \n {children}\n \n )\n }\n)", "import * as React from 'react'\n\nimport ripple from 'ripple-effects'\nimport hashsum from 'hash-sum'\n\nexport type RippleOptions = Parameters[1]\n\ntype UseRippleOptions = RippleOptions & {\n disableRipple?: boolean\n}\n\ntype RippleDestroy = () => boolean\nconst NOOP_DESTROY: RippleDestroy = () => false\n\nconst useRipple = ({ disableRipple, ...rippleOptions }: UseRippleOptions) => {\n const id = React.useId()\n const rippleClass = React.useMemo(() => [id.replace(/:/g, ''), 'ripple'].join('-'), [id])\n\n const destroy = React.useRef(NOOP_DESTROY)\n\n React.useEffect(() => {\n if (!disableRipple) {\n const { destroy: rippleDestroy } = ripple(`.${rippleClass}`, {\n background: 'rgba(200, 200, 200, 0.75)',\n ...rippleOptions\n })\n\n destroy.current = () => {\n rippleDestroy()\n\n return true\n }\n\n return () => {\n rippleDestroy()\n }\n }\n }, [disableRipple, hashsum(rippleOptions)])\n\n return [rippleClass, destroy.current] as const\n}\n\nexport default useRipple", "import 'css-chunk:src/variables.module.scss';export default {\n \"domain\": \"mono-ui_number-input\",\n \"same-width\": \"same-width\",\n \"root\": \"mono-ui_number-input__root\",\n \"button\": \"mono-ui_number-input__button\",\n \"decrease\": \"mono-ui_number-input__button--decrease\",\n \"increase\": \"mono-ui_number-input__button--increase\",\n \"icon\": \"mono-ui_number-input__icon\",\n \"decreaseIcon\": \"mono-ui_number-input__icon--decrease\",\n \"increaseIcon\": \"mono-ui_number-input__icon--increase\",\n \"full-width\": \"full-width\",\n \"read-only\": \"read-only\"\n};", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseSvgProps = React.DetailedHTMLProps, SVGSVGElement>\n\nexport interface MinusSvgProps extends Omit { }\n\nconst MinusSvg: React.FC = ({\n className,\n\n ...props\n}) => (\n \n \n \n)\n\nexport default MinusSvg", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useNumberInput } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseInputProps = React.DetailedHTMLProps, HTMLInputElement>\n\nexport interface InputProps extends Omit { }\n\nexport default React.forwardRef(\n function Input({\n className,\n\n ...props\n }, ref) {\n const {\n name,\n\n form,\n\n value,\n onChange: handleChange,\n onBlur: handleBlur,\n\n onKeyDecrease: handleKeyDecrease,\n onKeyIncrease: handleKeyIncrease,\n\n inputProps,\n\n fontSizeTransform,\n } = useNumberInput()\n\n const handleKeyDown = React.useCallback>(event => {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault()\n handleKeyDecrease(event)\n break\n case 'ArrowUp':\n event.preventDefault()\n handleKeyIncrease(event)\n break\n }\n }, [handleKeyDecrease, handleKeyIncrease])\n\n return (\n \n )\n }\n)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useNumberInput } from '../context'\n\nimport Button, { ButtonProps } from './button'\n\nimport PlusIcon from '../assets/plus.svg'\n\nimport scssVariables from '../variables.module.scss'\n\nexport interface IncreaseButtonProps extends ButtonProps {\n svgButton?: boolean\n }\n\nexport default React.forwardRef(\n function IncreaseButton({\n className,\n\n children = ,\n\n svgButton,\n\n ...props\n }, ref) {\n const {\n onIncrease: handleIncrease,\n } = useNumberInput()\n\n return (\n \n {svgButton ? children : '+'}\n \n )\n }\n)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseSvgProps = React.DetailedHTMLProps, SVGSVGElement>\n\nexport interface PlusSvgProps extends Omit { }\n\nconst PlusSvg: React.FC = ({\n className,\n\n ...props\n}) => (\n \n \n \n)\n\nexport default PlusSvg", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useSwitcher } from '../context'\nimport withSwitcherContext, { SwitchProviderProps } from '../context/hoc'\n\nimport Flag from '../components/flag'\nimport Label from '../components/label'\nimport Thumb from '../components/thumb'\n\nimport { LabelPosition } from '../context/definitions'\n\nimport scssVariables from '../variables.module.scss'\nimport './_themes/default.scss'\nimport './styles.scss'\n\ntype HTMLDivProps = React.DetailedHTMLProps, HTMLDivElement>\n\ninterface Props extends Omit { }\n\nexport default withSwitcherContext(React.forwardRef(\n function Switcher(props, ref) {\n const {\n labels = {},\n\n disableThumb,\n } = useSwitcher()\n\n const leftLabel = labels[LabelPosition.LEFT]\n const rightLabel = labels[LabelPosition.RIGHT]\n\n return (\n
\n \n {leftLabel ? : null}\n {!disableThumb ? : null}\n {rightLabel ? : null}\n
\n )\n }\n))\n\nexport type SwitcherProps = Props & SwitchProviderProps\n\nexport type { HandleChange as ChangeHandler } from '../context/definitions'\n\nexport const buttonClasses = {\n root: scssVariables.root,\n flag: scssVariables.flag,\n label: scssVariables.label,\n thumb: scssVariables.thumb,\n track: scssVariables.track,\n} as const", "import * as React from 'react'\n\nimport hashsum from 'hash-sum'\n\nimport { RippleOptions } from 'ui/_hooks/use-ripple'\n\nimport {\n HandleChange,\n\n LabelPosition,\n} from './definitions'\n\nexport interface SwitcherProviderProps {\n name: string\n\n form?: string\n\n labels?: [right?: string, left?: string] | readonly [right?: string, left?: string]\n\n checked: boolean\n onChange: HandleChange\n\n disableThumb?: boolean\n\n disableRipple?: boolean\n rippleOptions?: RippleOptions\n}\n\ninterface Children {\n children: React.ReactNode\n}\n\ninterface SwitcherContext extends Omit {\n flagId: string\n\n labels: {\n [LabelPosition.LEFT]?: string\n [LabelPosition.RIGHT]?: string\n }\n\n onChange: React.ChangeEventHandler\n}\n\nconst context = React.createContext({} as SwitcherContext)\nconst { Provider } = context\n\nexport const useSwitcher = () => React.useContext(context)\n\nconst SwitcherProvider: React.FC = ({\n children,\n\n ...props\n}) => {\n const flagId = React.useId()\n\n const _n = React.useRef(props.name)\n\n _n.current = props.name\n\n const context = React.useMemo(() => ({\n flagId,\n\n name: props.name,\n\n form: props.form,\n\n labels: {\n [LabelPosition.LEFT]: props.labels[LabelPosition.LEFT],\n [LabelPosition.RIGHT]: props.labels[LabelPosition.RIGHT],\n },\n\n checked: props.checked,\n onChange: e => props.onChange?.(e, e.target.checked, _n.current),\n\n disableThumb: props.disableThumb,\n\n disableRipple: props.disableRipple,\n rippleOptions: props.rippleOptions,\n }), [\n flagId,\n props.name,\n props.form,\n props.labels[LabelPosition.LEFT],\n props.labels[LabelPosition.RIGHT],\n props.checked,\n props.onChange,\n props.disableThumb,\n props.disableRipple,\n hashsum(props.rippleOptions),\n ])\n\n return (\n \n {children}\n \n )\n}\n\nexport default SwitcherProvider", "import * as React from 'react'\n\nimport SwitcherProvider, { SwitcherProviderProps as ProviderProps } from '.'\n\nconst withSwitcher = (\n Component: React.ComponentType>\n) => React.forwardRef(({\n name,\n\n form,\n\n labels,\n\n checked,\n onChange,\n\n disableThumb,\n\n disableRipple,\n rippleOptions,\n\n ...props\n}, ref) => (\n \n \n \n))\n\nexport type { ProviderProps as SwitchProviderProps }\n\nexport default withSwitcher", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useSwitcher } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseInputProps = React.DetailedHTMLProps, HTMLInputElement>\n\nexport interface FlagProps extends Omit { }\n\nexport default React.forwardRef(\n function Flag({\n className,\n\n ...props\n }, ref) {\n const {\n flagId,\n\n name,\n\n form,\n\n checked,\n\n onChange: handleChange,\n } = useSwitcher()\n\n return (\n \n )\n }\n)", "import 'css-chunk:src/variables.module.scss';export default {\n \"domain\": \"mono-ui_switcher\",\n \"same-width\": \"same-width\",\n \"root\": \"mono-ui_switcher\",\n \"flag\": \"mono-ui_switcher__flag\",\n \"label\": \"mono-ui_switcher__label\",\n \"thumb\": \"mono-ui_switcher__thumb\",\n \"track\": \"mono-ui_switcher__track\"\n};", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useSwitcher } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseLabelProps = React.DetailedHTMLProps, HTMLLabelElement>\n\nexport interface LabelProps extends Omit {\n children?: string\n}\n\nexport default React.forwardRef(\n function Label({\n className,\n\n children,\n\n ...props\n }, ref) {\n const { flagId } = useSwitcher()\n\n if (!children) {\n return null\n }\n\n return (\n \n {children}\n \n )\n }\n)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport useRipple from 'ui/_hooks/use-ripple'\n\nimport { useSwitcher } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseLabelProps = React.DetailedHTMLProps, HTMLLabelElement>\n\nexport interface ThumbProps extends Omit { }\n\nexport default React.forwardRef(\n function Thumb({\n className,\n\n ...props\n }, ref) {\n const {\n flagId,\n\n disableThumb,\n\n disableRipple,\n rippleOptions,\n } = useSwitcher()\n\n const [rippleClass] = useRipple({\n disableRipple: disableRipple || disableThumb,\n ...rippleOptions\n })\n\n return (\n \n \n \n )\n }\n)", "import * as React from 'react'\n\nimport ripple from 'ripple-effects'\nimport hashsum from 'hash-sum'\n\nexport type RippleOptions = Parameters[1]\n\ntype UseRippleOptions = RippleOptions & {\n disableRipple?: boolean\n}\n\ntype RippleDestroy = () => boolean\nconst NOOP_DESTROY: RippleDestroy = () => false\n\nconst useRipple = ({ disableRipple, ...rippleOptions }: UseRippleOptions) => {\n const id = React.useId()\n const rippleClass = React.useMemo(() => [id.replace(/:/g, ''), 'ripple'].join('-'), [id])\n\n const destroy = React.useRef(NOOP_DESTROY)\n\n React.useEffect(() => {\n if (!disableRipple) {\n const { destroy: rippleDestroy } = ripple(`.${rippleClass}`, {\n background: 'rgba(200, 200, 200, 0.75)',\n ...rippleOptions\n })\n\n destroy.current = () => {\n rippleDestroy()\n\n return true\n }\n\n return () => {\n rippleDestroy()\n }\n }\n }, [disableRipple, hashsum(rippleOptions)])\n\n return [rippleClass, destroy.current] as const\n}\n\nexport default useRipple", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useCheckbox } from '../context'\nimport withCheckboxContext, { CheckboxProviderProps } from '../context/hoc'\n\nimport Root from '../components/root'\nimport Flag from '../components/flag'\nimport Label from '../components/label'\nimport Icon from '../components/icon'\n\nimport scssVariables from '../variables.module.scss'\nimport './_themes/default.scss'\nimport './styles.scss'\n\ntype HTMLDivProps = React.DetailedHTMLProps, HTMLDivElement>\n\ninterface Props extends Omit { }\n\nexport default withCheckboxContext(React.forwardRef(\n function Checkbox(props, ref) {\n const {\n label = '',\n } = useCheckbox()\n\n return (\n \n \n \n {label ? : null}\n \n )\n }\n))\n\nexport type CheckboxProps = Props & CheckboxProviderProps\n\nexport type { HandleChange as ChangeHandler } from '../context/definitions'\n\nexport const buttonClasses = {\n root: scssVariables.root,\n flag: scssVariables.flag,\n label: scssVariables.label,\n icon: scssVariables.icon,\n track: scssVariables.track,\n} as const", "import * as React from 'react'\n\nimport hashsum from 'hash-sum'\n\nimport { RippleOptions } from 'ui/_hooks/use-ripple'\n\nimport { ReactComponent as CheckedIcon } from '../assets/checked.svg'\nimport { ReactComponent as UncheckedIcon } from '../assets/unchecked.svg'\n\nimport {\n HandleChange,\n} from './definitions'\n\nexport interface CheckboxProviderProps {\n name: string\n\n form?: string\n\n label?: React.ReactNode\n\n dataValue?: string | number\n dataFlag?: string | number\n checked: boolean\n onChange: HandleChange\n\n disabled?: boolean\n\n disableRipple?: boolean\n rippleOptions?: RippleOptions\n\n iconChecked?: React.ReactNode\n iconUnchecked?: React.ReactNode\n}\n\ninterface Children {\n children: React.ReactNode\n}\n\ninterface CheckboxContext extends Omit {\n flagId: string\n\n iconChecked: React.ReactNode\n iconUnchecked: React.ReactNode\n\n label: React.ReactNode\n\n onChange: React.ChangeEventHandler\n}\n\nconst context = React.createContext({} as CheckboxContext)\nconst { Provider } = context\n\nexport const useCheckbox = () => React.useContext(context)\n\nconst CheckboxProvider: React.FC = ({\n children,\n\n iconChecked = ,\n iconUnchecked = ,\n\n ...props\n}) => {\n const flagId = React.useId()\n\n const _n = React.useRef(props.name)\n\n _n.current = props.name\n\n const handleChange = React.useCallback>(e => {\n if (props.disabled) {\n return\n }\n\n props.onChange(e, e.target.checked, _n.current)\n }, [props.disabled, props.onChange, _n.current])\n\n const context = React.useMemo(() => ({\n flagId,\n\n name: props.name,\n\n form: props.form,\n\n label: props.label,\n\n dataValue: props.dataValue,\n dataFlag: props.dataFlag,\n checked: props.checked,\n onChange: handleChange,\n\n disabled: props.disabled,\n\n disableRipple: props.disableRipple,\n rippleOptions: props.rippleOptions,\n\n iconChecked,\n iconUnchecked,\n }), [\n flagId,\n props.name,\n props.form,\n props.label,\n props.dataValue,\n props.dataFlag,\n props.checked,\n props.onChange,\n props.disabled,\n props.disableRipple,\n hashsum(props.rippleOptions),\n iconChecked,\n iconUnchecked,\n ])\n\n return (\n \n {children}\n \n )\n}\n\nexport default CheckboxProvider", "import * as React from \"react\";\nconst SvgChecked = props => ;\nexport default SvgChecked;\nexport const ReactComponent = SvgChecked;", "import * as React from \"react\";\nconst SvgUnchecked = props => ;\nexport default SvgUnchecked;\nexport const ReactComponent = SvgUnchecked;", "import * as React from 'react'\n\nimport CheckboxProvider, { CheckboxProviderProps as ProviderProps } from '.'\n\nconst withCheckbox = (\n Component: React.ComponentType>\n) => React.forwardRef(({\n name,\n\n form,\n\n label,\n\n dataValue,\n dataFlag,\n checked,\n onChange,\n\n disabled,\n\n disableRipple,\n rippleOptions,\n\n iconChecked,\n iconUnchecked,\n\n ...props\n}, ref) => (\n \n \n \n))\n\nexport type { ProviderProps as CheckboxProviderProps }\n\nexport default withCheckbox", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport useRipple from 'ui/_hooks/use-ripple'\nimport { useCheckbox } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseDivProps = React.DetailedHTMLProps, HTMLDivElement>\n\nexport interface RootProps extends BaseDivProps { }\n\nexport default React.forwardRef(\n function Root({\n className,\n\n children,\n\n ...props\n }, ref) {\n const {\n disabled,\n checked,\n\n disableRipple,\n rippleOptions,\n } = useCheckbox()\n\n const [rippleClass] = useRipple({\n disableRipple: disableRipple || disabled,\n ...rippleOptions\n })\n\n return (\n
\n {children}\n
\n )\n }\n)", "import * as React from 'react'\n\nimport ripple from 'ripple-effects'\nimport hashsum from 'hash-sum'\n\nexport type RippleOptions = Parameters[1]\n\ntype UseRippleOptions = RippleOptions & {\n disableRipple?: boolean\n}\n\ntype RippleDestroy = () => boolean\nconst NOOP_DESTROY: RippleDestroy = () => false\n\nconst useRipple = ({ disableRipple, ...rippleOptions }: UseRippleOptions) => {\n const id = React.useId()\n const rippleClass = React.useMemo(() => [id.replace(/:/g, ''), 'ripple'].join('-'), [id])\n\n const destroy = React.useRef(NOOP_DESTROY)\n\n React.useEffect(() => {\n if (!disableRipple) {\n const { destroy: rippleDestroy } = ripple(`.${rippleClass}`, {\n background: 'rgba(200, 200, 200, 0.75)',\n ...rippleOptions\n })\n\n destroy.current = () => {\n rippleDestroy()\n\n return true\n }\n\n return () => {\n rippleDestroy()\n }\n }\n }, [disableRipple, hashsum(rippleOptions)])\n\n return [rippleClass, destroy.current] as const\n}\n\nexport default useRipple", "import 'css-chunk:src/variables.module.scss';export default {\n \"domain\": \"mono-ui_checkbox\",\n \"same-width\": \"same-width\",\n \"root\": \"mono-ui_checkbox\",\n \"flag\": \"mono-ui_checkbox__flag\",\n \"label\": \"mono-ui_checkbox__label\",\n \"icon\": \"mono-ui_checkbox__icon\",\n \"disabled\": \"mono-ui_checkbox--disabled\"\n};", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useCheckbox } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseInputProps = React.DetailedHTMLProps, HTMLInputElement>\n\nexport interface FlagProps extends Omit { }\n\nexport default React.forwardRef(\n function Flag({\n className,\n\n ...props\n }, ref) {\n const {\n flagId,\n\n name,\n\n form,\n\n dataValue,\n dataFlag,\n checked,\n\n disabled,\n\n onChange: handleChange,\n } = useCheckbox()\n\n return (\n \n )\n }\n)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useCheckbox } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseLabelProps = React.DetailedHTMLProps, HTMLLabelElement>\n\nexport interface LabelProps extends Omit {\n children?: React.ReactNode\n}\n\nexport default React.forwardRef(\n function Label({\n className,\n\n children,\n\n ...props\n }, ref) {\n const { flagId } = useCheckbox()\n\n if (!children) {\n return null\n }\n\n return (\n \n {children}\n \n )\n }\n)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useCheckbox } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseLabelProps = React.DetailedHTMLProps, HTMLLabelElement>\n\nexport interface IconProps extends Omit { }\n\nexport default React.forwardRef(\n function Icon({\n className,\n\n ...props\n }, ref) {\n const { flagId, iconChecked, iconUnchecked, checked } = useCheckbox()\n\n return (\n \n {checked ? iconChecked : iconUnchecked}\n \n )\n }\n)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport Tab, { TabProps } from './tab'\n\nimport withTabsContext, { TabsProviderProps } from '../context/hoc'\n\nimport scssVariables from '../variables.module.scss'\nimport './_themes/default.scss'\nimport './styles.scss'\nimport { useTabs } from '../context'\n\n\nexport type HTMLDivProps = React.DetailedHTMLProps, HTMLDivElement>\ntype Child = React.ReactElement\n\ninterface Props extends Omit {\n children: Child | Child[]\n value: unknown\n sameWidth?: boolean\n fullWidth?: boolean\n differentWidth?: boolean\n readOnly?: boolean\n _noValidate?: boolean\n\n _overrideVariant?: string\n}\n\nexport default withTabsContext(React.forwardRef(\n function Tabs({\n children,\n\n sameWidth,\n fullWidth,\n readOnly,\n differentWidth,\n _noValidate = false,\n\n _overrideVariant = 'default',\n\n ...props\n }, ref) {\n const { value } = useTabs()\n React.useEffect(() => {\n if (_noValidate) {\n return\n }\n\n React.Children.forEach(children, child => {\n if (React.isValidElement(child) && (child.type === Tab) || child === null) {\n return\n }\n\n throw new Error('\"Tabs\" component only accepts \"Tab\" as children')\n })\n }, [children, _noValidate])\n\n const activeTabIndex = React.Children.toArray(children).findIndex(child => {\n return React.isValidElement(child) && child !== null && child.props.value === value;\n })\n\n const childrenCountWithoutNull = React.Children.toArray(children).filter(Boolean).length\n\n return (\n
\n {children}\n \n
\n )\n }\n))\n\nexport type TabsProps = Props & TabsProviderProps\n\nexport type { HandleChange as ChangeHandler } from '../context/definitions'\n\nexport { default as Tab } from './tab'\nexport type { TabProps } from './tab'\n\nexport const checkGroupClasses = {\n root: scssVariables.root,\n flag: scssVariables.flag,\n label: scssVariables.label,\n tab: scssVariables.tab,\n\n sameWidth: scssVariables['same-width'],\n fullWidth: scssVariables['full-width'],\n readOnly: scssVariables['read-only'],\n} as const", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport BaseTab, { TabProps as BaseTabProps } from '../components/tab'\n\nimport scssVariables from '../variables.module.scss'\nimport './_themes/default.scss'\nimport './styles.scss'\n\nexport interface TabProps extends BaseTabProps {\n spanProps?: React.DetailedHTMLProps, HTMLSpanElement>\n}\n\nexport default React.forwardRef(\n function Tab({\n className,\n\n children,\n\n spanProps = {},\n\n ...props\n }, ref) {\n return (\n \n \n {children}\n \n \n )\n }\n)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport useRipple, { RippleOptions } from 'ui/_hooks/use-ripple'\n\nimport { useTabs } from '../context'\n\nimport scssVariables from '../variables.module.scss'\n\ntype BaseLabelProps = React.DetailedHTMLProps, HTMLLabelElement>\n\nexport interface TabProps extends BaseLabelProps {\n value: unknown\n\n disableRipple?: boolean\n rippleTabs?: RippleOptions\n isActive?: boolean\n children?: React.ReactNode\n}\n\nexport default React.forwardRef(\n function Tab({\n className,\n\n value,\n\n disableRipple = false,\n rippleTabs = {},\n\n children,\n\n ...props\n }, ref) {\n const {\n name,\n\n form,\n\n value: currentValue,\n onChange,\n\n equalityFn,\n } = useTabs()\n\n const checked = equalityFn(value, currentValue)\n\n const [rippleClass] = useRipple({\n disableRipple: disableRipple || checked,\n ...rippleTabs\n })\n\n const handleChange = React.useCallback(e => {\n onChange(e, value, name)\n }, [])\n\n return (\n \n )\n }\n)", "import * as React from 'react'\n\nimport ripple from 'ripple-effects'\nimport hashsum from 'hash-sum'\n\nexport type RippleOptions = Parameters[1]\n\ntype UseRippleOptions = RippleOptions & {\n disableRipple?: boolean\n}\n\ntype RippleDestroy = () => boolean\nconst NOOP_DESTROY: RippleDestroy = () => false\n\nconst useRipple = ({ disableRipple, ...rippleOptions }: UseRippleOptions) => {\n const id = React.useId()\n const rippleClass = React.useMemo(() => [id.replace(/:/g, ''), 'ripple'].join('-'), [id])\n\n const destroy = React.useRef(NOOP_DESTROY)\n\n React.useEffect(() => {\n if (!disableRipple) {\n const { destroy: rippleDestroy } = ripple(`.${rippleClass}`, {\n background: 'rgba(200, 200, 200, 0.75)',\n ...rippleOptions\n })\n\n destroy.current = () => {\n rippleDestroy()\n\n return true\n }\n\n return () => {\n rippleDestroy()\n }\n }\n }, [disableRipple, hashsum(rippleOptions)])\n\n return [rippleClass, destroy.current] as const\n}\n\nexport default useRipple", "import * as React from 'react'\n\nimport baseEqualityFn, { EqualityFn } from '../tools/base-equality-fn'\n\nimport {\n HandleChange,\n} from './definitions'\n\nexport interface TabsProviderProps {\n name: string\n\n form?: string\n\n value: unknown\n onChange?: HandleChange\n\n equalityFn?: EqualityFn\n}\n\ninterface Children {\n children: React.ReactNode\n}\n\ninterface TabsContext extends Omit {\n onChange: HandleChange\n}\n\nconst context = React.createContext({} as TabsContext)\nconst { Provider } = context\n\nexport const useTabs = () => React.useContext(context)\n\nconst TabsProvider: React.FC = ({\n children,\n\n equalityFn = baseEqualityFn,\n\n ...props\n}) => {\n const _n = React.useRef(props.name)\n\n _n.current = props.name\n\n const context = React.useMemo(() => ({\n name: props.name,\n\n form: props.form,\n\n value: props.value,\n onChange: props.onChange || (() => { }),\n\n equalityFn,\n }), [\n props.name,\n props.form,\n props.value,\n props.onChange,\n equalityFn,\n ])\n\n return (\n \n {children}\n \n )\n}\n\nexport default TabsProvider", "function baseEqualityFn(a: unknown, b: unknown) {\n return a === b\n}\n\nexport type EqualityFn = typeof baseEqualityFn\n\nexport default baseEqualityFn", "import 'css-chunk:src/variables.module.scss';export default {\n \"domain\": \"mono-ui_tab\",\n \"same-width\": \"same-width\",\n \"root\": \"mono-ui_tab\",\n \"flag\": \"mono-ui_tab__flag\",\n \"label\": \"mono-ui_tab__label\",\n \"tab\": \"mono-ui_tab__tab\",\n \"full-width\": \"full-width\",\n \"read-only\": \"read-only\"\n};", "import * as React from 'react'\n\nimport TabsProvider, { TabsProviderProps as ProviderProps } from '.'\n\nconst withTabs = (\n Component: React.ComponentType>\n) => React.forwardRef(({\n name,\n\n form,\n\n value,\n onChange,\n\n equalityFn,\n\n ...props\n}, ref) => (\n \n \n \n))\n\nexport type { ProviderProps as TabsProviderProps }\n\nexport default withTabs", "import { FC, ReactNode, memo } from 'react'\nimport clsx from 'clsx'\n\nimport { AccordionPanel } from './components/panel'\n\nimport scssVariables from '../variables.module.scss'\n\nimport './_themes/default.scss'\nimport './styles.scss'\n\ntype TAccordionData = {\n head: string | React.ReactNode\n body: string | React.ReactNode\n}\n\nexport interface IAccordionProps {\n data?: TAccordionData[]\n className?: string\n error?: boolean\n children?: ReactNode\n fullWidth?: boolean\n\n toggleOnHeadClick?: boolean\n}\n\nconst Accordion: FC = memo(({ data, className, error, children, fullWidth, toggleOnHeadClick }) => {\n if (children && !data) {\n return <>{children }\n }\n\n return (\n
\n {data.map(({ head, body }, index) => (\n \n ))}\n
\n )\n})\n\nexport default Accordion\nexport { AccordionPanel, type IAccordionPanelProps } from './components/panel'\nexport { AccordionHead, type IAccordionHeadProps } from './components/head'\nexport { AccordionBody, type IAccordionBodyProps } from './components/body'\n\nexport const accordionClasses = {\n accordion: scssVariables.accordion,\n panel: scssVariables.accordion__panel,\n head: scssVariables.accordion__panel__head,\n body: scssVariables.accordion__panel__body,\n togglerIcon: scssVariables.toggler_icon,\n\n fullWidth: scssVariables['full-width'],\n} as const", "import { memo, useState } from 'react'\nimport clsx from 'clsx'\n\nimport { AccordionHead } from './head'\nimport { AccordionBody } from './body'\n\nimport scssVariables from '../../variables.module.scss'\n\nexport interface IAccordionPanelProps {\n className?: string\n head: string | React.ReactNode\n body: string | React.ReactNode\n error?: boolean\n fullWidth?: boolean\n toggleOnHeadClick?: boolean\n}\n\nexport const AccordionPanel: React.FC = memo(({ head, body, className, error, fullWidth, toggleOnHeadClick }) => {\n const [expanded, setExpanded] = useState(false)\n\n return (\n
\n \n {head}\n \n \n {body}\n \n
\n )\n})\n", "import { useCallback, memo } from 'react'\nimport clsx from 'clsx'\n\nimport ArrowIcon from 'framework/icons/arrow'\n\nimport scssVariables from '../../variables.module.scss'\n\nexport interface IAccordionHeadProps {\n className?: string\n children: React.ReactNode\n expanded: boolean\n setExpanded: React.Dispatch>\n error?: boolean\n toggleOnHeadClick? : boolean\n}\n\nexport const AccordionHead: React.FC = memo(({ children, className, expanded, setExpanded, error, toggleOnHeadClick = true }) => {\n const handleToggle = useCallback(() => {\n setExpanded(!expanded)\n }, [expanded])\n\n return (\n \n {children}\n \n \n \n \n )\n})\n", "import * as React from 'react'\n\n/* templates */\nimport TemplateIcon from 'framework/icons/template'\n\nconst ArrowIcon = ({ direction = 'down', width = 24, height = 24 } = {}) => {\n\n const directionCodes = ['down', 'left', 'up', 'right']\n const defaultDeg = 90\n const deg = directionCodes.indexOf(direction) * defaultDeg\n\n const additionalStyles = {\n transform: `rotate(${deg}deg)`,\n transition: 'transform .2s ease-in-out',\n }\n\n const templateIconProps = {\n name: 'arrow',\n styles: { width, height, ...additionalStyles },\n additionalClasses: `arrow-${direction}`,\n children: (\n \n ),\n }\n\n return TemplateIcon({ ...templateIconProps })\n\n}\n\nexport default ArrowIcon\n/* sfc */\n", "import * as React from 'react'\n\nconst TemplateIcon = ({\n name,\n styles: { width, height, ...restStyles } = {},\n viewBox = '0 0 24 24',\n additionalClasses = '',\n children,\n}) => {\n\n const style = {\n width,\n height,\n fill: 'currentColor',\n\n ...restStyles,\n }\n\n let classes = `icon ${name}`\n if (additionalClasses) {\n classes += ` ${additionalClasses} `\n }\n\n return (\n \n {children}\n \n )\n\n}\n\nexport default TemplateIcon\n/* sfc */\n", "import 'css-chunk:src/variables.module.scss';export default {\n \"domain\": \"mono-ui\",\n \"same-width\": \"same-width\",\n \"root\": \"mono-ui_accordion\",\n \"accordion_panel\": \"mono-ui_accordion_panel\",\n \"accordion_head\": \"mono-ui_accordion_head\",\n \"toggler_icon\": \"mono-ui_toggler_icon\",\n \"accordion_body\": \"mono-ui_accordion_body\",\n \"full-width\": \"full-width\"\n};", "import { memo } from 'react'\nimport clsx from 'clsx'\n\nimport scssVariables from '../../variables.module.scss'\n\nexport interface IAccordionBodyProps {\n className?: string\n children: React.ReactNode\n expanded: boolean\n error?: boolean\n}\n\nexport const AccordionBody: React.FC = memo(({ children, className, expanded, error }) => (\n <>\n {/* service blocks for smooth accordion effect */}\n
\n
\n
\n {children}\n
\n
\n
\n \n))\n", "import * as React from 'react'\n\nimport { Entity } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport Decorator, { DecoratorProps } from '@qwerty.software/ui-order-form/src/templates/_decorator'\n\nimport useSlice from '@qwerty.software/store-manager/hooks/use-slice'\n\nimport { useSaga } from 'store/hooks/useSaga'\n\nimport { hintLoginSaga } from '@qwerty.software/ui-order-form/src/store/sagas/hint-login'\nimport { placeOrder } from '@qwerty.software/ui-order-form/src/store/sagas/place-order'\nimport { stepSaga } from '@qwerty.software/ui-order-form/src/store/sagas/step'\n\nimport { PaymentMethodsModal } from '@qwerty.software/payments-modals/src/payment-methods-modal'\n\nimport { stepSlice, STEPS, selectors } from '@qwerty.software/ui-order-form/src/store/slices/step/slice-creator'\n\nimport { ExtendableOrderForm } from '@qwerty.software/ui-order-form/src/templates/speedy/extendable/form'\n\nimport StoreManager from '@qwerty.software/store-manager'\n\nimport { ReactComponent as CheckedIcon } from '@qwerty.software/ui-order-form/src/templates/speedy/_form-difference/checkbox-icons/checked.svg'\nimport { ReactComponent as UncheckedIcon } from '@qwerty.software/ui-order-form/src/templates/speedy/_form-difference/checkbox-icons/unchecked.svg'\nimport { AdditionalFeatureSpecial } from '@qwerty.software/ui-order-form/src/templates/speedy/_form-difference/additional-feature-special'\nimport { WriterCategoryButton } from '@qwerty.software/ui-order-form/src/templates/speedy/_form-difference/writer-category-button'\nimport { UpsaleIds, WriterCategoryIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { ConnectPriceDataIncPricesAbTest } from './_form-difference/connect-price-data'\nimport { PlaceOrderSagaAbTest } from './_form-difference/place-order-saga-component'\n\nexport interface UIOrderFormProps extends Omit { }\n\nexport default React.memo(({\n configs = {},\n\n dictionary,\n\n ...props\n}) => {\n useSlice(stepSlice)\n\n useSaga(hintLoginSaga)\n useSaga(stepSaga, stepSlice.actions.set, selectors, STEPS)\n\n const dispatch = StoreManager.getInstance().store.dispatch\n\n const handleSubmit = React.useCallback>((event) => {\n event.preventDefault()\n\n dispatch(placeOrder({}))\n }, [dispatch])\n\n return (\n \n \n\n \n\n \n \n )\n})\n", "import * as React from 'react'\nimport { v4 as uuid } from 'uuid'\n\nimport _merge from 'lodash/merge'\n\nimport { NAME } from '@qwerty.software/ui-order-form/src/constants'\n\nimport { Entity } from './definitions'\n\nimport type { loadingEntities } from '@qwerty.software/ui-order-form/src/templates/dashboard/constants'\n\nimport type { IRawFile, RawOrder } from '@qwerty.software/ui-order-form/src/templates/dashboard/types'\n\nexport { Entity } from './definitions'\n\nexport interface IFormContext extends Omit, HTMLFormElement>, 'children'> {\n entity: Entity\n formRef?: React.MutableRefObject\n\n rawOrder?: RawOrder // dashboard only\n hasAdditionalPayment?: boolean // dashboard only\n rawFiles?: IRawFile[] // dashboard only\n loadingEntity?: loadingEntities // dashboard only\n\n formDifference?: {\n ConnectPriceData?: React.FunctionComponent\n sidebar?: React.FunctionComponent\n summary?: {\n changablePriceItems?: boolean\n PriceItemUnitsList?: React.FunctionComponent\n },\n formBottomBlock?: React.FunctionComponent\n tooltip?: {\n triggers?: Array<'hover' | 'click'>\n },\n checkBoxIcons?: {\n checked: React.FunctionComponent\n unchecked: React.FunctionComponent\n },\n additionalFeatures?: {\n AdditionalFeatureSpecial: React.FunctionComponent\n useShortTitle?: boolean\n },\n WriterCategoryButton?: React.FunctionComponent\n upsalesSpecificOrder?: Array\n calculator?: {\n Footer?: React.FunctionComponent\n }\n MaterialsIcon?: React.FunctionComponent\n MaterialsRemoveIcon?: React.FunctionComponent\n withNumberInputSvgButton?: boolean\n\n priceCalculator?: any\n enabledSoftwares?: number[]\n }\n}\n\nexport const INITIAL_CONFIGS: Omit = {\n id: uuid(),\n name: NAME,\n method: 'GET',\n action: window.location.href,\n hidden: true,\n}\n\nexport const FormContext = React.createContext(INITIAL_CONFIGS as IFormContext)\n\nexport const FormProvider = React.memo<{\n entity: Entity\n formProps: Partial>\n formDifference?: IFormContext['formDifference']\n\n rawOrder?: RawOrder // dashboard only\n hasAdditionalPayment?: boolean // dashboard only\n rawFiles?: IRawFile[] // dashboard only\n loadingEntity?: loadingEntities // dashboard only\n\n children: React.ReactNode\n}>(({\n entity,\n formProps,\n\n formDifference,\n\n rawOrder,\n hasAdditionalPayment,\n loadingEntity,\n rawFiles,\n\n children,\n}) => {\n const formRef = React.useRef(null)\n\n const attrs = _merge({\n ...INITIAL_CONFIGS,\n }, formProps)\n\n return (\n \n
\n {children}\n \n )\n})\n\nexport const useFormContext = () => React.useContext(FormContext)\n", "import * as React from 'react'\nimport type { DeepPartial } from '@reduxjs/toolkit'\nimport { BrowserRouter } from 'react-router-dom'\nimport defaultCalculator from '@qwerty.software/calc-of-price/adapters/microservices'\n\nimport { ConfigsProvider, InnerConfigs } from './configs-context'\nimport { DictionaryProvider, IDictionaryContext } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\nimport { FormProvider, IFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport { withDiscount } from 'global-entities/discount/with-discount'\nimport { withFileUploader } from 'global-entities/files-uploader/with-files-uploader'\n\nimport useSlices from '@qwerty.software/store-manager/hooks/use-slices'\n\nimport ConfigureNotify from 'utils/notify/configure-notify'\n\nimport StoreGate from 'common/store-gate'\n\nimport * as order from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport * as user from '@qwerty.software/ui-order-form/src/store/slices/user'\nimport * as priceData from '@qwerty.software/ui-order-form/src/store/slices/price-data'\n\nimport usePriceData from '@qwerty.software/ui-order-form/src/store/slices/price-data/usePriceData'\nimport useUserData from 'global-entities/user-data/hook'\nimport { useMarkOrderPageAsVisited } from 'hooks/use-mark-order-page-as-visited'\n\nimport GeoTag from 'global-entities/geo-tag'\nimport { CURRENCY_SLICE_PERSIST_CONFIG, currencySlice } from '@qwerty.software/currency-switcher/src/store/slice'\nimport { ORDER_NAMESPACE } from '@qwerty.software/ui-order-form/src/constants'\nimport { useClearAfterTime } from 'hooks/use-clear-after-time'\nimport { FORCE_HIDE_TURNITIN_UPSALE } from 'constants/configs'\n\nexport interface ProvidersProps {\n dictionary?: DeepPartial\n\n // TODO: @required\n configs?: DeepPartial\n // TODO: @required\n entity?: IFormContext['entity']\n formProps?: Partial>\n formDifference?: IFormContext['formDifference']\n}\n\nexport interface DecoratorProps extends ProvidersProps {\n withPriceData?: boolean\n withUserData?: boolean\n\n children?: React.ReactNode\n}\n\nconst ConnectPriceData = React.memo(() => {\n usePriceData({ calculator: defaultCalculator })\n\n return null\n})\n\nconst ConnectUserData = React.memo(() => {\n useUserData()\n\n return null\n})\n\n// we need to clear the order form 24 hours after the last change\nconst ClearDataViaExpire = React.memo(() => {\n useClearAfterTime()\n\n return null\n})\n\nconst MarkOrderPageAsVisited = React.memo(() => {\n useMarkOrderPageAsVisited()\n\n return null\n})\n\nconst Decorator = React.memo(({\n dictionary = {},\n configs = {},\n\n entity = null,\n formProps = {},\n\n // is important to be empty object because we don't need all form differences in each form\n // pass difference only for current difference needed form\n formDifference = {},\n\n children,\n}) => {\n\n // this is here because we need to hide turnitin for all projects without manually adding it to each one\n // just comment this when you need to show turnitin\n React.useEffect(() => {\n window.MICROSERVICES_CONFIGS = {\n ...window.MICROSERVICES_CONFIGS,\n [FORCE_HIDE_TURNITIN_UPSALE]: true,\n }\n }, [])\n\n useSlices([\n [order.orderSlice, order.COMMON_PERSIST_CONFIG],\n [currencySlice, CURRENCY_SLICE_PERSIST_CONFIG],\n [priceData.priceDataSlice],\n [user.userSlice],\n ])\n\n const ConnectPriceDataComponent = formDifference?.ConnectPriceData ? formDifference.ConnectPriceData : ConnectPriceData\n\n return (\n // Comment here because it makes additional render and order bot works wrong\n \n \n \n \n \n \n \n \n \n \n \n {children}\n \n \n \n \n \n // \n )\n})\n\nconst WithDiscountComponent = withDiscount({\n namespace: ORDER_NAMESPACE,\n Component: Decorator,\n options: { searchParam: ['discount', 'discountCode'] }\n})\nconst WithFileUploaderComponent = withFileUploader(ORDER_NAMESPACE, WithDiscountComponent)\n\nexport default WithFileUploaderComponent\n", "import * as React from 'react'\nimport type { DeepPartial } from '@reduxjs/toolkit'\n\nimport type { Configs } from 'common/configs/types'\n\nimport _merge from 'lodash/merge'\n\nexport interface InnerConfigs {\n cashback?: number\n discount?: {\n code: string\n percent?: number\n }\n\n disablePageWordsSwitcher?: boolean\n\n estimatedPriceBefore?: React.ReactNode\n\n summaryAfter?: React.ReactNode\n\n extender?: {\n show: boolean\n withLabel: boolean\n }\n}\n\nexport type { Configs } from 'common/configs/types'\n\nexport interface IConfigsContext extends InnerConfigs, Configs { }\n\nexport const INITIAL_CONFIGS: IConfigsContext = {\n disablePageWordsSwitcher: false,\n\n extender: {\n show: false,\n withLabel: false,\n }\n}\n\nconst ConfigsContext = React.createContext(INITIAL_CONFIGS)\n\nexport const ConfigsProvider = React.memo<{\n configs: DeepPartial\n children: React.ReactNode\n}>(({ configs = {}, children }) => (\n \n {children}\n \n))\n\nexport const useConfigsContext = () => React.useContext(ConfigsContext)\n", "import * as React from 'react'\nimport Template from 'utils/dictionary/t'\n\nimport _merge from 'lodash/merge'\nimport _get from 'lodash/get'\nimport { DeepPartial } from '@reduxjs/toolkit'\n\nimport INITIAL_DICTIONARY, {\n Diction,\n DictionaryContext as IDictionaryContext,\n PlaceholderMap,\n} from './dictionary'\n\nexport interface DictionaryProviderProps {\n dictionary: DeepPartial\n\n children: React.ReactNode\n}\n\ntype dArgs> = T extends keyof PlaceholderMap\n ? [path: T, data: PlaceholderMap[T] | null]\n : [path: T]\n\nconst DictionaryContext = React.createContext(INITIAL_DICTIONARY)\n\nexport const DictionaryProvider = React.memo(({\n dictionary = {},\n\n children,\n}) => (\n \n {children}\n \n))\n\nexport const useDictionary = () => {\n const dictionary = React.useContext(DictionaryContext)\n\n return React.useCallback(>(...args: dArgs) => {\n const [path, data] = args\n\n const diction: Diction = _get(dictionary, path)\n const reactKey = `key: ${diction}`\n\n if (data === null) {\n return typeof diction === 'string'\n }\n\n if (diction === false) {\n return null\n }\n\n if (!diction) {\n return ''\n }\n\n if (!data) {\n return diction\n }\n\n return new Template(reactKey).fill(diction, data)\n }, [dictionary])\n}\n\nexport default DictionaryContext\n\nexport { default as INITIAL_DICTIONARY } from './dictionary'\n\nexport type {\n Diction,\n DictionaryContext as IDictionaryContext,\n PlaceholderMap,\n} from './dictionary'", "import * as React from 'react'\n\nimport _every from 'lodash/every'\nimport _isString from 'lodash/isString'\n\ninterface ITranslateOptions {\n before?: string\n after?: string\n}\n\nclass Template {\n private BEFORE!: string\n private AFTER!: string\n\n constructor(private reactKey: string, {\n before = '[:',\n after = ']',\n }: ITranslateOptions = {}) {\n this.BEFORE = this.escape(before)\n this.AFTER = this.escape(after)\n }\n\n protected escape(str: string): string {\n return str.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&') // escape for RegExp\n }\n\n protected match(str: string) {\n return str.match(this.getPattern('g'))\n }\n\n private getPattern(flags: string): RegExp {\n return new RegExp(`(${this.BEFORE}(?.+?)${this.AFTER})`, flags)\n }\n\n public getToken(placeholder: string): string | null {\n const { groups = {} } = placeholder.match(this.getPattern('')) || {}\n\n return groups.placeholder ?? null\n }\n\n public fill(template: string, data?: Record): React.ReactNode[] | string {\n const placeholders = this.match(template)\n\n if (!placeholders) {\n return [template]\n }\n\n const res = placeholders.reduce((accumulator, placeholder) => {\n const placeholderToken = this.getToken(placeholder)\n\n if (!placeholderToken || !data || typeof data[placeholderToken] === 'undefined') {\n return accumulator\n }\n\n return accumulator.reduce((parts: React.ReactNode[], substr) => {\n if (typeof substr !== 'string') {\n parts.push(substr)\n\n return parts\n }\n\n const _parts: React.ReactNode[] = substr.split(placeholder)\n\n if (_parts.length > 1) {\n for (let i = _parts.length; i-- > 1;) {\n\n _parts.splice(i, 0, data[placeholderToken] ?? null)\n }\n }\n\n parts.push(..._parts)\n\n return parts\n }, [] as React.ReactNode[])\n }, [template] as React.ReactNode[]) as React.ReactNode[]\n\n if (_every(res, _isString)) {\n return res.join('')\n }\n\n return res.map((element, index) => (\n \n {element}\n \n ))\n }\n}\n\nexport default Template", "import { UpsaleIds } from '@qwerty.software/ui-order-form/src/store/constants'\n\nexport type Diction = string | false\n\nconst INITIAL_DICTIONARY: DictionaryContext = {\n title: 'Calculate the price',\n price: {\n caption: 'Total price:',\n bottomCaption: 'Current price:',\n amount: '[:currency][:price]',\n amountRightCurrency: '[:price][:currency]',\n\n summary: {\n complexAssignment: 'Complex Assignment',\n speakerNotes: 'Speaker Notes',\n writerCategory: {\n bestAvailable: 'Best available',\n proWriter: 'PRO writer',\n topWriter: 'TOP writer',\n preferredWriter: 'Preferred writer',\n },\n additionalFeature: {\n plagiarismReport: 'Plagiarism report',\n progressiveDelivery: 'Progressive delivery',\n summary: 'Summary',\n draft: 'Draft',\n abstractPage: 'Abstract',\n grammarlyReport: 'Grammarly Report',\n },\n softCopies: 'Soft Copies',\n software: 'Software',\n },\n },\n titles: {\n dashboard: {\n fieldsMain: 'Paper information',\n fieldsAdditional: 'Extra features',\n },\n inquiry: 'Get a Quote for Your Task',\n stepless: 'Write your order details here:',\n materials: {\n dragMessage: 'Upload files',\n },\n discount: {\n currencyDiscount: 'Bonus [:currency][:amount]',\n secondPageDiscount: '50% off every 2nd page',\n thirdPageDiscount: '50% off every 3rd page',\n },\n singleViewSteps: {\n details: 'Details',\n personalInformation: 'Personal information',\n },\n writerCategory: {\n bestAvailable: 'Regular',\n proWriter: 'Pro',\n topWriter: 'Top',\n preferredWriter: 'Preferred',\n }\n },\n subtitles: {\n inquiry: 'We will get back to you in 5 minutes or less',\n },\n labels: {\n extender: 'Switch to:',\n paperType: 'Type of paper',\n subject: 'Subject',\n topic: 'Topic',\n paperDetails: 'Paper details',\n paperRequirements: 'Paper requirements',\n materials: 'Materials',\n paperFormat: 'Paper format',\n academicLevel: 'Academic level',\n workType: 'Type of work',\n deadline: 'Deadline',\n quantity: 'Quantity',\n pagesWordsSwitcher: {\n pages: 'Pages',\n words: 'Words',\n },\n spacing: 'Spacing',\n slides: 'Number of slides',\n speakerNotes: 'Speaker notes',\n sources: 'Sources',\n softCopies: 'Soft copies',\n writerCategory: 'Choose your writer',\n preferredWriter: 'Writer from order ID[:description]',\n additionalFeatures: 'Additional features',\n software: 'Software',\n discount: 'Discount',\n\n auth: {\n email: 'Email [:required]',\n phone: 'Phone number [:required]',\n password: 'Password [:required]',\n\n tabs: {\n orderForm: {\n signin: 'I have an account',\n signup: 'I am new here',\n social: 'Social Account',\n },\n },\n },\n\n summary: {\n freeFeature: 'Free features',\n\n amendments: 'Amendments',\n bibliography: 'Bibliography',\n outline: 'Outline',\n titlePage: 'Title page',\n formatting: 'Formatting',\n chosenPackage: 'Chosen package',\n },\n },\n descriptions: {\n materials: {\n dragMessage: 'or drag your files here',\n },\n preferredWriter: '(for returning customers only)',\n },\n tooltips: {\n writerCategory: {\n bestAvailable: false,\n proWriter: false,\n topWriter: false,\n preferredWriter: false,\n },\n extender: 'Choose an Extended version if you have a lot of details for your paper, or switch to a Quick form for brief instructions',\n paperType: 'Please select the most appropriate type of paper needed. If the type of paper you need is not on the list, leave the default choice \"Essay\" and specify what you need in the \"Paper details\" field.',\n subject: 'Please select the most appropriate field of studies or the name of the class you have an assignment for. If the subject you need is not on the list, choose \"Other\" and specify what you need in the \"Paper details\" field.',\n topic: 'Please enter the specific title or topic for your paper, if you have one.',\n paperDetails: 'Please leave a detailed explanation of your requirements to make sure the writer is on the right track and decrease chances of revision in your order.',\n materials: 'You may upload useful materials to the writer now or after finishing this form.',\n paperFormat: 'Please specify the format of the paper if needed. Otherwise leave it as is.',\n academicLevel: 'Please select an appropriate academic level that corresponds to your level of writing.',\n workType: 'Please choose the service you are looking for. \"Writing from scratch\" means that you will get a custom written paper. \"Editing/proofreading\" means you will upload your own paper that the writer will revise. \"Problem solving\" suits assignments in Math or Economics, etc. Paraphrasing means re-writing the paper in other words with the same meaning and structure. \"Multiple choice questions\" means choosing one or several answers from offered options.',\n deadline: 'How soon do you want to receive your order? Please consider that it takes about 1 hour to complete 1 page of high quality text.',\n quantity: {\n pages: 'Please choose how many pages you need. 1 double spaced page is approximately 275 words, 1 single spaced page is approximately 550 words. Title and bibliography pages are included for free.',\n words: 'Please choose how many words you need. 275 words with double spacing or 550 words with single spacing is approximately 1 page. Title and bibliography are included for free.',\n problems: 'Please choose how many problems you want to solve.',\n },\n spacing: '1 double spaced page is approximately 275 words, 1 1.5 spaced page is approximately 400 words, 1 single spaced page is approximately 550 words.',\n slides: 'Impress your professors with a high-quality presentation. Choose how many slides it should have. Add speaker notes to present to the audience',\n speakerNotes: 'Additional notes written to accompany slides for the presenter to use during the presentation',\n disabledSpeakerNotes: 'Please choose the number of slides first, and then you will be able to select speaker notes',\n sources: 'The number of sources to be used in the paper. Bibliography page is included for free. Receive printable PDF/DOC sources cited in the paper as \"Soft copies\" for $4 per source.',\n softCopies: 'Digital versions of sources used by the writer that you can receive in electronic format',\n disabledSoftCopies: 'Please choose the number of sources first, and then you will be able to select softcopies',\n additionalFeatures: {\n appliedFetatureTooltipText: 'This feature is already applied to your order',\n disabled: {\n aiCheckReport: {\n default: 'AI writing detection tool is unavailable for less than 400 words or more than 15000',\n },\n resume101Org: {\n default: 'Follow-up/\"Thank You\" Letter is a part of the chosen Package',\n },\n multiplyChoiseQuestions: {\n default: 'This feature is not available for the Multiple choice questions work type',\n },\n },\n },\n preferredWriter: {\n noData: 'Please cancel the current order ID first to be able to enter a new one',\n },\n software: 'Specialized software work included (additional fees apply).',\n discount: 'Placed orders with us before? Check with support agent for a loyalty discount.',\n disabledSoftware: 'If you want to choose some software type you should enable field via checkbox',\n reset: 'For your convenience and security, we keep order form inputs if you navigate to another page accidentally, and automatically clear everything in 24 hours. This way you are protected from having to enter all the information again if anything goes wrong, and your privacy is still 100% secure.',\n },\n placeholders: {\n topic: 'Writer\u2019s choice',\n paperDetails: 'If you have any specific requirements, please add them here',\n preferredWriter: 'Order # ...',\n discount: 'Enter discount code',\n },\n hint: {\n materials: 'Maximum file size is 25 MB',\n deadline: 'Ready by [:time] [:date]',\n quantity: 'Approximately [:amount] [:quantity]',\n paperDetails: 'Please tell us a little more about your task [:minDetailsLenght] - [:maxDetailsLenght] characters)',\n paperRequirements: 'Max file size 25 MB (doc, docx, pdf, rtf, excel)',\n preferredWriter: {\n main: 'Copypaste order ID from Dashboard',\n login: {\n unauthorized: 'Please[:login]first',\n authorized: 'Please enter order ID or choose another writer category',\n noWriters: 'There are no orders with writers on your account.',\n noWritersFromSubmit: 'There are no orders with writers on your account. Please choose another writer category',\n unauthorizedFromSubmit: 'Please[:login]first and enter order ID or choose another writer category'\n },\n policy: 'You accept [:policy]',\n bestAvailable: 'Success!',\n pro: 'your preferred writer has a PRO category',\n top: 'your preferred writer has a TOP category',\n },\n\n auth: {\n email: 'We promise not to spam you',\n phone: 'We wont share phone number with third parties',\n //by creating account with us you agree to our Terms and Conditions, Money Back Guarantee, Privacy Policy and to be contacted regarding your orders\n socialAgreements: 'by creating account with us you agree to our [:terms-and-conditions], [:money-back-guarantee], [:privacy-policy] and to be contacted regarding your orders'\n },\n\n summary: {\n complexAssignment: 'Additional fee charged for completing an order that requires special knowledge and more advanced research skills',\n preferredWriter: 'Please note: your preferred writer has a [:title] category, you will pay [:percent]% more',\n software: 'Specialized software work included (additional fees apply).',\n },\n },\n marks: {\n additionalFeatures: {\n popular: 'Popular',\n },\n summary: {\n free: 'free',\n }\n },\n cashback: {\n oldPriceCaption: 'Standart price',\n oldPrice: '[:currency][:price]',\n priceCaption: '[:cashback]% CASHBACK',\n price: '[:currency][:price]',\n },\n buttons: {\n stepper: {\n step1: 'Paper information',\n step2: 'Price calculation',\n step3: 'Extra features',\n },\n calculator: {\n submit: 'Continue',\n },\n inquiry: {\n submit: 'Get help now',\n },\n preferredWriter: {\n cancel: 'Cancel',\n submit: 'Apply',\n },\n orderForm: {\n reset: 'Clear the order form',\n submit: 'Submit [:price] [:loader]',\n step1: {\n previous: 'Previous',\n next: 'Next',\n },\n step2: {\n previous: 'Previous',\n next: 'Next',\n },\n step3: {\n previous: 'Previous',\n next: 'Next',\n },\n },\n materials: \"Upload files\",\n dashboard: {\n favoriteWriterAddText: false,\n favoriteWriterRemoveText: false\n }\n },\n links: {\n login: 'login',\n auth: {\n forgotPassword: 'Forgot password ?',\n changeAccount: 'Change account',\n },\n preferredWriter: {\n login: 'login',\n policy: 'Preferred writer policy',\n },\n termsAndConditions: 'Terms and Conditions',\n moneyBackGuarantee: 'Money Back Guarantee',\n privacyPolicy: 'Privacy Policy',\n\n discounts: 'Find a valid discound code here',\n\n contacts: {\n whatsup: {\n formatted: false,\n link: false,\n },\n }\n },\n notifications: {\n discount: {\n cancel: 'Your discount is canceled. You have changed the conditions of use.',\n },\n },\n resetModal: 'Are you sure you want to clear the order form?',\n auth: {\n loggedTextFirstLine: 'You are logged in as [:email]',\n loggedTextSecondLine: 'Not you? [:link]',\n },\n moment: {\n deadline: {\n time: 'hh:mmA',\n date: 'MMMM DD, YYYY',\n },\n },\n}\n\nexport type PlaceholderMap = {\n 'titles.discount.currencyDiscount': Record<'currency' | 'amount', React.ReactNode>\n 'labels.preferredWriter': Record<'description', React.ReactNode>\n 'labels.auth.email': Record<'required', React.ReactNode>\n 'labels.auth.phone': Record<'required', React.ReactNode>\n 'labels.auth.password': Record<'required', React.ReactNode>\n 'hint.deadline': Record<'time' | 'date', React.ReactNode>\n 'hint.quantity': Record<'amount' | 'quantity', React.ReactNode>\n 'hint.paperDetails': Record<'minDetailsLenght' | 'maxDetailsLenght', React.ReactNode>\n 'hint.preferredWriter.login.unauthorized': Record<'login', React.ReactNode>\n 'hint.preferredWriter.login.unauthorizedFromSubmit': Record<'login', React.ReactNode>\n 'hint.preferredWriter.policy': Record<'policy', React.ReactNode>\n 'hint.auth.socialAgreements': Record<'terms-and-conditions' | 'money-back-guarantee' | 'privacy-policy', React.ReactNode>\n 'hint.summary.preferredWriter': Record<'title' | 'percent', React.ReactNode>\n 'cashback.priceCaption': Record<'cashback', React.ReactNode>\n 'cashback.oldPrice': Record<'price' | 'currency', React.ReactNode>\n 'cashback.price': Record<'price' | 'currency', React.ReactNode>\n 'price.amount': Record<'price' | 'currency', React.ReactNode>\n 'price.amountRightCurrency': Record<'price' | 'currency', React.ReactNode>\n 'buttons.orderForm.submit': Record<'price' | 'loader', React.ReactNode>\n 'auth.loggedTextFirstLine': Record<'email', React.ReactNode>\n 'auth.loggedTextSecondLine': Record<'link', React.ReactNode>\n}\n\nexport default INITIAL_DICTIONARY\n\nexport interface DictionaryContext {\n title: Diction\n price: {\n caption: Diction\n bottomCaption: Diction\n amount: Diction\n amountRightCurrency: Diction\n\n summary: {\n complexAssignment: Diction\n speakerNotes: Diction\n writerCategory: {\n bestAvailable: Diction\n proWriter: Diction\n topWriter: Diction\n preferredWriter: Diction\n }\n additionalFeature: {\n plagiarismReport: Diction\n progressiveDelivery: Diction\n summary: Diction\n draft: Diction\n abstractPage: Diction\n grammarlyReport: Diction\n }\n softCopies: Diction\n software: Diction\n }\n },\n cashback: {\n oldPriceCaption: Diction\n priceCaption: Diction\n oldPrice: Diction\n price: Diction\n }\n titles: {\n dashboard: {\n fieldsMain: Diction\n fieldsAdditional: Diction\n }\n inquiry: Diction\n stepless: Diction\n materials: {\n dragMessage: Diction\n }\n discount: {\n currencyDiscount: Diction\n secondPageDiscount: Diction\n thirdPageDiscount: Diction\n }\n singleViewSteps: {\n details: Diction\n personalInformation: Diction\n }\n writerCategory: {\n bestAvailable: Diction\n proWriter: Diction\n topWriter: Diction\n preferredWriter: Diction\n }\n }\n subtitles: {\n inquiry: Diction\n }\n labels: {\n extender: Diction\n paperType: Diction\n subject: Diction\n topic: Diction\n paperDetails: Diction\n paperRequirements: Diction\n materials: Diction\n paperFormat: Diction\n academicLevel: Diction\n workType: Diction\n deadline: Diction\n quantity: Diction\n pagesWordsSwitcher: {\n pages: Diction\n words: Diction\n }\n spacing: Diction\n slides: Diction\n speakerNotes: Diction\n sources: Diction\n softCopies: Diction\n writerCategory: Diction\n preferredWriter: Diction\n additionalFeatures: Diction\n software: Diction\n discount: Diction\n\n auth: {\n email: Diction\n phone: Diction\n password: Diction\n\n tabs: {\n orderForm: {\n signin: Diction\n signup: Diction\n social: Diction\n }\n }\n }\n\n summary: {\n freeFeature: Diction\n\n amendments: Diction\n bibliography: Diction\n outline: Diction\n titlePage: Diction\n formatting: Diction\n chosenPackage: Diction\n }\n }\n descriptions: {\n materials: {\n dragMessage: Diction\n }\n preferredWriter: Diction\n }\n tooltips: {\n extender: Diction\n paperType: Diction\n subject: Diction\n topic: Diction\n paperDetails: Diction\n materials: Diction\n paperFormat: Diction\n academicLevel: Diction\n workType: Diction\n writerCategory: {\n bestAvailable: Diction\n proWriter: Diction\n topWriter: Diction\n preferredWriter: Diction\n }\n deadline: Diction\n quantity: {\n pages: Diction\n words: Diction\n problems: Diction\n }\n spacing: Diction\n slides: Diction\n speakerNotes: Diction\n disabledSpeakerNotes: Diction\n sources: Diction\n softCopies: Diction\n disabledSoftCopies: Diction\n additionalFeatures: {\n appliedFetatureTooltipText: Diction\n disabled: {\n aiCheckReport: {\n [key in UpsaleIds]?: Diction\n } & { default: Diction }\n resume101Org: {\n [key in UpsaleIds]?: Diction\n } & { default: Diction }\n multiplyChoiseQuestions: {\n [key in UpsaleIds]?: Diction\n } & { default: Diction }\n }\n }\n preferredWriter: {\n noData: Diction\n }\n software: Diction\n discount: Diction\n disabledSoftware: Diction\n reset: Diction\n }\n placeholders: {\n topic: Diction\n paperDetails: Diction\n preferredWriter: Diction\n discount: Diction\n }\n hint: {\n materials: Diction\n deadline: Diction\n quantity: Diction\n paperDetails: Diction\n paperRequirements: Diction\n preferredWriter: {\n main: Diction\n login: {\n unauthorized: Diction\n authorized: Diction\n noWriters: Diction\n noWritersFromSubmit: Diction\n unauthorizedFromSubmit: Diction\n }\n policy: Diction\n bestAvailable: Diction\n pro: Diction\n top: Diction\n }\n\n auth: {\n email: Diction\n phone: Diction\n socialAgreements: Diction\n }\n\n summary: {\n complexAssignment: Diction\n preferredWriter: Diction\n software: Diction\n }\n }\n marks: {\n additionalFeatures: {\n popular: Diction\n }\n summary: {\n free: Diction\n }\n }\n buttons: {\n stepper: {\n step1: Diction\n step2: Diction\n step3: Diction\n }\n calculator: {\n submit: Diction\n }\n inquiry: {\n submit: Diction\n }\n preferredWriter: {\n cancel: Diction\n submit: Diction\n }\n orderForm: {\n reset: Diction\n submit: Diction\n step1: {\n previous: Diction\n next: Diction\n }\n step2: {\n previous: Diction\n next: Diction\n }\n step3: {\n previous: Diction\n next: Diction\n }\n }\n materials: Diction\n dashboard: {\n favoriteWriterAddText: Diction\n favoriteWriterRemoveText: Diction\n }\n }\n links: {\n login: Diction\n auth: {\n forgotPassword: Diction\n changeAccount: Diction\n }\n preferredWriter: {\n login: Diction\n policy: Diction\n }\n termsAndConditions: Diction\n moneyBackGuarantee: Diction\n privacyPolicy: Diction\n\n discounts: Diction\n\n contacts: {\n whatsup: {\n formatted: Diction\n link: Diction\n }\n }\n }\n notifications: {\n discount: {\n cancel: Diction\n }\n }\n resetModal: Diction\n auth: {\n loggedTextFirstLine: Diction\n loggedTextSecondLine: Diction\n }\n moment: {\n deadline: {\n time: Diction\n date: Diction\n }\n },\n}\n", "import * as React from 'react'\n\nimport StoreManager from '@qwerty.software/store-manager'\nimport StoreManagerInitializer from '@qwerty.software/store-manager/initializer'\n\nimport singleton from 'helpers/singleton'\n\nimport checkSearchParam, { normalizeSearchParam } from './side-effects/search-param'\n\nimport Discount from './selectors'\nimport { applyDiscount } from './definitions'\n\nconst NamespaceContext = React.createContext(null)\n\nconst storeInitializer = StoreManagerInitializer.getInstance()\n\nexport interface Options {\n /**\n * string or string array for redeclare search param\n * true for enable with default search param name\n */\n searchParam?: string | string[] | true\n useCheckRoute?: boolean\n disableAutoApply?: boolean\n disableApplyViaSearch?: boolean\n}\n\nexport const useNamespace = () => {\n const context = React.useContext(NamespaceContext)\n\n if (context === null) {\n throw new Error('\"useNamespace\" of \"discount\" must be used within a \"NamespaceProvider\"')\n }\n\n return context\n}\n\nconst onceSet = singleton('916c7bce-669b-4a7a-92d0-a4508c55775b', () => new Set())\n\ninterface WithDiscountProps {\n Component: React.ComponentType,\n namespace: string\n options?: Options\n}\n\nexport const withDiscount = ({\n Component,\n namespace,\n options,\n}: WithDiscountProps) => {\n const searchParam = normalizeSearchParam(options?.searchParam)\n\n const decorated = React.forwardRef((props, ref) => (\n \n \n \n ))\n\n if (onceSet.has(namespace)) {\n return decorated\n }\n onceSet.add(namespace)\n\n if (!options?.disableAutoApply) {\n storeInitializer.addEventListener('init', () => {\n const { store } = StoreManager.getInstance()\n\n const { sended } = Discount(namespace).DISCOUNT(store.getState())\n\n if (sended) {\n store.dispatch(applyDiscount(namespace, { disableNotify: true, useCheckRoute: options?.useCheckRoute }))\n }\n }, {\n once: true,\n })\n }\n\n if (!searchParam) {\n return decorated\n }\n\n storeInitializer.addEventListener('init', () => {\n const { store } = StoreManager.getInstance()\n\n store.dispatch(checkSearchParam({ namespace, searchParam }))\n }, {\n once: true,\n })\n\n return decorated\n}", "/**\n * An observer that can be used to monitor the initialization state of the storage manager\n */\ninterface IInitializer extends EventTarget {\n isInitialized(): boolean\n}\n\ninterface IInitEvent extends Event {\n /**\n * Flag which signal about synthetic call for callbacks or real clear init event\n */\n isFresh: boolean\n}\n\nabstract class Initializer extends EventTarget implements IInitializer {\n static FreshInitEvent = class extends Event implements IInitEvent {\n public isFresh: boolean = true\n\n constructor(eventInitDict?: EventInit) {\n super('init', eventInitDict)\n }\n }\n\n static InitEvent = class extends Event implements IInitEvent {\n public isFresh: boolean = false\n\n constructor(eventInitDict?: EventInit) {\n super('init', eventInitDict)\n }\n }\n\n private _isInitialized: boolean = false\n\n public isInitialized = (): boolean => {\n return this._isInitialized\n }\n\n /**\n * Overriding addEventListener for \"init\" event:\n * dispatching all callbacks immediately if assigned new listener after it initialized\n */\n public addEventListener(type: string, callback: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void {\n if (this._isInitialized && type === 'init') {\n const cb = typeof callback === 'function' ? callback : callback.handleEvent\n\n cb(new Initializer.InitEvent())\n }\n\n super.addEventListener(type, callback, options)\n }\n\n protected initialized = () => {\n if (this._isInitialized) {\n return\n }\n\n this._isInitialized = true\n\n this.dispatchEvent(new Initializer.FreshInitEvent())\n\n console.log('Store initialized')\n }\n}\n\nexport default Initializer", "import InitializerObserver from './absrtact-initializer'\n\nimport { ConfigsMapType } from 'global-entities/configs/utils/init'\nimport { BootstrapData } from 'global-entities/bootstrap-data/utils/init'\n\nimport type { StoreManagerClass } from '.'\n\nclass Initializer extends InitializerObserver {\n private constructor() { super() }\n\n static getInstance() {\n window.__storeManagerInitializer = window.__storeManagerInitializer || new Initializer()\n\n return window.__storeManagerInitializer\n }\n\n static async init(StoreManager: StoreManagerClass, configs: ConfigsMapType, bootstrapData: BootstrapData.ICore) {\n const instance = Initializer.getInstance()\n\n return new Promise((resolve) => {\n instance.addEventListener('init', handleInited)\n\n instance.init(StoreManager, configs, bootstrapData)\n\n function handleInited(e) {\n instance.removeEventListener('init', handleInited)\n\n resolve(true)\n }\n })\n }\n\n private init(StoreManager: StoreManagerClass, configs: ConfigsMapType, bootstrapData: BootstrapData.ICore) {\n if (this.isInitialized()) {\n console.warn('Store already initialized')\n\n return\n }\n\n require('global-entities/configs/utils/init')\n .initConfigs(configs)\n\n require('global-entities/bootstrap-data/utils/init')\n .initBootstrapData(bootstrapData)\n\n StoreManager.init(this.initialized)\n }\n}\n\nexport const storeManagerInitializer = Initializer.getInstance()\n\nexport { KEY as CONFIGS_KEY } from 'global-entities/configs/utils/init'\nexport { KEY as BOOTSTRAP_DATA_KEY } from 'global-entities/bootstrap-data/utils/init'\n\nexport default Initializer\n\ndeclare global {\n interface Window {\n __storeManagerInitializer?: Initializer\n }\n}", "import { createAction } from '@reduxjs/toolkit'\n\nimport { slice as discountSlice } from 'global-entities/discount/slice'\n\nimport { applyDiscount } from 'global-entities/discount/definitions'\n\nimport { discountListener } from '.'\n\nimport { CHECK_SEARCH_PARAM } from '../definitions'\n\nconst DEFAULT_SEARCH_PARAM = 'discount'\n\nexport const checkSearchParamAction = createAction<{\n namespace: string,\n searchParam: string[]\n}>(CHECK_SEARCH_PARAM)\n\ndiscountListener.startListening({\n actionCreator: checkSearchParamAction,\n\n effect(action, api) {\n const { namespace, searchParam } = action.payload\n\n const url = new URL(window.location.href)\n\n // search between all searchParam names\n const searchParamName = searchParam\n .find(param => Boolean(url.searchParams.get(param)))\n\n if (!searchParamName) {\n return\n }\n\n const code = url.searchParams.get(searchParamName) as string\n\n setTimeout((url, key) => {\n url.searchParams.delete(key)\n\n window.history.replaceState({}, document.title, url.toString())\n }, 0, url, searchParamName)\n\n api.dispatch(discountSlice.actions.setCode({ namespace, code }))\n api.dispatch(applyDiscount(namespace))\n },\n})\n\nexport function normalizeSearchParam(searchParam: string | string[] | boolean = true): string[] | null {\n switch (searchParam) {\n case false:\n return null\n\n case true:\n searchParam = DEFAULT_SEARCH_PARAM\n break\n\n default: break\n }\n\n return !Array.isArray(searchParam)\n ? [searchParam]\n : searchParam\n}\n\nexport default checkSearchParamAction", "import * as React from 'react'\n\nimport './side-effects/notifications'\n\nconst NamespaceContext = React.createContext(null)\n\nexport const useNamespace = () => {\n const context = React.useContext(NamespaceContext)\n\n if (context === null) {\n throw new Error('\"useNamespace\" of \"files-uploader\" must be used within a \"NamespaceProvider\"')\n }\n\n return context\n}\n\nexport const withFileUploader = (\n namespace: string,\n Component: React.ComponentType,\n) => React.forwardRef((props, ref) => (\n \n \n \n))", "import type { ValidationError } from '../validators/_error-interface'\n\nimport { slice as filesUploaderSlice } from 'global-entities/files-uploader/slice'\n\nimport { createFileSelector } from 'global-entities/files-uploader/selectors'\n\nimport { filesUploaderListener } from '.'\n\n/**\n * Check validation errors on adding file and notify user about them\n */\nfilesUploaderListener.startListening({\n actionCreator: filesUploaderSlice.actions.addFile,\n effect: (action, api) => {\n\n for (const file of [].concat(action.payload.files)) {\n const FILE = createFileSelector(action.payload.namespace, file.hash)\n const { validation } = FILE(api.getState())\n\n Object.values(validation).forEach((error: null | ValidationError) => {\n if (!error?.notify) {\n return\n }\n\n error.notify()\n })\n }\n }\n})", "import { createListenerMiddleware } from '@reduxjs/toolkit'\n\nimport singleton from 'helpers/singleton'\n\nconst SINGLETON_ID = '6a903a95-d1a1-46fc-9222-9b5adcbb4ae9'\n\nexport const filesUploaderListener = singleton(SINGLETON_ID, () => createListenerMiddleware())", "import * as React from 'react'\nimport StoreManager from '@qwerty.software/store-manager'\nimport { Slice } from '@reduxjs/toolkit'\nimport { PersistConfig } from 'redux-persist'\n\nconst storeManager = StoreManager.getInstance()\n\nconst useSlices = (\n slices: (Slice | [slice: Slice, persistConfig?: PersistConfig])[],\n deps: React.DependencyList = []\n) => {\n // useState invoked in component constuction moment, so it berofe any useEffects of this component\n const [, setSlices] = React.useState(() => {\n storeManager.addSlices(slices)\n\n return slices\n })\n\n React.useEffect(() => {\n setSlices(prevSlices => {\n // storeManager.removeSlices(prevSlices.map((slice) => (Array.isArray(slice) ? slice[0] : slice)))\n storeManager.addSlices(slices)\n\n return slices\n })\n }, deps)\n}\n\nexport default useSlices\n", "import * as React from 'react'\nimport { SnackbarProvider } from 'notistack'\nimport './styles.scss'\n\nconst ConfigureNotify = () => (\n \n)\n\nexport default ConfigureNotify\n", "import * as React from 'react'\nimport { Provider } from 'react-redux'\nimport { PersistGate } from 'redux-persist/integration/react'\n\nimport { REHYDRATE } from 'redux-persist/lib/constants'\n\nimport setDesignTypeToStorage from 'utils/set-design-type-to-storage'\n\nimport useStoreManager from 'hooks/use-store-manager'\n\ninterface StoreGateProps {\n children: React.ReactNode\n}\n\nconst StoreGate = React.memo(({ children }) => {\n const storeManager = useStoreManager()\n\n React.useEffect((): void => {\n if (storeManager) {\n // @ts-ignore\n storeManager.persistor.dispatch({ type: REHYDRATE })\n\n setDesignTypeToStorage()\n }\n }, [storeManager])\n\n if (!storeManager) {\n return null\n }\n\n const { store, persistor } = storeManager\n\n return (\n \n \n {children}\n \n \n )\n})\n\nexport default StoreGate\n", "import storage from 'utils/storage'\n\nimport getFromConfigs from 'helpers/configs/get-from-configs'\n\nimport { IS_NEW_SPEEDYPAPER_DESIGN, PROJECT_ID } from 'constants/configs'\nimport { DESIGN_TYPE } from 'constants/storage'\nimport { SPEEDYPAPER_ID } from 'constants/project-ids'\n\nexport default () => {\n const isSpeedyPaperId = (getFromConfigs(PROJECT_ID) === SPEEDYPAPER_ID)\n\n if (!storage.get(DESIGN_TYPE) && isSpeedyPaperId) {\n if (getFromConfigs(IS_NEW_SPEEDYPAPER_DESIGN)) {\n storage.set(DESIGN_TYPE, 'new')\n\n return\n }\n\n storage.set(DESIGN_TYPE, 'old')\n }\n}\n", "export const SPEEDYPAPER_ID: number = 4\nexport const PAPERCOACH_ID: number = 5\nexport const WAYWRITE_ID: number = 6\nexport const ESSAYSTUDIO_ID: number = 11\nexport const CHEAPESSAYSWRITINGS24_ID: number = 15\nexport const WRITEPAPERFORME_ID: number = 25\nexport const RESUME_101: number = 32\nexport const RESUME_4_YOU: number = 140\nexport const NURSING_ID: number = 37\nexport const PROESSAYS_ID: number = 41\nexport const HOMEWORKFORME_ID: number = 63\nexport const WRITEPAPERSFORME_ONLINE_ID: number = 69\nexport const MIDTERMGURU_ID: number = 109\nexport const PROJECTS_WITHOUT_SWITCHER: number[] = [37]\nexport const POWERPOINT_ID: number = 124\nexport const DOMYPRESENTATIONFOR_ID: number = 125\nexport const WL_PAPERHELPR_ID: number = 131\nexport const WL_MYSUPERGEEKY_ID: number = 132\nexport const WL_KILLPAPER_ID: number = 133\nexport const WL_999PAPERS_ID: number = 134\nexport const WL_ACADEMWRITERS_ID: number = 144\nexport const ESSAYMARKET_ID: number = 117\nexport const ESSAYNODELAY_ID: number = 126\nexport const ACADEM_EIGHT_ID: number = 122\n", "import * as React from 'react'\n\nimport StoreManagerInitializer from '@qwerty.software/store-manager/initializer'\nimport StoreManager from '@qwerty.software/store-manager'\n\nconst storeManagerInitializer = StoreManagerInitializer.getInstance()\n\nconst useStoreManager = () => {\n const [storeManager, setStoreManager] = React.useState(() => {\n if (storeManagerInitializer.isInitialized()) {\n return StoreManager.getInstance()\n }\n\n return null\n })\n\n const handleInit = React.useCallback(() => {\n setStoreManager(StoreManager.getInstance())\n }, [])\n\n React.useEffect(() => {\n if (!storeManager) {\n storeManagerInitializer.addEventListener('init', handleInit)\n\n return () => {\n storeManagerInitializer.removeEventListener('init', handleInit)\n }\n }\n }, [storeManager])\n\n return storeManager\n}\n\nexport default useStoreManager", "import { createSlice, PayloadAction } from '@reduxjs/toolkit'\nimport { persistReducer } from 'redux-persist'\nimport localforage from 'localforage'\n\nimport _omit from 'lodash/omit'\n\nimport {\n NAME,\n INITIAL_STATE,\n\n AuthFieldNames,\n} from './constants'\nimport { UserState, UserValues } from './types'\n\nconst BLACKLIST = [\n AuthFieldNames.PASSWORD,\n]\n\ntype ValidatedFields = AuthFieldNames.CLIENT_AGREEMENTS\n | AuthFieldNames.EMAIL\n | AuthFieldNames.PASSWORD\n | AuthFieldNames.PHONE\n\nconst slice = createSlice({\n name: `slice://${NAME}/`,\n initialState: INITIAL_STATE,\n reducers: {\n change(state, action: PayloadAction<{ key: K, value: UserValues[K] }>) {\n state[action.payload.key] = action.payload.value\n },\n validationOn(state, action: PayloadAction) {\n let { payload } = action\n\n if (payload && typeof payload === 'string') {\n payload = [payload]\n }\n\n if (!Array.isArray(payload)) {\n payload = Object.values(_omit(AuthFieldNames, ['AUTH_TYPE'])) as K[]\n }\n\n payload.forEach(key => (\n state[key] = { ...state[key], validationEnabled: true }\n ))\n },\n validationOff(state, action: PayloadAction) {\n let { payload } = action\n\n if (payload && typeof payload === 'string') {\n payload = [payload]\n }\n\n if (!Array.isArray(payload)) {\n payload = Object.values(_omit(AuthFieldNames, ['AUTH_TYPE'])) as K[]\n }\n\n payload.forEach(key => (\n state[key] = { ...state[key], validationEnabled: false }\n ))\n },\n reset(state) {\n Object.keys(state).forEach(key => {\n state[key] = INITIAL_STATE[key]\n })\n }\n },\n})\n\nslice.reducer = persistReducer({\n keyPrefix: '',\n key: slice.name,\n // TODO: Disable serialization.\n // serialize: false,\n storage: localforage.createInstance({\n name: '[MSH] Storage',\n storeName: NAME,\n driver: [\n // localforage.INDEXEDDB,\n localforage.LOCALSTORAGE,\n ]\n }),\n blacklist: BLACKLIST,\n}, slice.reducer)\n\n// @ts-ignore\nexport const HYDRATED = (state: State) => state[slice.name]?._persist?.rehydrated\n\nexport const userSlice = slice\n\ninterface State {\n //@ts-ignore\n [userSlice.name]: UserState\n}\n\nexport const value = (name: Name) => (state: State): UserValues[Name] => state[userSlice.name][name]\nexport const USER = (state: State): UserValues => state[userSlice.name]\n", "import getFromConfigs from 'helpers/configs/get-from-configs'\n\nimport { ORDER_DATA_DEFAULTS, PROJECT_DOMAIN } from 'constants/configs'\nimport { SIGNUP } from 'constants/auth'\n\nimport { KEY } from 'global-entities/geo-tag/constants'\nimport { UserValues, UserState } from './types'\n\nexport const DEFAULT_COUNTRY_CODE = 'US'\n\nexport enum Type {\n TEXT = 'text',\n PASSWORD = 'password',\n}\n\nexport enum AuthFieldNames {\n AUTH_TYPE = 'authType',\n EMAIL = 'email',\n PHONE = 'phone',\n PASSWORD = 'password',\n CLIENT_AGREEMENTS = 'clientAgreements',\n}\n\nconst domain = getFromConfigs(PROJECT_DOMAIN)\nexport const NAME = `auth.form/${domain}` as const\n\nconst orderDataDefaults = getFromConfigs(ORDER_DATA_DEFAULTS)\n\nconst getCountryCode = (fallbackCountryCode: string = DEFAULT_COUNTRY_CODE) => {\n try {\n return JSON.parse(sessionStorage.getItem(KEY))?.countryCode || fallbackCountryCode\n } catch (error) {\n return fallbackCountryCode\n }\n}\n\nexport const INITIAL_VALUES: UserValues = {\n [AuthFieldNames.AUTH_TYPE]: (orderDataDefaults && orderDataDefaults.authType) || SIGNUP.authType,\n [AuthFieldNames.EMAIL]: {\n value: '',\n validationEnabled: false,\n },\n [AuthFieldNames.PHONE]: {\n value: {\n number: '',\n countryCode: getCountryCode(),\n mask: '',\n },\n validationEnabled: false,\n },\n [AuthFieldNames.PASSWORD]: {\n type: Type.PASSWORD,\n value: '',\n validationEnabled: false,\n },\n [AuthFieldNames.CLIENT_AGREEMENTS]: {\n value: [],\n validationEnabled: false,\n },\n}\n\nexport const INITIAL_STATE: UserState = {\n ...INITIAL_VALUES,\n}\n", "import { useSelector } from 'react-redux'\n\nimport useAction from 'hooks/useAction'\nimport useDiscount from 'global-entities/discount/hooks/use-discount'\n\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\nimport { ORDER } from '../order'\n\nimport { priceDataSlice } from '.'\nimport { useCalculate } from './use-calculate'\n\nimport type { RawOrder } from '@qwerty.software/ui-order-form/src/templates/dashboard/types'\n\ninterface IUsePriceDataOptions {\n calculator: any\n showAltPrices?: boolean\n\n rawOrder?: RawOrder // for dashboard\n}\n\n// TODO: Replace to RTK side-effects\nconst usePriceData = (options: IUsePriceDataOptions) => {\n const order = useSelector(ORDER)\n const currency = useSelector(CURRENCY)\n const discount = useDiscount()\n\n const setPriceData = useAction(priceDataSlice.actions.change)\n\n useCalculate({\n calculator: options.calculator,\n\n showAltPrices: options.showAltPrices,\n\n rawOrder: options.rawOrder,\n orderValues: order,\n discount,\n currency,\n\n setPriceData,\n })\n}\n\nexport default usePriceData\n", "import * as React from 'react'\nimport { useDispatch } from 'react-redux'\n\nconst useAction = (action: Function, deps: React.DependencyList = []) => {\n const dispatch = useDispatch()\n\n return React.useCallback((...rest: any[]) => dispatch(action(...rest)), deps)\n}\n\nexport default useAction\n", "import * as React from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\n\nimport { slice as discountSlice } from 'global-entities/discount/slice'\n\nimport { useNamespace } from '../with-discount'\nimport { usePriceActivation } from './use-price-activation'\n\nimport Discount from '../selectors'\n\nimport { applyDiscount } from 'global-entities/discount/definitions'\n\ninterface Options {\n useCheckRoute?: boolean\n}\n\nfunction useDiscount(namespace: string = '', { useCheckRoute = false }: Options = {}) {\n const dispatch = useDispatch()\n const _namespace = useNamespace()\n\n if (!namespace) {\n namespace = _namespace\n }\n\n const api = React.useMemo(() => Discount(namespace), [namespace])\n\n let discount = useSelector(api.DISCOUNT)\n const _asyncField = React.useMemo(() => api.adapters.asyncField(discount), [discount])\n\n React.useEffect(() => {\n if (discount === api.NOOP_DISCOUNT) {\n dispatch(discountSlice.actions.setCode({ namespace, code: '' }))\n }\n }, [discount, api])\n\n const handleCodeChange = React.useCallback>(e => {\n const code = e.target.value\n\n dispatch(discountSlice.actions.setCode({ namespace, code }))\n }, [namespace])\n\n const send = React.useCallback(() => {\n dispatch(applyDiscount(namespace, { useCheckRoute }))\n }, [namespace])\n\n const cancel = React.useCallback(() => {\n dispatch(discountSlice.actions.cancelDiscount({ namespace }))\n }, [namespace])\n\n const reset = React.useCallback(() => {\n dispatch(discountSlice.actions.resetDiscount({ namespace }))\n }, [namespace])\n\n type Result = typeof discount & {\n handleCodeChange: typeof handleCodeChange,\n\n send: typeof send,\n cancel: typeof cancel,\n reset: typeof reset,\n\n api: typeof api,\n namespace: typeof namespace,\n\n // temporary\n _asyncField: typeof _asyncField,\n }\n\n const discountApi = React.useMemo(() => ({\n ...discount !== null ? discount : api.NOOP_DISCOUNT,\n handleCodeChange,\n\n send,\n cancel,\n reset,\n\n api,\n namespace,\n\n _asyncField,\n }), [\n namespace,\n discount,\n ])\n\n usePriceActivation({ discountApi })\n\n return discountApi\n}\n\nexport default useDiscount", "import * as React from 'react'\n\nimport { useDispatch, useSelector } from 'react-redux'\nimport { PRICE_DATA_USD } from '@qwerty.software/ui-order-form/src/store/slices/price-data'\n\nimport { slice as discountSlice } from 'global-entities/discount/slice'\nimport { PreloadState } from 'global-entities/discount/definitions'\nimport notify from 'utils/notify'\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\nimport { replacePriceViaCurrency } from '@qwerty.software/currency-switcher/src/utils/replace-price-via-currency'\n\nexport const usePriceActivation = ({ discountApi }) => {\n const dispatch = useDispatch()\n const { priceFullWithoutDiscount } = useSelector(PRICE_DATA_USD)\n const currency = useSelector(CURRENCY)\n\n const updateDiscount = (discount) => dispatch(discountSlice.actions.updateDiscount({ namespace: discountApi.namespace, discount }))\n const { data } = discountApi._asyncField\n\n React.useEffect(() => {\n if (data?.discount?.type?.price_activation && typeof priceFullWithoutDiscount === 'number') {\n if (priceFullWithoutDiscount < data.discount.type.price_activation) {\n const modifiedText = replacePriceViaCurrency({ currency, textWithPrice: `Sorry, the code is valid for order over $${data.discount.type.price_activation}. Add pages or additional services on $${(data.discount.type.price_activation - priceFullWithoutDiscount).toFixed(2)} to activate the code` })\n\n updateDiscount({\n preload: {\n state: PreloadState.REJECTED,\n error: modifiedText,\n },\n applied: false\n })\n\n discountApi.applied && notify.warning('Your discount is canceled. You have changed the conditions of use.')\n }\n\n if (priceFullWithoutDiscount >= data.discount.type.price_activation && !discountApi.applied) {\n discountApi.send()\n }\n }\n }, [data, priceFullWithoutDiscount, discountApi.applied, currency])\n}", "import { useCallback, useEffect, useMemo } from 'react'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport { ContextPDAdapter } from './ContextPDAdapter'\nimport { extractFreeFeaturesFromRawOrder } from './extract-free-features-from-raw-order'\n\nimport { DEFAULT_CURRENCY, ICurrency } from '@qwerty.software/currency-switcher/src/store/constants'\n\nimport type { OrderValues } from '../order/types'\nimport type { IPriceData } from './types'\nimport type { RawOrder } from '@qwerty.software/ui-order-form/src/templates/dashboard/types'\nimport type { DiscountMeta } from 'global-entities/discount/definitions'\nimport type { Values } from \"global-entities/price-data/hooks/useCalculator\"\n\nexport interface ISetterArgs {\n priceData: IPriceData\n adaptedOrderValues: Values\n priceDataBase: IPriceData\n}\n\ninterface IUseCalculatePriceOptions {\n calculator: any\n\n showAltPrices: boolean\n\n rawOrder: RawOrder\n orderValues: OrderValues\n discount: Partial\n currency: ICurrency\n\n setPriceData: ({ priceData, adaptedOrderValues, priceDataBase }: ISetterArgs) => void\n\n overrideValues?: Partial\n}\n\nexport const useCalculate = ({\n calculator,\n\n showAltPrices,\n\n rawOrder,\n orderValues,\n discount,\n currency,\n\n setPriceData,\n\n overrideValues\n}: IUseCalculatePriceOptions) => {\n const { priceCalculatorAdapted = undefined, prices_alt } = getBootstrapData()\n\n const withFreeFeaturesValues = useMemo(() => extractFreeFeaturesFromRawOrder({\n rawOrder,\n orderValues: {...orderValues, ...(overrideValues || {})}\n }), [\n orderValues,\n overrideValues?.academicLevel,\n JSON.stringify(overrideValues?.additionalFeatures),\n overrideValues?.deadline,\n overrideValues?.pagesWordsSwitcher,\n overrideValues?.paperDetails,\n overrideValues?.paperFormat,\n overrideValues?.paperType,\n overrideValues?.preferredOrder?.sended,\n overrideValues?.preferredOrder?.value,\n overrideValues?.quantity,\n overrideValues?.quantityKey,\n overrideValues?.slides,\n overrideValues?.softCopies,\n overrideValues?.software?.checked,\n overrideValues?.software?.value,\n overrideValues?.sources,\n overrideValues?.spacing,\n overrideValues?.speakerNotes,\n overrideValues?.subject,\n overrideValues?.topic,\n overrideValues?.words,\n overrideValues?.workType,\n overrideValues?.writerCategory,\n ])\n\n const writer = rawOrder?.active_writer?.mtl ? rawOrder.active_writer : null\n\n const adaptedOrderValues = useMemo(() => {\n const adapted = ContextPDAdapter({...orderValues, ...(overrideValues || {})}, currency, discount)\n\n return { ...adapted, ...withFreeFeaturesValues, writer }\n }, [orderValues, currency, discount, withFreeFeaturesValues, writer])\n\n const handleSetPriceData = useCallback(({ priceData, adaptedOrderValues, priceDataBase }) => {\n setPriceData({ priceData, adaptedOrderValues, priceDataBase })\n }, [setPriceData])\n\n useEffect(() => {\n if (priceCalculatorAdapted && !!calculator) {\n const prices = showAltPrices\n ? prices_alt\n : priceCalculatorAdapted.bdPrices\n\n const priceData = calculator(\n {\n fieldValues: adaptedOrderValues,\n bd: { ...priceCalculatorAdapted, bdPrices: prices},\n currency: currency.symbol,\n },\n {\n currency: currency.name,\n rate: currency.rate\n }\n )\n\n const priceDataBase = currency.name !== DEFAULT_CURRENCY.name\n ? calculator(\n {\n fieldValues: adaptedOrderValues,\n bd: { ...priceCalculatorAdapted, bdPrices: prices},\n currency: currency.symbol,\n },\n {\n currency: DEFAULT_CURRENCY.name,\n rate: DEFAULT_CURRENCY.rate\n }\n )\n : priceData\n\n handleSetPriceData({ priceData, adaptedOrderValues, priceDataBase })\n }\n }, [\n calculator,\n showAltPrices,\n currency?.name,\n currency?.rate,\n prices_alt,\n priceCalculatorAdapted,\n adaptedOrderValues.pages,\n adaptedOrderValues.words,\n adaptedOrderValues.slides,\n adaptedOrderValues.speakerNotes,\n adaptedOrderValues.problems,\n adaptedOrderValues.questions,\n adaptedOrderValues.deadline,\n adaptedOrderValues.spacing,\n adaptedOrderValues.workType,\n adaptedOrderValues.paperType,\n adaptedOrderValues.academicLevel,\n adaptedOrderValues.writerCategory,\n adaptedOrderValues.sources,\n adaptedOrderValues.softcopies,\n adaptedOrderValues.subject,\n adaptedOrderValues.software,\n\n adaptedOrderValues.additionalFeatures,\n adaptedOrderValues.discountData,\n // @ts-ignore\n adaptedOrderValues.preferredOrderData?.writerCategory?.chosenID,\n // @ts-ignore\n adaptedOrderValues.preferredOrderData?.writerCategory?.free,\n\n setPriceData,\n ])\n}\n", "import { RawOrder } from \"@qwerty.software/ui-order-form/src/templates/dashboard/types\"\nimport { FieldNames } from \"@qwerty.software/ui-order-form/src/store/constants\"\nimport { OrderValues } from \"../order/types\"\n\ninterface IExtractorProps {\n rawOrder: RawOrder\n orderValues: OrderValues\n}\n\ntype TResultKeys = FieldNames.WRITER_CATEGORY | FieldNames.ADDITIONAL_FEATURES | FieldNames.SPEAKER_NOTES\n\ntype TExtractor = (props: IExtractorProps) => Partial>\n\nexport const extractFreeFeaturesFromRawOrder: TExtractor = ({ rawOrder, orderValues }) => {\n if (!rawOrder) return {}\n\n const writerCategoryValue = {\n chosenID: orderValues.writerCategory,\n free: rawOrder.writer_category.free && rawOrder.writer_category.chosen_id === orderValues.writerCategory\n }\n\n const additionalFeaturesValue = orderValues.additionalFeatures.map((id => ({\n id,\n chosen: orderValues.additionalFeatures.includes(id),\n free: rawOrder.additional_features.some((feature) => feature.id === id && feature.free)\n })))\n\n const speakerNotesValue = rawOrder.speaker_notes.enabled && rawOrder.speaker_notes.free ? false : orderValues.speakerNotes\n\n return {\n [FieldNames.WRITER_CATEGORY]: writerCategoryValue,\n [FieldNames.ADDITIONAL_FEATURES]: additionalFeaturesValue,\n [FieldNames.SPEAKER_NOTES]: speakerNotesValue\n }\n}\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\nimport useAction from 'hooks/useAction'\n\nimport checkAction from 'global-entities/user-data/actions/check'\n\nimport { getIsAuthorized, getIsChecked } from 'global-entities/user-data/selectors'\n\nconst useUserData = () => {\n const udIsAuthorized = useSelector(getIsAuthorized)\n const isChecked = useSelector(getIsChecked)\n\n const check = useAction(checkAction)\n\n React.useEffect(() => {\n if (!isChecked) {\n check()\n }\n }, [isChecked])\n\n return {\n check,\n udIsAuthorized,\n }\n}\n\nexport default useUserData\n", "import _size from 'lodash/size'\nimport _get from 'lodash/get'\nimport _toUpper from 'lodash/toUpper'\n\nimport StoreManager from '@qwerty.software/store-manager'\nimport { abTestsSlice } from '@qwerty.software/ab-test/src/component/store'\n\n/* adapters local */\nimport userDataAdapter from 'global-entities/user-data/adapter'\n\n/* utils general */\nimport { reqHPromise as reqH } from 'utils/http-client/request-handler'\nimport notify from 'utils/notify'\nimport storage from 'utils/storage'\nimport customEvent from 'utils/custom-event'\nimport queryString from 'utils/query-string'\nimport actionTracker from 'utils/action-tracker'\n\nimport { getFromURL } from 'utils/from-url'\nimport { setRedesignReferrer } from 'utils/from-url/redesign-referrer'\nimport { getTempQuery } from 'utils/from-url/temp-query'\nimport { getVisitor, setVisitor, setIsNewVisitor } from 'utils/visitor'\nimport { getRT } from 'utils/rt'\nimport { getFirstCheck, setFirstCheck } from 'utils/first-check-request'\nimport trackMainPage from 'utils/visited-pages/track-main-page'\nimport { setVisitedPage } from 'utils/visited-pages'\n\nimport { getFingerprint } from './fingerprint'\n\n/* helpers general */\nimport getFromConfigs from 'helpers/configs/get-from-configs'\n\n/* helpers global-entities */\nimport toggleAuthButtons from 'global-entities/user-data/helpers/toggle-auth-buttons'\n\n// import { SET_ALT_PRICES_FLAG } from 'global-entities/price-data/alt-prices/constants'\n\n/* redux-constants local */\nimport {\n USER_CHECK,\n REMOTE_SUCCESS,\n} from 'global-entities/user-data/constants'\n\n/* constants general */\nimport {\n AUTHORISATION_STATUSES,\n CHECK,\n CHECK_TRIGGERED,\n} from 'constants/auth'\nimport { TEMP_QS_KEY, REFERRER } from 'constants/storage'\nimport { USER_CHECKED } from 'constants/custom-events'\nimport { SHOULD_DISABLE_USER_CHECK_REQUEST } from 'constants/configs'\n\nconst DISABLE_CHECK_REQUEST = getFromConfigs(SHOULD_DISABLE_USER_CHECK_REQUEST)\n\nconst getParams = () => {\n window[CHECK_TRIGGERED] = true\n\n const params = {\n ...(queryString.getParams() || {}),\n ...getTempQuery(),\n from_url: getFromURL(),\n }\n\n const rt = getRT()\n if (rt) {\n params.rt = rt\n }\n\n return params\n}\n\nwindow.checkAuthData = window.checkAuthData || new Promise(resolve => {\n const fingerprint = getFingerprint()\n\n if (DISABLE_CHECK_REQUEST) {\n // eslint-disable-next-line no-console\n console.log('Check request disabled via configs.')\n return\n }\n\n (async (params) => {\n const res = await reqH({\n method: 'GET',\n url: CHECK.route,\n params: {\n ...params,\n first_check_request: getFirstCheck(),\n k: Math.random(),\n f: fingerprint,\n caller: window?.location?.pathname,\n },\n skipGlobalSpinner: true,\n })\n\n if (_size(res.errors) > 0) {\n notify.error(res.errors[0])\n return res\n }\n\n StoreManager.getInstance().store.dispatch(abTestsSlice.actions.hydrate(res.data.user))\n\n setVisitor(res.data.user.visitor_id)\n setIsNewVisitor(res.data.user.is_new_visitor)\n\n const userData = userDataAdapter(res.data.user)\n\n trackMainPage(userData)\n\n setFirstCheck()\n\n setRedesignReferrer()\n\n resolve(res)\n })(getParams())\n})\n\nexport default () => async (dispatch) => {\n if (getFromConfigs(SHOULD_DISABLE_USER_CHECK_REQUEST)) {\n return\n }\n\n try {\n const res = await window.checkAuthData\n\n if (_size(res.errors) > 0) {\n notify.error(res.errors[0])\n return res\n }\n\n const userData = userDataAdapter(res.data.user)\n\n dispatch({\n type: USER_CHECK + REMOTE_SUCCESS,\n payload: userData,\n })\n\n // let altPrice = null\n\n // switch (`${res.data.user.incPrices}`.toUpperCase()) {\n // case 'GROUP_A':\n // altPrice = false\n // break\n // case 'GROUP_B':\n // altPrice = true\n // break\n // default:\n // break\n // }\n\n // dispatch({\n // type: SET_ALT_PRICES_FLAG,\n // payload: altPrice,\n // })\n\n // TODO remove it from here, fix jinp LR-2808\n window._jinp_visitor_id = userData.visitorID\n window._jinp_referrer_id = userData.referrerID\n\n actionTracker.track({\n data: {\n user_status: 'unknown',\n visitor_id: userData.visitorID,\n referrer_id: userData.referrerID,\n },\n })\n\n toggleAuthButtons(userData.isAuthorized ? AUTHORISATION_STATUSES.authorized : AUTHORISATION_STATUSES.unauthorized)\n\n setVisitedPage()\n\n customEvent.trigger(USER_CHECKED, { isAuthorized: userData.isAuthorized })\n\n storage.remove(TEMP_QS_KEY, { isOuterKey: true })\n storage.remove(REFERRER, { isOuterKey: true })\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('[Check request failure]', error.message)\n return error\n }\n}\n", "/* constants general */\nimport { AUTHORISATION_STATUSES } from 'constants/auth'\n\nconst convert = (originalPropertyName, adaptedPropertyName, originalData, adaptedData) => {\n if (typeof originalData[originalPropertyName] !== 'undefined') {\n adaptedData[adaptedPropertyName] = originalData[originalPropertyName]\n }\n\n return adaptedData\n}\n\nexport default (originalData) => {\n if (!originalData) {\n return\n }\n\n const adaptedData = {}\n\n const propertiesForAdaptation = [\n { originalPropertyName: 'id', adaptedPropertyName: 'userID' },\n { originalPropertyName: 'visitor_id', adaptedPropertyName: 'visitorID' },\n { originalPropertyName: 'visitor', adaptedPropertyName: 'visitor' },\n { originalPropertyName: 'referrer_id', adaptedPropertyName: 'referrerID' },\n { originalPropertyName: 'referrer_type_id', adaptedPropertyName: 'referrerTypeID' },\n { originalPropertyName: 'link_id', adaptedPropertyName: 'linkID' },\n { originalPropertyName: 'email', adaptedPropertyName: 'email' },\n { originalPropertyName: 'phone', adaptedPropertyName: 'phone' },\n { originalPropertyName: 'first_name', adaptedPropertyName: 'firstName' },\n { originalPropertyName: 'last_name', adaptedPropertyName: 'lastName' },\n { originalPropertyName: 'subscribed', adaptedPropertyName: 'subscribed' },\n { originalPropertyName: 'paid_orders_count', adaptedPropertyName: 'paidOrdersCount' },\n { originalPropertyName: 'user_tags', adaptedPropertyName: 'tags' },\n { originalPropertyName: 'retentionDiscount', adaptedPropertyName: 'retentionDiscount' },\n { originalPropertyName: 'is_referral', adaptedPropertyName: 'isReferral' },\n { originalPropertyName: 'cashback', adaptedPropertyName: 'cashback' },\n { originalPropertyName: 'cashbackBalance', adaptedPropertyName: 'cashbackBalance' },\n { originalPropertyName: 'all_orders_count', adaptedPropertyName: 'allOrdersCount' },\n { originalPropertyName: 'loyalty_data', adaptedPropertyName: 'loyaltyData' },\n { originalPropertyName: 'profileType', adaptedPropertyName: 'profileType' },\n { originalPropertyName: 'typeOfWorkABTest', adaptedPropertyName: 'typeOfWorkABTest' },\n { originalPropertyName: 'lengthOrderForm', adaptedPropertyName: 'lengthOrderForm' },\n { originalPropertyName: 'notificationProWriter', adaptedPropertyName: 'notificationProWriter' },\n { originalPropertyName: 'chatbotOrderFormAlternative', adaptedPropertyName: 'chatbotOrderFormAlternative' },\n { originalPropertyName: 'showIphoneBanner', adaptedPropertyName: 'showIphoneBanner' },\n { originalPropertyName: 'currency_id', adaptedPropertyName: 'currencyId' },\n { originalPropertyName: 'last_paid_order_data', adaptedPropertyName: 'lastPaidOrderData' },\n { originalPropertyName: 'top_upsales', adaptedPropertyName: 'topUpsales' },\n { originalPropertyName: 'incPrices', adaptedPropertyName: 'incPrices' },\n ]\n\n propertiesForAdaptation.forEach((item) => {\n convert(item.originalPropertyName, item.adaptedPropertyName, originalData.user ? originalData.user : originalData, adaptedData)\n })\n\n adaptedData.authorizationStatus = AUTHORISATION_STATUSES.unauthorized\n adaptedData.isAuthorized = false\n\n if (adaptedData.userID) {\n adaptedData.authorizationStatus = AUTHORISATION_STATUSES.authorized\n adaptedData.isAuthorized = true\n }\n\n return adaptedData\n}\n", "import getFromConfigs from 'helpers/configs/get-from-configs'\nimport { TRACK_TOOL } from 'constants/configs'\n\nimport googleTrack from './google-track'\nimport interiorTrack from './interior-track'\n\nimport type { TrackerType, ITrackerParams } from './types'\n\nconst requiredArgument = (name: string) => {\n throw new Error(`${name} argument is required!`)\n}\n\nexport enum Tool {\n Google = 'google-track',\n Interior = 'interior-track',\n}\n\nconst trackAction: TrackerType = (params: ITrackerParams): void | false => {\n const tool: Tool = params.tool ? params.tool : getFromConfigs(TRACK_TOOL) || Tool.Interior\n\n switch (tool) {\n case (Tool.Google):\n return googleTrack(params)\n case (Tool.Interior):\n default:\n return interiorTrack(params)\n }\n}\n\nconst createSet = ({ name = requiredArgument('name') } = {}) => {\n let set = {}\n\n return {\n push: (params: Object) => {\n set = {\n ...set,\n ...params,\n }\n },\n track: (callback = () => { }) => trackAction({\n eventName: name,\n data: set,\n callback,\n }),\n }\n}\n\n// @ts-ignore\nwindow.microservicesActionTracker = {\n track: trackAction,\n createSet,\n}\n\nexport default {\n track: trackAction,\n createSet,\n}\n", "import type { TrackerType, ITrackerParams } from 'utils/action-tracker/types'\n\nconst checkTrackerEnabled = () => {\n if (typeof (window as any).dataLayer === 'undefined') {\n // eslint-disable-next-line no-console\n console.warn('No \"dataLayer\" variable found!')\n return false\n }\n\n return true\n}\n\nconst trackAction: TrackerType = ({\n eventName = '',\n data = {},\n callback = () => { },\n}: ITrackerParams = {}): void | false => {\n if (!checkTrackerEnabled()) {\n callback() // if tracker is blocked or disabled just call callback for best app safety\n return false\n }\n\n const params: {\n event?: string\n eventCallback: Function\n eventTimeout: number\n [key: string]: any\n } = { ...data, eventCallback: callback, eventTimeout: 500 }\n\n if (eventName) {\n params.event = eventName\n }\n\n if ((window as any)?.dataLayer && !!(window as any)?.dataLayer?.push) {\n (window as any).dataLayer.push(params)\n setTimeout(callback, 350)\n }\n}\n\nexport default trackAction\n", "import StoreManager from '@qwerty.software/store-manager'\n\nimport { INTERIOR_TRACK } from 'utils/action-tracker/interior-track/store/constants'\n\nimport type { TrackerType, ITrackerParams } from 'utils/action-tracker/types'\n\nimport type { Action } from 'utils/action-tracker/interior-track/store/sagas/track/types'\n\nconst trackAction = ({ eventName, callback, data }: {\n eventName: string\n callback: Function\n data: any\n}): Action => ({\n type: INTERIOR_TRACK,\n payload: { eventName, callback, data },\n})\n\nconst interiorTrack: TrackerType = ({\n eventName = '',\n callback = () => { },\n data\n \n}: ITrackerParams = {}) => {\n StoreManager.getInstance().store.dispatch(trackAction({\n eventName,\n callback,\n data\n }))\n}\n\nexport default interiorTrack\n", "import getFromConfigs from 'helpers/configs/get-from-configs'\n\nimport { ADDITIONAL_QUERY_PARAMS_TO_PARENT_SITE } from 'constants/configs'\n\nexport const getRT = () => {\n const additionalQueryParamsToParentSite = getFromConfigs(ADDITIONAL_QUERY_PARAMS_TO_PARENT_SITE)\n if (additionalQueryParamsToParentSite?.rt) {\n return additionalQueryParamsToParentSite.rt\n }\n}\n", "import storage from 'utils/storage'\n\nconst IS_NOT_THE_FIRST_CHECK_REQUEST = 'is-not-the-first-check-request'\n\nexport const getFirstCheck = () => !storage.get(IS_NOT_THE_FIRST_CHECK_REQUEST, { storageType: 'session' })\n\nexport const setFirstCheck = () => storage.set(IS_NOT_THE_FIRST_CHECK_REQUEST, true, { storageType: 'session' })\n", "import _size from 'lodash/size'\nimport _get from 'lodash/get'\n\nimport storage from 'utils/storage'\nimport actionTracker from 'utils/action-tracker'\n\nimport { getVisitedPages } from 'utils/visited-pages'\nimport getUserTraficFields from 'utils/action-tracker/getUserTraficFields'\n\nimport { DESIGN_TYPE } from 'constants/storage'\n\nconst trackMainPage = (userData: any) => {\n // setTimeout(() => {\n if (!_get(getVisitedPages(), `[${document.location.pathname}]`, false)) {\n actionTracker.track({\n eventName: 'main_page_open',\n data: {\n url_from: document.referrer.length ? document.referrer : 'first input',\n url_current: document.location.pathname,\n current_full_url: window.location,\n design_type: storage.get(DESIGN_TYPE),\n ...getUserTraficFields(userData),\n\n ...(userData.isAuthorized\n ? {\n user_id: userData.userID,\n paidOrdersCount: userData.paidOrdersCount,\n allOrdersCount: userData.allOrdersCount,\n }\n : {\n visitor_id: userData.visitorID,\n }\n ),\n },\n })\n }\n // }, 2000)\n}\n\nexport default trackMainPage\n", "import storage from 'utils/storage'\n\nexport const getVisitedPages = () => storage.get('visited_pages', { storageType: 'session' })\n\nexport const setVisitedPage = () => {\n storage.set('visited_pages', {\n ...getVisitedPages(),\n [document.location.pathname]: true,\n }, { storageType: 'session' })\n}\n", "const REVIEWS_RANGE = [38557, 141078, 139112, 89177, 139112, 9233, 30232, 38557]\nconst WHITE_DOORS_RANGE = [149486]\nconst PPC_RANGE = [15474, 141228]\nconst SEO_RANGE = [49692, 149487, 22459, 17474]\nconst SMM_RANGE = [49871, 242, 141405]\nconst DOORS_RANGE = [146402]\nconst ORGANIC_RANGE = [0, 52130]\nconst PUSH_RANGE = [146091]\n\nconst APP_RANGE = [87430, 89941]\n\nconst REFFERAL_RANGE = [4]\n\n// eslint-disable-next-line camelcase\nconst channelFindOut = ({ referrer_id, link_id, referrer_type_id }) => {\n switch (true) {\n case REVIEWS_RANGE.includes(referrer_id):\n return 'reviews'\n case WHITE_DOORS_RANGE.includes(referrer_id):\n return 'white_doors'\n case PPC_RANGE.includes(referrer_id):\n return 'ppc'\n case SEO_RANGE.includes(referrer_id):\n return 'seo'\n case SMM_RANGE.includes(referrer_id):\n return 'smm'\n case DOORS_RANGE.includes(referrer_id):\n return 'doors'\n case ORGANIC_RANGE.includes(referrer_id):\n return 'organic'\n case PUSH_RANGE.includes(referrer_id):\n return 'push'\n case APP_RANGE.includes(link_id):\n return 'app'\n case REFFERAL_RANGE.includes(referrer_type_id):\n return 'refferal'\n default:\n return 'webmasters'\n }\n}\n\nconst getUserTraficFields = (userData) => {\n // eslint-disable-next-line camelcase\n const link_id = userData?.visitor?.link_id || userData?.linkID || 0\n // eslint-disable-next-line camelcase\n const referrer_id = userData?.visitor?.referrer_id || userData?.referrerID || 0\n // eslint-disable-next-line camelcase\n const referrer_type_id = userData?.referrerTypeID || 0\n\n const fields = {\n link_id,\n referrer_id,\n referrer_type_id,\n }\n\n return {\n ...fields,\n channel: channelFindOut(fields),\n }\n}\n\nexport default getUserTraficFields\n", "import getBrowserFingerprint from 'sctk-new-get-browser-fingerprint'\n\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport {\n PROJECT_DOMAIN,\n IS_ALIAS_DOMAIN,\n} from 'constants/configs'\nimport { toBinary } from './toBinary'\n\nexport const getFingerprint = () => {\n const fingerprint = getBrowserFingerprint({ enableWebgl: true })\n const isAliasDomain = getFromConfigs(IS_ALIAS_DOMAIN)\n const configsDomain = getFromConfigs(PROJECT_DOMAIN) || window.location.hostname\n\n const domain = isAliasDomain ? configsDomain : window.location.hostname\n\n return toBinary(`${fingerprint}${domain}`)\n}", "export const toBinary = (source: string): string => {\n const codeUnits = new Uint16Array(source.length)\n\n for (let i = 0; i < codeUnits.length; i++) {\n codeUnits[i] = source.charCodeAt(i)\n }\n\n return btoa(String.fromCharCode(...Array.from(new Uint8Array(codeUnits.buffer))))\n}", "/* constants general */\nimport {\n AUTHORISATION_STATUSES,\n DASHBOARD,\n SIGNOUT,\n} from 'constants/auth'\nimport {\n DATA_ATTR_OPEN_AUTH_MODAL,\n DATA_ATTR_EXISTING_USER_ACTION,\n} from 'constants/data-attrs'\n\nexport default (userAuthorizationStatus) => {\n let openAuthModalBtns = document.querySelectorAll(`[${DATA_ATTR_OPEN_AUTH_MODAL}=true]`)\n let dashboardBtns = document.querySelectorAll(`[${DATA_ATTR_EXISTING_USER_ACTION}=${DASHBOARD.action}]`)\n let signoutBtns = document.querySelectorAll(`[${DATA_ATTR_EXISTING_USER_ACTION}=${SIGNOUT.action}]`)\n\n openAuthModalBtns = [...openAuthModalBtns]\n dashboardBtns = [...dashboardBtns]\n signoutBtns = [...signoutBtns]\n\n switch (userAuthorizationStatus) {\n\n case AUTHORISATION_STATUSES.authorized:\n openAuthModalBtns.forEach((btn) => btn.classList.add('hidden'))\n\n dashboardBtns.forEach((btn) => btn.classList.remove('hidden'))\n\n signoutBtns.forEach((btn) => btn.classList.remove('hidden'))\n break\n\n case AUTHORISATION_STATUSES.unauthorized:\n openAuthModalBtns.forEach((btn) => btn.classList.remove('hidden'))\n\n dashboardBtns.forEach((btn) => btn.classList.add('hidden'))\n\n signoutBtns.forEach((btn) => btn.classList.add('hidden'))\n break\n\n default:\n break\n }\n\n}\n", "export const DATA_ATTR_OPEN_AUTH_MODAL = 'data-open-auth-modal'\n\nexport const DATA_ATTR_OPEN_AUTH_MODAL_NEW = 'data-open-auth-modal-new'\n\nexport const DATA_ATTR_AUTH_TYPE = 'data-auth-type'\n\nexport const DATA_ATTR_EXISTING_USER_ACTION = 'data-existing-user-action'\n\nexport const DATA_ATTR_REQUEST_CALL_MODAL = 'data-open-request-call-modal'\n\nexport const DATA_ATTR_CUSTOM_PATH_FOR_REDIRECT = 'data-custom-path-for-redirect'\n", "export const getUserData = (state) => state?.userData\n\nexport const getAuthorizationStatus = (state) => state?.userData?.authorizationStatus\nexport const getIsAuthorized = (state) => state?.userData?.isAuthorized\n\nexport const getUserID = (state) => state?.userData?.userID\nexport const getVisitorID = (state) => state?.userData?.visitorID\nexport const getReferrerID = (state) => state?.userData?.referrerID\n\nexport const getEmail = (state) => state?.userData?.email\nexport const getPhone = (state) => state?.userData?.phone\n\nexport const getFirstName = (state) => state?.userData?.firstName\nexport const getLastName = (state) => state?.userData?.lastName\nexport const getFullName = (state) => [getFirstName(state), getLastName(state)].join(' ').trim()\n\nexport const getPaidOrdersCount = (state) => state?.userData?.paidOrdersCount\n\nexport const getSubscribed = (state) => state?.userData?.subscribed\n\nexport const getTags = (state) => state?.userData?.tags\n\nexport const getRetentionDiscount = (state) => state?.userData?.retentionDiscount\n\nexport const getPusherRetentionDiscount = (state) => state?.retentionDiscount?.retentionDiscount\n\nexport const getIsABChatbot = (state) => Boolean(state?.userData?.chatbotOrderFormAlternative === 'GROUP_B')\n\nexport const getIsChecked = (state) => Boolean(state?.userData?.checked)\n\n", "import { useEffect } from \"react\"\nimport { useLocation } from \"react-router-dom\"\n\nimport { getIsChecked, getUserID } from 'global-entities/user-data/selectors'\nimport useVisitorID from 'global-entities/user-data/hooks/useVisitorID'\n\nimport { reqHPromise } from \"utils/http-client/request-handler\"\nimport { useSelector } from \"react-redux\"\n\nexport const useMarkOrderPageAsVisited = () => {\n const isChecked = useSelector(getIsChecked)\n const { pathname } = useLocation()\n const userId = useSelector(getUserID)\n const visitorId = useVisitorID()\n\n useEffect(() => {\n if (isChecked && visitorId) {\n reqHPromise({\n method: 'POST',\n url: 'add-visited-page',\n data: {\n name: pathname,\n user_id: userId,\n visitor_id: visitorId\n },\n })\n }\n }, [pathname, userId, visitorId, isChecked])\n}\n", "import { useSelector } from 'react-redux'\n\nimport storage from 'utils/storage'\n\ninterface IUserDataStore {\n userData: {\n visitorID?: number\n }\n}\n\nconst useVisitorID = () => {\n const visitorID = useSelector((state: IUserDataStore) => state.userData.visitorID)\n\n if (visitorID) {\n return visitorID\n }\n\n const Visitor = storage.get('Visitor')\n\n if (Visitor) {\n return Visitor\n }\n\n const userData = storage.get('user_data')\n\n if (userData?.visitorID) {\n return userData.visitorID\n }\n\n return undefined\n}\n\nexport default useVisitorID\n", "import * as React from 'react'\nimport _throttle from 'lodash/throttle'\n\nimport cookie from 'utils/cookie'\n\n// eslint-disable-next-line import/no-named-as-default\nimport tracer from 'global-entities/geo-tag/tracers'\n\nimport useGeoTag from 'global-entities/geo-tag/store/hooks/geoTag'\n\nconst DETAULT_COUNTRY_CODE = 'us'\n\nconst trace = _throttle(tracer, 5000)\n\n// TODO: Replace to RTK side-effect\nconst GeoTag = () => {\n const [{ IP, countryCode }, { setIP, setCountryCode }] = useGeoTag()\n\n React.useEffect(() => {\n (async () => {\n if (!IP || !countryCode) {\n\n try {\n const tag = await trace()\n\n if (tag) {\n setIP(tag.IP as string)\n setCountryCode(tag.countryCode as string || DETAULT_COUNTRY_CODE)\n cookie.set('_ip', tag.IP)\n } else {\n setCountryCode(DETAULT_COUNTRY_CODE) // TODO: hotfix - some users whithout countrycode\n }\n } catch (e) {\n setCountryCode(DETAULT_COUNTRY_CODE)\n\n // eslint-disable-next-line no-console\n console.warn('Setted default country code')\n }\n\n }\n })()\n }, [IP, countryCode])\n\n return null\n}\n\nexport default GeoTag\n", "const isEnabled = () => navigator.cookieEnabled\n\nconst get = (storageItemKey) => {\n if (!isEnabled()) {\n return\n }\n const matches = document.cookie.match(new RegExp(\n // eslint-disable-next-line\n '(?:^|; )' + storageItemKey.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + '=([^;]*)',\n ))\n\n return matches ? decodeURIComponent(matches[1]) : undefined\n}\n\nconst set = (storageItemKey, storageItemValue, { expiryDate } = {}) => {\n if (!isEnabled()) {\n return\n }\n if (expiryDate && expiryDate.toUTCString) {\n expiryDate = expiryDate.toUTCString()\n }\n\n storageItemValue = encodeURIComponent(storageItemValue)\n\n let updatedCookie = `${storageItemKey}=${storageItemValue}`\n if (expiryDate) {\n updatedCookie += `; expires=${expiryDate}`\n }\n\n document.cookie = updatedCookie\n}\n\nconst remove = (storageItemKey) => {\n if (!isEnabled()) {\n return\n }\n set(storageItemKey, '', { expiryDate: new Date() })\n}\n\nconst cookie = {\n isEnabled,\n\n get,\n set,\n remove,\n}\n\nexport default cookie\n\nwindow.MICROSERVICES_UTILS_AND_HELPERS = window.MICROSERVICES_UTILS_AND_HELPERS || {}\n!window.MICROSERVICES_UTILS_AND_HELPERS?.cookie && (window.MICROSERVICES_UTILS_AND_HELPERS.cookie = cookie)", "import axios from 'axios'\nimport _isEmpty from 'lodash/isEmpty'\n\nimport cloudflare from 'global-entities/geo-tag/tracers/cloudflare'\n// import ipinfo from 'global-entities/geo-tag/tracers/ipinfo'\n// import { KEY } from 'global-entities/geo-tag/constants'\n\nconst CancelToken = axios.CancelToken\n\nconst tracers = [\n cloudflare,\n // ipinfo,\n]\n\nexport const trace = async () => {\n // @ts-ignore\n if (!window._ms_geoTagResonseWaiting) {\n // @ts-ignore\n window._ms_geoTagResonseWaiting = true\n const source = CancelToken.source()\n const data = await Promise.race(tracers.map(tracer => tracer(source)))\n\n // @ts-ignore\n delete window._ms_geoTagResonseWaiting\n\n return data\n }\n}\n\nexport { cloudflareTracer } from 'global-entities/geo-tag/tracers/cloudflare'\n// export { ipInfoTracer } from 'global-entities/geo-tag/tracers/ipinfo'\n\nexport default trace\n", "import axios from 'axios'\n\nimport { ITracer } from 'global-entities/geo-tag/tracers/types'\nimport { GeoTagStoreType } from 'global-entities/geo-tag/store/types'\n\nconst KEYS: {\n ip: 'IP',\n loc: 'countryCode',\n} = {\n ip: 'IP',\n loc: 'countryCode',\n}\n\ntype KeyType = keyof GeoTagStoreType\ntype AccumulatorType = {\n [key in KeyType]: string\n}\n\nexport const cloudflareTracer: ITracer = async ({ token }): Promise => {\n const { data } = await axios.get('https://www.cloudflare.com/cdn-cgi/trace', {\n cancelToken: token,\n })\n\n return data.split('\\n').reduce((accumulator: AccumulatorType, keyValue: string) => {\n const [key, value] = keyValue.split('=')\n\n if (key in KEYS) {\n // @ts-ignore\n accumulator[KEYS[key]] = value\n }\n\n return accumulator\n }, {} as AccumulatorType)\n}\n\nexport default cloudflareTracer\n", "import * as React from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\n\nimport {\n setCountryCode,\n setIP,\n} from 'global-entities/geo-tag/store/actions'\nimport {\n COUNTRY_CODE,\n IP,\n} from 'global-entities/geo-tag/store/selectors'\nimport type {\n GeoTagStoreType,\n CountryCodeType,\n IPType,\n} from 'global-entities/geo-tag/store/types'\n\nconst useGeoTag = (): [{\n countryCode: GeoTagStoreType['countryCode'],\n IP: GeoTagStoreType['IP'],\n}, {\n setCountryCode: (countryCode: CountryCodeType) => void,\n setIP: (IP: IPType) => void,\n}] => {\n const dispatch = useDispatch()\n\n return [{\n countryCode: useSelector(COUNTRY_CODE),\n IP: useSelector(IP),\n }, {\n setCountryCode: React.useCallback((countryCode: CountryCodeType): void => {\n // @ts-ignore\n dispatch(setCountryCode(countryCode))\n }, []),\n setIP: React.useCallback((IP: IPType): void => {\n // @ts-ignore\n dispatch(setIP(IP))\n }, []),\n }]\n}\n\nexport default useGeoTag\n", "import { Dispatch } from 'redux'\n\nimport {\n SET_CONTRY_CODE,\n CountryCodeType,\n\n SET_IP,\n IPType,\n} from 'global-entities/geo-tag/store/types'\n\nexport interface ISetCountryCodeAction {\n type: typeof SET_CONTRY_CODE\n payload: CountryCodeType\n}\nexport const setCountryCode = (countryCode: CountryCodeType) => (dispatch: Dispatch) => {\n dispatch({ type: SET_CONTRY_CODE, payload: countryCode })\n}\n\nexport interface ISetIPAction {\n type: typeof SET_IP\n payload: IPType\n}\nexport const setIP = (IP: IPType) => (dispatch: Dispatch) => {\n dispatch({ type: SET_IP, payload: IP })\n}\n\n/* eslint-disable @typescript-eslint/indent */\nexport type GeoTagActions = ISetCountryCodeAction |\n ISetIPAction\n/* eslint-enable @typescript-eslint/indent */\n", "import { KEY } from 'global-entities/geo-tag/constants'\n\nimport type { IGeoTagStore } from 'global-entities/geo-tag/store/types'\n\nexport const COUNTRY_CODE = (state: IGeoTagStore): IGeoTagStore['geo-tag']['countryCode'] => state[KEY].countryCode\n\nexport const IP = (state: IGeoTagStore): IGeoTagStore['geo-tag']['IP'] => state[KEY].IP\n\nexport const GEO_TAG = (state: IGeoTagStore): IGeoTagStore['geo-tag'] => state[KEY]\n", "import { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { reset } from '@qwerty.software/ui-order-form/src/changed-data-reminder/store/actions'\nimport { ORDER_LAST_CHANGED_AT, HYDRATED } from \"@qwerty.software/ui-order-form/src/store/slices/order\";\n\nexport const useClearAfterTime = () => {\n const dispatch = useDispatch()\n\n const [cleaned, setCleaned] = useState(false)\n const orderLastChangeAt = useSelector(ORDER_LAST_CHANGED_AT)\n const storePersisted = useSelector(HYDRATED)\n\n useEffect(() => {\n if (storePersisted) {\n const currentTime = Date.now()\n\n // we need to clear the order form 24 hours after the last change\n if (currentTime - orderLastChangeAt > 24 * 60 * 60 * 1000) {\n dispatch(reset({}) as any)\n setCleaned(true)\n }\n }\n }, [storePersisted])\n\n return { orderStoreCleaned: cleaned }\n}\n", "import { createAsyncThunk } from '@reduxjs/toolkit'\n\nimport { slice as discountSlice } from 'global-entities/discount/slice'\nimport { slice as filesUploaderSlice } from 'global-entities/files-uploader/slice'\n\nimport { stepSlice } from '@qwerty.software/ui-order-form/src/store/slices/step/slice-creator'\nimport chatBotSlice from '@qwerty.software/chat-bot/src/store/slice'\nimport { orderSlice } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { ORDER_NAMESPACE } from '@qwerty.software/ui-order-form/src/constants'\n\ninterface Namespaces {\n discountNamespace?: string\n filesUploaderNamespace?: string\n}\n\ninterface ResetArgs extends Namespaces { }\n\nexport const reset = createAsyncThunk('reset/order', (args, api) => {\n api.dispatch(discountSlice.actions.resetDiscount({ namespace: args?.discountNamespace || ORDER_NAMESPACE }))\n api.dispatch(filesUploaderSlice.actions.resetFiles({ namespace: args?.filesUploaderNamespace || ORDER_NAMESPACE }))\n\n api.dispatch(orderSlice.actions.reset({}))\n api.dispatch(chatBotSlice.actions.reset())\n api.dispatch(stepSlice.actions.reset())\n})", "import { createSlice, createSelector, PayloadAction } from '@reduxjs/toolkit'\nimport { persistReducer } from 'redux-persist'\nimport localforage from 'localforage'\n\nimport { STEP_SAGA } from '../../sagas/step/constants'\nimport { ForwardAction, GoAction, NextAction } from '../../sagas/step/types'\n\nimport { go } from './utils/go'\n\nimport { NAME } from './constants'\nimport type { StepState, Steps } from './types'\n\nexport const createStepSlice = (\n steps: Steps,\n {\n MIN_STEP_INDEX = 0,\n MAX_STEP_INDEX = steps.length - 1,\n INITIAL_INDEX = 0,\n }: {\n MIN_STEP_INDEX?: number,\n MAX_STEP_INDEX?: number,\n INITIAL_INDEX?: number,\n } = {}\n) => {\n const initialState = {\n activeStep: INITIAL_INDEX,\n isFirst: INITIAL_INDEX === MIN_STEP_INDEX,\n isLast: INITIAL_INDEX === MAX_STEP_INDEX,\n }\n const slice = createSlice({\n name: `slice://${NAME}/`,\n initialState,\n reducers: {\n set(state, action: PayloadAction) {\n go(action.payload, MIN_STEP_INDEX, MAX_STEP_INDEX).forEach(([key, value]) => {\n state[key] = value\n })\n },\n reset(state) {\n Object.keys(state).forEach(key => {\n state[key] = initialState[key]\n })\n }\n },\n })\n\n slice.reducer = persistReducer({\n keyPrefix: '',\n key: slice.name,\n // TODO: Disable serialization.\n // serialize: false,\n storage: localforage.createInstance({\n name: '[MSH] Storage',\n storeName: NAME,\n driver: [\n // localforage.INDEXEDDB,\n localforage.LOCALSTORAGE,\n ]\n }),\n }, slice.reducer) as unknown as typeof slice.reducer\n\n // @ts-ignore\n const HYDRATED = (state: State): void | boolean => state[slice.name]?._persist?.rehydrated\n\n const stepSlice = slice\n\n interface State {\n //@ts-ignore\n [stepSlice.name]: StepState\n }\n\n const ACTIVE_STEP = createSelector(getState, state => state?.activeStep)\n const TITLE = createSelector(getState, state => steps[state?.activeStep]?.title)\n const IS_FIRST = createSelector(getState, state => state?.isFirst)\n const IS_LAST = createSelector(getState, state => state?.isLast)\n\n const actions = {\n forward: (): ForwardAction => ({\n type: STEP_SAGA,\n payload: { direction: false },\n }),\n go: (step: number): GoAction => ({\n type: STEP_SAGA,\n payload: { step },\n }),\n next: (): NextAction => ({\n type: STEP_SAGA,\n payload: { direction: true },\n }),\n }\n\n return {\n STEPS: steps,\n stepSlice: slice,\n actions,\n selectors: {\n HYDRATED,\n ACTIVE_STEP,\n TITLE,\n IS_FIRST,\n IS_LAST,\n }\n }\n\n function getState(state) {\n return state[slice.name] as StepState\n }\n}\n\nexport type Selectors = ReturnType['selectors']\n", "import { SAGAS_SCHEMA } from 'constants/sagas'\nimport { NAME } from '../../slices/step/constants'\n\nexport const STEP_SAGA = `${SAGAS_SCHEMA}${NAME}/go` as const", "export const NAME = 'order-form/steps'\n", "export const number = (num: number, min: number = -Infinity, max: number = Infinity) => {\n if (num < min) {\n return min\n }\n\n if (num > max) {\n return max\n }\n\n return num\n}", "import { number } from '@qwerty.software/ui-order-form/src/utils/sanitizers/number'\n\nexport const go = (index, MIN_STEP_INDEX, MAX_STEP_INDEX) => {\n index = number(index, MIN_STEP_INDEX, MAX_STEP_INDEX)\n\n return Object.entries({\n activeStep: index,\n isFirst: index === MIN_STEP_INDEX,\n isLast: index === MAX_STEP_INDEX,\n })\n}\n", "import { createStepSlice } from '@qwerty.software/ui-order-form/src/store/slices/step'\nimport type { Steps } from '@qwerty.software/ui-order-form/src/store/slices/step/types'\n\n// import { topicValidation } from './form-fields/topic/validator'\n\nexport enum Variant {\n ORDER = 'order',\n CALCULATOR = 'calculator',\n}\n\nexport enum Step {\n PAPER_INFORMATION,\n PRICE_CALCULATION,\n EXTRA_FEATURES,\n}\n\nconst steps: Steps = [\n {\n title: 'Paper information',\n // validation: [\n // topicValidation\n // ]\n },\n {\n title: 'Price calculation',\n },\n {\n title: 'Extra features',\n },\n]\n\nexport const slice = createStepSlice(steps)\nexport const { selectors } = slice\nexport const {\n stepSlice,\n actions: stepActions,\n selectors: {\n HYDRATED,\n ACTIVE_STEP,\n TITLE,\n IS_FIRST,\n IS_LAST,\n },\n STEPS,\n} = slice\n", "import { createSlice, PayloadAction } from '@reduxjs/toolkit'\n\nimport _omit from 'lodash/omit'\n\nimport hashsum from 'hash-sum'\n\nimport {\n BotState,\n\n SenderType as Sender,\n\n BotMessageTypesMap,\n UserMessageTypesMap,\n} from './definitions'\n\nimport scssVariables from '../variables.module.scss'\n\nconst INITIAL_STATE: BotState = {\n messages: [],\n input: null,\n wasChanged: [],\n}\n\nconst slice = createSlice({\n name: scssVariables.domain,\n initialState: INITIAL_STATE,\n reducers: {\n botPush: (\n state,\n action: PayloadAction & {\n id?: string\n beforeMessageId?: string\n afterMessageId?: string\n }>,\n ) => {\n const id = action.payload.id || hashsum(action.payload)\n\n const message = {\n id,\n sender: Sender.BOT,\n\n ..._omit(action.payload, ['id', 'sender', 'beforeMessageId', 'afterMessageId']),\n }\n\n if (action.payload.beforeMessageId) {\n const index = state.messages.findIndex(message => message.id === action.payload.beforeMessageId)\n\n if (index !== -1) {\n state.messages.splice(index, 0, message)\n\n return\n }\n }\n\n if (action.payload.afterMessageId) {\n const index = state.messages.findIndex(message => message.id === action.payload.afterMessageId)\n\n if (index !== -1) {\n state.messages.splice(index + 1, 0, message)\n\n return\n }\n }\n\n state.messages.push(message)\n },\n userPush: (\n state,\n action: PayloadAction & {\n id?: string\n beforeMessageId?: string\n afterMessageId?: string\n }>,\n ) => {\n const id = action.payload.id || hashsum(action.payload)\n\n const message = {\n id,\n sender: Sender.USER,\n\n ..._omit(action.payload, ['id', 'sender'])\n }\n\n if (action.payload.beforeMessageId) {\n const index = state.messages.findIndex(message => message.id === action.payload.beforeMessageId)\n\n if (index !== -1) {\n state.messages.splice(index, 0, message)\n\n return\n }\n }\n\n if (action.payload.afterMessageId) {\n const index = state.messages.findIndex(message => message.id === action.payload.afterMessageId)\n\n if (index !== -1) {\n state.messages.splice(index + 1, 0, message)\n\n return\n }\n }\n\n state.messages.push(message)\n },\n\n update: (state, action: PayloadAction) => {\n const index = state.messages.findIndex(message => message.id === action.payload.id)\n\n if (index === -1) {\n return\n }\n\n state.messages[index] = action.payload\n },\n\n setChanged: (state, action: PayloadAction) => {\n if (!state.wasChanged.includes(action.payload)) {\n state.wasChanged = [...state.wasChanged, action.payload]\n }\n },\n\n remove: (state, action: PayloadAction) => {\n state.messages = state.messages.filter(message => message.id !== action.payload)\n },\n\n input: (state, action: PayloadAction) => {\n state.input = action.payload\n },\n\n reset: (state) => {\n delete state.expiredAt\n\n state.messages = []\n state.input = null\n },\n\n expireAt: (state, action: PayloadAction) => {\n state.expiredAt = action.payload ? action.payload : Date.now() + 10 * 1000 // expires in 10 seconds\n },\n },\n})\n\nexport const CHANGED_SELECTOR = (state: BotState): BotState['wasChanged'] => state[slice.name]['wasChanged']\n\nexport default slice", "import { createAction } from '@reduxjs/toolkit'\n\nimport _kebabCase from 'lodash/kebabCase'\n\nimport { WriterCategoryIds, FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { PickedBdFields } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport { FileMeta, NAME as FILE_UPLOADER_NAME } from 'global-entities/files-uploader/definitions'\nimport { DiscountMeta, APPLY_DISCOUNT_KEY, NAME as DISCOUNT_NAME } from 'global-entities/discount/definitions'\n\nimport { SAGAS_SCHEMA } from 'constants/sagas'\nimport scssVariables from '../variables.module.scss'\n\nexport const DOMAIN = `${scssVariables.domain}.bot` as const\n\nexport interface BotState {\n messages: Array\n input: Input | null\n expiredAt?: number\n wasChanged?: string[]\n}\n\nexport const FINAL_SUBMIT = 'final-submit' as const\nexport type FINAL_SUBMIT = typeof FINAL_SUBMIT\n\nexport type Input = FieldNames.TOPIC\n | FieldNames.WORK_TYPE\n | FieldNames.QUANTITY\n | FieldNames.DEADLINE\n | FieldNames.PAPER_DETAILS\n | FieldNames.WRITER_CATEGORY\n | FieldNames.ADDITIONAL_FEATURES\n | DISCOUNT_NAME\n | FINAL_SUBMIT\n\nexport enum SenderType {\n BOT = 'BOT',\n USER = 'USER',\n}\n\nexport enum BotMessageType {\n ADDITIONAL_FEATURES = PickedBdFields.additionalFeatures,\n WRITER_CATEGORIES = PickedBdFields.writerCategories,\n TEXT = 'TEXT',\n TYPING = 'TYPING',\n}\n\nexport enum UserMessageType {\n TOPIC = FieldNames.TOPIC,\n WORK_TYPE = FieldNames.WORK_TYPE,\n QUANTITY = FieldNames.QUANTITY,\n DEADLINE = FieldNames.DEADLINE,\n PAPER_DETAILS = FieldNames.PAPER_DETAILS,\n MATERIALS = 'files-uploader', // FILE_UPLOADER_NAME\n WRITER_CATEGORY = FieldNames.WRITER_CATEGORY,\n ADDITIONAL_FEATURES = FieldNames.ADDITIONAL_FEATURES,\n DISCOUNT = 'discount', // DISCOUNT_NAME\n TEXT = 'TEXT',\n}\n\nexport type BotMessageTypesMap = {\n [BotMessageType.ADDITIONAL_FEATURES]: BotAdditionalFeaturesMessage\n [BotMessageType.WRITER_CATEGORIES]: BotWriterCategoriesMessage\n [BotMessageType.TEXT]: BotTextMessage\n [BotMessageType.TYPING]: BotTypingMessage\n}\n\nexport type UserMessageTypesMap = {\n [UserMessageType.TOPIC]: UserTopicMessage\n [UserMessageType.WORK_TYPE]: UserWorkTypeMessage\n [UserMessageType.QUANTITY]: UserQuantityMessage\n [UserMessageType.DEADLINE]: UserDeadlineMessage\n [UserMessageType.PAPER_DETAILS]: UserPaperDetailsMessage\n [UserMessageType.MATERIALS]: UserMaterialsMessage\n [UserMessageType.WRITER_CATEGORY]: UserWriterCategoryMessage\n [UserMessageType.ADDITIONAL_FEATURES]: UserAdditionalFeaturesMessage\n [UserMessageType.DISCOUNT]: UserDiscountMessage\n [UserMessageType.TEXT]: UserTextMessage\n}\n\nexport interface BaseMessage {\n id: string\n}\n\nexport interface BotMessage extends BaseMessage {\n sender: SenderType.BOT\n type: BotMessageType\n}\n\nexport interface UserMessage extends BaseMessage {\n sender: SenderType.USER\n type: UserMessageType\n}\n\nexport interface MessageMeta {\n id: ID | null\n isLast: boolean\n}\n\ntype ID = number | string\n\n//#region Bot messages\nexport interface BotAdditionalFeaturesMessage extends BotMessage {\n // As filter and sorter, if not isset - all features in bootstrap-data order will displayed\n features?: ID[]\n}\n\nexport interface BotWriterCategoriesMessage extends BotMessage {\n // As filter and sorter, if not isset - all categories in bootstrap-data order will displayed\n categories?: WriterCategoryIds[]\n}\n\nexport interface BotTextMessage extends BotMessage {\n text: string | Selector\n}\n\nexport interface BotTypingMessage extends BotMessage { }\n//#endregion Bot messages\n\nexport type Selector = (state: TState) => TValue\n\nexport type SelectorMap = {\n [FieldNames.TOPIC]: Selector\n [FieldNames.WORK_TYPE]: Selector<{ workType: number, quantityKey: string }>\n [FieldNames.QUANTITY]: Selector<{ quantity: number, quantityKey: string }>\n [FieldNames.DEADLINE]: Selector\n [FieldNames.PAPER_DETAILS]: Selector\n [FILE_UPLOADER_NAME]: Selector\n [FieldNames.WRITER_CATEGORY]: Selector\n [FieldNames.ADDITIONAL_FEATURES]: Selector\n [DISCOUNT_NAME]: Selector\n [APPLY_DISCOUNT_KEY]: Selector\n [FINAL_SUBMIT]: Selector\n}\n\n//#region User messages\nexport interface UserTopicMessage extends UserMessage {\n dataSelector: SelectorMap[FieldNames.TOPIC]\n}\n\nexport interface UserWorkTypeMessage extends UserMessage {\n dataSelector: SelectorMap[FieldNames.WORK_TYPE]\n}\n\nexport interface UserQuantityMessage extends UserMessage {\n dataSelector: SelectorMap[FieldNames.QUANTITY]\n}\n\nexport interface UserDeadlineMessage extends UserMessage {\n dataSelector: SelectorMap[FieldNames.DEADLINE]\n}\n\nexport interface UserPaperDetailsMessage extends UserMessage {\n dataSelector: SelectorMap[FieldNames.PAPER_DETAILS]\n}\n\nexport interface UserMaterialsMessage extends UserMessage {\n dataSelector: SelectorMap[FILE_UPLOADER_NAME]\n}\n\nexport interface UserWriterCategoryMessage extends UserMessage {\n dataSelector: SelectorMap[FieldNames.WRITER_CATEGORY]\n}\n\nexport interface UserAdditionalFeaturesMessage extends UserMessage {\n dataSelector: SelectorMap[FieldNames.ADDITIONAL_FEATURES]\n}\n\nexport interface UserDiscountMessage extends UserMessage {\n dataSelector: SelectorMap[DISCOUNT_NAME]\n}\n\nexport interface UserTextMessage extends UserMessage {\n dataSelector: Selector\n}\n//#endregion User messages\n\nexport const startChatBotSaga = createAction(`${SAGAS_SCHEMA}${DOMAIN}/chating` as const)\nexport type StartChatBotSagaAction = ReturnType\n\nexport function createNext(name: TKey) {\n return createAction(`${SAGAS_SCHEMA}${DOMAIN}/chating/next/${_kebabCase(name)}` as const);\n}\nexport type NextAction = ReturnType", "import 'css-chunk:../chat-bot/src/variables.module.scss';export default {\n \"domain\": \"essie\",\n \"container\": \"essie_container\",\n \"messages\": \"essie_messages\",\n \"group\": \"essie_messages__group\",\n \"group-avatar\": \"essie_messages__group-avatar\",\n \"group-messages\": \"essie_messages__group-messages\",\n \"group-name\": \"essie_messages__group-name\",\n \"message\": \"essie_message\",\n \"message--user\": \"essie_message--user\",\n \"message--bot\": \"essie_message--bot\",\n \"message-text\": \"essie_message-text\",\n \"message-icon\": \"essie_message-icon\",\n \"message--text\": \"essie_message--text\",\n \"message--writer-categories\": \"essie_message--writer-categories\",\n \"message--writer-category\": \"essie_message--writer-category\",\n \"message--materials\": \"essie_message--materials\",\n \"message--additional-features\": \"essie_message--additional-features\",\n \"message--additional-feature\": \"essie_message--additional-feature\",\n \"message--typing\": \"essie_message--typing\",\n \"icon\": \"essie_icon\",\n \"icon--readed\": \"essie_icon--readed\",\n \"icon--writer-category\": \"essie_icon--writer-category\",\n \"icon--best-available\": \"essie_icon--best-available\",\n \"icon--pro\": \"essie_icon--pro\",\n \"icon--top\": \"essie_icon--top\",\n \"inputs\": \"essie_inputs\",\n \"form\": \"essie_form\",\n \"form--topic\": \"essie_form--topic\",\n \"form--work-type\": \"essie_form--work-type\",\n \"form--quantity\": \"essie_form--quantity\",\n \"form--deadline\": \"essie_form--deadline\",\n \"form--writer-category\": \"essie_form--writer-category\",\n \"form--paper-details\": \"essie_form--paper-details\",\n \"form--additional-features\": \"essie_form--additional-features\",\n \"form--discount\": \"essie_form--discount\",\n \"form--final-submit\": \"essie_form--final-submit\",\n \"input\": \"essie_input\",\n \"input--topic\": \"essie_input--topic\",\n \"input--paper-details\": \"essie_input--paper-details\",\n \"input--discount\": \"essie_input--discount\",\n \"button\": \"essie_button\",\n \"button--submit\": \"essie_button--submit\",\n \"button--writer-category\": \"essie_button--writer-category\",\n \"button--remove-material\": \"essie_button--remove-material\",\n \"button--submit-discount\": \"essie_button--submit-discount\",\n \"button--final-submit\": \"essie_button--final-submit\",\n \"switcher\": \"essie_switcher\",\n \"thumb\": \"mono-ui_switcher__thumb\",\n \"flag\": \"mono-ui_switcher__flag\",\n \"label\": \"mono-ui_switcher__label\",\n \"switcher--pages-words\": \"essie_switcher--pages-words\",\n \"number-input\": \"essie_number-input\",\n \"decrease\": \"mono-ui_number-input__button--decrease\",\n \"increase\": \"mono-ui_number-input__button--increase\",\n \"number-input-image\": \"number-input-input__icon\",\n \"number-input--quantity\": \"essie_number-input--quantity\",\n \"select\": \"essie_select\",\n \"select--work-type\": \"essie_select--work-type\",\n \"select--deadline\": \"essie_select--deadline\",\n \"radio-group\": \"essie_radio-group\",\n \"radio-group--writer-category\": \"essie_radio-group--writer-category\",\n \"radio-group--additional-feature\": \"essie_radio-group--additional-feature\",\n \"radio-group__label\": \"essie_radio-group__label\",\n \"radio-group__option\": \"essie_radio-group__option\",\n \"dropzone\": \"essie_dropzone\",\n \"dropzone--materials\": \"essie_dropzone--materials\",\n \"material\": \"essie_material\",\n \"material--success\": \"essie_material--success\",\n \"material--error\": \"essie_material--error\",\n \"material--progress\": \"essie_material--progress\",\n \"material__icon-box\": \"essie_material__icon-box\",\n \"material__icon\": \"essie_material__icon\",\n \"material__name\": \"essie_material__name\",\n \"material__error-message\": \"essie_material__error-message\",\n \"material__linear-progress\": \"essie_material__linear-progress\",\n \"material__size\": \"essie_material__size\",\n \"tooltip\": \"essie_tooltip\",\n \"tooltop_portal\": \"mono-ui_tooltip__portal\",\n \"tooltip--writer-category\": \"essie_tooltip--writer-category\",\n \"typing-progressbar\": \"essie_typing-progressbar\",\n \"typing-progressbar__dot\": \"essie_typing-progressbar__dot\",\n \"typing-progressbar--dot-animation\": \"_essie_typing-progressbar--dot-animation_ib73n_1\",\n \"notistack\": \"essie_notistack\",\n \"price\": \"essie_price\",\n \"discounted\": \"essie_price--discounted\",\n \"path\": \"path\",\n \"circle\": \"circle\",\n \"essie_typing-progressbar--dot-animation\": \"_essie_typing-progressbar--dot-animation_ib73n_1\"\n};", "import * as React from 'react'\nimport StoreManager from '@qwerty.software/store-manager'\nimport { Slice } from '@reduxjs/toolkit'\nimport { PersistConfig } from 'redux-persist'\n\nconst storeManager = StoreManager.getInstance()\n\nconst useSlice = (slice: Slice, persistConfig?: PersistConfig, deps: React.DependencyList = []) => {\n // useState invoked in component constuction moment, so it berofe any useEffects of this component\n const [, setSlice] = React.useState(() => {\n storeManager.addSlice(slice, persistConfig)\n\n return slice\n })\n\n React.useEffect(() => {\n setSlice(prevSlice => {\n // storeManager.removeSlice(prevSlice)\n storeManager.addSlice(slice, persistConfig)\n\n return slice\n })\n }, deps)\n}\n\nexport default useSlice\n", "import * as React from 'react'\nimport { Saga as SagaType } from '@redux-saga/types'\n\nimport saga from 'store/sagas'\n\nexport const useSaga = (sagaWatcher: S, ...args: Parameters): void => {\n React.useEffect(() => {\n const createOrderSaga = saga.run(sagaWatcher, ...args)\n\n return () => {\n createOrderSaga.cancel()\n }\n }, [sagaWatcher, ...args])\n}\n\nexport const Saga = ({ watcher, args }: { watcher: S, args: Parameters }) => {\n useSaga(watcher, ...args)\n\n return null\n}\n", "import { SagaIterator } from 'redux-saga'\nimport { take, put, takeEvery } from 'redux-saga/effects'\nimport _size from 'lodash/size'\n\nimport storage from 'utils/storage'\n\nimport { OPEN_MODAL, CLOSE_MODAL } from 'framework/modal/constants'\nimport { msName as AUTH_MODAL_NAME } from 'microservices/auth/auth-modal/constants'\n\nimport { SHOULD_PREVENT_REDIRECT_TO_DASHBOARD_KEY } from 'constants/storage'\n\nimport { SET_FIELD_VALUE } from 'common/sheared/universal-constants'\n\nimport { SIGNIN } from 'constants/auth'\nimport cc from 'common/fields-configs'\nimport { SAGAS_PREFIX } from '@qwerty.software/ui-order-form/src/store/constants'\n\nexport const HINT_LOGIN_SAGA = `${SAGAS_PREFIX}hint-login` as const\n\nfunction* hintLogin(): SagaIterator {\n yield put({ type: `${cc.authType.name}${SET_FIELD_VALUE}`, payload: { fieldValue: SIGNIN.authType } })\n yield put({ type: `${cc.authFormStepper.name}${SET_FIELD_VALUE}`, payload: { fieldValue: SIGNIN.authFormStep } })\n yield put({ type: `${AUTH_MODAL_NAME}${OPEN_MODAL}` })\n\n storage.set(SHOULD_PREVENT_REDIRECT_TO_DASHBOARD_KEY, true, { storageType: 'session' })\n // @ts-ignore\n window.__preventAuthDashboardRedirect_4f9d22be = true\n\n yield take(`${AUTH_MODAL_NAME}${CLOSE_MODAL}`)\n}\n\nexport function* hintLoginSaga() {\n yield takeEvery(HINT_LOGIN_SAGA, hintLogin)\n}\n", "export const OPEN_MODAL = '/OPEN_MODAL'\nexport const CLOSE_MODAL = '/CLOSE_MODAL'\n", "export const msName: 'auth-modal' = 'auth-modal'\n\nexport const EXCLUDE_AUTH_MODAL_FROM_PAGES = [\n 'signup',\n 'register',\n 'signin',\n 'login',\n 'auth',\n 'dashboard',\n 'new-dashboard',\n]\n", "export const SET_FIELD_VALUE = '/SET_FIELD_VALUE'\nexport const SET_FIELD_VALUE_FROM_QUERY = '/SET_FIELD_VALUE_FROM_QUERY'\nexport const SET_FIELD_VALUE_FROM_CUSTOM_EVENT = '/SET_FIELD_VALUE_FROM_CUSTOM_EVENT'\nexport const SET_SYSTEM_FIELD_VALUE = '/SET_SYSTEM_FIELD_VALUE'\nexport const SET_EXPECTED_FIELD_VALUE = '/SET_EXPECTED_FIELD_VALUE'\nexport const SET_INIT_FIELD_VALUE = '/SET_INIT_FIELD_VALUE'\n\nexport const SET_ENABLED = '/SET_ENABLED'\n\nexport const UNDO_FIELD_VALUE = '/UNDO_FIELD_VALUE'\nexport const REDO_FIELD_VALUE = '/REDO_FIELD_VALUE'\n\nexport const CHECK_FIELD_VALUE = '/CHECK_FIELD_VALUE'\n\nexport const REMOTE_ATTEMPT = '/REMOTE_ATTEMPT'\nexport const REMOTE_ERROR = '/REMOTE_ERROR'\nexport const REMOTE_SUCCESS = '/REMOTE_SUCCESS'\nexport const REMOTE_BREAK = '/REMOTE_BREAK'\n\nexport const FORCE_UPDATED_LOCAL_VALUE = '/FORCE_UPDATED_LOCAL_VALUE'\n", "import { SagaIterator } from 'redux-saga'\nimport { call, take, select, takeLatest } from 'redux-saga/effects'\nimport type { Action } from 'redux'\nimport { createAction } from '@reduxjs/toolkit'\nimport ReCAPTCHA from 'react-google-recaptcha'\n\nimport _pick from 'lodash/pick'\n\nimport { sendRemoteOrderForm, DONE } from 'microservices/order/order-form/actions'\nimport StoreManager from '@qwerty.software/store-manager'\n\nimport * as adapters from './request/adapters'\nimport * as extractors from './request/extractors'\n\nimport validation from '@qwerty.software/ui-order-form/src/store/sagas/place-order/validation'\n\nimport {\n getUserID as USER_ID,\n getIsAuthorized as IS_AUTHORIZED,\n} from 'global-entities/user-data/selectors'\nimport { ORDER, orderSlice } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { USER } from '@qwerty.software/ui-order-form/src/store/slices/user'\n\nimport { SAGAS_PREFIX } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport { PRICE_DATA_USD, PD_VALUES } from '@qwerty.software/ui-order-form/src/store/slices/price-data'\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\n\nimport type { IPriceData } from '../../slices/price-data/types'\nimport type { Values } from 'global-entities/price-data/hooks/useCalculator'\nimport { ABTestGroup } from '@qwerty.software/ab-test/src/component/types'\nimport { ICurrency } from '@qwerty.software/currency-switcher/src/store/constants'\n\nexport interface Options {\n fileLoaderNamespace: string\n discountNamespace: string\n incPricesAbGroup?: ABTestGroup\n}\n\ntype PlaceOrderSagaPayload = {\n withRecaptcha?: boolean\n recaptchaRef?: React.MutableRefObject\n\n priceDataSelector?: (state: any) => IPriceData\n priceDataValuesSelector?: (state: any) => Values\n}\n\ninterface PlaceOrderAction extends Action {\n payload?: PlaceOrderSagaPayload\n}\n\nconst PLACE_ORDER_SAGA = `${SAGAS_PREFIX}place-order` as const\n\nexport const placeOrder = createAction(PLACE_ORDER_SAGA)\n\nconst { dispatch, getState } = StoreManager.getInstance().store\n\nexport function* placeOrderSaga(options: Options, action: PlaceOrderAction): SagaIterator {\n let recaptchaToken = null\n\n if (action?.payload?.withRecaptcha && action?.payload?.recaptchaRef?.current) {\n recaptchaToken = yield call(action.payload.recaptchaRef.current?.executeAsync())\n action.payload.recaptchaRef.current?.reset()\n }\n\n const {\n priceDataSelector = PRICE_DATA_USD,\n priceDataValuesSelector = PD_VALUES,\n } = action.payload || {}\n\n const orderValues = yield select(ORDER)\n const userValues = yield select(USER)\n const priceData = yield select(priceDataSelector)\n\n const currency: ICurrency = yield select(CURRENCY)\n\n const priceDataValues = yield select(priceDataValuesSelector)\n\n const validationResult = yield call(validation, orderValues, userValues, priceDataValues)\n\n if (validationResult instanceof Error) {\n return false\n }\n\n const user = {\n id: (yield select(USER_ID)) as ID,\n isAuthorized: (yield select(IS_AUTHORIZED)) as boolean,\n }\n\n const order = adapters.order(orderValues, {\n currency,\n priceData,\n priceDataValues,\n }, _pick(options, ['fileLoaderNamespace', 'discountNamespace']))\n order.agreements = extractors.agreements(userValues)\n order.user = adapters.user({ ...user, ...userValues })\n\n if ((window as any).mainPageClosure === '/uk') { // !!! FLAG FROM LR\n order.force_set_uk_flow = true\n }\n\n if (options?.incPricesAbGroup === \"GROUP_A\" || options?.incPricesAbGroup === \"GROUP_B\") {\n order.altPrices = options.incPricesAbGroup === \"GROUP_B\"\n }\n\n dispatch(orderSlice.actions.placeOrderLoadingStart())\n\n sendRemoteOrderForm(order)(dispatch, getState, priceData, recaptchaToken, currency)\n\n yield take(DONE)\n}\n\nexport function* placeOrderSagaWatcher(options: Options) {\n yield takeLatest(PLACE_ORDER_SAGA, placeOrderSaga, options)\n}\n", "import _size from 'lodash/size'\nimport _isArray from 'lodash/isArray'\n\nimport StoreManager from '@qwerty.software/store-manager'\n\n/* utils general */\nimport { reqHPromise } from 'utils/http-client/request-handler'\nimport notify from 'utils/notify'\nimport globalSpinner from 'utils/global-spinner'\nimport storage from 'utils/storage'\nimport actionTracker, { Tool } from 'utils/action-tracker'\n\n/* helpers general */\nimport webViewPostMessage from 'helpers/webview/webview-post-message'\n\n/* helpers global-entities */\nimport systemAuthorization from 'global-entities/user-data/helpers/system-authorization'\nimport toggleAuthButtons from 'global-entities/user-data/helpers/toggle-auth-buttons'\n/* helpers local */\nimport trackSuccessOrderSubmit from 'microservices/order/order-form/helpers/track-successful-order-submission'\n\n/* redux-constants microservices */\nimport {\n REMOTE_ATTEMPT,\n REMOTE_ERROR,\n REMOTE_SUCCESS,\n} from 'microservices/sheared/universal-constants'\n\n/* constants general */\nimport { AUTHORISATION_STATUSES } from 'constants/auth'\nimport { CONVERSION_PARAMS_KEY, CONVERSION_PARAMS_FROM_PRICE_COMPARATOR_KEY } from 'constants/storage'\nimport { openPaymentsModal } from '@qwerty.software/payments-modals/src/modals-control'\nimport { paymentEntities } from '@qwerty.software/payments-modals/src/constants'\n// import { SHOULD_REDIRECT_TO_PARENT_SITE } from 'constants/configs'\n\n/* configs local */\nimport mcBasic from 'microservices/order/order-form/configs/basic'\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport { PROJECT_ID } from 'constants/configs'\nimport { SPEEDYPAPER_ID } from 'constants/project-ids'\n\nimport { orderSlice } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { USER_UPDATE, REMOTE_SUCCESS as USER_REMOTE_SUCCESS } from 'global-entities/user-data/constants'\nimport userDataAdapter from 'global-entities/user-data/adapter'\n\nimport chatBotSlice from '@qwerty.software/chat-bot/src/store/slice'\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nexport const DONE = 'take://place-order/done'\n\nexport const sendRemoteOrderForm = (composedOrderData) => async (dispatch, getState, priceData, recaptchaToken, currency) => {\n const orderData = { ...composedOrderData }\n const bd = getBootstrapData()\n\n dispatch({ type: mcBasic.name + REMOTE_ATTEMPT })\n\n const storeManager = StoreManager.getInstance()\n\n if (orderData.discount_code) {\n const state = storeManager.store.getState()\n const PD = priceData ? priceData : state.priceData\n\n const priceWithoutDiscount = PD.priceFull + PD.discountAmount\n orderData.price_without_discount = priceWithoutDiscount\n orderData.wm_price_without_discount = parseFloat(PD.priceBasicWithoutDiscount)\n }\n\n if (recaptchaToken) {\n orderData.recaptchaToken = recaptchaToken\n }\n\n const res = await reqHPromise({\n method: 'POST',\n url: 'new-order',\n data: orderData,\n hideGlobalSpinnerAfterResponse: false,\n })\n\n if (_size(res.errors) > 0) {\n dispatch({ type: mcBasic.name + REMOTE_ERROR })\n\n notify.error(res.errors[0])\n // TODO remove after adding response handler\n globalSpinner.hide()\n dispatch(orderSlice.actions.placeOrderLoadingStop())\n\n return\n }\n\n dispatch({ type: mcBasic.name + REMOTE_SUCCESS })\n\n if (!res.data.jwt.access_token) {\n throw new Error('Please enter correct email/password or register new account')\n }\n\n if (res.data.jwt.expires_in) {\n storage.set('jwt', res.data.jwt.access_token, { expires: res.data.jwt.expires_in })\n } else {\n storage.set('jwt', res.data.jwt.access_token)\n }\n\n storeManager.persistor.purge()\n // @ts-ignore\n // check it !!\n storeManager.store.dispatch(chatBotSlice.actions.expireAt(Date.now()))\n\n systemAuthorization({\n userData: res.data.user,\n authType: orderData.user.authType,\n dispatch,\n })\n\n toggleAuthButtons(AUTHORISATION_STATUSES.authorized)\n\n storage.remove(CONVERSION_PARAMS_KEY, { isOuterKey: true })\n storage.remove(CONVERSION_PARAMS_FROM_PRICE_COMPARATOR_KEY, { isOuterKey: true })\n\n if (res.data.order.id && res.data.order.discount_validation) {\n let discountErrorText = _isArray(res.data.order.discount_validation) && res.data.order.discount_validation.length ? res.data.order.discount_validation[0] : res.data.order.discount_validation\n discountErrorText = discountErrorText.slice(-1) !== '.' ? `${discountErrorText}.` : discountErrorText\n // used in payment-methods-modal package and in the microservices hub project\n storage.set(`discountError-${res.data.order.id}`, discountErrorText, { storageType: 'session' })\n }\n\n if (res.data.user && res.data.order?.currency) {\n dispatch({ type: USER_UPDATE + USER_REMOTE_SUCCESS, payload: { ...userDataAdapter(res.data.user), currencyId: res.data.order?.currency } })\n }\n\n trackSuccessOrderSubmit({\n order: res.data.order,\n user: {\n ...res.data.user,\n authType: orderData.user.authType,\n },\n successCallback: () => {\n const orderID = (res.data.order && res.data.order.id) || ''\n globalSpinner.hide()\n if ((window as any).ReactNativeWebView) {\n webViewPostMessage({\n screen: 'PaymentModal',\n data: {\n orderID,\n paymentAmount: res.data.order.price,\n },\n })\n return\n }\n\n if (res.data.order?.is_first_order) {\n if (getFromConfigs(PROJECT_ID) === SPEEDYPAPER_ID) {\n actionTracker.track({ tool: Tool.Google, eventName: 'CUSTOM_EVENT_1', data: { transaction_id: res.data.order.id } })\n }\n\n actionTracker.track({ tool: Tool.Google, eventName: 'order_id_event', data: { project_id: getFromConfigs(PROJECT_ID), order_id: res.data.order.id, price: res.data.order.price } })\n }\n\n actionTracker.track({ tool: Tool.Google, eventName: 'order_placed', data: { project_id: getFromConfigs(PROJECT_ID), order_id: res.data.order.id, price: res.data.order.price } })\n\n openPaymentsModal({\n title: \"Choose a suitable payment method\",\n subtitle: \"Your order has been saved\",\n modalClosingAllowed: false,\n shouldRedirectToDashboardOrder: true,\n\n orderId: orderID,\n paymentEntity: paymentEntities.ORDER,\n paymentAmount: res.data.order.price,\n paymentAmountCurrencyFixedRate: res.data.order.processedAmount,\n paymentMethods: res.data.order.payment_methods,\n currency,\n payLaterActionText: \"View order\",\n showMerchantLocation: bd?.llc_on_payment_methods_modal_enabled,\n })\n\n notify.success(\n 'Your order has been placed! Please, complete the payment and we will start working on it right away.',\n { autoHideDuration: 5000 }\n )\n\n dispatch(orderSlice.actions.placeOrderLoadingStop())\n dispatch({ type: DONE })\n },\n store: getState(),\n })\n}\n", "// window.ReactNativeWebView - instanse from SpeedyAdviser Application WebView\nexport default function webViewPostMessage(messageData) {\n window.ReactNativeWebView && window.ReactNativeWebView.postMessage(JSON.stringify(messageData))\n}\n", "/* adapters local */\nimport userDataAdapter from 'global-entities/user-data/adapter'\n\n/* utils general */\nimport customEvent from 'utils/custom-event'\nimport storage from 'utils/storage'\n\n/* redux-constants local */\nimport {\n USER_AUTHORIZE,\n\n REMOTE_SUCCESS,\n} from 'global-entities/user-data/constants'\n\n/* constants general */\nimport {\n SIGNUP,\n SIGNIN,\n FACEBOOK,\n} from 'constants/auth'\nimport { IS_EXISTING_USER_KEY } from 'constants/storage'\nimport {\n USER_AUTHORIZED,\n USER_SIGNED_UP,\n USER_SIGNED_IN,\n USER_AUTHORIZED_VIA_SOCIAL_ACCOUNT,\n USER_AUTHORIZED_VIA_FACEBOOK,\n} from 'constants/custom-events'\n\nexport default ({ userData, authType, dispatch }) => {\n\n userData = userDataAdapter(userData)\n\n dispatch({\n type: USER_AUTHORIZE + REMOTE_SUCCESS,\n payload: userData,\n })\n\n !storage.get(IS_EXISTING_USER_KEY) && storage.set(IS_EXISTING_USER_KEY, true)\n\n customEvent.trigger(USER_AUTHORIZED, { isAuthorized: userData.isAuthorized })\n switch (authType) {\n case SIGNUP.authType:\n customEvent.trigger(USER_SIGNED_UP, { isAuthorized: userData.isAuthorized })\n break\n case SIGNIN.authType:\n customEvent.trigger(USER_SIGNED_IN, { isAuthorized: userData.isAuthorized })\n break\n case FACEBOOK.authType:\n customEvent.trigger(USER_AUTHORIZED_VIA_SOCIAL_ACCOUNT, { isAuthorized: userData.isAuthorized })\n customEvent.trigger(USER_AUTHORIZED_VIA_FACEBOOK, { isAuthorized: userData.isAuthorized })\n break\n default:\n break\n }\n\n}\n", "import { DESIGN_TYPE } from 'constants/storage'\n\n/* utils general */\nimport actionTracker from 'utils/action-tracker'\nimport getUserTraficFields from 'utils/action-tracker/getUserTraficFields'\n\nimport storage from 'utils/storage'\n\nexport default ({ order = {}, user = {}, successCallback = () => { }, store = {} } = {}) => {\n const actionSet = actionTracker.createSet({ name: 'placeOrderSuccess' })\n\n if (user.authType === 'signup') {\n actionSet.push({ user_status: 'freshly_registred' })\n } else if (user.all_orders_count === 0) {\n actionSet.push({ user_status: 'returning_registered' })\n } else if (user.all_orders_count !== 0 && user.paid_orders_count === 0) {\n actionSet.push({ user_status: 'placed_before' })\n } else if (user.paid_orders_count !== 0) {\n actionSet.push({ user_status: 'paid_before' })\n }\n const isFreshlyRegistered = new Date(new Date().toUTCString()).getTime() - new Date(new Date(user.created_at).toUTCString()).getTime() < 60000\n if (isFreshlyRegistered) {\n actionSet.push({ user_status: 'freshly_registred' })\n }\n\n actionSet.push({\n user_id: user.id,\n user_link_id: user.link_id,\n visitor_id: user.visitor_id,\n ...getUserTraficFields(store.userData || {}),\n design_type: storage.get(DESIGN_TYPE),\n all_orders_count: parseInt(user.all_orders_count),\n paid_orders_count: parseInt(user.paid_orders_count),\n order_id: parseInt(order.id),\n order_price: parseFloat(order.price && order.price.toFixed(2)),\n is_rebill: order.is_rebill ? 'true' : 'false',\n first_order_placed: order.is_first_order ? 'true' : 'false',\n top_writer_notification_enabled: typeof window.TOP_WRITER_NOTIFICATIONS_ENABLED !== 'undefined',\n writer_type: order.writerCategory,\n // we need to preserve types for GTM!\n // eslint-disable-next-line no-unneeded-ternary\n has_preferred_writer: !!(order.preferred_order && order.preferred_order.order_id),\n })\n\n actionSet.track(successCallback)\n storage.set('Order Step 1', false, { storageType: 'session' })\n storage.set('Order Step 2', false, { storageType: 'session' })\n storage.set('Order Step 3', false, { storageType: 'session' })\n}\n", "import customEvent from \"utils/custom-event\"\n\nimport { OPEN_PAYMENTS_MODAL, OPEN_PAYMENTS_RESULT_MODAL, CLOSE_PAYMENTS_RESULT_MODAL } from \"./constants\"\nimport { type IConfigsViaEvent } from \"@qwerty.software/payments-modals/src/payment-methods-modal/context/types\"\nimport { type IPaymentResult } from \"@qwerty.software/payments-modals/src/types\"\n\nexport const openPaymentsModal = (configs: IConfigsViaEvent) => {\n customEvent.trigger(OPEN_PAYMENTS_MODAL, configs)\n}\n\nexport const openPaymentsResultModal = (configs: Partial) => {\n customEvent.trigger(OPEN_PAYMENTS_RESULT_MODAL, {paymentResult: configs})\n}\n\nexport const closePaymentsResultModal = () => {\n customEvent.trigger(CLOSE_PAYMENTS_RESULT_MODAL)\n}\n", "const PREFIX = 'QWRT_PMNT'\n\nexport const OPEN_PAYMENTS_MODAL = `${PREFIX}_OPEN_PAYMENTS_MODAL`\nexport const OPEN_PAYMENTS_RESULT_MODAL = `${PREFIX}_OPEN_PAYMENTS_RESULT_MODAL`\nexport const CLOSE_PAYMENTS_RESULT_MODAL = `${PREFIX}_CLOSE_PAYMENTS_RESULT_MODAL`\n", "export const DEFAULT_ENTITY = 'default'\nexport const ORDER_ENTITY = 'order'\nexport const ADDITIONAL_PAYMENT_ENTITY = 'additional-payment'\nexport const PERSONAL_FUNDS_ENTITY = 'personal-funds'\nexport const TIPS_ENTITY = 'tip'\n\nexport const PAYMENT_METHOD_VARIANT_CREDIT_CARD = 'creditcard'\nexport const PAYMENT_METHOD_VARIANT_SERVICE = 'service'\nexport const PAYMENT_METHOD_VARIANT_OTHER = 'other'\n\nexport const RESULT_STATUS_SUCCESS = 'success'\nexport const RESULT_STATUS_ERROR = 'error'\nexport const RESULT_STATUS_PENDING = 'pending'\nexport const RESULT_STATUS_ABORTED = 'aborted'\n\nexport const CREDIT_CARD_NAME = 'Credit card'\nexport const APPLE_PAY_NAME = 'Apple pay'\nexport const GOOGLE_PAY_NAME = 'Google pay'\nexport const AMERICAN_EXPRESS_NAME = 'American Express'\nexport const CRYPTOCURRENCY_NAME = 'Cryptocurrency'\nexport const UNION_PAY_NAME = 'UnionPay'\n\nexport const PAYMENTS_RESULT_KEY = 'payments_result'\nexport const HAS_SUCCESSFULL_PAYMENT_FLAG = 'has_successfull_payment'\n\nexport const USER_DATA_STORAGE_KEY = 'user_data'\n\n// custom-events constants for side-effects\nexport const PAYMENT_RESULT_MODAL_SUCCESS = 'PMNT_PAYMENT_RESULT_MODAL_SUCCESS' // for referrals logic in dashboard\nexport const UPDATE_PERSONAL_BALANCE = 'PMNT_UPDATE_PERSONAL_BALANCE' // to update wallet balance store after applying or dissmissing personal funds\nexport const UPDATE_ORDER_DETAILS = 'PMNT_UPDATE_ORDER_DETAILS' // to update order details in the dashboard after applying or dissmissing personal funds (need to update dashboard single order price)\n\n// query params constants\nexport const QUERY_OPEN_PAYMENTS_MODAL = 'openPaymentDialog' // supports use this query to build payment links for customers\n\n// separate constants are used because they are compiled into the js, whereas enums are not supported.\n// enums are used in the code inside mono-repo\nexport enum paymentEntities {\n DEFAULT = DEFAULT_ENTITY,\n ORDER = ORDER_ENTITY,\n ADDITIONAL_PAYMENT = ADDITIONAL_PAYMENT_ENTITY,\n PERSONAL_FUNDS = PERSONAL_FUNDS_ENTITY,\n TIPS = TIPS_ENTITY,\n}\n\nexport enum paymentMethodsVariants {\n CREDIT_CARD = PAYMENT_METHOD_VARIANT_CREDIT_CARD,\n SERVICE = PAYMENT_METHOD_VARIANT_SERVICE,\n OTHER = PAYMENT_METHOD_VARIANT_OTHER,\n}\n\nexport enum paymentResultStatuses {\n SUCCESS = RESULT_STATUS_SUCCESS,\n ERROR = RESULT_STATUS_ERROR,\n PENDING = RESULT_STATUS_PENDING,\n ABORT = RESULT_STATUS_ABORTED,\n}\n\nexport enum paymentMethodsNames {\n CREDIT_CARD = CREDIT_CARD_NAME,\n APPLE_PAY = APPLE_PAY_NAME,\n GOOGLE_PAY = GOOGLE_PAY_NAME,\n AMERICAN_EXPRESS = AMERICAN_EXPRESS_NAME,\n CRYPTOCURRENCY = CRYPTOCURRENCY_NAME,\n UNION_PAY = UNION_PAY_NAME,\n}\n\nexport enum queryResultKeys {\n openPaymentResultModal = 'openPaymentResultModal',\n usedMethodLink = 'usedMethodLink',\n usedMethodName = 'usedMethodName',\n title = 'title',\n subtitle = 'subtitle',\n orderId = 'orderId',\n paymentEntity = 'paymentEntity',\n paymentAmount = 'paymentAmount',\n amountToPay = 'amountToPay',\n personalFundsId = 'personalFundsId',\n personalFundsAmount = 'personalFundsAmount',\n personalFundsExpireAt = 'personalFundsExpireAt',\n currencySymbol = 'currencySymbol',\n currencyRate = 'currencyRate',\n paymentStatus = 'paymentStatus',\n withPersonalFunds = 'withPersonalFunds',\n showMerchantLocation = 'showMerchantLocation',\n payLaterActionText = 'payLaterActionText',\n paymentResultTitle = 'paymentResultTitle',\n paymentResultSubtitle = 'paymentResultSubtitle',\n resultAdditionalText = 'resultAdditionalText',\n modalType = 'modalType',\n}", "/* helpers general */\nimport getFromConfigs from 'helpers/configs/get-from-configs'\n\n/* constants local */\nimport { msName } from 'microservices/order/order-form/constants'\n/* constants general */\nimport { ORDER_FORM_CONFIGS } from 'constants/configs'\n\n/* configs local */\nimport basicConfigsDefault from 'microservices/order/order-form/configs/default/basic'\nimport basicConfigsTemplateOne from 'microservices/order/order-form/configs/template-one/basic'\nimport basicConfigsTemplateTwo from 'microservices/order/order-form/configs/template-two/basic'\nimport basicConfigsResume from 'microservices/order/order-form/configs/resume/basic'\n\nexport default (() => {\n const orderFormConfigs = getFromConfigs(ORDER_FORM_CONFIGS)\n\n let configs\n switch (orderFormConfigs) {\n case 'template-one':\n configs = basicConfigsTemplateOne\n break\n\n case 'template-two':\n configs = basicConfigsTemplateTwo\n break\n\n case 'resume':\n configs = basicConfigsResume\n break\n\n case 'default':\n default:\n configs = basicConfigsDefault\n break\n }\n\n configs = {\n ...configs,\n name: msName,\n }\n\n return configs\n})()\n", "export const msName = 'order-form'\nexport const msNameNew = 'order-form-new'\n\n// TODO AB Test Top Writer Notification LR-1540 remove after test\nexport const topWriterNotificationKey = 'TOP_WRITER_NOTIF'\n", "/* configs common */\nimport cc from 'common/fields-configs'\n\n/* helpers general */\nimport getFromConfigs from 'helpers/configs/get-from-configs'\n\n/* constants general */\nimport { PROJECT_ID } from 'constants/configs'\nimport { PAPERCOACH_ID } from 'constants/project-ids'\n\nconst isPaperCoatchId = (getFromConfigs(PROJECT_ID) === PAPERCOACH_ID)\n\nexport default {\n stepperType: 'hidden-content',\n steps: [\n {\n key: 'first-step',\n title: 'Paper information',\n components: [\n {\n name: cc.paperType.name,\n props: {\n controlRelation: 'paper-type',\n },\n },\n {\n name: cc.subject.name,\n props: {\n controlRelation: 'subject',\n },\n },\n {\n name: cc.topic.name,\n props: {\n controlRelation: 'topic',\n },\n },\n {\n name: cc.paperDetails.name,\n props: {\n controlRelation: 'paper-details',\n },\n },\n {\n name: cc.files.name,\n props: {\n controlRelation: 'materials',\n },\n },\n {\n name: cc.paperFormat.name,\n props: {\n controlRelation: 'paper-format',\n },\n },\n ],\n navigationButtons: [\n {\n name: 'navigation-button-next-step1',\n type: 'next',\n props: {\n text: 'Price Calculation >',\n },\n },\n ],\n },\n {\n key: 'second-step',\n title: 'Price calculation',\n components: [\n {\n name: cc.academicLevel.name,\n props: {\n controlRelation: 'academic-level',\n },\n },\n {\n name: cc.workType.name,\n props: {\n controlRelation: 'work-type',\n },\n },\n {\n name: cc.deadline.name,\n props: {\n controlRelation: 'deadline',\n },\n },\n {\n name: cc.pagesWordsSwitcher.name,\n props: {\n controlRelation: 'pagesWordsSwitcher',\n },\n },\n {\n name: cc.pages.name,\n props: {\n controlRelation: 'pages',\n label: 'Quantity',\n },\n },\n {\n name: cc.words.name,\n props: {\n controlRelation: 'words',\n label: 'Quantity',\n },\n },\n {\n name: cc.problems.name,\n props: {\n controlRelation: 'problems',\n },\n },\n {\n name: cc.questions.name,\n props: {\n controlRelation: 'questions',\n },\n },\n {\n name: cc.spacing.name,\n props: {\n controlRelation: 'spacing',\n },\n },\n {\n name: cc.slides.name,\n props: {\n controlRelation: 'slides',\n },\n },\n {\n name: cc.sources.name,\n props: {\n controlRelation: 'sources',\n },\n },\n ],\n navigationButtons: [\n {\n name: 'navigation-button-back-step2',\n type: 'back',\n },\n {\n name: 'navigation-button-next-step2',\n type: 'next',\n props: {\n text: 'Final Step >',\n },\n },\n ],\n },\n {\n key: 'third-step',\n title: 'Extra features',\n components: [\n {\n name: cc.writerCategory.name,\n props: {\n controlRelation: 'writer-category',\n },\n },\n {\n name: cc.additionalFeatures.name,\n props: {\n controlRelation: 'additional-features',\n },\n },\n {\n name: cc.software.name,\n props: {\n controlRelation: 'software',\n },\n },\n {\n name: cc.discount.name,\n props: {\n controlRelation: 'discount',\n },\n },\n {\n name: cc.userAreaStepper.name,\n props: {\n stepper: 1,\n },\n },\n ],\n navigationButtons: [\n {\n name: 'navigation-button-back-step3',\n type: 'back',\n },\n {\n name: 'submit',\n type: 'submit',\n },\n ],\n },\n ],\n}\n", "/* helpers general */\nimport getFromConfigs from 'helpers/configs/get-from-configs'\n\n/* constants general */\nimport { ORDER_FORM_BOTTOMBAR_TYPE } from 'constants/configs'\n\n/* configs common */\nimport cc from 'common/fields-configs'\n\nexport default {\n stepperType: 'hidden-content',\n bottombarType: getFromConfigs(ORDER_FORM_BOTTOMBAR_TYPE),\n steps: [\n {\n key: 'first-step',\n title: 'Step 1',\n components: [\n {\n name: cc.academicLevel.name,\n props: {\n controlRelation: 'academic-level',\n },\n },\n {\n name: cc.workType.name,\n props: {\n controlRelation: 'work-type',\n },\n },\n {\n name: cc.paperType.name,\n props: {\n controlRelation: 'paper-type',\n },\n },\n {\n name: cc.deadline.name,\n props: {\n controlRelation: 'deadline',\n },\n },\n {\n name: cc.subject.name,\n props: {\n controlRelation: 'subject',\n },\n },\n {\n name: cc.topic.name,\n props: {\n controlRelation: 'topic',\n },\n },\n {\n name: cc.writerCategory.name,\n props: {\n controlRelation: 'writer-category',\n },\n },\n ],\n navigationButtons: [\n {\n name: 'navigation-button-next-step1',\n type: 'next',\n props: {\n text: 'Go to step 2 >',\n },\n },\n ],\n },\n {\n key: 'second-step',\n title: 'Step 2',\n components: [\n {\n name: cc.paperFormat.name,\n props: {\n controlRelation: 'paper-format',\n },\n },\n {\n name: cc.pages.name,\n props: {\n controlRelation: 'pages',\n },\n },\n {\n name: cc.words.name,\n props: {\n controlRelation: 'words',\n },\n },\n {\n name: cc.problems.name,\n props: {\n controlRelation: 'problems',\n },\n },\n {\n name: cc.questions.name,\n props: {\n controlRelation: 'questions',\n },\n },\n {\n name: cc.spacing.name,\n props: {\n controlRelation: 'spacing',\n },\n },\n {\n name: cc.files.name,\n props: {\n controlRelation: 'materials',\n },\n },\n {\n name: cc.slides.name,\n props: {\n label: 'Slides',\n controlRelation: 'slides',\n },\n },\n {\n name: cc.sources.name,\n props: {\n controlRelation: 'sources',\n },\n },\n {\n name: cc.paperDetails.name,\n props: {\n controlRelation: 'paper-details',\n },\n },\n {\n name: cc.additionalFeatures.name,\n props: {\n controlRelation: 'additional-features',\n },\n },\n {\n name: cc.software.name,\n props: {\n controlRelation: 'software',\n },\n },\n {\n name: cc.discount.name,\n props: {\n controlRelation: 'discount',\n },\n },\n ],\n navigationButtons: [\n {\n name: 'navigation-button-back-step2',\n type: 'back',\n },\n {\n name: 'navigation-button-next-step2',\n type: 'next',\n props: {\n text: 'Go to step 3 >',\n },\n },\n ],\n },\n {\n key: 'third-step',\n title: 'Step 3',\n components: [\n {\n name: cc.userAreaStepper.name,\n props: {\n stepper: 1,\n },\n },\n ],\n navigationButtons: [\n {\n name: 'navigation-button-back-step3',\n type: 'back',\n },\n {\n name: 'submit',\n type: 'submit',\n props: {\n text: 'Place an order',\n },\n },\n ],\n },\n ],\n}\n", "/* helpers general */\nimport getFromConfigs from 'helpers/configs/get-from-configs'\n\n/* constants general */\nimport { ORDER_FORM_BOTTOMBAR_TYPE } from 'constants/configs'\n\n/* configs common */\nimport cc from 'common/fields-configs'\n\nexport default {\n stepperType: 'hidden-content',\n bottombarType: getFromConfigs(ORDER_FORM_BOTTOMBAR_TYPE),\n steps: [\n {\n key: 'first-step',\n title: 'Paper information',\n components: [\n {\n name: cc.paperType.name,\n props: {\n controlRelation: 'paper-type',\n },\n },\n {\n name: cc.subject.name,\n props: {\n controlRelation: 'subject',\n },\n },\n {\n name: cc.topic.name,\n props: {\n controlRelation: 'topic',\n },\n },\n {\n name: cc.sources.name,\n props: {\n controlRelation: 'sources',\n },\n },\n {\n name: cc.paperFormat.name,\n props: {\n controlRelation: 'paper-format',\n },\n },\n {\n name: cc.files.name,\n props: {\n controlRelation: 'materials',\n },\n },\n {\n name: cc.paperDetails.name,\n props: {\n controlRelation: 'paper-details',\n },\n },\n ],\n navigationButtons: [\n {\n name: 'navigation-button-next-step1',\n type: 'next',\n props: {\n text: 'Go to price calculation >',\n },\n },\n ],\n },\n {\n key: 'second-step',\n title: 'Price calculation',\n components: [\n {\n name: cc.academicLevel.name,\n props: {\n controlRelation: 'academic-level',\n },\n },\n {\n name: cc.workType.name,\n props: {\n controlRelation: 'work-type',\n },\n },\n {\n name: cc.deadline.name,\n props: {\n controlRelation: 'deadline',\n },\n },\n {\n name: cc.pages.name,\n props: {\n controlRelation: 'pages',\n },\n },\n {\n name: cc.words.name,\n props: {\n controlRelation: 'words',\n },\n },\n {\n name: cc.problems.name,\n props: {\n controlRelation: 'problems',\n },\n },\n {\n name: cc.questions.name,\n props: {\n controlRelation: 'questions',\n },\n },\n {\n name: cc.slides.name,\n props: {\n label: 'Slides',\n controlRelation: 'slides',\n },\n },\n {\n name: cc.spacing.name,\n props: {\n controlRelation: 'spacing',\n },\n },\n {\n name: cc.writerCategory.name,\n props: {\n controlRelation: 'writer-category',\n },\n },\n {\n name: cc.additionalFeatures.name,\n props: {\n controlRelation: 'additional-features',\n },\n },\n {\n name: cc.software.name,\n props: {\n controlRelation: 'software',\n },\n },\n {\n name: cc.discount.name,\n props: {\n controlRelation: 'discount',\n },\n },\n ],\n navigationButtons: [\n {\n name: 'navigation-button-back-step2',\n type: 'back',\n },\n {\n name: 'navigation-button-next-step2',\n type: 'next',\n props: {\n text: 'Go to personal info >',\n },\n },\n ],\n },\n {\n key: 'third-step',\n title: 'Personal info',\n components: [\n {\n name: cc.userAreaStepper.name,\n props: {\n stepper: 1,\n },\n },\n ],\n navigationButtons: [\n {\n name: 'navigation-button-back-step3',\n type: 'back',\n },\n {\n name: 'submit',\n type: 'submit',\n props: {\n text: 'Place an order',\n },\n },\n ],\n },\n ],\n}\n", "/* configs common */\nimport cc from 'common/fields-configs'\n\nexport default {\n stepperType: 'full-content',\n steps: [\n {\n key: 'first-step',\n title: 'Enter the details of your order',\n components: [\n {\n name: cc.academicLevel.name,\n props: {\n controlRelation: 'academic-level',\n label: 'Career level:',\n useButtonsGroup: true,\n tooltipText: 'Please select an appropriate career level',\n },\n },\n {\n name: cc.paperType.name,\n props: {\n controlRelation: 'paper-type',\n label: 'Package:',\n tooltipText: 'Please select the most appropriate package which matches your requirements',\n },\n },\n {\n name: cc.files.name,\n props: {\n controlRelation: 'materials',\n label: 'Materials:',\n },\n },\n {\n name: cc.deadline.name,\n props: {\n controlRelation: 'deadline',\n label: 'Deadline:',\n useButtonsGroup: true,\n tooltipText: 'How soon do you need it to be done? Just choose the most suitable deadline. Please note that the minimum deadline is 24 hours',\n },\n },\n {\n name: cc.additionalFeatures.name,\n props: {\n controlRelation: 'additional-features',\n label: 'Additional services:',\n },\n },\n {\n name: cc.discount.name,\n props: {\n controlRelation: 'discount',\n label: 'Discount:',\n placeholder: 'Enter discount code here',\n },\n },\n ],\n },\n {\n key: 'second-step',\n title: 'Enter your personal information',\n components: [\n {\n name: cc.userAreaStepper.name,\n props: {\n stepper: 1,\n },\n },\n ],\n },\n ],\n submit: {\n type: 'submit',\n name: 'submit',\n props: {\n text: 'Place an order',\n },\n },\n receipt: {\n showUnitsCount: false,\n customPagesUnitName: 'Chosen package',\n useFeaturesList: true,\n useVideoInstructions: true,\n },\n}\n", "import _pick from 'lodash/pick'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport searchLocalGeoTag from 'global-entities/geo-tag/utils/searchLocalGeoTag'\n\nimport * as extractors from '../extractors'\n\nimport { FieldNames, QuantityKeys } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport { PAGES_INDEX, WORDS_INDEX } from 'constants/pagesWordsSwitcher'\n\nimport priceModulePkg from '@qwerty.software/calc-of-price/package.json'\n\nimport type { OrderState } from '@qwerty.software/ui-order-form/src/store/slices/order/types'\nimport { IPriceData } from '@qwerty.software/ui-order-form/src/store/slices/price-data/types'\nimport type { Values } from 'global-entities/price-data/hooks/useCalculator'\nimport { ICurrency } from '@qwerty.software/currency-switcher/src/store/constants'\n\ninterface Extras {\n currency: ICurrency,\n priceData: IPriceData,\n priceDataValues: Values,\n}\n\ninterface Options {\n fileLoaderNamespace?: string\n discountNamespace: string\n}\n\ninterface OrderAdapter {\n (\n order: OrderState,\n extras: Extras,\n options: Options,\n ): any\n}\n\nexport const orderAdapter: OrderAdapter = (order, { currency, priceData, priceDataValues }, options) => {\n const bootstrapData = getBootstrapData()\n\n const composedData: any = {\n calc_version: priceModulePkg.version,\n }\n\n composedData.price = priceData.priceFull\n\n composedData.topic = extractors.topic(order)\n\n composedData.paper_details = order[FieldNames.PAPER_DETAILS]\n composedData.paper_format = order[FieldNames.PAPER_FORMAT]\n composedData.currency = currency.id\n\n composedData.paper_type = priceDataValues[FieldNames.PAPER_TYPE]\n composedData.subject = priceDataValues[FieldNames.SUBJECT]\n\n composedData.academic_level = priceDataValues[FieldNames.ACADEMIC_LEVEL]\n composedData.work_type = priceDataValues[FieldNames.WORK_TYPE]\n composedData.deadline = priceDataValues[FieldNames.DEADLINE]\n composedData.pages = order[FieldNames.PAGES_WORDS_SWITCHER] === PAGES_INDEX ? priceDataValues[QuantityKeys.PAGES] : 0\n composedData.words = order[FieldNames.PAGES_WORDS_SWITCHER] === WORDS_INDEX ? priceDataValues[QuantityKeys.WORDS] : 0\n composedData.slides = priceDataValues[FieldNames.SLIDES]\n composedData.problems = priceDataValues[QuantityKeys.PROBLEMS]\n composedData.questions = priceDataValues[QuantityKeys.QUESTIONS]\n composedData.spacing = order[FieldNames.SPACING]\n composedData.sources = priceDataValues[FieldNames.SOURCES]\n\n const { existingFilesIDs, errorFilesNames } = extractors.materials(_pick(options, ['fileLoaderNamespace']))\n composedData.existing_files_ids = existingFilesIDs\n composedData.error_files_names = errorFilesNames\n\n const upsalesIds = extractors.upsales(order, priceDataValues, bootstrapData)\n if (upsalesIds.length) {\n composedData.wm_price = priceData.priceBasic\n\n composedData.upsales_ids = upsalesIds\n }\n\n const preferredOrderId = extractors.preferredOrder(order)\n if (preferredOrderId) {\n composedData.preferred_writer_order_id = preferredOrderId\n }\n\n if (order[FieldNames.SOFTWARE].checked) {\n composedData.software_id = order[FieldNames.SOFTWARE].value\n }\n\n const discountId = extractors.discount(_pick(options, ['discountNamespace']))\n if (discountId) {\n composedData.discount_id = discountId\n }\n\n //@ts-ignore\n if (priceDataValues?.discountData?.discount_code) {\n //@ts-ignore\n composedData.discount_code = priceDataValues?.discountData?.discount_code\n }\n\n const { countryCode, IP } = searchLocalGeoTag()\n if (countryCode) {\n composedData.country = countryCode\n }\n if (IP) {\n composedData.ip = IP\n }\n\n composedData.is_inquiry = false\n\n return composedData\n}\n", "import _size from 'lodash/size'\n\nimport { AuthFieldNames } from '@qwerty.software/ui-order-form/src/store/slices/user/constants'\nimport { UserState } from '@qwerty.software/ui-order-form/src/store/slices/user/types'\n\nexport const agreements = (user: UserState): ID[] => {\n if (_size(user[AuthFieldNames.CLIENT_AGREEMENTS].value) > 0) {\n return [...user[AuthFieldNames.CLIENT_AGREEMENTS].value]\n }\n\n return []\n}\n", "import StoreManager from '@qwerty.software/store-manager'\n\nimport Discount from 'global-entities/discount/selectors'\n\ninterface Options {\n discountNamespace: string\n}\n\nexport const discount = (options: Options): ID | null => {\n const { discountNamespace } = options\n\n const state = StoreManager.getInstance().store.getState()\n const applied = Discount(discountNamespace).IS_APPLIED(state)\n const discountId = Discount(discountNamespace).ID(state)\n\n if (applied) {\n return discountId\n }\n\n return null\n}\n", "import { set } from 'monolite'\n\nimport StoreManager from '@qwerty.software/store-manager'\n\nimport { createFilesSelector } from 'global-entities/files-uploader/selectors'\n\ninterface Options {\n fileLoaderNamespace?: string\n}\n\ninterface Result {\n existingFilesIDs: ID[]\n errorFilesNames: string[]\n}\n\nconst EMPTY_RESULT = {\n existingFilesIDs: [],\n errorFilesNames: [],\n}\n\nexport const materials = (options: Options = {}): Result => {\n const { fileLoaderNamespace } = options\n\n const state = StoreManager.getInstance().store.getState()\n const FILES = createFilesSelector(fileLoaderNamespace)\n\n const files = FILES(state)\n\n return files.reduce((accumulator, file) => {\n const error = Object.values(file.validation).some(Boolean) || Boolean(file.preload?.error)\n\n if (!error && file.id) {\n return set(accumulator, _ => _.existingFilesIDs, [...accumulator.existingFilesIDs, file.id])\n }\n\n /**\n * For notifications on EssayCock\n */\n return set(accumulator, _ => _.errorFilesNames, [...accumulator.errorFilesNames, file.file.name])\n }, EMPTY_RESULT)\n}\n", "import { FieldNames, WriterCategoryIds } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport type { OrderState } from '@qwerty.software/ui-order-form/src/store/slices/order/types'\n\nexport const preferredOrder = (order: OrderState): ID | null => {\n const selectedPreferredOrder = order[FieldNames.WRITER_CATEGORY] === WriterCategoryIds.PREFERRED\n const preferredOrderData = order[FieldNames.PREFERRED_ORDER].data\n\n if (selectedPreferredOrder && preferredOrderData) {\n return preferredOrderData.preferredOrderId\n }\n\n return null\n}\n", "import { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport type { OrderState } from '@qwerty.software/ui-order-form/src/store/slices/order/types'\nimport { PROJECT_ID } from 'constants/configs'\nimport { DOMYPRESENTATIONFOR_ID, POWERPOINT_ID, RESUME_101, RESUME_4_YOU } from 'constants/project-ids'\nimport getFromConfigs from 'helpers/configs/get-from-configs'\n\nexport const topic = (order: OrderState): string => {\n if (getFromConfigs(PROJECT_ID) === RESUME_101 || getFromConfigs(PROJECT_ID) === RESUME_4_YOU) {\n return topicByPackageAndCareerLevel(order)\n }\n\n if (order[FieldNames.TOPIC]) {\n return order[FieldNames.TOPIC]\n }\n\n switch (getFromConfigs(PROJECT_ID)) {\n case POWERPOINT_ID:\n case DOMYPRESENTATIONFOR_ID:\n return \"Expert\u2019s choice\"\n default:\n return \"Writer\u2019s choice\"\n }\n\n}\n\nfunction topicByPackageAndCareerLevel(order: OrderState) {\n const bootstrapData = getBootstrapData()\n\n const paperTypeText = bootstrapData.paperTypes.find((item) => parseInt(`${item.id}`, 10) === order[FieldNames.PAPER_TYPE]).text\n const academicLevelText = bootstrapData.academicLevels.find((item) => parseInt(`${item.id}`, 10) === order[FieldNames.ACADEMIC_LEVEL]).text\n\n return `${paperTypeText} for ${academicLevelText} Career Level`\n}", "import { FieldNames, WriterCategoryIds } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport type { Values } from 'global-entities/price-data/hooks/useCalculator'\n\nimport type { OrderState, OrderDataLists } from '@qwerty.software/ui-order-form/src/store/slices/order/types'\n\nexport const upsales = (order: OrderState, priceDataValues: Values, _bootstrapData: OrderDataLists): ID[] => {\n const upsalesIDs: ID[] = [\n ...order[FieldNames.ADDITIONAL_FEATURES]\n ]\n\n const selectedPreferredOrder = order[FieldNames.WRITER_CATEGORY] === WriterCategoryIds.PREFERRED // cc.writerCategory.preferredWriterKey\n const preferredOrderData = order[FieldNames.PREFERRED_ORDER].data\n\n if (selectedPreferredOrder && preferredOrderData) {\n upsalesIDs.push(preferredOrderData.preferredWriterStatus)\n } else {\n upsalesIDs.push(order[FieldNames.WRITER_CATEGORY])\n }\n\n if (priceDataValues.softcopies) {\n upsalesIDs.push(_bootstrapData.softcopies.id)\n }\n\n if (priceDataValues.speakerNotes) {\n upsalesIDs.push(_bootstrapData.speakerNotes.id)\n }\n\n return upsalesIDs\n}\n", "import actionTracker from 'utils/action-tracker'\n\nimport { SIGNIN, SIGNUP } from 'constants/auth'\n\nimport { AuthFieldNames } from '@qwerty.software/ui-order-form/src/store/slices/user/constants'\nimport { UserState } from '@qwerty.software/ui-order-form/src/store/slices/user/types'\n\ninterface UserAdapter {\n (user: {\n id?: ID\n isAuthorized?: boolean\n } & UserState): any\n}\n\ninterface SignInData {\n action: string\n authType: string\n email: string\n password: string\n}\n\ninterface SignUpData extends SignInData {\n phone: string\n}\n\nexport const userAdapter: UserAdapter = user => {\n if (user?.isAuthorized) {\n actionTracker.track({\n data: {\n auth_source: 'None',\n user_id: user?.id,\n auth_type: 'LOGGED_IN',\n },\n })\n\n return {}\n }\n\n const dataToTrack: any = {\n auth_source: 'Email',\n email: user.email,\n }\n\n switch (user.authType) {\n case SIGNIN.authType:\n actionTracker.track({ data: { ...dataToTrack, auth_type: 'Login' } })\n\n return {\n email: user[AuthFieldNames.EMAIL].value,\n password: user[AuthFieldNames.PASSWORD].value,\n remember: true,\n authType: user[AuthFieldNames.AUTH_TYPE],\n action: SIGNIN.route\n } as SignInData\n\n case SIGNUP.authType:\n actionTracker.track({ data: { ...dataToTrack, auth_type: 'Signup' } })\n\n return {\n email: user[AuthFieldNames.EMAIL].value,\n password: user[AuthFieldNames.PASSWORD].value,\n remember: true,\n authType: user[AuthFieldNames.AUTH_TYPE],\n action: SIGNUP.route,\n phone: `${user[AuthFieldNames.PHONE].value.number}`.replace(/[^+0-9]*/ig, ''),\n } as SignUpData\n\n default:\n break\n }\n}\n", "import _pick from 'lodash/pick'\n\nimport searchLocalGeoTag from 'global-entities/geo-tag/utils/searchLocalGeoTag'\n\nimport * as extractors from '../extractors'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport type { OrderState } from '@qwerty.software/ui-order-form/src/store/slices/order/types'\n\ninterface Options {\n fileLoaderNamespace: string\n}\n\ninterface InquiryAdapter {\n (order: OrderState, options: Options): any\n}\n\nexport const inquiryAdapter: InquiryAdapter = (order, options) => {\n const composedData: any = {}\n\n composedData.paper_details = order[FieldNames.PAPER_DETAILS]\n\n composedData.deadline = order[FieldNames.DEADLINE]\n\n const { existingFilesIDs, errorFilesNames } = extractors.materials(_pick(options, ['fileLoaderNamespace']))\n composedData.existing_files_ids = existingFilesIDs\n composedData.error_files_names = errorFilesNames\n\n const { countryCode, IP } = searchLocalGeoTag()\n if (countryCode) {\n composedData.country = countryCode\n }\n if (IP) {\n composedData.ip = IP\n }\n\n composedData.is_inquiry = true\n\n return composedData\n}\n", "import { SagaIterator } from 'redux-saga'\nimport { call } from 'redux-saga/effects'\n\nimport type { OrderState } from '@qwerty.software/ui-order-form/src/store/slices/order/types'\nimport type { UserState } from '@qwerty.software/ui-order-form/src/store/slices/user/types'\nimport type { Values } from 'global-entities/price-data/hooks/useCalculator'\n\nimport valuesFieldsValidation from './validators/values-fileds'\nimport authFieldsValidation from './validators/auth-fields'\nimport orderFieldsValidation from './validators/order-fields'\n\nimport EmptyValueError from '@qwerty.software/ui-order-form/src/store/sagas/place-order/errors/EmptyValueError'\nimport AuthValidationError from '@qwerty.software/ui-order-form/src/store/sagas/place-order/errors/AuthValidationError'\nimport OrderValidationError from '@qwerty.software/ui-order-form/src/store/sagas/place-order/errors/OrderValidationError'\n\nfunction* validation(order: OrderState, user: UserState, priceData: Values): SagaIterator {\n try {\n const isValid = yield call(valuesFieldsValidation, order, priceData)\n if (!isValid) {\n throw new EmptyValueError()\n }\n } catch (error) {\n return error\n }\n\n try {\n const isValid = yield call(authFieldsValidation, user)\n if (!isValid) {\n throw new AuthValidationError()\n }\n } catch (error) {\n return error\n }\n\n try {\n const isValid = yield call(orderFieldsValidation, order)\n if (!isValid) {\n throw new OrderValidationError()\n }\n } catch (error) {\n return error\n }\n\n return true\n}\n\nexport default validation\n", "import { PAGES_INDEX, WORDS_INDEX } from 'constants/pagesWordsSwitcher'\nimport { FieldNames, QuantityKeys } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { WriterCategoryIds, UpsaleIds } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport type { OrderState } from '@qwerty.software/ui-order-form/src/store/slices/order/types'\nimport type { Values } from 'global-entities/price-data/hooks/useCalculator'\n\nconst UPSALE_IDS_AVAILABLE_WITHOUT_PAGES: ID[] = [UpsaleIds.PLAGIARISM_REPORT, UpsaleIds.AI_CHECK_REPORT, UpsaleIds.TURNITIN_REPORT, UpsaleIds.GRAMMARLY_REPORT]\n\nfunction valuesFieldsValidation(order: OrderState, priceDataValues: Values): boolean {\n const pagesWordsSwitcher = order[FieldNames.PAGES_WORDS_SWITCHER]\n\n const slides = priceDataValues[FieldNames.SLIDES]\n const pages = priceDataValues[QuantityKeys.PAGES]\n const words = priceDataValues[QuantityKeys.WORDS]\n const problems = priceDataValues[QuantityKeys.PROBLEMS]\n const questions = priceDataValues[QuantityKeys.QUESTIONS]\n const software = priceDataValues[FieldNames.SOFTWARE] as number\n let additionalFeatures = priceDataValues[FieldNames.ADDITIONAL_FEATURES]\n additionalFeatures = additionalFeatures.map((feature: any) => feature?.id ? feature.id : feature)\n\n const chosenUpsalesAvailableWithoutPages = additionalFeatures.filter(featureId => UPSALE_IDS_AVAILABLE_WITHOUT_PAGES.includes(featureId))\n\n if (chosenUpsalesAvailableWithoutPages.length > 0 && priceDataValues[FieldNames.WRITER_CATEGORY].chosenID !== WriterCategoryIds.BEST_AVAILIBLE && [pages, words, slides, problems].every(value => value === 0)) {\n return false\n }\n\n const values: number[] = [\n +(pagesWordsSwitcher === PAGES_INDEX && pages),\n +(pagesWordsSwitcher === WORDS_INDEX && words),\n slides,\n problems,\n questions,\n software,\n chosenUpsalesAvailableWithoutPages.length,\n ]\n\n /**\n * values has at least one non-empty value\n */\n return values.some(elem => elem > 0)\n}\n\nexport default valuesFieldsValidation", "import { SagaIterator } from 'redux-saga'\nimport { put, select, call } from 'redux-saga/effects'\n\nimport customEvent from 'utils/custom-event'\n\nimport scrollTo from 'helpers/scroll/scroll-to'\nimport * as validators from '@qwerty.software/ui-order-form/src/store/slices/user/validators'\n\nimport { getIsAuthorized as IS_AUTHORIZED } from 'global-entities/user-data/selectors'\n\nimport { SIGNIN, SIGNUP, FORGOT, FACEBOOK } from 'constants/auth'\nimport { FIELD_VALIDATED } from 'constants/custom-events'\nimport { CHECK_FIELD_VALUE } from 'common/sheared/universal-constants'\n\nimport { AuthFieldNames } from '@qwerty.software/ui-order-form/src/store/slices/user/constants'\nimport { userSlice } from '@qwerty.software/ui-order-form/src/store/slices/user'\n\nimport { msName as NAME } from 'microservices/order/order-form/constants'\n\nimport cc from 'common/fields-configs'\n\nimport type { UserState } from '@qwerty.software/ui-order-form/src/store/slices/user/types'\nimport {\n EMAIL_FIELDNAME,\n PHONE_FIELDNAME,\n PASSWORD_FIELDNAME,\n AGREEMENTS_FIELDNAME,\n} from '@qwerty.software/ui-order-form/src/components/auth/constants'\n\nconst fire = (name: string): void => customEvent.trigger(`${FIELD_VALIDATED}${name}`)\n\ntype FlagsType = {\n email?: boolean\n phone?: boolean\n password?: boolean\n clientAgreements?: boolean\n}\n\ntype FieldType = 'email' | 'phone' | 'password' | 'clientAgreements'\n\nconst scrollBy = ({\n email,\n phone,\n password,\n clientAgreements,\n}: FlagsType) => {\n if (!email) {\n scrollTo({ where: EMAIL_FIELDNAME })\n } else if (!phone) {\n scrollTo({ where: PHONE_FIELDNAME })\n } else if (!password) {\n scrollTo({ where: PASSWORD_FIELDNAME })\n } else if (!clientAgreements) {\n scrollTo({ where: AGREEMENTS_FIELDNAME })\n }\n}\n\nfunction* check(user: UserState, fields: FieldType[]): SagaIterator {\n const flags: FlagsType = {}\n let result = true\n\n for (const field of fields) {\n yield put(userSlice.actions.validationOn())\n\n switch (field) {\n case AuthFieldNames.EMAIL:\n flags[field] = !validators[field](user[field].value)\n break\n case AuthFieldNames.PHONE:\n flags[field] = !validators[field](user[field].value.number, user[field].value.countryCode, user[field].value.mask)\n break\n case AuthFieldNames.PASSWORD:\n flags[field] = !validators[field](user[field].value)\n break\n case AuthFieldNames.CLIENT_AGREEMENTS:\n flags[field] = !validators[field](user[field].value)\n break\n default:\n }\n\n if (!flags[field]) {\n fire(cc[field].name)\n }\n\n result = Boolean(result && flags[field])\n }\n\n scrollBy(flags)\n\n return result\n}\n\nfunction* authFieldsValidation(user: UserState): SagaIterator {\n const isAuthorized: ReturnType = yield select(IS_AUTHORIZED)\n\n if (isAuthorized) {\n return true\n }\n\n switch (user.authType) {\n case SIGNIN.authType:\n return yield call(check, user, ['email', 'password'])\n\n case SIGNUP.authType:\n return yield call(check, user, ['email', 'phone', 'password', 'clientAgreements'])\n\n case FACEBOOK.authType:\n yield put({\n type: cc.facebookAuth.name + CHECK_FIELD_VALUE,\n payload: {\n fieldErrorBox: 'renderErrorBox',\n },\n })\n scrollTo({ where: `${NAME}__${cc.facebookAuth.name}` })\n return isAuthorized\n\n case FORGOT.authType:\n return yield call(check, user, ['email'])\n\n default:\n throw new Error('Unknown auth type.')\n }\n}\n\nexport default authFieldsValidation\n", "import { animateScroll, scroller } from 'react-scroll'\n\nexport default ({\n where,\n options = {},\n isModal = false,\n focusOnTarget = false,\n} = {}) => {\n if (where === 'top') {\n animateScroll.scrollToTop({ duration: 200 })\n return\n }\n\n if (!document.querySelectorAll(`[name=\"${where}\"]`).length) {\n return\n }\n\n const node = document.querySelector(`[name=\"${where}\"]`)\n\n const headerViaID = document.getElementById('header')\n const headerViaClass = document.getElementsByClassName('header')[0]\n const headerViaTag = document.getElementsByTagName('header')[0]\n const header = headerViaID || headerViaClass || headerViaTag || null\n\n let updatedOffset = options.offset || 0\n\n if (!isModal) {\n updatedOffset = options.offset || -25\n\n if (header) {\n const headerHeight = header.clientHeight\n updatedOffset -= headerHeight\n }\n }\n\n const scrollerOptions = {\n duration: 400,\n smooth: true,\n offset: updatedOffset,\n }\n\n if (options.containerID && document.getElementById(options.containerID)) {\n scrollerOptions.containerId = options.containerID\n }\n\n\n\n scroller.scrollTo(where, scrollerOptions)\n focusOnTarget && node.focus()\n}\n", "export { clientAgreements } from './clientAgreements'\nexport { email } from './email'\nexport { password } from './password'\nexport { phone } from './phone'", "export const clientAgreements = (value: Array) => !value.includes(1)", "export default (value) => {\n // eslint-disable-next-line\n const emailRegExp = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n\n return emailRegExp.test(value)\n}\n", "export default (value, inputMaskValid) => {\n const phoneNumbersFormatCheck = /^[+][0-9]*$/\n return !!phoneNumbersFormatCheck.test(value) && inputMaskValid\n}\n", "export default (valueList, requiredValues = []) => requiredValues.every((item) => valueList.includes(item))\n", "export default (value, charsLength) => value.length >= charsLength\n", "export default (value, charsLength) => value.length <= charsLength\n", "export default (value) => /^\\d+$/.test(value)\n", "/* validators */\nimport validateEmail from 'utils/validator/validators/email'\nimport validatePhone from 'utils/validator/validators/phone'\nimport validateClientAgreements from 'utils/validator/validators/client-agreements'\n\nimport validateMoreThanCharsLength from 'utils/validator/validators/more-then-chars-length'\nimport validateLessThanCharsLength from 'utils/validator/validators/less-then-chars-length'\nimport validateOnlyNumbers from 'utils/validator/validators/only-numbers'\n\n/* configs common */\nimport cc from 'common/fields-configs'\n\nexport default {\n email: (value) => validateEmail(value),\n phone: (value, inputMaskValid) => validatePhone(value, inputMaskValid),\n password: (value) => validateMoreThanCharsLength(value, cc.password.minLength),\n clientAgreements: (valueList) => validateClientAgreements(valueList, cc.clientAgreements.requiredValues),\n topic: (value) => validateMoreThanCharsLength(value, cc.topic.minLength) && validateLessThanCharsLength(value, cc.topic.maxLength),\n paperDetails: (value) => validateMoreThanCharsLength(value, cc.paperDetails.minLength) && validateLessThanCharsLength(value, cc.paperDetails.maxLength),\n preferredOrder: (value) => validateOnlyNumbers(value),\n\n moreThanCharsLength: (value, charsLength) => validateMoreThanCharsLength(value, charsLength),\n lessThanCharsLength: (value, charsLength) => validateLessThanCharsLength(value, charsLength),\n onlyNumbers: (value) => validateOnlyNumbers(value),\n}\n", "import validators from 'utils/validator'\n\nexport const email = (value: string) => {\n if (!validators.email(value)) {\n return 'Please enter valid email'\n }\n\n return false\n}", "import validators from 'utils/validator'\n\nimport cc from 'common/fields-configs'\n\nexport const password = (value: string) => {\n if (!validators.password(value)) {\n return `Password should have at least ${cc.password.minLength} digits`\n }\n\n return false\n}", "// validation based on countries config and masks length from there\n// before that we use isPossible from libphonenumber-js but this package is too big and we don't need all the features\n\nexport const phone = (value: string, countryCode?: string, mask?: string) => {\n if (!value) {\n return 'Invalid phone number'\n }\n\n if (!mask) {\n return false\n }\n\n const digitsCount = (value.match(/\\d/g) || []).length\n const maskUnitCount = (mask.match(/\\./g) || []).length\n\n if (digitsCount < maskUnitCount) {\n return 'Invalid phone number'\n }\n\n return false\n}\n", "import { AuthFieldNames } from '@qwerty.software/ui-order-form/src/store/slices/user/constants'\n\nexport const AGREEMENTS_FIELDNAME = `fieldName-${AuthFieldNames.CLIENT_AGREEMENTS}` as const\nexport const EMAIL_FIELDNAME = `fieldName-${AuthFieldNames.EMAIL}` as const\nexport const PHONE_FIELDNAME = `fieldName-${AuthFieldNames.PHONE}` as const\nexport const PASSWORD_FIELDNAME = `fieldName-${AuthFieldNames.PASSWORD}` as const\n\n", "import customEvent from 'utils/custom-event'\n\nimport scrollTo from 'helpers/scroll/scroll-to'\n\nimport { FIELD_VALIDATED } from 'constants/custom-events'\n\nimport { FieldNames, WriterCategoryIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport cc from 'common/fields-configs'\n\nimport type { OrderState } from '@qwerty.software/ui-order-form/src/store/slices/order/types'\nimport {\n PREFERRED_ORDER_FIELDBOX_NAME\n} from '@qwerty.software/ui-order-form/src/components/form-fields/preferred-order/definitions'\n\nconst PREFERRED_ORDER = cc.preferredOrder.name\n\nconst fire = (name: string): void => customEvent.trigger(`${FIELD_VALIDATED}${name}`)\n\nfunction orderFieldsValidation(order: OrderState): boolean {\n switch (order[FieldNames.WRITER_CATEGORY]) {\n case WriterCategoryIds.PREFERRED:\n const isValid = Boolean(order[FieldNames.PREFERRED_ORDER].data)\n\n if (!isValid) {\n fire(PREFERRED_ORDER)\n customEvent.trigger(FIELD_VALIDATED + PREFERRED_ORDER)\n scrollTo({ where: PREFERRED_ORDER_FIELDBOX_NAME, options: { offset: -120 } })\n\n return false\n }\n return true\n\n default:\n return true\n }\n}\n\nexport default orderFieldsValidation\n", "import cc from 'common/fields-configs'\n\nexport const PREFERRED_ORDER = cc.preferredOrder.name as string\nexport const PREFERRED_ORDER_FIELDBOX_NAME = 'fieldbox-preferred-order' as const\nexport const PREFERRED_ORDER_FORM_ID = 'preferred-order-form' as const\n", "import notify from 'utils/notify'\n\nclass NotifyError extends Error {\n\n constructor(public message: string) {\n super(message)\n\n notify.error(this.message)\n }\n\n}\n\nexport default NotifyError\n", "import NotifyError from './NotifyError'\n\nimport { IValidationError } from './IValidationError'\n\nclass EmptyValueError extends NotifyError implements IValidationError {\n\n constructor() {\n super('You haven\\'t specified the number of pages, words, problems, slides, or the type of software you need.')\n }\n\n}\n\nexport default EmptyValueError\n", "import { IValidationError } from './IValidationError'\n\nclass AuthValidationError extends Error implements IValidationError {\n\n constructor() {\n super('Auth validation failure!')\n }\n\n}\n\nexport default AuthValidationError\n", "import { IValidationError } from './IValidationError'\n\nclass OrderValidationError extends Error implements IValidationError {\n\n constructor() {\n super('Order validation failure!')\n }\n\n}\n\nexport default OrderValidationError\n", "import { Action } from '@reduxjs/toolkit'\nimport { SagaIterator } from 'redux-saga'\nimport { call, put, select, takeEvery } from 'redux-saga/effects'\n\nimport { STEP_SAGA } from './constants'\nimport type { Selectors } from '../../slices/step'\nimport type { Steps } from '../../slices/step/types'\nimport { StepAction, ForwardAction, GoAction, NextAction } from './types'\n\nexport function* stepSaga(\n setter: (step: number) => Action,\n selectors: Selectors,\n steps: Steps,\n) {\n yield takeEvery(STEP_SAGA, step)\n\n function* step(action: StepAction): SagaIterator {\n let step = (yield select(selectors.ACTIVE_STEP)) as number\n\n const validation = steps[step]?.validation\n\n if (Array.isArray(validation)) {\n let flag = true\n for (const validator of validation) {\n flag = (yield call(validator)) && flag\n }\n if (!flag) {\n return\n }\n }\n\n if (typeof (action as GoAction).payload.step !== 'undefined') {\n step = (action as GoAction).payload.step\n } else switch (true) {\n case Boolean((action as NextAction).payload.direction):\n step = step + 1\n break\n case Boolean(!(action as ForwardAction).payload.direction):\n step = step - 1\n break\n default:\n }\n\n yield put(setter(step))\n }\n}\n", "import { FC } from 'react'\nimport { Provider } from 'react-redux'\n\nimport { paymentMethodsModalStore } from './store'\n\nimport { WithPaymentFlowApiInit } from './api/with-payment-flow-api-init'\nimport { WithPaymentMethodsModalContext } from './context'\n\nimport ConfigureNotify from 'utils/notify/configure-notify'\n\nimport { ModalComponent } from './modal'\n\nexport const PaymentMethodsModal: FC = () => (\n \n \n \n {/* All opening logic here */}\n \n \n \n \n)", "import { configureStore } from '@reduxjs/toolkit'\nimport { paymentModalSlice } from './slice'\n\nexport const paymentMethodsModalStore = configureStore({\n reducer: {\n [paymentModalSlice.name]: paymentModalSlice.reducer,\n },\n})", "import { createSlice, PayloadAction } from '@reduxjs/toolkit'\n\nimport { getPaymentData } from './actions/get-payment-data'\nimport { applyPersonalFunds } from './actions/apply-personal-funds'\nimport { dismissPersonalFunds, INVALID_ID_ERROR } from './actions/dismiss-personal-funds'\nimport { getPersonalFundsBalance } from './actions/get-personal-funds-balance'\n\nimport { roundToTwo } from 'utils/round-to-two'\n\nimport { type IPaymentMethodsModalState, type IInitActionPayload } from './types'\nimport { ALREADY_PAID_ERROR } from './constants'\nimport { paymentEntities } from '@qwerty.software/payments-modals/src/constants'\n\nconst INITIAL_STATE: IPaymentMethodsModalState = {\n open: false,\n\n amountToPay: null,\n paymentMethods: null,\n personalFundsPayment: null,\n personalFundsBalance: null,\n\n paymentDataRequestPending: false,\n personalFundsBalancePending: false,\n personalFundsRequestPending: false,\n\n paymentDataRequestError: null,\n}\n\nexport const paymentModalSlice = createSlice({\n name: 'slice://payment-methods-modal',\n initialState: INITIAL_STATE,\n reducers: {\n init: (state, action: PayloadAction) => {\n state.open = true\n state.amountToPay = action.payload.amountToPay\n state.paymentMethods = action.payload.paymentMethods\n },\n reset: () => INITIAL_STATE,\n },\n extraReducers: (builder) => {\n builder.addCase(applyPersonalFunds.pending, (state) => {\n state.personalFundsRequestPending = true\n })\n builder.addCase(applyPersonalFunds.fulfilled, (state, action) => {\n state.personalFundsRequestPending = false\n state.amountToPay = roundToTwo(state.amountToPay - action.payload.amount)\n\n state.personalFundsPayment = {\n id: action.payload.applying_type === 'full' ? null : action.payload.personal_funds_expected_payment_id,\n amount: action.payload.amount,\n expire_at: action.payload.applying_type === 'full' ? null : action.payload.expire_at,\n }\n })\n builder.addCase(applyPersonalFunds.rejected, (state) => {\n state.personalFundsRequestPending = false\n })\n builder.addCase(dismissPersonalFunds.pending, (state) => {\n state.personalFundsRequestPending = true\n })\n builder.addCase(dismissPersonalFunds.fulfilled, (state) => {\n state.amountToPay = roundToTwo(state.amountToPay + state.personalFundsPayment.amount)\n state.personalFundsRequestPending = false\n state.personalFundsPayment = null\n })\n builder.addCase(dismissPersonalFunds.rejected, (state, action) => {\n if ((action.payload as Error)?.message === INVALID_ID_ERROR) {\n state.amountToPay = roundToTwo(state.amountToPay + state.personalFundsPayment.amount)\n state.personalFundsPayment = null\n }\n\n state.personalFundsRequestPending = false\n })\n builder.addCase(getPaymentData.pending, (state) => {\n state.paymentDataRequestPending = true\n state.paymentDataRequestError = null\n })\n builder.addCase(getPaymentData.fulfilled, (state, action) => {\n state.paymentDataRequestPending = false\n\n if (action.payload.orderPaymentStatus === 'paid' && action.payload.paymentEntity === paymentEntities.ORDER) {\n state.paymentDataRequestError = ALREADY_PAID_ERROR\n return\n }\n\n if (!state.paymentMethods) {\n state.paymentMethods = action.payload.paymentMethods\n }\n\n if (action.payload?.personalExpectedPayment) {\n state.personalFundsPayment = {\n id: action.payload.personalExpectedPayment.id,\n amount: action.payload.personalExpectedPayment.amount,\n expire_at: action.payload.personalExpectedPayment.expire_at,\n }\n\n state.amountToPay = roundToTwo(state.amountToPay - action.payload.personalExpectedPayment.amount)\n }\n })\n builder.addCase(getPaymentData.rejected, (state, action) => {\n state.paymentDataRequestPending = false\n state.paymentDataRequestError = (action.payload as Error).message\n })\n builder.addCase(getPersonalFundsBalance.pending, (state) => {\n state.personalFundsBalancePending = true\n })\n builder.addCase(getPersonalFundsBalance.fulfilled, (state, action) => {\n state.personalFundsBalancePending = false\n state.personalFundsBalance = action.payload\n })\n builder.addCase(getPersonalFundsBalance.rejected, (state) => {\n state.personalFundsBalancePending = false\n })\n },\n})\n\ntype State = {\n [key in typeof paymentModalSlice.name]: IPaymentMethodsModalState\n}\n\nexport const paymentModalSliceSelectors = {\n open: (state: State) => state[paymentModalSlice.name]?.open,\n\n amountToPay: (state: State) => state[paymentModalSlice.name]?.amountToPay,\n paymentMethods: (state: State) => state[paymentModalSlice.name]?.paymentMethods,\n personalFundsPayment: (state: State) => state[paymentModalSlice.name]?.personalFundsPayment,\n personalFundsBalance: (state: State) => state[paymentModalSlice.name]?.personalFundsBalance,\n\n paymentDataRequestPending: (state: State) => state[paymentModalSlice.name]?.paymentDataRequestPending,\n personalFundsBalancePending: (state: State) => state[paymentModalSlice.name]?.personalFundsBalancePending,\n personalFundsRequestPending: (state: State) => state[paymentModalSlice.name]?.personalFundsRequestPending,\n\n paymentDataRequestError: (state: State) => state[paymentModalSlice.name]?.paymentDataRequestError,\n}\n", "import { createAsyncThunk } from '@reduxjs/toolkit'\nimport _size from 'lodash/size'\n\nimport notify from 'utils/notify'\nimport { reqHPromise } from 'utils/http-client/request-handler'\n\nimport { dismissPersonalFunds } from './dismiss-personal-funds'\n\nimport { paymentEntities } from '@qwerty.software/payments-modals/src/constants'\nimport { DEFAULT_ERROR_MESSAGE } from '../constants'\nimport { type TPaymentMethod } from '../../types'\nimport { type IConfigsViaEvent } from '@qwerty.software/payments-modals/src/payment-methods-modal/context/types'\n\ntype TArgs = {\n order_id: number\n paymentEntity: paymentEntities\n paymentAmount: IConfigsViaEvent['paymentAmount']\n withPersonalFunds: boolean\n}\n\ntype TResponseData = {\n credit_operation: null | unknown\n order_id: number\n payment_methods: TPaymentMethod[]\n personal_funds_expected_payment: {\n amount: number\n id: number\n order_id: number\n expire_at: number | null\n } | null\n price: number\n state: 'paid' | 'unpaid'\n}\n\ninterface IResponse {\n data: TResponseData\n errors?: string[]\n}\n\nexport interface IGetPaymentDataAction {\n paymentMethods: TPaymentMethod[]\n personalExpectedPayment: TResponseData['personal_funds_expected_payment']\n orderPaymentStatus: TResponseData['state']\n paymentEntity: paymentEntities\n}\n\nexport const getPaymentData = createAsyncThunk('payment-modal/get-payment-data', (payload, thunkAPI) => reqHPromise({\n url: 'clients/payments/get-order-payment-modal-data',\n urlPrefix: false,\n params: { order_id: payload.order_id },\n})\n .then((response: IResponse) => {\n if (_size(response.errors) > 0) {\n return thunkAPI.rejectWithValue(new Error(response.errors[0]))\n }\n\n // validation logic for case when expected payment amount is more than payment amount\n // it can happen when user changes order details after applying personal funds\n if (\n response.data?.personal_funds_expected_payment?.amount &&\n response.data?.personal_funds_expected_payment?.amount >= payload.paymentAmount\n ) {\n notify.warning('You changed the terms of use for your personal funds, so we reset the personal funds applied to this payment')\n thunkAPI.dispatch(dismissPersonalFunds(response.data.personal_funds_expected_payment.id))\n }\n\n if (\n response.data?.personal_funds_expected_payment?.id &&\n response.data?.personal_funds_expected_payment?.amount &&\n !payload.withPersonalFunds\n ) {\n thunkAPI.dispatch(dismissPersonalFunds(response.data.personal_funds_expected_payment.id))\n }\n\n return {\n paymentMethods: response.data.payment_methods,\n personalExpectedPayment: response.data?.personal_funds_expected_payment || null,\n orderPaymentStatus: response.data.state,\n paymentEntity: payload.paymentEntity,\n }\n })\n .catch(() => {\n return thunkAPI.rejectWithValue(new Error(DEFAULT_ERROR_MESSAGE))\n }))", "import { createAsyncThunk } from '@reduxjs/toolkit'\nimport _size from 'lodash/size'\n\nimport { reqHPromise } from 'utils/http-client/request-handler'\nimport customEvent from 'utils/custom-event'\nimport notify from 'utils/notify'\n\nimport { getPersonalFundsBalance } from './get-personal-funds-balance'\n\nimport { DEFAULT_ERROR_MESSAGE } from '../constants'\nimport { UPDATE_ORDER_DETAILS } from './../../../constants'\n\nexport const INVALID_ID_ERROR = 'The selected personal funds expected payment id is invalid.'\n\ninterface IDismissPersonalFundsResponseData {\n new_price: number\n}\n\ninterface Response {\n data: IDismissPersonalFundsResponseData\n errors?: string[]\n}\n\nexport const dismissPersonalFunds = createAsyncThunk(\n 'personal-funds/dismiss',\n (personal_funds_expected_payment_id, thunkAPI) => reqHPromise({\n urlPrefix: false,\n method: 'POST',\n url: 'clients/payments/personal-funds/dismiss',\n data: {\n personal_funds_expected_payment_id,\n },\n\n })\n .then(async (response: Response) => {\n if (_size(response.errors) > 0) {\n console.error(response.errors[0])\n if (response.errors[0] === INVALID_ID_ERROR) { // also we dismiss personal funds in case of invalid id\n notify.warning('We\\'ve returned your personal funds to your account due to the time passed. Apply them again if needed')\n thunkAPI.dispatch(getPersonalFundsBalance())\n customEvent.trigger(UPDATE_ORDER_DETAILS) // for update order details in dashboard after dismiss personal funds\n }\n\n return thunkAPI.rejectWithValue(new Error(response.errors[0]))\n }\n\n await thunkAPI.dispatch(getPersonalFundsBalance())\n customEvent.trigger(UPDATE_ORDER_DETAILS) // for update order details in dashboard after dismiss personal funds\n })\n .catch((err) => {\n console.error(err)\n return thunkAPI.rejectWithValue(new Error(DEFAULT_ERROR_MESSAGE))\n })\n)", "import { createAsyncThunk } from '@reduxjs/toolkit'\nimport _size from 'lodash/size'\n\nimport { reqHPromise } from 'utils/http-client/request-handler'\nimport customEvent from 'utils/custom-event'\n\nimport { UPDATE_PERSONAL_BALANCE } from './../../../constants'\nimport { DEFAULT_ERROR_MESSAGE } from '../constants'\n\ntype TBalanceUnit = {\n title: string\n balance: number\n}\n\ntype ResponseData = {\n balance: {\n credits: TBalanceUnit\n funds: TBalanceUnit\n referrals: TBalanceUnit\n total: TBalanceUnit\n }\n}\n\ninterface IResponse {\n data: ResponseData\n errors?: string[]\n}\n\nexport const getPersonalFundsBalance = createAsyncThunk(\n 'payment-modal/get-personal-funds-balance',\n (_, thunkAPI) => reqHPromise({\n url: 'balance'\n })\n .then((response: IResponse) => {\n if (_size(response.errors) > 0) {\n return thunkAPI.rejectWithValue(new Error(response.errors[0]))\n }\n\n // for side effect logic in dashboard\n customEvent.trigger(UPDATE_PERSONAL_BALANCE, response.data?.balance)\n\n return response.data?.balance?.funds?.balance\n })\n .catch(() => {\n return thunkAPI.rejectWithValue(new Error(DEFAULT_ERROR_MESSAGE))\n })\n)", "export const DEFAULT_ERROR_MESSAGE = 'An Error Occurred. Please contact customer support!'\nexport const ALREADY_PAID_ERROR = 'This order has already been paid'", "import { createAsyncThunk } from '@reduxjs/toolkit'\nimport _size from 'lodash/size'\n\nimport { reqHPromise } from 'utils/http-client/request-handler'\nimport customEvent from 'utils/custom-event'\n\nimport { getPersonalFundsBalance } from './get-personal-funds-balance'\n\nimport { DEFAULT_ERROR_MESSAGE } from '../constants'\nimport { UPDATE_ORDER_DETAILS } from '../../../constants'\n\ntype Params = {\n order_id: number\n amount: number\n}\n\ninterface PersonalFundsResponseData {\n applying_type: 'full' | 'partial'\n personal_funds_expected_payment_id: number | null\n new_price: number\n expire_at: number | null\n}\n\ninterface PersonalFundsResponse {\n data: PersonalFundsResponseData\n errors?: string[]\n}\n\nexport interface PersonalFundsActionData extends PersonalFundsResponseData {\n amount?: number\n}\n\nconst WALLET_PAYMENT_ACCOUNTS_KEY = 'accounts'\nconst CLIENT_PERSONAL_FUNDS_ID = '21'\n\nexport const applyPersonalFunds = createAsyncThunk('personal-funds/apply', (params, thunkAPI) => reqHPromise({\n urlPrefix: false,\n method: 'POST',\n url: 'clients/payments/personal-funds/apply',\n data: {\n ...params,\n [`${WALLET_PAYMENT_ACCOUNTS_KEY}[${CLIENT_PERSONAL_FUNDS_ID}]`]: params.amount,\n },\n})\n .then(async (response: PersonalFundsResponse) => {\n if (_size(response.errors) > 0) {\n console.error(response.errors[0])\n return thunkAPI.rejectWithValue(new Error(response.errors[0]))\n }\n\n await thunkAPI.dispatch(getPersonalFundsBalance())\n customEvent.trigger(UPDATE_ORDER_DETAILS) // for update order details in dashboard after apply personal funds\n\n return {\n ...response.data,\n amount: params.amount,\n }\n })\n .catch((err) => {\n console.error(err)\n return thunkAPI.rejectWithValue(new Error(DEFAULT_ERROR_MESSAGE))\n }))\n", "// on server side php calculation rounding is made by round($calc_result, 2)\n// so we need to do the same on client side\n\nexport const roundToTwo = (num: number) => {\n return Math.round((num + Number.EPSILON) * 100) / 100\n}", "import { FC, ReactNode, useEffect, useState } from \"react\"\nimport { PaymentFlowAPI } from './index'\n\nconst NAME = 'paymentFlowAPI'\n\nexport const WithPaymentFlowApiInit: FC<{children: ReactNode}> = ({ children }) => {\n const [paymentFlowApiLoaded, setPaymentFlowApiLoaded] = useState(null)\n\n useEffect(() => {\n if (paymentFlowApiLoaded === null && !window.hasOwnProperty(NAME)) {\n (window as any)[NAME] = new PaymentFlowAPI()\n }\n\n if (window.hasOwnProperty('paymentFlowAPI')) {\n setPaymentFlowApiLoaded(true)\n }\n }, [paymentFlowApiLoaded])\n\n if (!paymentFlowApiLoaded) {\n return null\n }\n\n return <>{children}\n}", "import UserAgentParser from 'ua-parser-js'\n\nconst UAParser = new UserAgentParser()\n\nconst osName = UAParser.getOS().name\nconst deviceType = UAParser.getDevice().type\nconst browserName = UAParser.getBrowser().name\n\nexport default {\n getOSName: () => osName,\n isIOS: () => !!(osName === 'iOS'),\n isAndroid: () => !!(osName === 'Android'),\n isMacOS: () => !!(osName === 'Mac OS'),\n isWindows: () => !!(osName === 'Windows'),\n\n isMobile: () => !!(deviceType === 'mobile'),\n isTablet: () => !!(deviceType === 'tablet'),\n\n getBrowserName: () => browserName,\n isChrome: () => !!(browserName === 'Chrome'),\n isFirefox: () => !!(browserName === 'Firefox'),\n isSafari: () => !!(browserName === 'Safari' || browserName === 'Mobile Safari'),\n isEdge: () => !!(browserName === 'Edge'),\n isIE: () => !!(browserName === 'IE'),\n isOpera: () => !!(browserName === 'Opera'),\n\n getResult: () => UAParser.getResult(),\n}\n", "// I left the original code as is - just copied it\nexport const windowCenterer = (w, h) => {\n const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX\n const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY\n\n const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : window.screen.width\n const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : window.screen.height\n\n const systemZoom = width / window.screen.availWidth\n const left = (width - w) / 2 / systemZoom + dualScreenLeft\n const top = (height - h) / 2 / systemZoom + dualScreenTop\n\n return `width=${w / systemZoom}, height=${h / systemZoom}, top=${top}, left=${left}`\n}\n", "import userAgent from 'utils/user-agent'\nimport { windowCenterer } from './utils/window-centerer'\nimport { RESULT_STATUS_ABORTED } from './../../constants'\n\n// I left the original code as is - just copied it\nclass PaymentFlowAPI {\n\n constructor() {\n\n this.windowsReferences = {}\n this.windowsReferencesClosedStatusTimers = {}\n\n this.cb = undefined\n }\n\n _openWindow = (name, url) => {\n const w = 950\n const h = 700\n\n const openW = (name) => {\n this.windowsReferences[name] = window.open(\n url,\n `window-reference--${name}`,\n `scrollbars, dependent, ${windowCenterer(w, h)}`,\n )\n this._listenManualCloseWindow(name)\n }\n\n if (userAgent.isMobile() || userAgent.isTablet() || window.screen.width <= 1024) {\n if (this._windowHasBeenOpened(name)) {\n const generatedUnicName = `${name}--${+new Date()}`\n openW(generatedUnicName)\n } else {\n openW(name)\n }\n return\n }\n\n if (this._windowHasBeenOpened(name)) {\n this._focusWindow(name)\n } else {\n openW(name)\n }\n }\n\n _windowHasBeenOpened = (name) => this.windowsReferences.hasOwnProperty(name)\n\n _focusWindow = (name) => {\n this.windowsReferences?.[name]?.focus()\n }\n\n _closeWindow = (name) => {\n this.windowsReferences?.[name]?.close()\n this._unlistenMessageFromWindowReference()\n\n delete this.windowsReferences?.[name]\n }\n\n _closeAllWindows = () => {\n Object.keys(this.windowsReferences).forEach((name) => {\n this._closeWindow(name)\n })\n }\n\n _listenManualCloseWindow = (name) => {\n this.windowsReferencesClosedStatusTimers[name] = window.setInterval(() => {\n if (this.windowsReferences?.[name]?.closed) {\n\n const res = { paymentStatus: RESULT_STATUS_ABORTED }\n if (this.cb && typeof this.cb === 'function') {\n this.cb(res)\n }\n\n this._stopSpyOnClosedStatus(name)\n this._unlistenMessageFromWindowReference()\n\n delete this.windowsReferences?.[name]\n\n }\n }, 500)\n }\n\n _stopSpyOnClosedStatus = (name) => {\n window.clearInterval(this.windowsReferencesClosedStatusTimers?.[name])\n delete this.windowsReferencesClosedStatusTimers?.[name]\n }\n\n _stopSpyOnAllClosedStatus = () => {\n Object.keys(this.windowsReferencesClosedStatusTimers).forEach((name) => {\n this._stopSpyOnClosedStatus(name)\n })\n }\n\n _onMessageReceivedFromWindowReference = (event) => {\n if (typeof event.data !== 'string') {\n return\n }\n\n const data = event.data\n\n let parsedData\n try {\n parsedData = JSON.parse(data)\n } catch (error) {\n parsedData = {}\n }\n\n if (!parsedData.paymentStatus) {\n return\n }\n\n const res = parsedData\n if (this.cb && typeof this.cb === 'function') {\n this.cb(res)\n }\n\n this._stopSpyOnAllClosedStatus()\n this._closeAllWindows()\n }\n\n _listenWindowsReferences = () => {\n window.addEventListener('message', this._onMessageReceivedFromWindowReference)\n }\n\n _unlistenMessageFromWindowReference = () => {\n window.removeEventListener('message', this._onMessageReceivedFromWindowReference)\n }\n\n atLeastOneOfWindowsReferencesHasBeenOpened = () => Object.keys(this.windowsReferences).length\n\n pay = (name, link, cb) => {\n if (cb && typeof cb === 'function') {\n this.cb = cb\n }\n\n this._openWindow(name, link)\n\n this._listenWindowsReferences()\n }\n}\n\nexport { PaymentFlowAPI }\n", "import { FC, createContext, useCallback, useContext, useMemo } from 'react'\nimport { useDispatch } from 'react-redux'\n\nimport { paymentModalSlice } from '@qwerty.software/payments-modals/src/payment-methods-modal/store/slice'\n\nimport { useOpenEvent } from './use-open-event'\n\nimport { type IContextDynamic, type IContextStatic } from './types'\n\nexport interface IPaymentModalContext extends IContextStatic, IContextDynamic {\n handleClose: () => void\n}\n\nexport const PaymentMethodsModalContext = createContext(null)\n\nexport const WithPaymentMethodsModalContext: FC<{ children: React.ReactNode }> = ({ children }) => {\n const dispatch = useDispatch()\n\n const { contextValuesStatic, contextValuesDynamic } = useOpenEvent()\n\n const handleClose = useCallback(() => {\n if (contextValuesDynamic.personalFundsRequestPending) {\n return\n }\n\n dispatch(paymentModalSlice.actions.reset())\n }, [contextValuesDynamic.personalFundsRequestPending])\n\n const context = useMemo(() => ({ ...contextValuesStatic, ...contextValuesDynamic, handleClose }), [contextValuesStatic, contextValuesDynamic, handleClose])\n\n if (!context.open) {\n return null\n }\n\n return (\n \n {children}\n \n )}\n\nexport const usePaymentMethodsModalContext = () => useContext(PaymentMethodsModalContext)\n", "import { useState, useCallback, useMemo } from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\n\nimport useAction from 'hooks/useAction'\n\nimport { getPaymentData } from './../store/actions/get-payment-data'\nimport { getPersonalFundsBalance } from './../store/actions/get-personal-funds-balance'\nimport { paymentModalSlice, paymentModalSliceSelectors } from './../store/slice'\n\nimport { incomingEventSideEffects } from './incoming-event-side-effects'\n\nimport { DEFAULT_CURRENCY } from '@qwerty.software/currency-switcher/src/store/constants'\n\nimport { type IConfigsViaEvent, type IContextDynamic, type IContextStatic } from './types'\nimport { useOpenPaymentsModalListener } from '@qwerty.software/payments-modals/src/modals-control/listeners/use-open-payments-modal-listener'\n\nexport const INITIAL_CONTEXT_STATIC: IContextStatic = {\n paymentAmount: null,\n paymentEntity: null,\n\n orderId: null,\n currency: DEFAULT_CURRENCY,\n title: 'Choose a suitable payment method',\n subtitle: '',\n\n withPersonalFunds: true,\n modalClosingAllowed: true,\n shouldRedirectToDashboardOrder: false,\n payLaterActionText: 'Go back',\n showMerchantLocation: true,\n}\n\nexport const useOpenEvent = () => {\n const dispatch = useDispatch()\n\n const handleGetPaymentData = useAction(getPaymentData)\n const handleGetPersonalFundsBalance = useAction(getPersonalFundsBalance)\n\n const [contextValuesStatic, setContextValuesStatic] = useState(INITIAL_CONTEXT_STATIC)\n\n const open = useSelector(paymentModalSliceSelectors.open)\n const amountToPay = useSelector(paymentModalSliceSelectors.amountToPay)\n const paymentMethods = useSelector(paymentModalSliceSelectors.paymentMethods)\n const personalFundsPayment = useSelector(paymentModalSliceSelectors.personalFundsPayment)\n const personalFundsBalance = useSelector(paymentModalSliceSelectors.personalFundsBalance)\n const personalFundsBalancePending = useSelector(paymentModalSliceSelectors.personalFundsBalancePending)\n const paymentDataRequestPending = useSelector(paymentModalSliceSelectors.paymentDataRequestPending)\n const personalFundsRequestPending = useSelector(paymentModalSliceSelectors.personalFundsRequestPending)\n const paymentDataRequestError = useSelector(paymentModalSliceSelectors.paymentDataRequestError)\n\n const handleOpen = useCallback((event: {detail: IConfigsViaEvent}) => {\n if (open) {\n return\n }\n\n if (event.detail) {\n if (event.detail.withPersonalFunds ?? INITIAL_CONTEXT_STATIC.withPersonalFunds) {\n handleGetPersonalFundsBalance()\n }\n\n if (event.detail.orderId) {\n handleGetPaymentData({\n order_id: event.detail.orderId,\n paymentAmount: event.detail.paymentAmount,\n paymentEntity: event.detail.paymentEntity,\n withPersonalFunds: event.detail.withPersonalFunds ?? INITIAL_CONTEXT_STATIC.withPersonalFunds,\n })\n }\n\n const { currency } = incomingEventSideEffects(event?.detail)\n\n setContextValuesStatic({\n paymentAmount: event.detail.paymentAmount,\n paymentEntity: event.detail.paymentEntity,\n\n orderId: event.detail.orderId || INITIAL_CONTEXT_STATIC.orderId,\n currency: currency,\n title: event.detail.title || INITIAL_CONTEXT_STATIC.title,\n subtitle: event.detail.subtitle || INITIAL_CONTEXT_STATIC.subtitle,\n withPersonalFunds: event.detail.withPersonalFunds ?? INITIAL_CONTEXT_STATIC.withPersonalFunds,\n modalClosingAllowed: event.detail.modalClosingAllowed ?? INITIAL_CONTEXT_STATIC.modalClosingAllowed,\n shouldRedirectToDashboardOrder: event.detail.shouldRedirectToDashboardOrder ?? INITIAL_CONTEXT_STATIC.shouldRedirectToDashboardOrder,\n payLaterActionText: event.detail.payLaterActionText || INITIAL_CONTEXT_STATIC.payLaterActionText,\n showMerchantLocation: event.detail.showMerchantLocation ?? INITIAL_CONTEXT_STATIC.showMerchantLocation,\n })\n\n dispatch(paymentModalSlice.actions.init({\n open: true,\n amountToPay: event.detail.paymentAmount,\n paymentMethods: event.detail?.paymentMethods,\n }))\n }\n }, [open])\n\n useOpenPaymentsModalListener({ handler: handleOpen })\n\n const contextValuesDynamic: IContextDynamic = useMemo(() => ({\n open,\n amountToPay, // dynamic amount that changes via personal funds\n paymentMethods,\n personalFundsPayment, // from getPaymentData action response\n personalFundsBalance,\n\n personalFundsBalancePending,\n paymentDataRequestPending,\n personalFundsRequestPending,\n\n paymentDataRequestError,\n }), [\n open,\n amountToPay,\n paymentMethods,\n personalFundsPayment,\n personalFundsBalance,\n personalFundsBalancePending,\n paymentDataRequestPending,\n personalFundsRequestPending,\n paymentDataRequestError,\n ])\n\n return { contextValuesStatic, contextValuesDynamic }\n}\n", "import { DEFAULT_CURRENCY } from \"@qwerty.software/currency-switcher/src/store/constants\"\nimport { IConfigsViaEvent, IContextStatic } from \"./types\"\n\ninterface IIncomingEventSideEffectsResult {\n currency: IContextStatic['currency']\n}\n\nexport const incomingEventSideEffects = (eventConfigs: IConfigsViaEvent) => {\n let currency\n switch (true) {\n case !eventConfigs.currency:\n case !eventConfigs.currency?.symbol:\n case !eventConfigs.currency?.rate && !eventConfigs.paymentAmountCurrencyFixedRate:\n currency = DEFAULT_CURRENCY\n break\n case Boolean(eventConfigs.paymentAmountCurrencyFixedRate && eventConfigs.paymentAmount):\n currency = {...eventConfigs.currency, rate: eventConfigs.paymentAmountCurrencyFixedRate / eventConfigs.paymentAmount}\n break\n default:\n currency = eventConfigs.currency\n }\n\n return {\n currency,\n } as IIncomingEventSideEffectsResult\n}", "import { useEffect, useRef } from \"react\"\nimport customEvent from \"utils/custom-event\"\n\nimport { OPEN_PAYMENTS_MODAL } from \"@qwerty.software/payments-modals/src/modals-control/constants\"\n\nimport { type IConfigsViaEvent } from \"@qwerty.software/payments-modals/src/payment-methods-modal/context/types\"\n\ninterface IOpenPaymentsModalListenerProps {\n handler: (event: { detail: IConfigsViaEvent }) => void\n}\n\nexport const useOpenPaymentsModalListener = ({ handler }: IOpenPaymentsModalListenerProps) => {\n useEffect(() => {\n customEvent.on(OPEN_PAYMENTS_MODAL, handler)\n\n return () => {\n customEvent.off(OPEN_PAYMENTS_MODAL, handler)\n }\n }, [handler])\n}\n", "import { FC, useCallback, useEffect, useMemo } from 'react'\nimport clsx from 'clsx'\n\nimport CircularProgress from '@qwerty.software/mono-ui-circular-progressbar'\n\nimport { usePaymentMethodsModalContext } from './context'\n\nimport useAction from 'hooks/useAction'\nimport storage from 'utils/storage'\nimport { roundToTwo } from 'utils/round-to-two'\n\nimport { dismissPersonalFunds } from './store/actions/dismiss-personal-funds'\n\nimport { Modal } from '@qwerty.software/payments-modals/src/components/modal'\nimport { DiscountErrorNotification } from './components/discount-error'\nimport { PaymentMethods } from './components/payment-methods'\nimport { PersonalFunds } from './components/personal-funds'\nimport { ModalFooter } from './components/modal-footer'\n\nimport { ALREADY_PAID_ERROR, DEFAULT_ERROR_MESSAGE } from './store/constants'\nimport { paymentEntities, PAYMENTS_RESULT_KEY } from '@qwerty.software/payments-modals/src/constants'\n\nimport './styles.scss'\nimport '@qwerty.software/mono-ui-circular-progressbar/lib/variant_default/index.css'\n\ninterface IPaymentModalProps { }\n\nexport const ModalComponent: FC = () => {\n const {\n open,\n title,\n subtitle,\n paymentEntity,\n amountToPay,\n paymentMethods,\n currency,\n personalFundsBalance,\n personalFundsPayment,\n personalFundsRequestPending,\n\n showMerchantLocation,\n\n paymentDataRequestPending,\n paymentDataRequestError,\n\n withPersonalFunds,\n modalClosingAllowed,\n\n handleClose,\n } = usePaymentMethodsModalContext()\n\n const dismissFunds = useAction(dismissPersonalFunds)\n\n useEffect(() => {\n // clear payment result from storage for some weird cases\n storage.remove(PAYMENTS_RESULT_KEY, { storageType: 'session' })\n }, [])\n\n const handleCloseModal = useCallback(async () => {\n if (personalFundsPayment?.id) {\n await dismissFunds(personalFundsPayment.id).then(() => {\n handleClose()\n })\n\n return\n }\n\n handleClose()\n }, [personalFundsPayment, handleClose])\n\n const showPersonalFunds = useMemo(() => (\n withPersonalFunds &&\n paymentEntity === paymentEntities.ORDER &&\n Boolean(personalFundsBalance || personalFundsPayment || personalFundsRequestPending)\n ), [withPersonalFunds, paymentEntity, personalFundsBalance, personalFundsPayment, personalFundsRequestPending])\n\n return (\n \n {subtitle ?

{subtitle}

: null}\n {title ?

{title}

: null}\n
\n

\n Total to pay:\n \n {currency.symbol}{amountToPay && !paymentDataRequestPending\n ? <>{roundToTwo(amountToPay * currency.rate).toFixed(2)}\n : 00.00\n }\n \n

\n
\n\n {showPersonalFunds ? : null}\n\n {(!amountToPay || !paymentMethods) && !paymentDataRequestError\n ?
\n \n
\n : \n }\n\n {paymentDataRequestError && !paymentDataRequestPending\n ?
\n {paymentDataRequestError === ALREADY_PAID_ERROR ? ALREADY_PAID_ERROR : DEFAULT_ERROR_MESSAGE}\n
\n : null\n }\n\n \n\n \n\n {showMerchantLocation\n ?
\n Merchant location: USA\n
\n : null\n }\n \n )\n}\n", "import { FC, useCallback, useEffect, useRef } from 'react'\nimport clsx from 'clsx'\nimport noScroll from 'no-scroll'\nimport './styles.scss'\n\ninterface ModalProps {\n children: React.ReactNode\n open: boolean\n CloseIcon?: FC\n onClose: () => void\n disableClose?: boolean\n className?: string\n}\n\nexport const Modal: FC = ({ children, open, CloseIcon, onClose, disableClose, className }) => {\n const ref = useRef(null)\n\n useEffect(() => {\n if (open) {\n noScroll.on()\n } else {\n noScroll.off()\n }\n\n return () => {\n noScroll.off()\n }\n }, [open])\n\n const handleBackDropClick = useCallback((e) => {\n if (e.target === ref.current && !disableClose) {\n e.stopPropagation()\n\n onClose()\n }\n }, [ref, onClose, disableClose])\n\n if (!open) {\n return null\n }\n\n return (\n
\n
\n {CloseIcon ? : null}\n {children}\n
\n
\n )\n}", "import { FC, useCallback, useEffect, useState } from 'react'\n\nimport storage from 'utils/storage'\n\nimport { usePaymentMethodsModalContext } from '@qwerty.software/payments-modals/src/payment-methods-modal/context'\nimport DiscountErrorIcon from '@qwerty.software/payments-modals/src/payment-methods-modal/components/discount-error/icon'\n\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport { PROJECT_FAMILY } from 'constants/configs'\nimport { paymentEntities } from '@qwerty.software/payments-modals/src/constants'\n\nimport './styles.scss'\n\nexport interface IDiscountError {}\n\nexport const DiscountErrorNotification: FC = () => {\n const { orderId, paymentEntity } = usePaymentMethodsModalContext()\n const [errorText, setErrorText] = useState(null)\n\n useEffect(() => {\n const discountErrorText = storage.get(`discountError-${orderId}`, { storageType: 'session' })\n if (discountErrorText && paymentEntity && paymentEntity === paymentEntities.ORDER) {\n setErrorText(discountErrorText)\n }\n }, [orderId, paymentEntity])\n\n const projectFamily = getFromConfigs(PROJECT_FAMILY)\n\n const handleLivechatOpen = useCallback(() => {\n if ((window as any).LC_API?.update_custom_variables) {\n (window as any).LC_API.update_custom_variables([{ name: 'invalid_discount_code', value: 'true' }])\n }\n\n if ((window as any).LC_API?.open_chat_window) {\n (window as any).LC_API.open_chat_window()\n }\n }, [])\n\n const handleClickDiscountError = useCallback(() => {\n handleLivechatOpen()\n // flag from create order request result, it also used in same component in the microservices hub project\n storage.remove(`discountError-${orderId}`, { storageType: 'session' })\n }, [orderId, handleLivechatOpen])\n\n if (!errorText) {\n return null\n }\n\n return (\n
\n
\n \n
\n Please note! \n {errorText} \n Get a matching discount for your current order \n here.\n
\n
\n
\n )\n}\n", "import * as React from 'react'\n\nconst TemplateIcon = ({\n name,\n styles: { width, height, ...restStyles } = {},\n viewBox = '0 0 24 24',\n additionalClasses = '',\n children,\n}) => {\n\n const style = {\n width,\n height,\n fill: 'currentColor',\n\n ...restStyles,\n }\n\n let classes = `icon ${name}`\n if (additionalClasses) {\n classes += ` ${additionalClasses} `\n }\n\n return (\n \n {children}\n \n )\n\n}\n\nexport default TemplateIcon\n/* sfc */\n", "import React from 'react'\nimport TemplateIcon from 'framework/icons/template'\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport { PROJECT_FAMILY } from 'constants/configs'\n\nconst DiscountErrorIcon = ({ width = 48, height = 48 } = {}) => {\n const projectFamily = getFromConfigs(PROJECT_FAMILY)\n\n let colors\n\n switch(projectFamily) {\n case 'wpf': {\n colors = {\n main: '#FBEF4D',\n label: '#595853',\n crossBackground: '#FF5454',\n }\n break\n }\n case 'pc': {\n colors = {\n main: '#FEC52E',\n label: '#23292D',\n crossBackground: '#FF5454',\n }\n break\n }\n default: {\n colors = {\n main: '#F5F8FB',\n label: '#23292D',\n crossBackground: '#FF5454',\n }\n }\n }\n\n const templateIconProps = {\n name: 'pmnt_discount-error-icon',\n viewBox: '0 0 48 48',\n styles: { width, height },\n children: (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n ),\n }\n\n return TemplateIcon({ ...templateIconProps })\n}\n\nexport default DiscountErrorIcon\n", "import { FC, useMemo } from \"react\"\nimport clsx from \"clsx\"\n\nimport { usePaymentMethodsModalContext } from \"@qwerty.software/payments-modals/src/payment-methods-modal/context\"\n\nimport PaymentMethod from \"./payment-method\"\n\nimport { paymentMethodsAdapter } from \"@qwerty.software/payments-modals/src/payment-methods-modal/utils/payment-methods-adapter\"\n\nimport { DEFAULT_CURRENCY } from \"@qwerty.software/currency-switcher/src/store/constants\"\nimport { paymentMethodsVariants } from \"./../../../constants\"\n\nimport { type TPaymentMethod } from \"../../types\"\n\nimport \"./styles.scss\"\n\ninterface IPaymentMethodsProps {\n showPersonalFunds: boolean\n}\n\nexport const PaymentMethods: FC = ({ showPersonalFunds }) => {\n const {\n paymentMethods,\n paymentDataRequestError,\n currency,\n } = usePaymentMethodsModalContext()\n\n const { creditCardMethods, otherMethods, serviceMethods } = useMemo(() => paymentMethodsAdapter(paymentMethods), [paymentMethods])\n const mainCreditCardMethod = creditCardMethods?.[0]\n\n const otherMethodsLength = Object.keys(otherMethods).length \n\n if (paymentDataRequestError) {\n return null\n }\n\n return (\n
\n {creditCardMethods.length\n ?
\n \n
\n : null\n }\n {serviceMethods.length\n ?
1},\n paymentMethodsVariants.SERVICE,\n )}>\n {serviceMethods.map((method: TPaymentMethod) => (\n \n ))}\n
\n : null\n }\n\n {otherMethodsLength\n ?
\n
Other methods
\n
\n {Object.keys(otherMethods).map((name: string) => (\n \n ))}\n
\n
\n : null\n }\n\n {currency.name !== DEFAULT_CURRENCY.name\n ?
\n *The price may be displayed in USD but processed in your currency based on the current exchange rate\n
\n : null\n }\n
\n )\n}\n", "import React, { useCallback } from 'react'\nimport clsx from 'clsx'\n\nimport notify from 'utils/notify'\nimport useAction from 'hooks/useAction'\n\nimport { usePaymentMethodsModalContext } from '@qwerty.software/payments-modals/src/payment-methods-modal/context'\n\nimport { PaymentIcon } from './payment-image'\nimport { AlternateMethodsList } from './alternate-methods-list'\n\nimport { dismissPersonalFunds } from '@qwerty.software/payments-modals/src/payment-methods-modal/store/actions/dismiss-personal-funds'\nimport { openPaymentMethod } from '../../../api/open-payment-method'\n\nimport { paymentMethodsNames, paymentMethodsVariants } from './../../../../constants'\nimport { type TPaymentMethod } from '../../../types'\n\nimport './styles.scss'\n\ninterface IPaymentMethodProps extends TPaymentMethod {\n variant?: paymentMethodsVariants\n alternateMethods?: TPaymentMethod[]\n imgSmDown?: string\n isDefaultCurrency: boolean\n isSingleServiceMethod?: boolean\n}\n\nexport type TPaymentMethodHandler = (event: React.MouseEvent) => void\n\nconst METHODS_WITH_MULTICURRENCY = [\n paymentMethodsNames.CREDIT_CARD,\n paymentMethodsNames.CRYPTOCURRENCY,\n paymentMethodsNames.AMERICAN_EXPRESS\n]\n\nconst PaymentMethod: React.FC = ({\n name,\n gate,\n subtitle,\n commission,\n payment_link,\n alternateMethods,\n img,\n\n imgSmDown = null,\n\n variant,\n isDefaultCurrency,\n isSingleServiceMethod,\n}) => {\n const dismissFunds = useAction(dismissPersonalFunds)\n\n const context = usePaymentMethodsModalContext()\n const { handleClose: handleClosePaymentModal } = context\n\n const [alternateMethodsOpen, setAlternateMethodsOpen] = React.useState(false)\n\n const handleOpenPaymentMethod: TPaymentMethodHandler = useCallback((event: React.MouseEvent) => {\n event.preventDefault()\n event.stopPropagation()\n\n const { link, name, gate, alternate } = event.currentTarget.dataset\n\n // personal funds payment expires after 1 hour after creation if order is not paid\n // so we need to dismiss them and return to balance if expire time is passed when user tries to pay\n const personalFundsPaymentExpireTime = context.personalFundsPayment?.expire_at // unix timestamp\n if (context.personalFundsPayment?.id && personalFundsPaymentExpireTime && personalFundsPaymentExpireTime < Date.now() / 1000) {\n dismissFunds(context.personalFundsPayment.id)\n\n notify.warning('We\\'ve returned your personal funds to your account due to the time passed. Apply them again if needed')\n return\n }\n\n if (alternateMethodsOpen && !alternate) return\n\n if (alternate) {\n setAlternateMethodsOpen(false)\n }\n\n openPaymentMethod({\n link,\n name,\n gate,\n alternateMethods,\n\n context,\n onSuccess: handleClosePaymentModal\n })\n }, [\n context,\n context.currency,\n context.orderId,\n context.paymentEntity,\n context.amountToPay,\n context.paymentAmount,\n context.personalFundsPayment,\n context.personalFundsBalance,\n context.showMerchantLocation,\n context.payLaterActionText,\n context.shouldRedirectToDashboardOrder,\n context.paymentMethods,\n context.open,\n context.title,\n context.subtitle,\n context.modalClosingAllowed,\n\n openPaymentMethod,\n handleClosePaymentModal,\n alternateMethodsOpen\n ])\n\n return (\n \n \n
\n \n
\n\n {variant === paymentMethodsVariants.CREDIT_CARD\n ?
{paymentMethodsNames.CREDIT_CARD}
\n : null\n }\n\n
\n {subtitle || name}\n {!METHODS_WITH_MULTICURRENCY.includes(name) && !isDefaultCurrency\n ? *\n : null\n }\n {!!commission && (\n \n +{commission}% payment fee\n \n )}\n
\n {variant === paymentMethodsVariants.SERVICE && !isDefaultCurrency\n ? *\n : null\n }\n \n )\n\n}\n\nexport default PaymentMethod\n", "import * as React from 'react'\n// @ts-ignore\nimport scssBreakpoints from './breakpoints.module.scss'\n\nexport const _breakpoints = {\n xxs: parseInt(scssBreakpoints.xxs),\n xs: parseInt(scssBreakpoints.xs),\n sm: parseInt(scssBreakpoints.sm),\n md: parseInt(scssBreakpoints.md),\n lg: parseInt(scssBreakpoints.lg),\n xl: parseInt(scssBreakpoints.xl),\n} as const\n\nexport type Breakpoint = keyof typeof _breakpoints | Uppercase\nexport type Direction = 'up' | 'down' | Uppercase<'up' | 'down'>\n\nfunction useMedia(breakpoint: Breakpoint, direction: Direction, defaultMatches = false, breakpoints=_breakpoints) {\n const [matches, setMatches] = React.useState(defaultMatches)\n const _direction = direction.toLowerCase() === 'up' ? 'min' : 'max'\n const _breakpoint = breakpoint.toLowerCase() as Breakpoint\n const _thresholdValue = _direction === 'min' ? breakpoints[_breakpoint] : breakpoints[_breakpoint] - 1\n\n React.useEffect(() => {\n const mediaQuery = window.matchMedia(`(${_direction}-width: ${_thresholdValue}px)`)\n\n const handleChange = () => {\n setMatches(mediaQuery.matches)\n }\n\n mediaQuery.addEventListener('change', handleChange)\n\n handleChange()\n\n return () => {\n mediaQuery.removeEventListener('change', handleChange)\n }\n }, [_breakpoint, _direction])\n\n return matches\n}\n\nexport default useMedia", "import 'css-chunk:../../shared/ui/_responsive/breakpoints.module.scss';export default {\n \"xxs\": \"450\",\n \"xs\": \"650\",\n \"sm\": \"768\",\n \"md\": \"992\",\n \"lg\": \"1200\",\n \"xlg\": \"1260\",\n \"xl\": \"1400\",\n \"xxl\": \"1681\"\n};", "import {default as baseUseMedia, type Breakpoint as BaseBreakpoint, type Direction} from './base'\nimport scssBreakpoints from './breakpoints.module.scss'\n\nexport const breakpoints = {\n xs: parseInt(scssBreakpoints.xs),\n sm: parseInt(scssBreakpoints.sm),\n md: parseInt(scssBreakpoints.md),\n lg: parseInt(scssBreakpoints.lg),\n xl: parseInt(scssBreakpoints.xl),\n xxl: parseInt(scssBreakpoints.xxl),\n} as const\n\nexport type Breakpoint = keyof typeof breakpoints | Uppercase\n\n// !!!!!! HERE USED COMMON BREAKPOINTS THAT IS THE SAME AS IN Landing Repo, microservices-hub, em-microservices-hub etc.\n\nexport const useMedia = (\n breakpoint: Breakpoint,\n direction: Direction\n) => baseUseMedia(\n breakpoint as BaseBreakpoint,\n direction,\n Boolean(window.matchMedia(`(${direction.toLowerCase() === 'up' ? 'min' : 'max'}-width: ${breakpoints[breakpoint.toLowerCase()]}px)`).matches),\n breakpoints as any\n)\n", "import { FC } from \"react\"\nimport { useMedia } from \"ui/_responsive\"\n\n// import { ApplePayIcon } from \"./apple-pay\"\n// import { GooglePayIcon } from \"./google-pay\"\n\n// import { paymentMethodsNames } from \"./../../../../../constants\"\nimport type { TPaymentMethod } from \"@qwerty.software/payments-modals/src/payment-methods-modal/types\"\n\ninterface IPaymentIconProps {\n name: TPaymentMethod[\"name\"]\n img: TPaymentMethod[\"img\"]\n imgSmDown?: string\n}\n\nexport const PaymentIcon: FC = ({name, img, imgSmDown}) => {\n const smDown = useMedia('sm', 'down')\n\n // cant use that images because\n // https://developers.google.com/pay/api/web/guides/brand-guidelines\n // https://developer.apple.com/apple-pay/marketing/\n\n // switch (name) {\n // case paymentMethodsNames.APPLE_PAY:\n // return \n // case paymentMethodsNames.GOOGLE_PAY:\n // return \n // default:\n // return (\n // \n // )\n // }\n\n return (\n \n )\n}", "import React, { useCallback } from 'react'\nimport clsx from 'clsx'\n\nimport { GateIcon } from './gate-icon'\n\nimport { TPaymentMethod } from './../../../../types'\nimport { type TPaymentMethodHandler } from './../index'\n\nimport './styles.scss'\n\ninterface IAlternateMethodsListProps {\n open: boolean\n setOpen: (value: boolean) => void\n\n methods?: TPaymentMethod[]\n handleOpenPaymentMethod: TPaymentMethodHandler\n}\n\nexport const AlternateMethodsList: React.FC = ({\n methods,\n handleOpenPaymentMethod,\n\n open,\n setOpen,\n}) => {\n const ref = React.useRef(null)\n const [touchStart, setTouchStart] = React.useState()\n\n const toggleOpen = useCallback((event: React.MouseEvent) => {\n event.stopPropagation()\n setOpen(!open)\n }, [open, setOpen])\n\n const handleCloseList = useCallback((event) => {\n event.stopPropagation()\n setOpen(false)\n }, [open, setOpen])\n\n const handleTouchEnd = useCallback((event: React.TouchEvent) => {\n event.stopPropagation()\n if (touchStart && touchStart > event.changedTouches[0].clientX) {\n setOpen(false)\n }\n }, [touchStart, setOpen])\n\n const handleTouchStart = useCallback((event: React.TouchEvent) => {\n setTouchStart(event.changedTouches[0].clientX)\n }, [])\n\n if (!methods?.length || methods?.length === 1) {\n return null\n }\n\n return (\n <>\n \n \n \n \n
\n
\n \n Payment gates\n
\n {methods.map((method: TPaymentMethod, index) => (\n \n {method.gate.name}\n {!index ? ( (Default)) : null}\n
\n ))}\n \n \n \n )\n}", "import { FC } from \"react\";\n\nexport const GateIcon: FC = () => (\n \n \n \n \n)", "import notify from \"utils/notify\"\nimport queryString from \"utils/query-string\"\nimport storage from \"utils/storage\"\n\nimport { IPaymentModalContext } from \"@qwerty.software/payments-modals/src/payment-methods-modal/context\"\nimport { TPaymentMethod } from \"@qwerty.software/payments-modals/src/payment-methods-modal/types\"\n\nimport { openPaymentsResultModal } from '@qwerty.software/payments-modals/src/modals-control'\n\nimport { paymentResultStatuses, PAYMENTS_RESULT_KEY } from \"../../constants\"\nimport { type IPaymentResult } from \"@qwerty.software/payments-modals/src/types\"\nimport { forwardToDashboardOrder } from \"@qwerty.software/payments-modals/src/payment-methods-modal/utils/forward-to-dashboard\"\nimport getFromConfigs from \"helpers/configs/get-from-configs\"\nimport { DASHBOARD_SUBDOMAIN, PARENT_SITE_URL, SHOULD_REDIRECT_TO_PARENT_SITE } from \"constants/configs\"\nimport { IPaymentFlowApiResult } from \"@qwerty.software/payments-modals/src/payment-methods-modal/api/types\"\nimport { buildQueryResult } from \"./utils/build-query-result\"\n\ninterface IOpenPaymentMethod {\n link: string\n name: string\n gate?: string\n alternateMethods: TPaymentMethod[]\n\n context: Partial\n onSuccess: (args?: any) => void\n}\n\nexport const openPaymentMethod = ({\n link,\n name,\n gate,\n alternateMethods,\n\n context,\n onSuccess,\n}: IOpenPaymentMethod) => {\n const parentSiteUrl = getFromConfigs(PARENT_SITE_URL)\n const shouldRedirectToParentSite = getFromConfigs(SHOULD_REDIRECT_TO_PARENT_SITE)\n const dashboardSubdomain = getFromConfigs(DASHBOARD_SUBDOMAIN)\n\n const shouldRedirectToSubdomain = dashboardSubdomain && !window.location.host.includes(`${dashboardSubdomain}.`)\n\n let newLink = link\n\n const linkQueryParams: any = {\n k: Math.random(),\n }\n\n if ((shouldRedirectToParentSite && parentSiteUrl) || shouldRedirectToSubdomain) {\n linkQueryParams.siteUrlForRedirect = shouldRedirectToSubdomain\n ? `${window.location.protocol}//${dashboardSubdomain}.${window.location.host}/`\n : parentSiteUrl\n }\n\n const queryParamsString = queryString.build(linkQueryParams)\n newLink += `?${queryParamsString}`\n\n let alternateMethod: TPaymentMethod\n\n if (alternateMethods && alternateMethods.length > 1 && gate) {\n const nextMethodIndex = alternateMethods.findIndex(method => method.gate.name === gate) + 1\n alternateMethod = alternateMethods[nextMethodIndex] || alternateMethods[0]\n }\n\n (window as any).paymentFlowAPI.pay(name, newLink, (res: IPaymentFlowApiResult) => {\n console.info('----------------')\n console.info('Payment Flow API res:', res)\n console.info('----------------')\n\n if (res.paymentStatus === paymentResultStatuses.ABORT) {\n if (context.shouldRedirectToDashboardOrder) {\n notify.warning('You did not finish payment. Please try again or choose \\'Pay later\\' to make payment through your dashboard.')\n return\n }\n\n notify.warning('You did not finish payment. Please try again or choose another payment method.')\n return\n }\n\n const paymentResultToSend: IPaymentResult = {\n usedPaymentMethodWhenPaid: {\n name,\n link,\n alternateMethod,\n alternateMethods,\n },\n paymentFlowApiResult: res,\n paymentMethodsModalContext: context,\n }\n\n switch (true) {\n // session storage flow\n case context.shouldRedirectToDashboardOrder && !(shouldRedirectToParentSite || shouldRedirectToSubdomain):\n storage.set(PAYMENTS_RESULT_KEY, paymentResultToSend, { storageType: 'session' })\n forwardToDashboardOrder({ orderId: context.orderId, shouldRedirectToParentSite })\n break\n\n // query params flow\n case context.shouldRedirectToDashboardOrder && (shouldRedirectToParentSite || shouldRedirectToSubdomain):\n forwardToDashboardOrder({\n orderId: context.orderId,\n shouldRedirectToParentSite,\n queryParams: buildQueryResult({\n link,\n name,\n context,\n paymentFlowApiResult: res,\n })\n })\n break\n\n // event flow\n default: openPaymentsResultModal(paymentResultToSend)\n }\n\n if (onSuccess) {\n onSuccess()\n }\n })\n}\n", "/* utils general */\nimport queryString from 'utils/query-string'\n\n/* helpers general */\nimport getFromConfigs from 'helpers/configs/get-from-configs'\n\n/* constants general */\nimport { PARENT_SITE_URL, DASHBOARD_SUBDOMAIN } from 'constants/configs'\n\nexport default (\n where,\n additionalQueryParams = {},\n shouldOpenInNewTab = false,\n shouldRedirectToParentSite = false,\n getOnlyPathForRedirect = false,\n options = {},\n) => {\n if (['/', 'index', 'home'].includes(where)) {\n where = ''\n }\n\n const subdomain = getFromConfigs(DASHBOARD_SUBDOMAIN)\n\n const search = queryString.makeSearchDependsOnENV(additionalQueryParams)\n let pathForRedirect = options?.toSubdomainDashboard\n ? `${window.location.protocol}//${subdomain}.${window.location.host}/${where}${search}`\n : `${window.location.origin}/${where}${search}`\n\n if (shouldRedirectToParentSite) {\n const parentSiteUrl = getFromConfigs(PARENT_SITE_URL)\n pathForRedirect = options?.toSubdomainDashboard\n ? `${window.location.protocol}//${subdomain}.${parentSiteUrl}/${where}${search}`\n : `${parentSiteUrl}/${where}${search}`\n }\n\n if (options?.fromSubdomainDashboard) {\n pathForRedirect = pathForRedirect.replace(`${subdomain}.`, '')\n }\n\n if (getOnlyPathForRedirect) {\n return pathForRedirect\n }\n\n // window.ReactNativeWebView - instanse from SpeedyAdviser Application WebView\n if (shouldOpenInNewTab && !window.ReactNativeWebView) {\n window.open(pathForRedirect, '_blank')\n return\n }\n\n window.location.href = pathForRedirect\n}\n", "/* helpers general */\nimport redirect from 'helpers/redirects/redirect'\n\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport { DASHBOARD_SUBDOMAIN } from 'constants/configs'\n\nexport default (\n additionalQueryParams = {},\n additionalPath = '',\n shouldOpenInNewTab = false,\n shouldRedirectToParentSite = false,\n) => {\n const isSubdomain = getFromConfigs(DASHBOARD_SUBDOMAIN)\n const rootUrl = isSubdomain ? '' : 'new-dashboard/'\n\n redirect(\n `${rootUrl}${additionalPath}`,\n additionalQueryParams,\n shouldOpenInNewTab,\n shouldRedirectToParentSite,\n false,\n { toSubdomainDashboard: !!isSubdomain }\n )\n}\n", "/* helpers general */\nimport forwardToDashboard from 'helpers/redirects/forward-to-dashboard'\n\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport { SHOULD_REDIRECT_TO_PARENT_SITE } from 'constants/configs'\n\nimport { IPaymentQueryResult } from '@qwerty.software/payments-modals/src/types'\n\ninterface IforwardToDashboardOrder {\n orderId: string | number\n queryParams?: IPaymentQueryResult\n shouldRedirectToParentSite?: boolean\n}\n\nexport const forwardToDashboardOrder = ({\n orderId,\n queryParams = {} as IPaymentQueryResult,\n shouldRedirectToParentSite = false,\n}: IforwardToDashboardOrder) => {\n const isCrossDomainRedirect = shouldRedirectToParentSite || getFromConfigs(SHOULD_REDIRECT_TO_PARENT_SITE)\n\n forwardToDashboard(\n queryParams,\n `orders/${orderId}`,\n false,\n isCrossDomainRedirect\n )\n}\n", "import { type IPaymentModalContext } from \"@qwerty.software/payments-modals/src/payment-methods-modal/context\"\nimport { type IPaymentFlowApiResult } from \"../types\"\nimport { type IPaymentQueryResult } from \"@qwerty.software/payments-modals/src/types\"\n\ninterface IBuildQueryResultArgs {\n link: string\n name: string\n context: Partial\n paymentFlowApiResult: IPaymentFlowApiResult\n}\n\nexport const buildQueryResult = ({\n link,\n name,\n context,\n paymentFlowApiResult,\n}: IBuildQueryResultArgs) => {\n const queryParams: IPaymentQueryResult = {} as IPaymentQueryResult\n\n queryParams.openPaymentResultModal = true\n\n queryParams.usedMethodLink = link\n queryParams.usedMethodName = name\n\n if (context.title) queryParams.title = context.title\n if (context.subtitle) queryParams.subtitle = context.subtitle\n if (context.orderId) queryParams.orderId = context.orderId\n if (context.currency?.symbol) queryParams.currencySymbol = context.currency.symbol\n if (context.currency?.rate) queryParams.currencyRate = context.currency.rate\n if (context.paymentEntity) queryParams.paymentEntity = context.paymentEntity\n if (context.amountToPay) queryParams.amountToPay = context.amountToPay // dynamic amount that changes with personal funds\n if (context.paymentAmount) queryParams.paymentAmount = context.paymentAmount // static amount in USD from open event\n if (context.personalFundsPayment?.id) queryParams.personalFundsId = context.personalFundsPayment.id\n if (context.personalFundsPayment?.amount) queryParams.personalFundsAmount = context.personalFundsPayment.amount\n if (context.personalFundsPayment?.expire_at) queryParams.personalFundsExpireAt = context.personalFundsPayment.expire_at\n if (context.withPersonalFunds) queryParams.withPersonalFunds = context.withPersonalFunds\n if (context.showMerchantLocation) queryParams.showMerchantLocation = context.showMerchantLocation\n if (context.payLaterActionText) queryParams.payLaterActionText = context.payLaterActionText\n\n if (paymentFlowApiResult.paymentStatus) queryParams.paymentStatus = paymentFlowApiResult.paymentStatus\n if (paymentFlowApiResult.content.title) queryParams.paymentResultTitle = paymentFlowApiResult.content.title\n if (paymentFlowApiResult.content.subtitle) queryParams.paymentResultSubtitle = paymentFlowApiResult.content.subtitle\n if (paymentFlowApiResult.content.text) queryParams.resultAdditionalText = paymentFlowApiResult.content.text\n if (paymentFlowApiResult.content?.modal_type) queryParams.modalType = paymentFlowApiResult.content.modal_type\n\n return queryParams\n}\n", "import { paymentMethodsNames } from \"./../../constants\"\nimport { type TPaymentMethod } from \"./../types\"\n\ninterface IOtherMethods {\n [name: string]: TPaymentMethod[]\n}\n\nexport interface IAdapdedPaymentMethods {\n creditCardMethods: TPaymentMethod[]\n serviceMethods: TPaymentMethod[]\n otherMethods: IOtherMethods\n}\n\nexport const paymentMethodsAdapter = (paymentMethods: TPaymentMethod[]): IAdapdedPaymentMethods | null => {\n if (!paymentMethods) {\n return {\n creditCardMethods: null,\n otherMethods: null,\n serviceMethods: null,\n }\n }\n\n const creditCardMethods: TPaymentMethod[] = []\n const serviceMethods: TPaymentMethod[] = []\n const otherMethods: IOtherMethods = {}\n\n paymentMethods.forEach((paymentMethod: TPaymentMethod) => {\n if (paymentMethod.name === paymentMethodsNames.CREDIT_CARD) {\n creditCardMethods.push(paymentMethod)\n\n return\n }\n\n if (paymentMethod.name === paymentMethodsNames.APPLE_PAY || paymentMethod.name === paymentMethodsNames.GOOGLE_PAY) {\n serviceMethods.push(paymentMethod)\n\n return\n }\n\n if (otherMethods[paymentMethod.name]) {\n otherMethods[paymentMethod.name].push(paymentMethod)\n\n return\n }\n\n otherMethods[paymentMethod.name] = [paymentMethod]\n })\n\n return {\n creditCardMethods,\n otherMethods,\n serviceMethods,\n }\n}\n", "import { FC, useState } from 'react'\nimport clsx from 'clsx'\n\nimport { usePaymentMethodsModalContext } from '@qwerty.software/payments-modals/src/payment-methods-modal/context'\n\nimport { PersonalFundsInput } from './components/personal-funds-input'\nimport { AppliedPersonalFunds } from './components/applied-personal-funds'\n\nimport { roundToTwo } from 'utils/round-to-two'\nimport './styles.scss'\n\ninterface ICreditsProps { }\n\nexport const DEFAULT_VALUE = '0'\n\nexport const PersonalFunds: FC = () => {\n const {\n currency,\n personalFundsPayment,\n personalFundsBalance,\n personalFundsRequestPending,\n personalFundsBalancePending,\n paymentAmount\n } = usePaymentMethodsModalContext()\n\n const [value, setValue] = useState(`${currency.symbol}${DEFAULT_VALUE}`)\n\n return (\n
\n
\n \n Price:\n \n \n {currency.symbol}{paymentAmount\n ? <>{roundToTwo(paymentAmount * currency.rate).toFixed(2)}\n : 00.00\n }\n \n
\n {personalFundsPayment\n ? \n : \n }\n \n Available credits: {currency.symbol}{(personalFundsBalance * currency.rate).toFixed(2) || 0}\n \n
\n )\n}\n", "import React, { FC, useEffect, useRef, useCallback, SetStateAction, Dispatch, useMemo } from 'react'\nimport clsx from 'clsx'\n\nimport { usePaymentMethodsModalContext } from '@qwerty.software/payments-modals/src/payment-methods-modal/context'\n\nimport { roundToTwo } from 'utils/round-to-two'\n\nimport { normalizeInputValue } from './normilize-input-value'\n\nimport { DEFAULT_VALUE } from '../../index'\nimport { ApplyButton } from '../apply-button'\n\ninterface IPersonalFundsInputProps {\n value: string\n setValue: Dispatch>\n}\n\nexport const PersonalFundsInput: FC = ({ value, setValue }) => {\n const {\n amountToPay,\n currency,\n personalFundsPayment,\n personalFundsBalance,\n } = usePaymentMethodsModalContext()\n const inputRef = useRef(null)\n const makeInputFocused = useCallback(() => inputRef.current?.focus(), [inputRef])\n const amountToApply = useMemo(() =>Number(value.replace(currency.symbol, '')), [value, currency])\n\n useEffect(() => {\n switch (true) {\n case Boolean(personalFundsPayment?.amount):\n setValue(`${roundToTwo(personalFundsPayment.amount * currency.rate)}`)\n break\n case Boolean(amountToPay):\n setValue(personalFundsBalance > amountToPay\n ? `${roundToTwo(amountToPay * currency.rate)}`\n : `${roundToTwo(personalFundsBalance * currency.rate)}`\n )\n break\n default:\n setValue(`${DEFAULT_VALUE}`)\n }\n }, [personalFundsPayment, personalFundsBalance, amountToPay, currency])\n\n useEffect(() => {\n makeInputFocused()\n }, [])\n\n const handleChange = useCallback((event: React.ChangeEvent) => {\n const rawValue = event.target.value\n const normalizedValue = normalizeInputValue(rawValue)\n\n // If normalize returns undefined, skip further processing\n if (normalizedValue === undefined) return\n\n const maxPrice = Math.min(amountToPay, personalFundsBalance)\n const maxPriceWithCurrency = roundToTwo(maxPrice * currency.rate)\n\n // Set value based on the maximum allowed price\n const finalValue = +normalizedValue > maxPriceWithCurrency ? `${maxPriceWithCurrency}` : normalizedValue\n setValue(`${finalValue}`)\n }, [amountToPay, personalFundsBalance, currency])\n\n const handleBlur = useCallback(() => {\n if (`${value}`.endsWith('.')) { setValue(value.replace('.', '')) }\n // add leading zero ($0.) if the value starts with a $. + leave all values after the dot\n if (value.startsWith(`.`)) { setValue(`0.${value.slice(1)}`) }\n }, [value])\n\n return (\n
\n If you want to use your credits enter their amount in the field below:\n \n \n {currency.symbol}\n \n \n \n
\n \n )\n}\n", "import { DEFAULT_VALUE } from \"../../index\"\n\nexport const normalizeInputValue = (targetValue: string) => {\n targetValue = targetValue.replace(/[^0-9.]/g, '') // Parse only numbers and dot\n if (targetValue === '') return DEFAULT_VALUE // Return default value if input is empty\n if (targetValue === '.') return DEFAULT_VALUE\n\n // Ignore invalid numbers (e.g., '0.a' or '0.41.2')\n if (Number.isNaN(+targetValue)) return undefined\n\n // Prevent deleting the first zero\n if (targetValue === DEFAULT_VALUE) return targetValue\n\n // Prevent inputs like 00. or 000.\n if (targetValue.startsWith('00')) return undefined\n\n // Prevent input of more than 2 digits after the decimal point\n if (targetValue.includes('.') && targetValue.split('.')[1].length > 2) {\n return undefined\n }\n\n // Change input like 00013.47 to 13.47\n if (targetValue.startsWith('0') && targetValue[1] !== '.') {\n return targetValue.slice(1)\n }\n\n return targetValue // Return the cleaned targetValue if no normalization was needed\n}", "import { FC, useCallback } from 'react'\n\nimport storage from 'utils/storage'\nimport useAction from 'hooks/useAction'\n\nimport { applyPersonalFunds } from '@qwerty.software/payments-modals/src/payment-methods-modal/store/actions/apply-personal-funds'\n\nimport { openPaymentsResultModal } from '@qwerty.software/payments-modals/src/modals-control'\nimport { usePaymentMethodsModalContext } from '@qwerty.software/payments-modals/src/payment-methods-modal/context'\n\nimport { forwardToDashboardOrder } from '@qwerty.software/payments-modals/src/payment-methods-modal/utils/forward-to-dashboard'\nimport { roundToTwo } from 'utils/round-to-two'\n\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport { SHOULD_REDIRECT_TO_PARENT_SITE } from 'constants/configs'\n\nimport { paymentEntities, paymentResultStatuses, PAYMENTS_RESULT_KEY } from './../../../../constants'\nimport type { IPaymentResult } from '@qwerty.software/payments-modals/src/types'\n\ninterface IApplyButtonProps {\n amountToApply: number\n}\n\nexport const ApplyButton: FC = ({ amountToApply }) => {\n const shouldRedirectToParentSite = getFromConfigs(SHOULD_REDIRECT_TO_PARENT_SITE)\n\n const applyFunds = useAction(applyPersonalFunds)\n\n const {\n orderId,\n currency,\n paymentAmount,\n amountToPay,\n shouldRedirectToDashboardOrder,\n\n personalFundsRequestPending,\n\n handleClose: handleClosePaymentModal,\n } = usePaymentMethodsModalContext()\n\n const handleApply = useCallback(() => {\n if (personalFundsRequestPending) {\n return\n }\n\n applyFunds({ order_id: orderId, amount: roundToTwo(amountToApply / currency.rate) })\n .then(data => {\n if (data.error) return\n\n if (data.payload.applying_type === \"full\") {\n const paymentResult: Partial = {\n paymentFlowApiResult: {\n paymentStatus: paymentResultStatuses.SUCCESS,\n },\n paymentMethodsModalContext: {\n orderId,\n paymentAmount: paymentAmount,\n amountToPay: amountToPay,\n paymentEntity: paymentEntities.PERSONAL_FUNDS,\n currency,\n }\n }\n\n switch (true) {\n // session storage flow\n case shouldRedirectToDashboardOrder && !shouldRedirectToParentSite:\n storage.set(PAYMENTS_RESULT_KEY, paymentResult, { storageType: 'session' })\n forwardToDashboardOrder({ orderId, shouldRedirectToParentSite })\n break\n\n // query params flow\n case shouldRedirectToDashboardOrder && shouldRedirectToParentSite:\n forwardToDashboardOrder({\n orderId,\n queryParams: {\n openPaymentResultModal: true,\n\n orderId: paymentResult.paymentMethodsModalContext.orderId,\n paymentAmount: paymentResult.paymentMethodsModalContext.paymentAmount,\n amountToPay: paymentResult.paymentMethodsModalContext.amountToPay,\n paymentEntity: paymentResult.paymentMethodsModalContext.paymentEntity,\n currencySymbol: paymentResult.paymentMethodsModalContext.currency.symbol,\n currencyRate: paymentResult.paymentMethodsModalContext.currency.rate,\n paymentStatus: paymentResult.paymentFlowApiResult.paymentStatus,\n },\n shouldRedirectToParentSite,\n })\n break\n\n // event flow\n default: openPaymentsResultModal(paymentResult)\n }\n\n handleClosePaymentModal()\n }\n })\n }, [orderId, amountToApply, currency, shouldRedirectToDashboardOrder, handleClosePaymentModal])\n\n return (\n \n Apply\n \n )\n}\n", "import { FC, useCallback } from 'react'\nimport clsx from 'clsx'\n\nimport useAction from 'hooks/useAction'\n\nimport { dismissPersonalFunds } from '@qwerty.software/payments-modals/src/payment-methods-modal/store/actions/dismiss-personal-funds'\n\nimport { usePaymentMethodsModalContext } from '@qwerty.software/payments-modals/src/payment-methods-modal/context'\n\nimport { roundToTwo } from 'utils/round-to-two'\n\ninterface IAppliedPersonalFundsProps { }\n\nexport const AppliedPersonalFunds: FC = () => {\n const dismissFunds = useAction(dismissPersonalFunds)\n\n const {\n currency,\n personalFundsPayment,\n\n personalFundsRequestPending,\n } = usePaymentMethodsModalContext()\n\n const handleDismissClick = useCallback(() => {\n if (personalFundsRequestPending) {\n return\n }\n\n dismissFunds(personalFundsPayment.id)\n\n }, [personalFundsPayment, personalFundsRequestPending])\n\n return (\n
\n Credits applied:\n
\n {currency.symbol}{roundToTwo(personalFundsPayment.amount * currency.rate).toFixed(2)}\n \n
\n
\n )\n}\n", "import { FC, useCallback } from \"react\"\nimport clsx from \"clsx\"\n\nimport { PayLaterButton } from \"./pay-later-button\"\n\nimport './styles.scss'\n\nexport const ModalFooter: FC = () => {\n const handleLivechatOpen = useCallback(() => {\n if ((window as any).LC_API?.open_chat_window) {\n (window as any).LC_API.open_chat_window()\n }\n }, [])\n\n return (\n
\n \n Need help? Contact support\n \n \n
\n )\n}\n", "import { FC, useCallback } from \"react\"\n\nimport Button from '@qwerty.software/mono-ui-button'\n\nimport useAction from \"hooks/useAction\"\nimport { dismissPersonalFunds } from \"@qwerty.software/payments-modals/src/payment-methods-modal/store/actions/dismiss-personal-funds\"\n\nimport storage from \"utils/storage\"\nimport notify from \"utils/notify\"\nimport getUserTraficFields from \"utils/action-tracker/getUserTraficFields\"\n// import actionTracker from \"utils/action-tracker\" // !!!! comment here because use StoreManager inside in interior track\n\nimport { usePaymentMethodsModalContext } from \"@qwerty.software/payments-modals/src/payment-methods-modal/context\"\nimport { forwardToDashboardOrder } from \"@qwerty.software/payments-modals/src/payment-methods-modal/utils/forward-to-dashboard\"\n\nimport { ALREADY_PAID_ERROR } from \"@qwerty.software/payments-modals/src/payment-methods-modal/store/constants\"\nimport { USER_DATA_STORAGE_KEY } from \"./../../../constants\"\n\nexport const PayLaterButton: FC = () => {\n const {\n orderId,\n payLaterActionText,\n shouldRedirectToDashboardOrder,\n\n personalFundsPayment,\n personalFundsRequestPending,\n paymentDataRequestError,\n handleClose: handleClosePaymentModal,\n } = usePaymentMethodsModalContext()\n\n const dismissFunds = useAction(dismissPersonalFunds)\n\n const userData = storage.get(USER_DATA_STORAGE_KEY, { ignoreExpitesAt: true })\n\n const handlePayLaterButton = useCallback(async () => {\n if (personalFundsRequestPending) {\n notify.info('Please wait for the response for your credit operation and try again.')\n return\n }\n\n if ((window as any).microservicesActionTracker) {\n (window as any).microservicesActionTracker.track({\n eventName: 'payment_modal_click_pay_later',\n data: {\n visitorId: userData?.userID,\n design_type: storage.get('design_type'),\n ...getUserTraficFields(userData),\n },\n })\n }\n\n if (personalFundsPayment?.id) {\n await dismissFunds(personalFundsPayment.id).then(() => {\n shouldRedirectToDashboardOrder ? forwardToDashboardOrder({ orderId }) : handleClosePaymentModal()\n })\n\n return\n }\n\n if (!shouldRedirectToDashboardOrder) {\n handleClosePaymentModal()\n return\n }\n\n forwardToDashboardOrder({ orderId })\n }, [\n personalFundsPayment,\n personalFundsRequestPending,\n orderId,\n shouldRedirectToDashboardOrder,\n handleClosePaymentModal,\n userData\n ])\n\n return (\n \n {paymentDataRequestError === ALREADY_PAID_ERROR\n ? <>See your order #{orderId}\n : <>Not ready to pay? {payLaterActionText}\n }\n \n \n \n \n )\n}\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport StoreManager from '@qwerty.software/store-manager'\n\nimport { UIOrderForm as MainOrderForm } from './../main/form'\nimport { UIOrderForm as SteplessOrderForm } from './../stepless/form'\n\nimport * as extender from '@qwerty.software/ui-order-form/src/store/slices/extender/slice'\n\nimport { Extender } from './../../_extender'\n\nimport { useConfigsContext } from './../../_decorator/configs-context'\nimport { Extended } from '@qwerty.software/ui-order-form/src/store/slices/extender/types'\n\nexport interface ExtendableFormProps {\n collapsed?: boolean\n}\n\nexport const ExtendableOrderForm: React.FC = ({\n collapsed: isCollapsed = false,\n\n ...props\n}) => {\n const { extender: extenderConfig } = useConfigsContext()\n const extended = useSelector(extender.EXTENDED)\n\n if (!extenderConfig?.show) {\n return \n }\n\n const extenderSlice = React.useMemo(() => extender.createExpanderSlice(\n isCollapsed ? Extended.COLLAPSED : Extended.EXTENDED\n ), [isCollapsed])\n\n StoreManager.getInstance().addSlice(extenderSlice, extender.PERSIST_CONFIG)\n\n if (!extended) return null\n\n return (\n
\n \n {extended === Extended.EXTENDED\n ? \n : }\n
\n )\n}", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { FieldNames, WriterCategoryIds, QuantityKeys } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { ACTIVE_STEP, HYDRATED, IS_LAST, Step, STEPS, stepActions } from '@qwerty.software/ui-order-form/src/store/slices/step/slice-creator'\nimport { useChangeOrderByQuery } from '@qwerty.software/ui-order-form/src/hooks/use-change-order-by-query'\nimport { useCopyOrderToClipboard } from '@qwerty.software/ui-order-form/src/hooks/use-copy-order-to-clipboard'\n\nimport { Switch, Case } from 'framework/switch/simple-switch'\n\nimport { Stepper } from '../../../components/stepper/compact'\nimport { Navigation } from '../../../components/navigation'\nimport { Summary } from '../../../components/summary/speedypaper.com'\nimport { BottomPriceBox } from '../../../components/bottom-price-box'\n\nimport { PaperType } from 'components/form-fields/paper-type/with-most-popular'\nimport { Subject } from 'components/form-fields/subject/with-most-popular'\nimport { Topic } from 'components/form-fields/topic'\nimport { PaperDetailsMaterials } from 'components/form-fields/paper-details-materials'\nimport { PaperFormat } from 'components/form-fields/paper-format'\n\nimport { AcademicLevel } from 'components/form-fields/academic-level/radio-group'\nimport { WorkType } from 'components/form-fields/work-type'\nimport { Deadline } from 'components/form-fields/deadline/speedypaper.com'\nimport { Quantity } from 'components/form-fields/quantity'\nimport { Spacing } from 'components/form-fields/spacing/select'\nimport { Slides } from 'components/form-fields/slides'\nimport { Sources } from 'components/form-fields/sources'\nimport { WriterCategory } from 'components/form-fields/writer-category'\nimport { PreferredOrder } from 'components/form-fields/preferred-order/with-search-input'\nimport { AdditionalFeatures } from 'components/form-fields/additional-features'\nimport { Software } from 'components/form-fields/software'\nimport { Discount } from 'components/form-fields/discount'\nimport { PreviouslyOrderedUpsales } from 'components/previously-ordered-upsales'\n\nimport Auth from '../../../components/auth/socials-inside-tabs'\nimport { UpsaleIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { Reset } from 'components/summary/components/reset'\nimport { PaymentMethods } from 'components/summary/components/payment-methods'\nimport { SummaryAccordion } from 'components/summary/mobile-accordion'\n\nexport interface ComponentProps {}\n\nexport const UIOrderForm = React.memo(() => {\n const { formRef } = useFormContext()\n\n const mdDown = useMedia('md', 'down')\n\n const activeStep = useSelector(ACTIVE_STEP)\n const isLastStep = useSelector(IS_LAST)\n\n const quantityKey = useSelector(value(FieldNames.QUANTITY_KEY))\n const writerCategory = useSelector(value(FieldNames.WRITER_CATEGORY))\n\n useChangeOrderByQuery()\n useCopyOrderToClipboard()\n\n const stepperHydrated = useSelector(HYDRATED)\n\n if (!stepperHydrated) {\n return null\n }\n\n return (\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n
\n \n \n {writerCategory === WriterCategoryIds.PREFERRED && (\n \n )}\n \n \n \n {mdDown ? : null}\n {mdDown ? : null}\n \n \n
\n \n
\n
\n {!mdDown ? : null}\n {mdDown ?
\n \n {!isLastStep ? null : }\n
: null}\n \n
\n )}\n)\n", "import { useEffect } from 'react'\nimport { useSelector } from 'react-redux'\nimport { useLocation } from 'react-router-dom'\n\nimport _toNumber from 'lodash/toNumber'\n\nimport QueryStorage from 'store/providers/query'\n\nimport useAction from 'hooks/useAction'\n\nimport { orderSlice, HYDRATED } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { useBootstrapDataQuery } from 'store/api/botstrap-data'\nimport { stepActions } from '@qwerty.software/ui-order-form/src/store/slices/step/slice-creator'\nimport { CHANGEBLE_FROM_QUERY_FIELDS, GO_TO_LAST_STEP } from './constants'\n\nimport type { IChangableFieldConfigs } from './types'\n\nconst LAST_STEP_INDEX = 2\n\nexport const useChangeOrderByQuery = () => {\n const { pathname, search, hash } = useLocation()\n const { data, isSuccess, isLoading } = useBootstrapDataQuery()\n const changeStep = useAction(stepActions.go)\n\n const orderHydrated = useSelector(HYDRATED)\n const change = useAction(orderSlice.actions.change)\n\n useEffect(() => {\n if (!isLoading && isSuccess && orderHydrated) {\n const searchParams = new URLSearchParams(search)\n const keyValuesFromQuery = {}\n\n // @ts-ignore\n for (const [key, value] of searchParams.entries()) {\n if (key && value) {\n keyValuesFromQuery[key] = value\n }\n }\n let targetFieldsConfigs: IChangableFieldConfigs = {}\n\n Object.entries(CHANGEBLE_FROM_QUERY_FIELDS).forEach(([changableKey, changableConfig]) => {\n if (keyValuesFromQuery[changableKey]) {\n targetFieldsConfigs = { ...targetFieldsConfigs, [changableKey]: changableConfig }\n }\n })\n\n if (Object.keys(targetFieldsConfigs).length) {\n Object.entries(targetFieldsConfigs).forEach(([targetFieldKey, targetFieldConfig]) => {\n let value\n switch (targetFieldConfig.valueType) {\n case 'number':\n value = _toNumber(searchParams.get(targetFieldKey))\n break\n case 'array':\n const additionalFeaturesParam = searchParams.get('additionalFeatures')\n const additionalFeaturesArray = decodeURIComponent(additionalFeaturesParam).split(',').map(Number).filter(num => !isNaN(num))\n value = additionalFeaturesArray\n break\n case 'object':\n const softwareQueryParam = searchParams.get(targetFieldKey)\n if (softwareQueryParam) {\n const softwareObject = JSON.parse(decodeURIComponent(softwareQueryParam))\n value = softwareObject\n }\n break\n case 'boolean':\n const booleanValue = searchParams.get(targetFieldKey)\n value = booleanValue === 'true'\n break\n default:\n value = searchParams.get(targetFieldKey)\n break\n }\n const changeAndClear = (key: string, value: any) => {\n change({ key, value })\n searchParams.delete(key)\n QueryStorage.removeItem(key)\n\n if (searchParams.get(GO_TO_LAST_STEP)) {\n searchParams.delete(GO_TO_LAST_STEP)\n QueryStorage.removeItem(GO_TO_LAST_STEP)\n changeStep(LAST_STEP_INDEX)\n }\n }\n\n // @ts-ignore\n if (targetFieldConfig.bdKey && Array.isArray(data[targetFieldConfig.bdKey]) && !!data[targetFieldConfig.bdKey].find(bdItem => bdItem.id === value)) {\n changeAndClear(targetFieldKey, value)\n }\n\n if (!targetFieldConfig.bdKey) {\n changeAndClear(targetFieldKey, value)\n }\n\n window.history.replaceState(null, '', `${pathname}?${searchParams.toString()}${hash}`)\n })\n }\n }\n }, [isLoading, isSuccess, orderHydrated, search, data])\n}\n", "import queryString from 'query-string'\n\nimport localforage from 'store/localforage'\n\nimport { Storage } from 'redux-persist'\n\nclass QueryStorage implements Storage {\n\n link: HTMLAnchorElement = document.createElement('A') as HTMLAnchorElement\n\n static hasItem = (key: string) => Boolean(queryString.pick((window as any).location.search, [key]))\n static removeItem = (key: string) => Boolean(queryString.pick((window as any).location.search, [key]))\n\n constructor(\n private fieldKey: string,\n private keyTransformer = (key: string): string => key,\n ) { }\n\n getItem = async (key: string) => {\n const value = queryString.parse((window as any).location.search)[key]\n\n return JSON.stringify({ [this.fieldKey]: `${value}` })\n }\n\n setItem = async (key: string, value: any) => {\n await localforage.setItem(this.keyTransformer(key), value)\n\n const link = document.createElement('A') as HTMLAnchorElement\n link.href = (window as any).location.href\n const { pathname, hash } = link\n\n let query: queryString.ParsedQuery | string = queryString.parse((window as any).location.search)\n query[key] = JSON.parse(value)[this.fieldKey]\n\n // eslint-disable-next-line no-empty\n try { query[key] = JSON.parse(query[key] as string) } catch (error) { }\n\n query = queryString.stringify(query)\n query = query ? `?${query}` : ''\n\n window.history.replaceState({}, '', `${pathname}${query}${hash}`)\n }\n\n removeItem = async (key: string) => {\n await localforage.removeItem(this.keyTransformer(key))\n\n const link = document.createElement('A') as HTMLAnchorElement\n link.href = (window as any).location.href\n const { pathname, hash } = link\n\n let query: queryString.ParsedQuery | string = queryString.parse((window as any).location.search)\n delete query[key]\n query = queryString.stringify(query)\n query = query ? `?${query}` : ''\n\n window.history.replaceState({}, '', `${pathname}${query}${hash}`)\n }\n\n}\n\nexport default QueryStorage\n", "import { useSelector } from 'react-redux'\n\nimport { BOOTSTRAP_DATA } from 'global-entities/bootstrap-data/slice'\n\n// TODO: remove legacy mock\nexport const useBootstrapDataQuery = () => ({\n \"data\": useSelector(BOOTSTRAP_DATA),\n \"isLoading\": false,\n \"status\": \"fulfilled\",\n \"endpointName\": \"bootstrapData\",\n \"requestId\": \"mock\",\n \"startedTimeStamp\": 0,\n \"isUninitialized\": false,\n \"isSuccess\": true,\n \"isError\": false,\n \"isFetching\": false\n})\n\n// import { Promises } from './index'\n\n// import _isPlainObject from 'lodash/isPlainObject'\n\n\n// // import getFromConfigs from 'helpers/configs/get-from-configs'\n// // import { PROJECT_DOMAIN } from 'constants/configs'\n\n// import { fetchBootstrapData } from 'global-entities/bootstrap-data/actions'\n\n// // import { PickedBdFields } from '@qwerty.software/ui-order-form/src/store/constants'\n// enum PickedBdFields {\n// paperTypes = 'paperTypes',\n// paperTypeGroups = 'paperTypeGroups',\n// subjects = 'subjects',\n// academicLevels = 'academicLevels',\n// paperFormats = 'paperFormats',\n// workTypes = 'workTypes',\n// deadlines = 'deadlines',\n// spacings = 'spacings',\n// writerCategories = 'writerCategories',\n// additionalFeatures = 'additionalFeatures',\n// softwares = 'softwares',\n// softcopies = 'softcopies',\n// speakerNotes = 'speakerNotes',\n// prices = 'prices',\n// currencies = 'currencies'\n\n// }\n\n// export const NAME = 'bootstrap.data' as const\n\n// // Define a service using a base URL and expected endpoints\n// export const bootstrapApi = Promises.injectEndpoints({\n// endpoints: (builder) => ({\n// bootstrapData: builder.query({\n// query() {\n// return {\n// promise: fetchBootstrapData\n// }\n// },\n// // query: (keys) => {\n// // const url = new URL(window.location.origin)\n\n// // url.pathname = `bootstrap-data/mc/${'speedypaper.com'}`\n\n// // if (typeof keys === 'string' && keys.length > 0) {\n// // keys = [keys]\n// // }\n\n// // if (Array.isArray(keys) && keys.length > 0) {\n// // url.searchParams.set('wildcard', keys.join(','))\n\n// // return url.pathname.slice(1) + url.search\n// // }\n\n// // return url.pathname.slice(1)\n// // },\n// transformResponse: (data: GS['bootstrapData']) => {\n// if (!_isPlainObject(data)) {\n// return data\n// }\n\n// const toTransform: GS['bootstrapData'] = { ...data }\n\n// // if (data && _isPlainObject(data[PickedBdFields.writerCategories])) {\n// // data[PickedBdFields.writerCategories] = Object.values(data[PickedBdFields.writerCategories])\n// // }\n\n// // if (data && _isPlainObject(data[PickedBdFields.additionalFeatures])) {\n// // data[PickedBdFields.additionalFeatures] = Object.values(data[PickedBdFields.additionalFeatures])\n// // }\n\n// // if (data && _isPlainObject(data[PickedBdFields.softcopies])) {\n// // data[PickedBdFields.softcopies] = Object.values(data[PickedBdFields.softcopies])[0]\n// // }\n\n// // if (data && _isPlainObject(data[PickedBdFields.speakerNotes])) {\n// // data[PickedBdFields.speakerNotes] = Object.values(data[PickedBdFields.speakerNotes])[0]\n// // }\n\n// // transform for price calculator\n// toTransform.priceCalculatorAdapted = {\n// bdPrices: data[PickedBdFields.prices],\n// bdPaperTypeGroups: data[PickedBdFields.paperTypeGroups],\n// bdPaperTypes: data[PickedBdFields.paperTypes],\n// bdAcademicLevels: data[PickedBdFields.academicLevels],\n// bdSpacings: data[PickedBdFields.spacings],\n// bdSubjects: data[PickedBdFields.subjects],\n// bdSoftwares: data[PickedBdFields.softwares],\n// bdWriterCategories: data[PickedBdFields.writerCategories],\n// bdAdditionalFeatures: data[PickedBdFields.additionalFeatures],\n// bdSoftcopies: data[PickedBdFields.softcopies],\n// bdSpeakerNotes: data[PickedBdFields.speakerNotes],\n// bdCurrencies = data[PickedBdFields.currencies],\n// }\n\n// return toTransform\n// },\n// }),\n// }),\n// })\n\n// // Export hooks for usage in functional components, which are\n// // auto-generated based on the defined endpoints\n// export const { useBootstrapDataQuery } = bootstrapApi\n", "import { createSelector } from '@reduxjs/toolkit'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport type { BootstrapData } from 'types/BootstrapData'\n\nconst GET_STATE = () => getBootstrapData()\n\nexport const BOOTSTRAP_DATA = createSelector(GET_STATE, (state) => state)\nexport const BOOTSTRAP_DATA_FIELD = (k: TKey) => createSelector(BOOTSTRAP_DATA, (state) => state[k])", "import { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { PickedBdFields } from '@qwerty.software/ui-order-form/src/store/slices/order/constants'\nimport { IChangableFieldConfigs } from './types'\n\nexport const GO_TO_LAST_STEP = 'goToLastStep'\n\n export const CHANGEBLE_FROM_QUERY_FIELDS: IChangableFieldConfigs = {\n [FieldNames.SUBJECT]: {\n bdKey: PickedBdFields.subjects,\n valueType: 'number',\n },\n [FieldNames.PAPER_TYPE]: {\n bdKey: PickedBdFields.paperTypes,\n valueType: 'number',\n },\n [FieldNames.WORK_TYPE]: {\n bdKey: PickedBdFields.workTypes,\n valueType: 'number',\n },\n [FieldNames.SPACING]: {\n bdKey: PickedBdFields.spacings,\n valueType: 'number',\n },\n [FieldNames.PAPER_FORMAT]: {\n bdKey: PickedBdFields.paperFormats,\n valueType: 'number',\n },\n [FieldNames.ACADEMIC_LEVEL]: {\n bdKey: PickedBdFields.academicLevels,\n valueType: 'number',\n },\n [FieldNames.DEADLINE]: {\n bdKey: PickedBdFields.deadlines,\n valueType: 'number',\n },\n [FieldNames.WRITER_CATEGORY]: {\n bdKey: PickedBdFields.writerCategories,\n valueType: 'number',\n },\n [FieldNames.TOPIC]: {\n valueType: 'string',\n },\n [FieldNames.PAPER_DETAILS]: {\n valueType: 'string',\n },\n [FieldNames.QUANTITY_KEY]: {\n valueType: 'string',\n },\n [FieldNames.QUANTITY]: {\n valueType: 'string',\n },\n [FieldNames.WORDS]: {\n valueType: 'string',\n },\n [FieldNames.ADDITIONAL_FEATURES]: {\n valueType: 'array',\n },\n [FieldNames.SLIDES]: {\n valueType: 'number',\n },\n [FieldNames.SPEAKER_NOTES]: {\n valueType: 'boolean',\n },\n [FieldNames.SOURCES]: {\n valueType: 'number',\n },\n [FieldNames.SOFT_COPIES]: {\n valueType: 'boolean'\n },\n [FieldNames.SOFTWARE]: {\n valueType: 'object'\n }\n}", "import { useEffect, useCallback } from 'react'\nimport { useLocation } from 'react-router-dom'\nimport { useSelector } from 'react-redux'\nimport { ORDER } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { CHANGEBLE_FROM_QUERY_FIELDS, GO_TO_LAST_STEP } from './constants'\nimport { OrderValues } from '@qwerty.software/ui-order-form/src/store/slices/order/types'\n\nexport const getQuerySearchFromOrderValues = (orderValues: OrderValues, addToCurrentSearch?: boolean, shouldGoToLastStep?: boolean) => {\n const searchParams = new URLSearchParams(addToCurrentSearch ? window.location.search : '')\n\n Object.entries(CHANGEBLE_FROM_QUERY_FIELDS)\n .filter(([key]) => orderValues.hasOwnProperty(key))\n .forEach(([key, config]) => {\n if(!orderValues[key] || (config.valueType === 'array' && !orderValues[key].length)) {\n return\n }\n searchParams.set(key, config.valueType === 'object' ? encodeURIComponent(JSON.stringify(orderValues[key])) : orderValues[key])\n })\n\n if (shouldGoToLastStep) {\n searchParams.set(GO_TO_LAST_STEP, 'true')\n }\n\n return searchParams\n}\n\nexport const useCopyOrderToClipboard = () => {\n const { pathname } = useLocation()\n\n const orderValues = useSelector(ORDER)\n\n const handleCopyToClipboard = useCallback(() => {\n const searchParams = getQuerySearchFromOrderValues(orderValues, false, true)\n navigator.clipboard.writeText(`${window.location.origin}${pathname}?${searchParams}`)\n\n }, [orderValues])\n\n const handleKeyDown = useCallback((event) => {\n if ((event.metaKey || event.ctrlKey) && event.shiftKey && event.keyCode === 80) {\n event.preventDefault()\n handleCopyToClipboard()\n }\n }, [handleCopyToClipboard])\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown)\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n }\n }, [handleKeyDown])\n}\n", "import React, { memo } from 'react'\nimport { Case } from './case'\n\nexport type TSwitchValue = string | string[] | number | number[] | boolean | null\n\nexport const Switch = memo<{\n value: TSwitchValue,\n children: React.ReactNode\n}>(({ value, children }) => {\n let result: React.ReactElement | null = null\n\n React.Children.forEach(children, child => {\n if (child !== null) {\n if (React.isValidElement(child) && child.type === Case && (\"value\" in child.props || \"default\" in child.props)) {\n if (Array.isArray(child.props.value)\n ? child.props.value.includes(value)\n : (child.props.value === value || child.props.default)\n ) {\n result = child\n }\n } else {\n console.warn(`Switch error with value: ${value}, child: ${child}`)\n throw new Error('\"Switch\" component only accepts \"Case\" as children with \"value\" or \"default\" prop')\n }\n }\n })\n\n return result\n})", "import React from 'react'\nimport { TSwitchValue } from './switch'\n\nexport interface CaseProps {\n value?: TSwitchValue\n default?: true\n\n children: React.ReactNode\n}\n\nexport const Case: React.FC = ({\n children,\n}) => {\n if (!children) {\n return null\n }\n\n return children\n}\n", "import { memo, useCallback } from 'react'\nimport { useSelector } from 'react-redux'\nimport clsx from 'clsx'\n\nimport useAction from 'hooks/useAction'\n\nimport { useTracking } from './trackSteps'\n\nimport { useMedia } from 'ui/_responsive'\n\nexport interface StepperProps {\n withTitle?: boolean\n stepActions: {go: (step: number) => void}\n ACTIVE_STEP: (state: any) => number\n steps: {title: string, validation?: any}[]\n}\n\nexport const Stepper = memo(({\n withTitle = true,\n stepActions,\n ACTIVE_STEP,\n steps,\n}) => {\n const go = useAction(stepActions.go)\n const activeStep = useSelector(ACTIVE_STEP) as number\n\n const lgDown = useMedia('lg', 'down')\n const smDown = useMedia('sm', 'down')\n\n useTracking(activeStep)\n\n const handleChange = useCallback((e) => {\n e.preventDefault()\n e.stopPropagation()\n\n go(parseInt(e.currentTarget.dataset.value, 10))\n }, [go])\n\n return (\n
\n {steps.map((step, index) => (\n index,\n 'first': index === 0,\n 'last': index === steps.length - 1,\n }\n )}\n data-value={index}\n onClick={handleChange}\n >\n index,\n 'first': index === 0,\n 'last': index === steps.length - 1,\n 'horizontal': lgDown,\n 'compact': smDown,\n }\n )}\n >\n {index + 1}\n \n {withTitle ? {index + 1} step : null}\n {step.title}\n \n ))}\n
\n )\n})\n", "import actionTracker from \"utils/action-tracker\"\nimport storage from \"utils/storage\"\nimport getUserTraficFields from 'utils/action-tracker/getUserTraficFields'\nimport { useEffect } from \"react\"\n\nexport const useTracking = (step: number) => {\n const userData = storage.get('user_data', { ignoreExpitesAt: true })\n const visitorID = storage.get('Visitor')\n const eventName = `Order Step ${step + 1}`\n\n useEffect(() => {\n // TODO: kostil made by Juice !!(step + 1) he said that he fixed the situation if step = NaN - fix it with another way\n if (!userData) return\n if (!storage.get(eventName, { storageType: 'session' }) && !!visitorID && !!(step + 1)) {\n actionTracker.track({\n eventName,\n data: {\n visitor_id: visitorID,\n ...getUserTraficFields(userData),\n user_id: userData.authorizationStatus === 'UNAUTHORIZED' ? 'UNAUTHORIZED' : userData.userID,\n paidOrdersCount: userData.authorizationStatus === 'UNAUTHORIZED' ? 'UNAUTHORIZED' : userData.paidOrdersCount,\n allOrdersCount: userData.authorizationStatus === 'UNAUTHORIZED' ? 'UNAUTHORIZED' : userData.allOrdersCount,\n },\n })\n\n storage.set(eventName, true, { storageType: 'session' })\n }\n }, [step, visitorID, userData])\n}\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport Button from '@qwerty.software/mono-ui-button'\n\nimport useAction from 'hooks/useAction'\n\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\nimport { stepActions, IS_FIRST, IS_LAST, ACTIVE_STEP } from '@qwerty.software/ui-order-form/src/store/slices/step/slice-creator'\n\nimport SubmitButton from './submit'\n\nexport interface NavigationProps { }\n\nexport const Navigation = React.memo(({ }) => {\n const d = useDictionary()\n const { formRef } = useFormContext()\n\n const smDown = useMedia('sm', 'down')\n\n const activeStep = useSelector(ACTIVE_STEP)\n const isFirst = useSelector(IS_FIRST)\n const isLast = useSelector(IS_LAST)\n const forward = useAction(stepActions.forward)\n const next = useAction(stepActions.next)\n\n // TODO: move this logic to redux change listener middleware\n const srollToFormTop = React.useCallback(() => {\n if (formRef?.current) {\n const headerHeight = document.getElementById('header')?.clientHeight\n const to = headerHeight ? formRef.current.getBoundingClientRect().top + window.scrollY - headerHeight - 10 : formRef.current.getBoundingClientRect().top + window.scrollY - 10\n window.scrollTo({ top: to, behavior: 'smooth'});\n }\n }, [formRef?.current])\n\n const handleForward = React.useCallback(() => {\n forward()\n smDown && srollToFormTop()\n }, [smDown, srollToFormTop, forward])\n\n const handleNext = React.useCallback(() => {\n next()\n smDown && srollToFormTop()\n }, [smDown, srollToFormTop, next])\n\n let buttons!: {\n previous?: React.ReactNode\n next?: React.ReactNode\n }\n\n switch (activeStep) {\n case 0:\n buttons = {\n next: d('buttons.orderForm.step1.next'),\n }\n break\n case 1:\n buttons = {\n previous: d('buttons.orderForm.step2.previous'),\n next: d('buttons.orderForm.step2.next'),\n }\n break\n case 2:\n buttons = {\n previous: d('buttons.orderForm.step3.previous'),\n }\n break\n default:\n }\n\n return (\n
\n {!isFirst ? (\n \n ) : null}\n {!isLast ? (\n \n ) : null}\n {isLast ? : null}\n
\n )\n})\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\nimport clsx from 'clsx'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport Button from '@qwerty.software/mono-ui-button'\nimport CircularProgress from '@qwerty.software/mono-ui-circular-progressbar'\n\nimport { number } from '@qwerty.software/ui-order-form/src/utils/sanitizers/number'\n\nimport { PRICE_DATA } from '@qwerty.software/ui-order-form/src/store/slices/price-data'\nimport { PLACE_ORDER_PENDING } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\nimport { FORM_ID } from '@qwerty.software/ui-order-form/src/constants'\n\nexport interface SubmitButtonProps {\n id?: string\n className?: string\n\n withPrice?: boolean\n}\n\nconst SubmitButton = React.memo(({ id: buttonId, className, withPrice = true }) => {\n const d = useDictionary()\n const { id } = useFormContext()\n\n const { priceFull } = useSelector(PRICE_DATA)\n\n const currency = useSelector(CURRENCY)\n const toPrice = React.useCallback((price: number) => `${currency.symbol}${number(price).toFixed(2)}`, [currency])\n\n const responseWaiting = useSelector(PLACE_ORDER_PENDING)\n\n return (\n \n {d('buttons.orderForm.submit', {\n price: withPrice && priceFull > 0 ? toPrice(priceFull) : '',\n loader: responseWaiting\n ? \n : null,\n })}\n \n )\n})\n\nexport default SubmitButton", "import * as React from 'react'\n\nimport { useConfigsContext } from './../../templates/_decorator/configs-context'\n\nimport { DiscountField } from './../form-fields/discount/field'\nimport { Reset } from './components/reset'\n\nimport { PriceItemsList } from './components/price-items-list'\nimport { TotalPrice } from './components/total-price'\nimport { PaymentMethods } from './components/payment-methods'\n\nexport interface SummaryProps { }\n\nexport const Summary = React.memo(() => {\n const { summaryAfter } = useConfigsContext()\n\n return (\n
\n
\n

Order summary

\n
\n \n \n
\n \n
\n {summaryAfter}\n \n \n
\n )\n})\n", "import * as React from 'react'\nimport clsx from 'clsx'\nimport _isEmpty from 'lodash/isEmpty'\n\nimport useDiscount from 'global-entities/discount/hooks/use-discount'\n\nimport { Assigned } from './components/assigned'\nimport { DiscountForm } from './components/form'\nimport DiscountHint from './components/hint'\n\nimport { useStorageDiscountFlag } from './use-storage-discount-flag'\nimport { useNamespace } from 'global-entities/discount/with-discount'\n\nexport interface DiscountProps {\n title?: string\n className?: string\n useCheckRoute?: boolean\n}\n\nexport const DiscountField = React.memo(({ title, className, useCheckRoute }) => {\n const discountNamespace = useNamespace()\n\n const discount = useDiscount(discountNamespace, { useCheckRoute })\n const { value, errors, isLoading } = discount._asyncField\n\n // for hiding jinp with active discount\n useStorageDiscountFlag({ sended: discount.sended, value })\n\n return (\n
\n {title ?
{title}
: null}\n {discount.applied\n ? \n : \n }\n {!_isEmpty(errors) ? : null}\n
\n )\n})\n", "import { FC, useCallback } from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { PRICE_DATA } from '@qwerty.software/ui-order-form/src/store/slices/price-data'\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\n\nimport { PriceItem } from '../../../../../summary/components/price-items-list/components/price-item'\n\nimport notify from 'utils/notify'\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { useDiscountTitle } from './use-discount-title'\nimport CrossIcon from 'framework/icons/cross'\n\nexport interface AssignedProps {\n onCancel: () => void\n}\n\nexport const Assigned: FC = ({\n onCancel,\n}) => {\n const d = useDictionary()\n\n const discountTitle = useDiscountTitle()\n\n const currency = useSelector(CURRENCY)\n const { discountAmount } = useSelector(PRICE_DATA)\n\n const handleCancel = useCallback(() => {\n onCancel()\n\n notify.warning(d('notifications.discount.cancel') as string)\n }, [onCancel, d])\n\n return (\n {`- ${currency.symbol}${discountAmount}`}}\n\n end={\n
\n \n
\n }\n\n />\n )\n}\n", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport Tooltip from '../../../../tooltip'\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { useSelector } from 'react-redux'\nimport useAction from 'hooks/useAction'\nimport { orderSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport CrossIcon from 'framework/icons/cross'\n\nexport interface PriceItemProps {\n amount?: React.ReactNode\n unit?: React.ReactNode\n perUnitPrice?: React.ReactNode\n price?: React.ReactNode\n\n deleteKey?: FieldNames | null\n\n show?: boolean | any\n tooltip?: string\n tooltipIcon?: React.ReactNode\n\n divider?: React.ReactNode\n\n start?: React.ReactNode\n end?: React.ReactNode\n featureId?: number\n\n className?: string\n}\n\nexport const PriceItem = React.memo(({\n amount,\n unit,\n perUnitPrice,\n price,\n\n deleteKey,\n\n show = true,\n tooltip,\n tooltipIcon,\n\n divider = '\u00D7',\n\n start,\n end,\n featureId,\n\n className='ui-f__summary__price-item'\n}) => {\n const additionalFeatures = useSelector(value(FieldNames.ADDITIONAL_FEATURES))\n const software = useSelector(value(FieldNames.SOFTWARE))\n const change = useAction(orderSlice.actions.change)\n\n const smUp = useMedia('sm', 'up')\n\n const handleDelete = React.useCallback(() => {\n if (deleteKey === FieldNames.SOFTWARE) {\n change({ key: FieldNames.SOFTWARE, value: { ...software, checked: false } })\n\n return\n }\n\n if (deleteKey === FieldNames.ADDITIONAL_FEATURES) {\n change({ key: FieldNames.ADDITIONAL_FEATURES, value: additionalFeatures.filter(feature => feature !== featureId) })\n return\n }\n\n change({ key: deleteKey, value: false })\n }, [additionalFeatures, software])\n\n if (!show) {\n return null\n }\n\n return (\n
\n {start}\n {amount ? {amount} : null}\n {amount && unit ? <>  : null}\n
\n {unit ? {unit} : null}\n {(amount || unit) && perUnitPrice ?  {divider}  : null}\n {tooltip\n ? \n {tooltipIcon}\n \n : null\n }\n
\n {perUnitPrice ? {perUnitPrice} : null}\n {price ? {price} : null}\n {end}\n {Boolean(deleteKey) ? (\n
\n \n
\n ) : null}\n
\n )\n})\n", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport useTooltip from '@qwerty.software/mono-ui-tooltip'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport '@qwerty.software/mono-ui-tooltip/lib/variant_default/index.css'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\ntype TPlacements = 'right-top' | 'right-middle' | 'right-bottom' | 'left-top' | 'left-middle' | 'left-bottom' | 'center-top' | 'center-middle' | 'center-bottom'\n\nexport interface TooltipProps {\n text: string\n\n align?: {\n mdUp?: TPlacements\n mdDown?: TPlacements\n } | TPlacements\n\n freeze?: React.MutableRefObject\n disabled?: boolean\n\n className?: string\n tooltipTextClassName?: string\n\n children?: React.ReactNode | string\n}\n\nconst Tooltip: React.FC = ({\n text,\n\n freeze,\n disabled,\n\n align={\n mdUp: 'right-middle',\n mdDown: 'left-middle',\n },\n\n className,\n tooltipTextClassName,\n\n children,\n}) => {\n const { formDifference } = useFormContext()\n\n const smUp = useMedia('sm', 'up')\n\n const [alignXMdUp, alignYMdUp] = (typeof align === 'string' ? align : align.mdUp).split('-')\n const [alignXMdDown, alignYMdDown] = (typeof align === 'string' ? align : align.mdDown).split('-')\n\n const alignX = smUp ? alignXMdUp : alignXMdDown\n const alignY = smUp ? alignYMdUp : alignYMdDown\n\n const gapX = 10\n const gapY = 10\n\n const [ref] = useTooltip(\n \n {text}\n ,\n [alignX, alignY, text],\n {\n align: {\n x: alignX as \"left\" | \"right\" | \"center\",\n y: alignY as \"top\" | \"bottom\" | \"middle\",\n },\n gap: {\n x: gapX,\n y: gapY,\n },\n disabled,\n triggers: formDifference?.tooltip?.triggers,\n },\n )\n\n const handleMouseEnter = React.useCallback(() => {\n if (!freeze) {\n return\n }\n\n freeze.current = true\n }, [freeze])\n\n const handleMouseLeave = React.useCallback(() => {\n if (!freeze) {\n return\n }\n\n freeze.current = false\n }, [])\n\n return (\n \n {children || '?'}\n
\n )\n}\n\nexport default Tooltip", "import * as React from 'react'\n\n/* templates */\nimport TemplateIcon from 'framework/icons/template'\n\nconst CrossIcon = ({ width = 20, height = 20 } = {}) => {\n\n const templateIconProps = {\n name: 'cross',\n styles: { width, height },\n children: (\n \n ),\n }\n\n return TemplateIcon({ ...templateIconProps })\n\n}\n\nexport default CrossIcon\n/* sfc */\n", "import { useSelector } from 'react-redux'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport useDiscount from 'global-entities/discount/hooks/use-discount'\n\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\nimport { EVERY_SECOND_PAGE_DISCOUNTS, EVERY_THIRD_PAGE_DISCOUNTS } from './constants'\n\nexport function useDiscountTitle() {\n const d = useDictionary()\n\n const discount = useDiscount()\n\n const currency = useSelector(CURRENCY)\n const percentType = useSelector(discount.api.VARIANT) === discount.api.DiscountVariant.PERCENT\n const discountCode = useSelector(discount.api.CODE)\n const discountTitle = useSelector(discount.api.TITLE)\n const { discountAmount } = useSelector(discount.api.CURRENT_PRICE_DATA)\n\n switch (true) {\n case EVERY_SECOND_PAGE_DISCOUNTS.includes(discountCode):\n return d('titles.discount.secondPageDiscount') as string\n\n case EVERY_THIRD_PAGE_DISCOUNTS.includes(discountCode):\n return d('titles.discount.thirdPageDiscount') as string\n\n default:\n }\n\n if (!percentType) {\n return d('titles.discount.currencyDiscount', {\n currency: `${currency.symbol}`,\n amount: `${discountAmount}`,\n })\n }\n\n return discountTitle\n}\n", "export const EVERY_SECOND_PAGE_DISCOUNTS = [\n 'CRAZY50',\n 'HALFPAPER',\n 'HALFSIES',\n 'BLACK50',\n 'BFRI50',\n]\n\nexport const EVERY_THIRD_PAGE_DISCOUNTS = [\n 'THIRD50',\n]\n", "import * as React from 'react'\nimport _isEmpty from 'lodash/isEmpty'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport CircularProgress from '@qwerty.software/mono-ui-circular-progressbar'\n\nimport Input from '@qwerty.software/mono-ui-input'\nimport Button from '@qwerty.software/mono-ui-button'\n\nimport { useStorageDiscountFlag } from '@qwerty.software/ui-order-form/src/hooks/use-storage-discount-flag'\n\nimport { NAME as DISCOUNT_NAME } from 'global-entities/discount/definitions'\nimport clsx from 'clsx'\n\nimport '@qwerty.software/mono-ui-input/lib/variant_default/index.css'\n\nexport interface DiscountProps {\n value: string\n errors: string[]\n isLoading: boolean\n onSend: () => void\n onChange: React.ChangeEventHandler\n}\n\nexport const DiscountForm = React.memo(({\n value,\n errors,\n isLoading,\n onSend,\n onChange\n}) => {\n const d = useDictionary()\n\n const form = React.useId()\n\n useStorageDiscountFlag()\n\n const handleSend = React.useCallback>(event => {\n event.preventDefault()\n\n onSend()\n }, [onSend])\n\n return (\n
\n \n \n \n \n {isLoading ? : 'Apply'}\n \n \n
\n )\n})\n", "import * as React from 'react'\n\nimport storage from 'utils/storage'\nimport { FORM_HAS_ACTIVE_DISCOUNT } from 'utils/storage/contstants'\n\nimport useDiscount from 'global-entities/discount/hooks/use-discount'\n\nexport const useStorageDiscountFlag = () => {\n const discount = useDiscount()\n\n React.useEffect(() => {\n if (discount.sended && discount._asyncField.value && !storage.get(FORM_HAS_ACTIVE_DISCOUNT, { storageType: 'session' })) {\n storage.set(FORM_HAS_ACTIVE_DISCOUNT, true, { storageType: 'session' })\n } else {\n storage.remove(FORM_HAS_ACTIVE_DISCOUNT, { storageType: 'session' })\n }\n }, [discount.sended, discount._asyncField.value])\n}", "export const FORM_HAS_ACTIVE_DISCOUNT = 'formHasActiveDiscount'", "import * as React from 'react'\nimport _isEmpty from 'lodash/isEmpty'\n\nimport useAction from 'hooks/useAction'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport updateLivechatCustomVariables from '@qwerty.software/live-chat/src/methods/updateCustomVariables'\nimport livechatOpen from '@qwerty.software/live-chat/src/methods/open'\nimport useDiscount from 'global-entities/discount/hooks/use-discount'\n\ninterface DiscountHintProps {\n errors: string[]\n}\n\nconst DiscountHint = React.memo(({ errors }) => {\n const d = useDictionary()\n const discount = useDiscount()\n const { data } = discount._asyncField\n\n const handleLivechatOpen = useAction(livechatOpen)\n\n const handleClickDiscountError = React.useCallback(() => {\n updateLivechatCustomVariables([{ name: 'invalid_discount_code', value: 'true' }])\n handleLivechatOpen()\n }, [updateLivechatCustomVariables, handleLivechatOpen])\n\n return (\n
\n {errors.map(error => (\n {error}\n ))}\n { !data?.discount?.type?.price_activation\n ? \n {d('links.discounts')}\n \n : null\n }\n
\n )\n }\n)\n\nexport default DiscountHint", "import * as types from './constants'\n\nimport { ILivechat } from '../types'\nimport { CustomParamType } from './types'\n\nimport { ActionFunctionType as Action } from '@qwerty.software/store-manager/types'\n\nexport const setCustomVariables: Action> = customVariables => dispatch => {\n dispatch({ type: types.SET_CUSTOM_VARIABLES, payload: customVariables })\n}\n\nexport const updateCustomVariables: Action> = customVariables => dispatch => {\n dispatch({ type: types.UPDATE_CUSTOM_VARIABLES, payload: customVariables })\n}\n\nexport const set: Action = node => dispatch => {\n dispatch({ type: types.REF_SET, payload: node })\n}\n", "import type { CustomParamType } from '../store/types'\nimport { updateCustomVariables } from '../store/actions'\nimport StoreManager from '@qwerty.software/store-manager'\n\nconst updateLivechatCustomVariables = (customVariables: CustomParamType[]) => {\n const { dispatch, getState } = StoreManager.getInstance().store;\n\n // (window as any).LC_API?.update_custom_variables && (window as any).LC_API.update_custom_variables(customVariables)\n updateCustomVariables(customVariables)(dispatch, getState)\n}\n\nexport default updateLivechatCustomVariables\n", "import { LIVECHAT_OPEN } from '../constants'\nimport { ActionFunctionType as Action } from '@qwerty.software/store-manager/types'\n\n/**\n * Action adapter for legacy\n *\n * @returns void\n */\nconst open: Action = () => dispatch => dispatch({ type: LIVECHAT_OPEN })\n\nexport default open\n", "import * as React from 'react'\n\nimport storage from 'utils/storage'\nimport { FORM_HAS_ACTIVE_DISCOUNT } from 'utils/storage/contstants'\n\nexport const useStorageDiscountFlag = ({ sended, value }) => {\n React.useEffect(() => {\n if (sended && value && !storage.get(FORM_HAS_ACTIVE_DISCOUNT, { storageType: 'session' })) {\n storage.set(FORM_HAS_ACTIVE_DISCOUNT, true, { storageType: 'session' })\n } else {\n storage.remove(FORM_HAS_ACTIVE_DISCOUNT, { storageType: 'session' })\n }\n }, [sended, value])\n}", "import * as React from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\n\nimport notify from 'utils/notify'\n\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { createHasChangedDataSelector } from '@qwerty.software/ui-order-form/src/changed-data-reminder/store/selectors'\nimport { reset } from '@qwerty.software/ui-order-form/src/changed-data-reminder/store/actions'\n\nimport Tooltip from '@qwerty.software/ui-order-form/src/components/tooltip'\n\ninterface IReset {\n additionalText?: string\n withoutTooltip?: boolean\n}\n\nexport const Reset: React.FC = ({ additionalText = false, withoutTooltip = false }) => {\n const dispatch = useDispatch()\n const { formRef } = useFormContext()\n const d = useDictionary()\n\n const HAS_CHANGED_DATA = React.useMemo(() => createHasChangedDataSelector({}), [])\n\n const hasChangedData = useSelector(HAS_CHANGED_DATA)\n\n const scrollToFormTop = React.useCallback(() => {\n if (formRef?.current) {\n const headerHeight = document.getElementById('header')?.clientHeight\n const to = headerHeight ? formRef.current.offsetTop - headerHeight : formRef.current.offsetTop\n window.scrollTo({ top: to, behavior: 'smooth'});\n }\n }, [formRef?.current])\n\n const handleReset = React.useCallback(() => {\n if (window.confirm(d('resetModal') as string)) {\n dispatch(reset({}) as any)\n\n notify.success('Order form has been cleaned')\n\n scrollToFormTop()\n }\n }, [scrollToFormTop])\n\n if (!hasChangedData) {\n return null\n }\n\n return (\n
\n {additionalText ? {additionalText} : null}\n {d('buttons.orderForm.reset')}\n {!withoutTooltip\n ? \n : null\n }\n
\n )\n}\n", "import { createSelector } from '@reduxjs/toolkit'\n\nimport Discount from 'global-entities/discount/selectors'\nimport { createFilesSelector } from 'global-entities/files-uploader/selectors'\n\nimport { ORDER_CHANGED } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { ORDER_NAMESPACE } from '@qwerty.software/ui-order-form/src/constants'\n\ninterface Namespaces {\n discountNamespace?: string\n filesUploaderNamespace?: string\n}\n\ninterface Options extends Namespaces { }\n\nexport const createHasChangedDataSelector = (options: Options) => {\n const DISCOUNT = Discount(options.discountNamespace || ORDER_NAMESPACE).DISCOUNT\n const FILES = createFilesSelector(options.filesUploaderNamespace || ORDER_NAMESPACE)\n\n return createSelector(\n [ORDER_CHANGED, DISCOUNT, FILES],\n (orderChanged, discount, files) => {\n const hasDiscount = discount.code !== ''\n const hasFiles = files.length > 0\n\n return orderChanged || hasDiscount || hasFiles\n }\n )\n}", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport _camelCase from 'lodash/camelCase'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport { number } from './../../utils'\n\nimport { PriceUnitsList } from './components/price-units-list'\nimport { PriceItem } from './components/price-item'\n\nimport { WriterCategoryIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport customEvent from 'utils/custom-event'\nimport { PRICE_CALCULATED } from 'constants/custom-events'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { PRICE_DATA } from '@qwerty.software/ui-order-form/src/store/slices/price-data'\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nexport interface PriceItemsListProps {\n tooltipIcon?: React.ReactNode | string\n}\n\nexport const PriceItemsList = React.memo(({ tooltipIcon }) => {\n const d = useDictionary()\n const { formDifference: { summary = null} } = useFormContext()\n\n const mdUp = useMedia('md', 'up')\n\n const { priceAdditionals, priceForUnits, priceFull, technicalSubjectPricePB } = useSelector(PRICE_DATA)\n const currency = useSelector(CURRENCY)\n\n React.useEffect(() => {\n customEvent.trigger(PRICE_CALCULATED, { price: priceFull, currency: currency?.symbol })\n }, [priceFull])\n\n const { writerCategories, subjects, ..._bootstrapData } = getBootstrapData()\n const writerCategory = useSelector(value(FieldNames.WRITER_CATEGORY))\n const preferredOrder = useSelector(value(FieldNames.PREFERRED_ORDER))\n const additionalFeatures = useSelector(value(FieldNames.ADDITIONAL_FEATURES))\n const subject = useSelector(value(FieldNames.SUBJECT))\n\n const toPrice = React.useCallback((price: number) => `${currency.symbol}${number(price).toFixed(2)}`, [currency])\n\n const writerCategoryTitle = React.useMemo(() => writerCategories.find(item => item.id === writerCategory)?.title, [writerCategories, writerCategory])\n const isComplexAssignment = React.useMemo(() => Boolean(subjects.find(item => item.id === subject)?.isTechnical), [subjects, subject])\n const preferredWriter = React.useMemo(() => writerCategories.find(item => item.id === preferredOrder.data?.preferredWriterStatus), [writerCategories, preferredOrder.data?.preferredWriterStatus])\n\n const writerCategoryKey = _camelCase(writerCategoryTitle) as 'bestAvailable' | 'proWriter' | 'topWriter' | 'preferredWriter'\n const preferredWriterKey = _camelCase(preferredWriter?.title) as 'preferredWriter'\n\n return (\n <>\n \n \n \n \n \n {additionalFeatures && _bootstrapData?.additionalFeatures && _bootstrapData.additionalFeatures.map(({ id, title }) => {\n const additinalFeatureKey = _camelCase(title) as 'plagiarismReport' | 'progressiveDelivery' | 'summary' | 'draft' | 'abstractPage' | 'grammarlyReport'\n\n return (\n \n )\n })}\n \n 0}\n tooltip=\"Specialized software work included (additional fees apply).\"\n tooltipIcon={tooltipIcon}\n deleteKey={summary?.changablePriceItems && mdUp ? FieldNames.SOFTWARE : null}\n />\n \n )\n})\n", "export const number = (num: string | number) => parseFloat(`${num}`)", "import { FC, useCallback, useMemo } from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { PriceItem } from './price-item'\n\nimport { number } from '../../../utils'\nimport { WORDS_SWITCHER_KEY } from '@qwerty.software/ui-order-form/src/store/slices/order/constants'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { PD_VALUES, PRICE_DATA } from '@qwerty.software/ui-order-form/src/store/slices/price-data'\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nexport interface SummaryProps { }\n\nexport enum UnitType {\n WORDS = 'words',\n PAGES = 'pages',\n SLIDES = 'slides',\n PROBLEMS = 'problems',\n QUESTIONS = 'questions',\n SOFTWARE = 'software',\n}\n\nconst BasePriceUnitsList: FC = () => {\n const { formDifference: { summary = null } } = useFormContext()\n const { priceForUnits, pricePerUnit } = useSelector(PRICE_DATA)\n const values = useSelector(PD_VALUES)\n\n const currency = useSelector(CURRENCY)\n\n const pagesWordsSwitcher = useSelector(value(FieldNames.PAGES_WORDS_SWITCHER))\n const words = useSelector(value(FieldNames.WORDS))\n\n const toPrice = useCallback((price: number) => `${currency.symbol}${number(price).toFixed(2)}`, [currency])\n\n const getAdaptedUnits = useCallback((values, priceForUnits, pagesWordsSwitcher) => {\n if (!priceForUnits) return\n\n return Object.keys(priceForUnits).filter(key => key !== UnitType.SOFTWARE).map(key => ({\n amount: pagesWordsSwitcher === WORDS_SWITCHER_KEY && key === UnitType.PAGES ? values[UnitType.WORDS] : values[key],\n price: priceForUnits[key],\n unit: pagesWordsSwitcher === WORDS_SWITCHER_KEY && key === UnitType.PAGES ? UnitType.WORDS : key\n }))\n }, [])\n\n const adaptedUnits = useMemo(() => getAdaptedUnits(values, priceForUnits, pagesWordsSwitcher), [\n priceForUnits,\n values,\n pagesWordsSwitcher\n ])\n\n const PriceItemComponent = useMemo(() => summary?.PriceItemUnitsList ? summary?.PriceItemUnitsList : PriceItem, [])\n\n return (\n <>\n {adaptedUnits.map((adaptedUnit) => (\n number(adaptedUnit.price) > 0 ? (\n 1 ? adaptedUnit.unit : adaptedUnit.unit.slice(0, -1)}\n perUnitPrice={\n adaptedUnit.unit === UnitType.WORDS ?\n undefined\n : toPrice(pricePerUnit[adaptedUnit.unit])\n }\n price={toPrice(adaptedUnit.price)}\n />\n )\n : null\n ))}\n \n )\n}\n\nexport const PriceUnitsList: FC = props => {\n const { priceForUnits } = useSelector(PRICE_DATA)\n\n if (!priceForUnits) {\n return null\n }\n\n return \n}\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport _camelCase from 'lodash/camelCase'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { number } from './../utils'\n\nimport customEvent from 'utils/custom-event'\nimport { PRICE_CALCULATED } from 'constants/custom-events'\n\nimport { PRICE_DATA } from '@qwerty.software/ui-order-form/src/store/slices/price-data'\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\n\nexport interface SummaryProps { }\n\nexport const TotalPrice = React.memo(() => {\n const d = useDictionary()\n\n const { priceFull } = useSelector(PRICE_DATA)\n const currency = useSelector(CURRENCY)\n\n // TODO: research what this does and whether it is necessary\n React.useEffect(() => {\n customEvent.trigger(PRICE_CALCULATED, { price: priceFull, currency: currency?.symbol })\n }, [priceFull])\n\n return (\n
\n \n {d('price.caption')}\n \n {d(currency.name !== 'AED' ? 'price.amount' : 'price.amountRightCurrency', {\n currency: {currency.symbol},\n price: {number(priceFull).toFixed(2)}\n })}\n
\n )\n})\n", "import * as React from 'react'\n\nimport useTooltip from '@qwerty.software/mono-ui-tooltip/lib/variant_default'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { Icon } from './icon'\n\nimport '@qwerty.software/mono-ui-tooltip/lib/variant_default/index.css'\n\ninterface IPaymentMethods { }\n\nexport const PaymentMethods: React.FC = () => {\n const smDown = useMedia('sm', 'down')\n\n const imagePath = smDown\n ? 'https://static.express/img/newdesign/orderform/summary-payments-mobile-min.png'\n : 'https://static.express/img/newdesign/orderform/summary-payments-desktop-min.png'\n\n const [tooltipRef] = useTooltip(\n ,\n [imagePath], { align: {x: 'right', y: 'bottom'} })\n\n return (\n \n Payment methods\n \n )\n}\n", "export const Icon = () => (\n \n \n \n)", "import { useCallback } from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { number } from '@qwerty.software/ui-order-form/src/utils/sanitizers/number'\nimport { PRICE_DATA } from '@qwerty.software/ui-order-form/src/store/slices/price-data'\nimport { useCookiePolicyShift } from '@qwerty.software/ui-order-form/src/hooks/use-cookie-policy-shift'\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nexport const BottomPriceBox = () => {\n const d = useDictionary()\n const { priceFull } = useSelector(PRICE_DATA)\n\n const currency = useSelector(CURRENCY)\n const toPrice = useCallback((price: number) => `${currency.symbol}${number(price).toFixed(2)}`, [currency])\n\n const smDown = useMedia('sm', 'down')\n const shift = useCookiePolicyShift()\n\n if (!smDown) {\n return null\n }\n\n return (\n
\n {d('price.bottomCaption')}\n \n {`${priceFull > 0 ? toPrice(priceFull) : toPrice(0)}`}\n \n
\n )\n}\n", "\nimport React, { useEffect, useState } from 'react'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { useSelector } from 'react-redux'\nimport { COOKIE_POLICY_NODE } from 'global-entities/ref-to-interact-slice/store'\nimport { Entity, useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nexport const useCookiePolicyShift = () => {\n const { entity } = useFormContext()\n const cookiePolicyNode = useSelector(COOKIE_POLICY_NODE)\n\n const [shift, setShift] = useState(0)\n\n const isSmDown = useMedia('sm', 'down')\n\n useEffect(() => {\n if (isSmDown || entity === Entity.BOT) {\n // @ts-ignore\n cookiePolicyNode && cookiePolicyNode?.clientHeight ? setShift(cookiePolicyNode?.clientHeight) : setShift(0)\n } else {\n setShift(0)\n }\n }, [cookiePolicyNode, isSmDown, setShift])\n\n return shift\n}\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport { FieldBox } from './../../fieldbox'\nimport { SelectField } from '../_common/select'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\nimport { PaperTypeIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { PopularChoices } from '../_common/popular-choices'\nimport { OptionsWithPopular } from '../_common/popular-choices/options'\n\nconst POPULAR_PAPER_TYPES_SM_UP = [\n PaperTypeIds.RESEARCH_PAPER,\n PaperTypeIds.COURSE_WORK,\n PaperTypeIds.CASE_STUDY,\n PaperTypeIds.REPORT\n]\n\nconst POPULAR_PAPER_TYPES_SM_DOWN = [\n PaperTypeIds.ESSAY,\n PaperTypeIds.RESEARCH_PAPER,\n PaperTypeIds.COURSE_WORK,\n PaperTypeIds.CASE_STUDY,\n PaperTypeIds.REPORT,\n]\n\ninterface IPaperTypeProps { }\n\nexport const PaperType = React.memo(() => {\n const paperType = useSelector(value(FieldNames.PAPER_TYPE))\n\n let { paperTypes } = getBootstrapData()\n paperTypes = React.useMemo(() => paperTypes.filter((bdPaperType) => !bdPaperType?.deprecated || paperType === bdPaperType.id), [paperTypes, paperType])\n\n const smDown = useMedia('sm', 'down')\n\n const d = useDictionary()\n\n return (\n }\n >\n : undefined}\n />\n \n )\n})\n", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport Tooltip from './../tooltip'\nimport { TooltipProps } from './../tooltip'\n\nexport interface FieldBoxProps extends React.HTMLAttributes{\n htmlFor?: string\n label?: React.ReactNode\n tooltip?: string | boolean | React.ReactNode\n hint?: React.ReactNode\n className?: string\n tooltipAlign?: TooltipProps['align']\n error?: boolean\n disableErrorAnimation?: boolean\n required?: boolean\n topHint?: string | React.ReactNode | null\n children: React.ReactNode\n contentRef?: React.Ref\n}\n\nexport const FieldBox = React.memo(({\n htmlFor,\n label,\n tooltip,\n hint,\n className,\n tooltipAlign = {\n mdUp: 'right-middle',\n mdDown: 'right-middle',\n },\n error = false,\n disableErrorAnimation = false,\n required = false,\n topHint,\n\n children,\n\n contentRef,\n\n ...fieldBoxProps\n}) => (\n
\n {label\n ? htmlFor\n ? \n : \n {label}{required ? ( *) : null}\n \n : null\n }\n
\n {topHint ?
{topHint}
: null}\n {children}\n
\n {tooltip ? (\n
\n \n
\n ) : null}\n {hint ? (\n
\n {hint}\n
\n ) : null}\n {typeof error === 'string' ? (\n
\n {error}\n
\n ) : null}\n
\n))\n", "import { useCallback, FC } from 'react'\nimport clsx from 'clsx'\n\nimport Select, { Option, ChangeHandler, OptGroupProps } from '@qwerty.software/mono-ui-select'\n\nimport useAction from 'hooks/useAction'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { orderSlice } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport '@qwerty.software/mono-ui-select/lib/variant_default/index.css'\n\ninterface ISelectFieldFrops {\n bd:\n GS['bootstrapData']['academicLevels'] |\n GS['bootstrapData']['deadlines'] |\n GS['bootstrapData']['paperFormats'] |\n GS['bootstrapData']['paperTypes'] |\n GS['bootstrapData']['subjects'] |\n GS['bootstrapData']['workTypes'] |\n GS['bootstrapData']['spacings']\n fieldName: FieldNames\n value: number | string\n className?: string\n\n disabled?: boolean\n\n optionsList?: OptGroupProps['children']\n}\n\nexport const SelectField: FC = ({ bd, fieldName, value, className, disabled, optionsList }) => {\n const { entity } = useFormContext()\n\n const change = useAction(orderSlice.actions.change)\n const handleChange = useCallback(({ target }) => {\n // for paperFormat - prevent set value for \"...\" option\n if (+target.value === -1) return\n\n change({ key: fieldName, value: parseInt(`${target.value}`, 10), entity })\n }, [entity, fieldName])\n\n return (\n \n {Boolean(optionsList)\n ? optionsList\n : bd.map(({ id, text }) => (\n \n )\n )}\n \n )\n}\n", "import { FC, ReactNode, useCallback } from 'react'\n\nimport _size from 'lodash/size'\n\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\nimport useAction from 'hooks/useAction'\nimport { orderSlice } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { usePopular } from './usePopular'\n\nexport interface PopularChoicesProps {\n name: TName\n popularIds: number[]\n bd: any[]\n}\n\nexport const PopularChoices: FC = ({ name, popularIds, bd }) => {\n const { entity } = useFormContext()\n\n const popularChoices = usePopular({ bd, popularIds })\n\n const change = useAction(orderSlice.actions.change)\n const handleClick = useCallback(({ target }) => {\n change({ key: name, value: parseInt(`${target.dataset.value}`, 10), entity })\n }, [entity, name])\n\n return \n {popularChoices.map(({ value, text }, index) => (\n \n {text}\n \n ))}\n \n}\n", "import { useMemo } from 'react'\n\nimport { BootstrapData } from 'store/types'\n\nexport interface IUsePopularHint {\n bd: BootstrapData.ICore['subjects'] | BootstrapData.ICore['paperTypes']\n popularIds: number[]\n}\n\nexport const usePopular = ({bd, popularIds}: IUsePopularHint) => {\n const popularAdapted = useMemo(() => (\n popularIds.reduce((result, popularId) => {\n const toAdapt = bd.find(({ id }) => id === popularId)\n\n if (toAdapt) {\n result.push({\n value: toAdapt.id,\n text: toAdapt.text,\n })\n }\n\n return result\n }, [])\n ), [bd])\n\n return popularAdapted\n}\n", "import { FC } from 'react'\n\nimport { IUsePopularHint, usePopular } from './usePopular'\n\ninterface IOptionsWithPopular extends IUsePopularHint { }\n\nexport const OptionsWithPopular: FC = ({ bd, popularIds }) => {\n\n const popularSubjects = usePopular({ bd, popularIds })\n\n return (\n <>\n \n {popularSubjects.map(({ value, text }) => (\n \n {text}\n \n ))}\n \n \n {bd.map(({ id, text }) => (\n \n {text}\n \n ))}\n \n \n )\n}\n\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { FieldBox } from '../../fieldbox'\nimport { SelectField } from '../_common/select'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { FieldNames, SubjectIds } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport { PopularChoices } from '../_common/popular-choices'\nimport { OptionsWithPopular } from '../_common/popular-choices/options'\n\nconst POPULAR_SUBJECTS_SM_UP = [\n SubjectIds.NURSING,\n SubjectIds.BUSINESS,\n SubjectIds.ENGLISH,\n SubjectIds.PSYCHOLOGY,\n SubjectIds.MANAGEMENT,\n]\n\nconst POPULAR_SUBJECTS_SM_DOWN = [\n SubjectIds.NURSING,\n SubjectIds.BUSINESS,\n SubjectIds.ENGLISH,\n SubjectIds.PSYCHOLOGY,\n SubjectIds.MANAGEMENT,\n SubjectIds.OTHER,\n]\n\ninterface SubjectProps { }\n\nexport const Subject = React.memo(() => {\n const { subjects } = getBootstrapData()\n const subject = useSelector(value(FieldNames.SUBJECT))\n\n const smDown = useMedia('sm', 'down')\n\n const d = useDictionary()\n\n return (\n }\n >\n : undefined}\n />\n \n )\n})\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport useAction from 'hooks/useAction'\n\nimport Input from '@qwerty.software/mono-ui-input'\n\nimport { FieldBox } from '././../../fieldbox'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { orderSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport '@qwerty.software/mono-ui-input/lib/variant_default/index.css'\n\ninterface TopicProps { }\n\nexport const Topic = React.memo(() => {\n const d = useDictionary()\n const { entity } = useFormContext()\n\n const topic = useSelector(value(FieldNames.TOPIC))\n\n const change = useAction(orderSlice.actions.change)\n const handleChange = React.useCallback>(({ target }) => {\n change({ key: FieldNames.TOPIC, value: target.value, entity })\n }, [])\n\n return (\n \n \n \n )\n})\n", "import * as React from 'react'\n\nimport { FieldBox } from './../../fieldbox'\n\nimport { useFormContext } from 'contexts/form-context'\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { PaperDetailsField } from './../paper-details/field'\nimport { MaterialsField } from './../materials/field'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport UploadFilesIcon from 'framework/icons/upload-files'\n\ninterface IPaperDetailsMaterials {\n withValidation?: boolean\n autoSize?: boolean\n withInlineHint?: boolean\n withTopHint?: boolean\n}\n\nexport const PaperDetailsMaterials = React.memo(({\n withValidation,\n autoSize = true,\n withInlineHint = false,\n withTopHint = true,\n}) => {\n const { formDifference } = useFormContext()\n const d = useDictionary()\n\n const [error, setError] = React.useState(false)\n\n return (\n \n \n
\n \n {formDifference?.MaterialsIcon ? : }\n {d('buttons.materials')}\n {withInlineHint\n ? \n {d('hint.materials')}\n \n : null\n }\n )}\n />\n
\n \n )\n})\n\n", "import { FC, useCallback, useState } from 'react'\nimport { useSelector } from 'react-redux'\nimport clsx from 'clsx'\n\nimport TextArea, { type ChangeHandler } from '@qwerty.software/mono-ui-textarea'\n\nimport useAction from 'hooks/useAction'\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { orderSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport '@qwerty.software/mono-ui-textarea/lib/variant_default/index.css'\nimport useCustomEvent from 'hooks/useCustomEvent'\nimport { VALIDATE_FIELD } from 'constants/custom-events'\n\nconst MIN_PAPER_DETAILS_LENGTH = 15\nconst MAX_PAPER_DETAILS_LENGTH = 1000\n\ninterface IPaperDetailsField {\n autoSize?: boolean\n withValidation?: boolean\n error: string | boolean | React.ReactNode[]\n setError: (value: string | boolean | React.ReactNode[]) => void\n}\n\n// !!! this also is imported in the paper-details-materials/index.tsx and used for speedy\nexport const PaperDetailsField: FC = ({ withValidation, error, setError, autoSize = true }) => {\n const d = useDictionary()\n\n const { entity } = useFormContext()\n\n const change = useAction(orderSlice.actions.change)\n\n const paperDetails = useSelector(value(FieldNames.PAPER_DETAILS))\n const [shouldValidate, setShouldValidate] = useState(false)\n\n const handleValidate = useCallback((value: string) => {\n if (withValidation && (value.length < MIN_PAPER_DETAILS_LENGTH || value.length > MAX_PAPER_DETAILS_LENGTH)) {\n !error && setError(d('hint.paperDetails', { minDetailsLenght: MIN_PAPER_DETAILS_LENGTH, maxDetailsLenght: MAX_PAPER_DETAILS_LENGTH }))\n } else {\n error && setError(false)\n }\n }, [error, setError, withValidation])\n\n const handleBlur = useCallback(() => {\n if (withValidation) {\n handleValidate(paperDetails)\n setShouldValidate(true)\n }\n }, [paperDetails, withValidation, shouldValidate, setShouldValidate, handleValidate])\n\n const handleChange = useCallback(({ target }) => {\n if (withValidation && shouldValidate) {\n handleValidate(target.value)\n }\n\n change({ key: FieldNames.PAPER_DETAILS, value: target.value, entity })\n }, [withValidation, shouldValidate, handleValidate, change])\n\n const handleCustomEvent = useCallback(() => {\n if (withValidation) {\n handleValidate(paperDetails)\n setShouldValidate(true)\n }\n }, [setShouldValidate, paperDetails, withValidation, handleValidate])\n\n\n useCustomEvent(VALIDATE_FIELD + FieldNames.PAPER_DETAILS, handleCustomEvent)\n\n return (\n \n )\n}\n", "import * as React from 'react'\n\nimport customEvent from 'utils/custom-event'\n\nconst useCustomEvent = (event: string, handler: Function, watchParams: any[] = []) => {\n React.useEffect(() => {\n customEvent.on(event, handler)\n\n return () => {\n customEvent.off(event, handler)\n }\n }, [handler, ...watchParams])\n}\n\nexport default useCustomEvent\n", "import * as React from 'react'\n\nimport Dropzone, { FilesHandler } from '@qwerty.software/mono-ui-dropzone'\n\nimport UploadFilesIcon from 'framework/icons/upload-files'\n\nimport { useNamespace } from 'global-entities/files-uploader/with-files-uploader'\nimport useFiles from 'global-entities/files-uploader/hooks/use-files'\nimport { NAME as FILE_UPLOADER_NAME } from 'global-entities/files-uploader/definitions'\n\nimport FilesList from './files-list'\n\nimport type { IRawFile } from '@qwerty.software/ui-order-form/src/templates/dashboard/types'\n\ninterface MaterialsFieldProps {\n staticUploadedFiles?: IRawFile[]\n dragMessage?: React.ReactNode | string\n}\n\n// !!! this also imported in paper-details-materials/index.tsx and used for speedy\nexport const MaterialsField: React.FC = ({\n staticUploadedFiles = [],\n dragMessage = (<>\n \n Upload files\n or drag your files here\n ),\n}) => {\n const fileUpdloaderNamespace = useNamespace()\n\n const [, { upload }] = useFiles(fileUpdloaderNamespace)\n\n const handleUpload = React.useCallback((ev, err, files, name) => {\n upload(files)\n }, [])\n\n return (\n <>\n \n \n \n )\n}\n", "import * as React from 'react'\n\n/* templates */\nimport TemplateIcon from 'framework/icons/template'\n\nconst UploadFilesIcon = ({ width = 25, height = 16 } = {}) => {\n\n const templateIconProps = {\n name: 'upload-files',\n styles: { width, height },\n children: (\n \n ),\n }\n\n return TemplateIcon({ ...templateIconProps })\n\n}\n\nexport default UploadFilesIcon\n/* sfc */\n", "import React from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\n\nimport { slice as fileUploaderSlice } from '../slice'\n\nimport { createFilesSelector } from '../selectors'\n\nimport { useNamespace } from '../with-files-uploader'\n\nimport { uploadFilesSagaAction } from '../definitions'\n\nfunction useFiles(namespace: string = '') {\n const dispatch = useDispatch()\n\n const _namespace = useNamespace()\n\n if (!namespace) {\n namespace = _namespace\n }\n\n const FILES = React.useMemo(() => createFilesSelector(namespace), [namespace])\n\n const files = useSelector(FILES)\n\n const api = React.useMemo(() => ({\n upload: (files: File | File[]) => dispatch(uploadFilesSagaAction(namespace, files)),\n reset: () => dispatch(fileUploaderSlice.actions.resetFiles({ namespace })),\n }), [namespace])\n\n return [files, api] as const\n}\n\nexport default useFiles", "import * as React from 'react'\n\nconst hashContext = React.createContext(null)\n\nconst { Provider } = hashContext\n\ninterface HashProviderProps {\n hash: string\n}\n\ninterface Children {\n children: React.ReactNode\n}\n\nexport const useHash = () => React.useContext(hashContext)\n\nconst HashProvider: React.FC = ({ hash, children }) => (\n \n {children}\n \n)\n\nexport const withHash = (\n Component: React.ComponentType>\n) => {\n const WithHashContext: React.FC = ({ hash, ...props }) => (\n \n \n \n )\n\n return WithHashContext\n}\n\nexport default HashProvider\n\n", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useHash } from './context'\nimport useFile from 'global-entities/files-uploader/hooks/use-file'\n\nimport Name from './components/name'\nimport Size from './components/size'\nimport RemoveButton from './components/remove-button'\n\ninterface SuccessMaterialProps {\n index: number\n}\n\nconst SuccessMaterial: React.FC = ({ index }) => {\n const fileMeta = useFile(useHash())\n\n return (\n
\n \n \n \n
\n )\n}\n\nexport default SuccessMaterial\n\n", "import * as React from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\n\nimport { slice as fileUploaderSlice } from 'global-entities/files-uploader/slice'\n\nimport { useNamespace } from '../with-files-uploader'\n\nimport { createFileSelector } from '../selectors'\n\nfunction useFile(hash: string, namespace: string = '') {\n const dispatch = useDispatch()\n const _namespace = useNamespace()\n\n if (!namespace) {\n namespace = _namespace\n }\n\n const GET_FILE = React.useMemo(() => createFileSelector(namespace, hash), [namespace, hash])\n const file = useSelector(GET_FILE)\n const errors = React.useMemo(() => {\n const errors = [\n ...Object.values(file.validation).filter(Boolean),\n ]\n\n if (file.preload?.error || typeof file.preload?.error === 'string') {\n return errors\n .concat(file.preload.error)\n }\n\n return errors\n }, [file])\n const error = React.useMemo(() => {\n const error = errors.length ? errors[0] : null\n\n return error instanceof Error ? error.message : error\n }, [errors])\n\n const remove = React.useCallback(() => {\n dispatch(fileUploaderSlice.actions.removeFile({ namespace, hash }))\n }, [namespace, hash])\n\n type ReturnType = typeof file & {\n error: typeof error,\n errors: typeof errors,\n\n remove: typeof remove,\n }\n\n return React.useMemo(() => ({\n ...file,\n\n error,\n errors,\n\n remove,\n }), [file, remove])\n}\n\nexport default useFile", "import * as React from 'react'\nimport clsx from 'clsx'\n\ninterface MaterialNameProps {\n text: string\n\n className?: string\n\n children?: React.ReactNode\n}\n\nconst MaterialName: React.FC = ({\n text,\n\n className,\n\n children,\n}) => (\n \n {text}\n\n {children}\n \n)\n\nexport default MaterialName", "import * as React from 'react'\nimport clsx from 'clsx'\n\ninterface MaterialNameProps {\n value: number\n\n className?: string\n}\n\nconst MaterialName: React.FC = ({\n value,\n\n className,\n}) => (\n \n {`(${(value / 1024).toFixed(2)} KB)`}\n \n)\n\nexport default MaterialName", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useHash } from '../context'\nimport useFile from 'global-entities/files-uploader/hooks/use-file'\n\nimport Button from '@qwerty.software/mono-ui-button'\n\nimport { ReactComponent as RemoveIcon } from './../icons/remove-icon.svg'\nimport { useDispatch } from 'react-redux'\nimport { cancelFileUpload } from 'global-entities/files-uploader/definitions'\nimport { useFormContext } from 'contexts/form-context'\n\ninterface RemoveButtonProps {\n cancelOnHandle?: boolean\n}\n\nconst RemoveButton: React.FC = ({ cancelOnHandle }) => {\n const { formDifference } = useFormContext()\n const dispatch = useDispatch()\n const file = useFile(useHash())\n\n const handleClick = React.useCallback(() => {\n if (cancelOnHandle) {\n dispatch(cancelFileUpload(file.hash))\n\n return\n }\n\n file.remove()\n }, [dispatch, file.hash])\n\n return (\n \n )\n}\n\nexport default RemoveButton", "import * as React from \"react\";\nconst SvgRemoveIcon = props => ;\nexport default SvgRemoveIcon;\nexport const ReactComponent = SvgRemoveIcon;", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useHash } from './context'\nimport useFile from 'global-entities/files-uploader/hooks/use-file'\n\nimport Name from './components/name'\nimport ErrorMessage from './components/error-message'\nimport Size from './components/size'\nimport RemoveButton from './components/remove-button'\n\ninterface ErrorMaterialProps {\n index: number\n}\n\nconst ErrorMaterial: React.FC = ({ index }) => {\n const fileMeta = useFile(useHash())\n\n return (\n
\n \n \n \n \n \n
\n )\n}\n\nexport default ErrorMaterial\n\n", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useHash } from '../context'\nimport useFile from 'global-entities/files-uploader/hooks/use-file'\n\nimport { PreloadState } from 'global-entities/discount/definitions'\n\ninterface MaterialErrorMessageProps {\n className?: string\n}\n\nconst MaterialErrorMessage: React.FC = ({\n className,\n}) => {\n const fileMeta = useFile(useHash())\n const errorMessage = React.useMemo(\n function getErrorMessage() {\n let error: Error | string | undefined | null = null\n\n switch (true) {\n case fileMeta.preload?.state === PreloadState.REJECTED:\n error = fileMeta.preload.error\n break\n\n case Object.values(fileMeta.validation).some(Boolean):\n error = Object.values(fileMeta.validation).find(Boolean)\n break\n }\n\n error = error instanceof Error ? error.message : error\n\n return error\n },\n [\n fileMeta\n ]\n )\n\n return (\n \n {errorMessage}\n \n )\n}\n\nexport default MaterialErrorMessage", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { useHash } from './context'\nimport useFile from 'global-entities/files-uploader/hooks/use-file'\n\nimport Name from './components/name'\nimport Size from './components/size'\nimport RemoveButton from './components/remove-button'\n\nimport CircularProgress from '@qwerty.software/mono-ui-circular-progressbar'\n\nimport '@qwerty.software/mono-ui-circular-progressbar/lib/variant_default/index.css'\n\ninterface ProgressMaterialProps {\n index: number\n}\n\nconst ProgressMaterial: React.FC = ({ index }) => {\n const fileMeta = useFile(useHash())\n\n return (\n
\n \n \n \n \n
\n )\n}\n\nexport default ProgressMaterial\n\n", "import * as React from 'react'\n\nimport { withHash, useHash } from './context'\n\nimport SuccessFile from './success'\nimport ErrorFile from './error'\nimport ProgressFile from './progress'\n\nimport useFile from 'global-entities/files-uploader/hooks/use-file'\n\nimport { PreloadState } from 'global-entities/discount/definitions'\n\ninterface FileProps {\n index: number\n}\n\nconst File: React.FC = ({ index }) => {\n const fileMeta = useFile(useHash())\n\n if (Object.values(fileMeta.validation).some(Boolean)) {\n return \n }\n\n switch (fileMeta.preload?.state) {\n case PreloadState.REJECTED:\n return \n\n case PreloadState.FULFILLED:\n return \n\n case PreloadState.PENDING:\n case PreloadState.PROGRESS:\n default:\n return \n }\n}\n\nexport default withHash(File)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport Name from './components/name'\n\nimport type { IRawFile } from '@qwerty.software/ui-order-form/src/templates/dashboard/types'\n\ninterface SuccessMaterialProps {\n index: number\n file: IRawFile\n}\n\nexport const StaticMaterial: React.FC = ({ index, file }) => {\n return (\n
\n \n
\n )\n}\n\n", "import * as React from 'react'\n\nimport useFiles from 'global-entities/files-uploader/hooks/use-files'\n\nimport { useNamespace } from 'global-entities/files-uploader/with-files-uploader'\nimport File from './file'\nimport { StaticMaterial } from './file/static'\n\nimport type { IRawFile } from '@qwerty.software/ui-order-form/src/templates/dashboard/types'\n\ninterface FilesListProps {\n staticUploadedFiles?: IRawFile[]\n}\n\nconst FilesList: React.FC = ({ staticUploadedFiles }) => {\n const fileUpdloaderNamespace = useNamespace()\n\n const [files, _] = useFiles(fileUpdloaderNamespace)\n\n if (!files.length && !staticUploadedFiles.length) {\n return null\n }\n\n return (\n
\n {files.map((file, index) => (\n \n ))}\n {(staticUploadedFiles || []).map((file, index) => (\n \n ))}\n
\n )\n}\n\nexport default FilesList", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { FieldBox } from '././../../fieldbox'\nimport { PaperFormatField } from './field'\n\nimport { FieldNames, PaperTypeIds, WorkTypeIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\ninterface PaperFormat { }\n\nexport const PaperFormat = React.memo(() => {\n const d = useDictionary()\n\n const workType = useSelector(value(FieldNames.WORK_TYPE))\n const paperType = useSelector(value(FieldNames.PAPER_TYPE))\n\n if (workType === WorkTypeIds.MULTIPLY_CHOISE_QUESTIONS || paperType === PaperTypeIds.MULTIPLY_CHOISE_QUESTIONS) {\n return null\n }\n\n return (\n \n \n \n )\n})\n", "import { useCallback, useMemo, FC } from 'react'\nimport { useSelector } from 'react-redux'\nimport clsx from 'clsx'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport Select, { Option as SelectOption } from '@qwerty.software/mono-ui-select'\n\nimport useAction from 'hooks/useAction'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { orderSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport { RadioGroupField } from '../_common/radio-group'\n\nconst SELECT_DEFAULT_OPTION = {\n id: -1,\n key: -1,\n modifier: 'additional',\n short_text: '...',\n text: '...',\n}\n\nconst MAIN = (paperFormat: GS['bootstrapData']['paperFormats'][number]) => paperFormat.modifier === 'main'\nconst ADDITIONAL = (paperFormat: GS['bootstrapData']['paperFormats'][number]) => paperFormat.modifier === 'additional'\n\ninterface IPaperFormatFrops { }\n\nexport const PaperFormatField: FC = () => {\n const { paperFormats } = getBootstrapData()\n const { entity } = useFormContext()\n\n const paperFormat = useSelector(value(FieldNames.PAPER_FORMAT))\n\n const change = useAction(orderSlice.actions.change)\n const handleChange = useCallback(({ target }) => {\n if (+target.value === SELECT_DEFAULT_OPTION.id) return\n change({ key: FieldNames.PAPER_FORMAT, value: parseInt(target.value, 10), entity })\n }, [])\n\n const mainPaperFormats = useMemo(() => paperFormats.filter(MAIN), [paperFormats])\n let additionalPaperFormats = useMemo(() => paperFormats.filter(ADDITIONAL), [paperFormats])\n const chosenSelectOption = useMemo(() => additionalPaperFormats?.find(option => option.id === paperFormat), [additionalPaperFormats, paperFormat])\n additionalPaperFormats = useMemo(() => {\n const filteredFormats = additionalPaperFormats.filter((format) => !format?.deprecated || paperFormat === format.id)\n return !chosenSelectOption ? [SELECT_DEFAULT_OPTION, ...filteredFormats] : filteredFormats\n }, [chosenSelectOption, additionalPaperFormats])\n const selectValue = useMemo(() => chosenSelectOption?.id || SELECT_DEFAULT_OPTION.id, [chosenSelectOption])\n\n return (\n
\n {mainPaperFormats\n ? \n : null\n }\n {additionalPaperFormats\n ? \n {additionalPaperFormats.map(({ id, text }) => (\n \n {text}\n \n ))}\n \n : null\n }\n
\n )\n}\n", "import { useCallback, FC } from 'react'\nimport clsx from 'clsx'\n\nimport RadioGroup, { Option as RadioOption } from '@qwerty.software/mono-ui-radio-group'\n\nimport useAction from 'hooks/useAction'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { orderSlice } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport '@qwerty.software/mono-ui-radio-group/lib/variant_default/index.css'\n\ninterface IRadioGroupField {\n bd:\n GS['bootstrapData']['academicLevels'] |\n GS['bootstrapData']['spacings']\n fieldName: FieldNames\n value: number | string\n className?: string\n}\n\nexport const RadioGroupField: FC = ({ bd, fieldName, value, className }) => {\n const { entity } = useFormContext()\n\n const change = useAction(orderSlice.actions.change)\n const handleChange = useCallback(({ target }) => {\n change({ key: fieldName, value: parseInt(target.value, 10), entity })\n }, [fieldName, entity, change])\n\n return (\n \n {bd.map(({ id, text }, index) => (\n \n {text}\n \n ))}\n \n )\n}\n", "import { memo, useMemo } from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { FieldBox } from './../../fieldbox'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport { RadioGroupField } from '../_common/radio-group'\n\ninterface AcademicLevelProps { }\n\nexport const AcademicLevel = memo(() => {\n const { academicLevels } = getBootstrapData()\n const filteredAcademicLevels = useMemo(() => academicLevels.filter(item => item.text !== \"Admissions\"), [academicLevels])\n\n const academicLevel = useSelector(value(FieldNames.ACADEMIC_LEVEL))\n\n const d = useDictionary()\n\n return (\n \n \n \n )\n})\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { FieldBox } from './../../fieldbox'\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { SelectField } from '../_common/select'\n\ninterface WorkTypeProps { }\n\nexport const WorkType = React.memo(() => {\n const workType = useSelector(value(FieldNames.WORK_TYPE))\n\n let { workTypes } = getBootstrapData()\n workTypes = React.useMemo(() => workTypes.filter((bdWorktype) => !bdWorktype?.deprecated || workType === bdWorktype.id), [workTypes, workType])\n\n const d = useDictionary()\n\n return (\n \n \n \n )\n})", "import { memo } from 'react'\nimport { useSelector } from 'react-redux'\nimport _sortBy from 'lodash/sortBy'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { FieldBox } from './../../fieldbox'\n\nimport { useDeadlineHelper } from './use-deadline-helper'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport { SelectField } from '../_common/select'\nimport { getDeadlines } from './get-deadlines'\n\ninterface IDeadlineProps { }\n\nexport const Deadline = memo(() => {\n const d = useDictionary()\n\n const deadlines = getDeadlines()\n const deadline = useSelector(value(FieldNames.DEADLINE))\n\n const { time, date } = useDeadlineHelper({ deadlines, id: deadline })\n\n return (\n \n \n
\n Ready by\n {time}\n {date}\n
\n \n )\n})\n", "import moment from 'moment'\nimport { useMemo } from 'react'\nimport { BootstrapData } from 'types/BootstrapData'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\ninterface IDeadlineHelper {\n deadlines: BootstrapData.IDeadline[]\n id?: number | string\n}\n\nexport const useDeadlineHelper = ({\n deadlines,\n id,\n}: IDeadlineHelper) => {\n const d = useDictionary()\n const timeFormat = d('moment.deadline.time') as string | null\n const dateFormat = d('moment.deadline.date') as string | null\n const deadline = useMemo(() => deadlines.find(deadline => +deadline.id === +id), [deadlines, id])\n\n if (!deadline) {\n return {\n time: null,\n date: null,\n }\n }\n\n const date = moment().add(deadline.num, deadline.type)\n\n return {\n time: timeFormat ? `${date.format(timeFormat).toLowerCase()}` : '',\n date: dateFormat ? `${date.format(dateFormat)}` : '',\n }\n}\n", "import _sortBy from 'lodash/sortBy'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport { useDisabled } from './use-disabled'\n\nexport const getDeadlines = () => {\n let { deadlines } = getBootstrapData()\n\n deadlines = useDisabled(deadlines)\n deadlines = _sortBy(deadlines, 'hours')\n\n return deadlines\n}\n", "import { useMemo } from \"react\"\nimport { useSelector } from \"react-redux\"\n\nimport { getBootstrapData } from \"global-entities/bootstrap-data/utils/get\"\n\nimport { FieldNames, DeadlineIds } from \"@qwerty.software/ui-order-form/src/store/constants\"\nimport { value } from \"@qwerty.software/ui-order-form/src/store/slices/order\"\nimport { disabledDeadlinesByAcademicLevel, disabledDeadlinesByWorkType, subjectFlagToDisableDeadline } from \"@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/constants\"\n\nimport type { BootstrapData } from \"store/types\"\n\nexport const useDisabled = (deadlines: BootstrapData.IDeadline[]) => {\n const { subjects } = getBootstrapData()\n\n const workType = useSelector(value(FieldNames.WORK_TYPE))\n const academicLevel = useSelector(value(FieldNames.ACADEMIC_LEVEL))\n\n const subject = useSelector(value(FieldNames.SUBJECT))\n const bdSubject = subjects.find(({ id }) => id === subject)\n\n return useMemo(() => {\n if (disabledDeadlinesByAcademicLevel[academicLevel]) {\n deadlines = deadlines.filter(({ id }) => !disabledDeadlinesByAcademicLevel[academicLevel].includes(id))\n }\n\n if (disabledDeadlinesByWorkType[workType]) {\n deadlines = deadlines.filter(({ id }) => !disabledDeadlinesByWorkType[workType].includes(id))\n }\n\n if (bdSubject?.[subjectFlagToDisableDeadline]) {\n deadlines = deadlines.filter(({ id }) => id !== DeadlineIds.FOUR_HOURS)\n }\n\n return deadlines\n }, [deadlines, academicLevel, workType, bdSubject])\n}", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\nimport _capitilize from 'lodash/capitalize'\n\nimport { useConfigsContext } from './../../../templates/_decorator/configs-context'\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { FieldBox } from '././../../fieldbox'\nimport { QuantityField } from './field'\nimport PagesWordsSwitcher from './pages-words-switcher'\n\nimport { FieldNames, QuantityKeys } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport { useHint } from './useHint'\nimport clsx from 'clsx'\n\ninterface IQuantity {\n quantityKeyAsLabel?: boolean\n}\n\nexport const Quantity = React.memo(({ quantityKeyAsLabel = true }) => {\n const { disablePageWordsSwitcher } = useConfigsContext()\n const d = useDictionary()\n\n const quantityKey = useSelector(value(FieldNames.QUANTITY_KEY))\n\n const fieldName = React.useMemo(() => quantityKey === QuantityKeys.WORDS ? FieldNames.WORDS : FieldNames.QUANTITY, [quantityKey])\n\n const hint = useHint({ quantityKeyAsLabel })\n\n const tooltip = React.useMemo(() => {\n switch (quantityKey) {\n case QuantityKeys.PROBLEMS: {\n return d('tooltips.quantity.problems')\n }\n case QuantityKeys.WORDS: {\n return d('tooltips.quantity.words')\n }\n case QuantityKeys.QUESTIONS: {\n return undefined\n }\n default: {\n return d('tooltips.quantity.pages')\n }\n }\n }, [quantityKey])\n\n const label = React.useMemo(() => {\n switch (true) {\n case quantityKey === QuantityKeys.QUESTIONS:\n case quantityKey === QuantityKeys.PROBLEMS: {\n return _capitilize(quantityKey)\n }\n\n default: {\n return d('labels.quantity')\n }\n }\n }, [quantityKey])\n\n return (\n \n
\n \n {(!disablePageWordsSwitcher && (quantityKey === QuantityKeys.PAGES || quantityKey === QuantityKeys.WORDS)) && (\n \n )}\n
\n \n )\n})\n", "import { useMemo, FC } from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { MAX_QUANTITY, value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { NumberInputField } from '../_common/number-input'\n\nimport { FieldNames, QuantityKeys } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport '@qwerty.software/mono-ui-number-input/lib/variant_default/index.css'\n\ninterface IQuantityField { }\n\nexport const QuantityField: FC = () => {\n const quantity = useSelector(value(FieldNames.QUANTITY))\n const words = useSelector(value(FieldNames.WORDS))\n const quantityKey = useSelector(value(FieldNames.QUANTITY_KEY))\n\n const quantityLimit = useSelector(MAX_QUANTITY)\n\n const fieldName = useMemo(() => quantityKey === QuantityKeys.WORDS ? FieldNames.WORDS : FieldNames.QUANTITY, [quantityKey])\n const fieldValue = useMemo(() => quantityKey === QuantityKeys.WORDS ? words : quantity, [quantityKey, words, quantity])\n\n return (\n \n )\n}\n", "import { useCallback, FC } from 'react'\n\nimport useAction from 'hooks/useAction'\n\nimport NumberInput, { ChangeHandler } from '@qwerty.software/mono-ui-number-input'\n\nimport * as sanitizers from './../../_sanitizers'\n\nimport { FieldNames, QuantityKeys } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { orderSlice } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport '@qwerty.software/mono-ui-number-input/lib/variant_default/index.css'\n\ninterface INumberInputField {\n fieldName: FieldNames | QuantityKeys,\n max: number\n value: number\n}\n\nexport const NumberInputField: FC = ({ fieldName, max, value }) => {\n const { entity, formDifference } = useFormContext()\n\n const FONT_SIZE = (value: string) => `${1.6 * 6 / (value.length > 6 ? value.length : 6)}rem`\n\n const change = useAction(orderSlice.actions.change)\n\n const handleChange = useCallback((e, value, key) => {\n change({\n key: fieldName,\n value: sanitizers.numberInput(parseInt(`${value}`, 10), max),\n entity })\n }, [fieldName, max, entity])\n\n return (\n \n )\n}\n", "import { DEFAULT_NUMBER_MAX_VALUE } from '@qwerty.software/ui-order-form/src/store/constants'\nimport notify from \"utils/notify\"\n\nexport const numberInput = (value: number, max: number) => {\n if (value < 0 || isNaN(value)) {\n return 0\n }\n\n if (value >= max) {\n Boolean(value < DEFAULT_NUMBER_MAX_VALUE) && notify.warning('Please postpone the deadline to add more pages/words/slides to the order form')\n return max\n }\n\n return value\n}\n", "import { OrderValues } from '@qwerty.software/ui-order-form/src/store/slices/order/types'\n\nexport const id = (value: any): OrderValues['preferredOrder']['value'] => {\n switch (value) {\n case '':\n return ''\n\n default:\n const num = parseInt(value, 10)\n\n return Number.isNaN(num) ? '' : num\n }\n}\n", "import * as React from 'react'\nimport clsx from 'clsx'\nimport { useSelector } from 'react-redux'\n\nimport useAction from 'hooks/useAction'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport UiSwitcher, { ChangeHandler } from '@qwerty.software/mono-ui-switcher'\n\nimport { orderSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { FieldNames, QuantityKeys } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { PAGES_SWITCHER_KEY, WORDS_SWITCHER_KEY } from '@qwerty.software/ui-order-form/src/store/slices/order/constants'\n\n// import scssVariables from '../../../variables.module.scss'\n\nimport '@qwerty.software/mono-ui-switcher/lib/variant_default/index.css'\nimport '@qwerty.software/mono-ui-switcher/lib/variant_v-buttons/index.css'\n\ninterface SwitcherProps { }\n\nconst PagesWordsSwitcher: React.FC = () => {\n const pagesWordsSwitcher = useSelector(value(FieldNames.PAGES_WORDS_SWITCHER))\n const { entity } = useFormContext()\n\n const change = useAction(orderSlice.actions.change)\n\n const handleChange = React.useCallback((e, checked, key) => {\n change({ key, value: checked ? WORDS_SWITCHER_KEY : PAGES_SWITCHER_KEY, entity })\n }, [pagesWordsSwitcher])\n\n return (\n \n );\n};\n\nexport default PagesWordsSwitcher;\n", "import { useMemo } from 'react'\nimport { useSelector } from 'react-redux'\n\nimport pluralize from 'pluralize'\n\nimport { FieldNames, QuantityKeys } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nexport const useHint = ({ quantityKeyAsLabel }: { quantityKeyAsLabel: boolean }) => {\n const { spacings } = getBootstrapData()\n\n const d = useDictionary()\n\n const quantity = useSelector(value(FieldNames.QUANTITY))\n const quantityKey = useSelector(value(FieldNames.QUANTITY_KEY))\n const words = useSelector(value(FieldNames.WORDS))\n const spacing = useSelector(value(FieldNames.SPACING))\n\n const wordsPerPage = spacings.find(({ id }) => id === spacing)?.wordsCount\n\n return useMemo(() => {\n switch (quantityKey) {\n case QuantityKeys.PAGES: {\n const wordsFromPages = Math.ceil(quantity * wordsPerPage)\n return d('hint.quantity', { amount: `${wordsFromPages}`, quantity: `${pluralize(QuantityKeys.WORDS, wordsFromPages)}` })\n }\n case QuantityKeys.WORDS: {\n return d('hint.quantity', { amount: `${quantity}`, quantity: `${pluralize(QuantityKeys.PAGES, quantity)}` })\n }\n case QuantityKeys.QUESTIONS: {\n return !quantityKeyAsLabel\n ? `Question${quantity > 1 ? 's' : ''}`\n : null\n }\n case QuantityKeys.PROBLEMS: {\n return !quantityKeyAsLabel\n ? `Problem${quantity > 1 ? 's' : ''}`\n : null\n }\n }\n }, [quantity, quantityKey, quantityKeyAsLabel, words, wordsPerPage])\n\n}\n", "import * as React from 'react'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { FieldBox } from '././../../fieldbox'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { RadioGroupField } from '../_common/radio-group'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { useSelector } from 'react-redux'\nimport { SelectField } from '../_common/select'\n\ninterface SpacingProps { }\n\nexport const Spacing = React.memo(() => {\n const d = useDictionary()\n\n const { spacings } = getBootstrapData()\n\n const spacing = useSelector(value(FieldNames.SPACING))\n\n return (\n \n \n \n )\n})\n\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { FieldBox } from '././../../fieldbox'\n\nimport { MAX_SLIDES, value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport { SpeakerNotes } from './speaker-notes'\nimport { NumberInputField } from '../_common/number-input'\n\ninterface SlidesProps {\n withSpeakerNotes?: boolean\n}\n\nexport const Slides = React.memo(({ withSpeakerNotes = true }) => {\n const slides = useSelector(value(FieldNames.SLIDES))\n const slidesLimit = useSelector(MAX_SLIDES)\n\n const d = useDictionary()\n\n return (\n \n
\n \n {withSpeakerNotes ? : null}\n
\n \n )\n})", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\nimport clsx from 'clsx'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport useAction from 'hooks/useAction'\n\nimport { Checkbox } from './../_common/checkbox'\nimport { type ChangeHandler } from '@qwerty.software/mono-ui-checkbox'\nimport Tooltip from '@qwerty.software/ui-order-form/src/components/tooltip'\n\nimport { FloatingTooltip } from './../../tooltip/floating-tooltip'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { orderSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\ninterface SpeakerNotesProps {\n withTooltip?: boolean\n}\n\nexport const SpeakerNotes = React.memo(({ withTooltip }) => {\n const d = useDictionary()\n\n const { entity } = useFormContext()\n\n const speakerNotes = useSelector(value(FieldNames.SPEAKER_NOTES))\n const slides = useSelector(value(FieldNames.SLIDES))\n\n const change = useAction(orderSlice.actions.change)\n const handleChange = React.useCallback((e, checked, name) => {\n change({ key: FieldNames.SPEAKER_NOTES, value: slides > 0 && checked, entity })\n }, [slides])\n\n React.useEffect(() => {\n slides < 1 && speakerNotes && change({ key: FieldNames.SPEAKER_NOTES, value: false })\n }, [slides, speakerNotes, change])\n\n return (\n
\n \n \n \n {withTooltip && d('tooltips.speakerNotes')\n ?
\n \n
\n : null\n }\n
\n )\n})\n", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport {\n default as BaseCheckBox,\n type CheckboxProps as BaseCheckboxProps,\n} from '@qwerty.software/mono-ui-checkbox'\n\nimport '@qwerty.software/mono-ui-checkbox/lib/variant_default/index.css'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\ninterface CheckboxProps extends Omit {}\n\nexport const Checkbox = React.memo((props) => {\n const { formDifference: { checkBoxIcons = null} } = useFormContext()\n\n const checkedIcon = React.useMemo(() => {\n if (props.iconChecked) {\n return props.iconChecked\n }\n\n if (checkBoxIcons?.checked) {\n return \n }\n\n return undefined\n }, [props.iconChecked, checkBoxIcons])\n\n const uncheckedIcon = React.useMemo(() => {\n if (props.iconUnchecked) {\n return props.iconUnchecked\n }\n\n if (checkBoxIcons?.unchecked) {\n return \n }\n\n return undefined\n }, [props.iconUnchecked, checkBoxIcons])\n\n return (\n \n )\n})\n", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { default as BaseFloatingTooltip } from 'framework/tooltips/floating-tooltip'\n\ninterface IFloatingTooltipProps {\n text: string\n children: React.ReactNode | React.ReactNode[] | string\n cursorType?: 'auto' | 'default' | 'pointer' | 'text' | 'wait' | 'help' | 'progress' | 'crosshair' | 'move' | 'not-allowed' | 'grab' | 'grabbing' | 'context-menu' | 'cell' | 'vertical-text' | 'alias' | 'copy' | 'no-drop' | 'ew-resize' | 'ns-resize' | 'nesw-resize' | 'nwse-resize' | 'col-resize' | 'row-resize' | 'all-scroll' | 'zoom-in' | 'zoom-out' | 'none'\n shouldAppears?: boolean\n className?: string\n wrapperClassName?: string\n}\n\nexport const FloatingTooltip = React.memo(({\n children,\n text,\n shouldAppears = false,\n className,\n wrapperClassName,\n cursorType = 'default',\n}) => {\n return (\n \n {children}\n \n )\n})\n", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport useWindowEvent from 'hooks/useWindowEvent'\nimport { useIsMouseIsTouchDevice } from 'helpers/use-is-mouse-device'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport './styles.scss'\n\ninterface IFloatingTooltipProps {\n shouldAppears: boolean\n text: string\n cursorType?: string\n direction?: 'left' | 'right'\n\n className?: string\n wrapperClassName?: string\n\n children: React.ReactNode | React.ReactNode[] | string\n}\n\nconst FloatingTooltip: React.FC = ({\n shouldAppears,\n text,\n cursorType = 'default',\n\n direction=\"right\",\n\n children,\n\n className,\n wrapperClassName\n}) => {\n const ref = React.useRef(null)\n const mdUp = useMedia('md', 'up')\n\n const {isMouseDevice, isTouchDevice} = useIsMouseIsTouchDevice()\n\n const [open, setOpen] = React.useState(false)\n const [position, setPosition] = React.useState({ top: 0, left: 0 })\n\n const handleOpen = React.useCallback(() => (isMouseDevice || mdUp) && setOpen(true), [isMouseDevice, mdUp])\n const handleClose = React.useCallback(() => (isMouseDevice || mdUp) && setOpen(false), [isMouseDevice, mdUp])\n const handleClick = React.useCallback((e) => {\n if (isTouchDevice || !mdUp) {\n e.preventDefault()\n setOpen(!open)\n }\n }, [setOpen, open, mdUp, isTouchDevice])\n\n const handleOutsideClick = React.useCallback((e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setOpen(false)\n }\n }, [ref?.current])\n\n const handleScroll = React.useCallback(() => {\n setOpen(false)\n }, [setOpen])\n\n useWindowEvent('scroll', handleScroll, [handleScroll])\n useWindowEvent('click', handleOutsideClick, [handleOutsideClick])\n\n const handleMouseMove = React.useCallback((e) => {\n const x = e.clientX\n const y = e.clientY\n\n const top = y + 20\n let left = x + 20\n\n if (window.innerWidth - left < 200 && direction === 'right') {\n left = x - 200\n }\n\n if (direction === 'left') {\n left = x - 200\n }\n setPosition({ top, left })\n }, [direction])\n\n if (!shouldAppears) {\n return children\n }\n\n return (\n \n {children}\n {text && open && !(position.top === 0 && position.left === 0) ? (\n <>{mdUp ? (\n
\n
\n {text}\n
\n
\n ) : (\n
\n
\n {text}\n
\n
\n\n )}\n ) : null}\n \n )\n}\n\nexport default FloatingTooltip\n", "import * as React from 'react'\n\nconst useWindowEvent = (\n type: K,\n listener: (this: Window, ev: WindowEventMap[K]) => any,\n watchParams: any[] = [],\n listenerOptions?: AddEventListenerOptions\n) => {\n React.useEffect(() => {\n window.addEventListener(type, listener, listenerOptions)\n\n return () => {\n window.removeEventListener(type, listener, listenerOptions)\n }\n }, watchParams)\n}\n\nexport default useWindowEvent\n", "import { useCallback, useState } from 'react'\nimport useWindowEvent from 'hooks/useWindowEvent'\n\nexport const useIsMouseIsTouchDevice = () => {\n const [isMouseDevice, setIsMouseDevice] = useState(matchMedia('(pointer:fine)').matches)\n const [isTouchDevice, setIsTouchDevice] = useState(matchMedia('(pointer:coarse)').matches)\n\n const handleResize = useCallback(() => {\n setIsMouseDevice(matchMedia('(pointer:fine)').matches)\n setIsTouchDevice(matchMedia('(pointer:coarse)').matches)\n }, [setIsMouseDevice, setIsTouchDevice])\n useWindowEvent('resize', handleResize, [handleResize])\n\n return { isMouseDevice, isTouchDevice }\n}\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { FieldBox } from '././../../fieldbox'\n\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { DEFAULT_NUMBER_MAX_VALUE } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport { SoftCopies } from './soft-copies'\nimport { NumberInputField } from '../_common/number-input'\n\ninterface SourcesProps {\n withSoftCopies?: boolean\n withTooltipSoftCopies?: boolean\n}\n\nexport const Sources = React.memo(({ withSoftCopies = true, withTooltipSoftCopies = false }) => {\n const sources = useSelector(value(FieldNames.SOURCES))\n\n const d = useDictionary()\n\n return (\n \n
\n \n {withSoftCopies ? : null}\n
\n \n )\n})", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport useAction from 'hooks/useAction'\n\nimport { Checkbox } from './../_common/checkbox'\nimport { type ChangeHandler } from '@qwerty.software/mono-ui-checkbox'\n\nimport { FloatingTooltip } from './../../tooltip/floating-tooltip'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { orderSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport Tooltip from 'components/tooltip'\nimport clsx from 'clsx'\n\ninterface SoftCopiesProps {\n withTooltip?: boolean\n}\n\nexport const SoftCopies = React.memo(({ withTooltip }) => {\n const d = useDictionary()\n\n const { entity } = useFormContext()\n\n const softCopies = useSelector(value(FieldNames.SOFT_COPIES))\n const sources = useSelector(value(FieldNames.SOURCES))\n\n const change = useAction(orderSlice.actions.change)\n const handleChange = React.useCallback((e, checked, name) => {\n change({ key: FieldNames.SOFT_COPIES, value: sources > 0 && checked, entity })\n }, [sources])\n\n React.useEffect(() => {\n sources < 1 && softCopies && change({ key: FieldNames.SOFT_COPIES, value: false })\n }, [sources, softCopies, change])\n\n return (\n
\n \n \n \n {withTooltip && d('tooltips.softCopies')\n ?
\n \n
\n : null\n }\n
\n )\n})\n", "import * as React from 'react'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { FieldBox } from '../../fieldbox'\nimport { WriterCategoryField } from './field'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\n\nexport interface OptionButtonProps {\n value: GS['bootstrapData']['writerCategories'][number]['id']\n title: GS['bootstrapData']['writerCategories'][number]['viewedTitle']\n tooltip: GS['bootstrapData']['writerCategories'][number]['description']\n checked: boolean\n deadlineFieldOnSameStep?: boolean\n forceHideFloatingTooltip?: boolean\n badge?: string\n price?: string\n}\ninterface WriterCategoryProps {\n label?: string\n deadlineFieldOnSameStep?: boolean\n withPreferred?: boolean\n}\n\nexport const WriterCategory = React.memo(({ label, deadlineFieldOnSameStep, withPreferred = true }) => {\n const d = useDictionary()\n\n return (\n \n \n \n )\n})\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport useAction from 'hooks/useAction'\n\nimport RadioGroup, { ChangeHandler } from '@qwerty.software/mono-ui-radio-group'\nimport { OptionButton } from './option-button'\n\nimport { FieldNames, WriterCategoryIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { orderSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport type { IUpsaleBadges } from '@qwerty.software/ui-order-form/src/templates/dashboard/hooks/use-upsales-badges'\nimport type { IWritersPrices } from './use-writers-prices'\n\nimport '@qwerty.software/mono-ui-radio-group/lib/variant_default/index.css'\nimport clsx from 'clsx'\n\nexport interface OptionButtonProps {\n value: GS['bootstrapData']['writerCategories'][number]['id']\n title: GS['bootstrapData']['writerCategories'][number]['viewedTitle']\n tooltip: GS['bootstrapData']['writerCategories'][number]['description']\n checked: boolean\n deadlineFieldOnSameStep?: boolean\n forceHideFloatingTooltip?: boolean\n}\ninterface WriterCategoryProps {\n deadlineFieldOnSameStep?: boolean\n badges?: IUpsaleBadges\n prices?: IWritersPrices\n forceHideFloatingTooltip?: boolean\n withPreferred?: boolean\n}\n\nexport const WriterCategoryField = React.memo(({\n deadlineFieldOnSameStep,\n badges,\n prices,\n forceHideFloatingTooltip,\n withPreferred = true,\n}) => {\n const { entity, formDifference: { WriterCategoryButton } = null } = useFormContext()\n\n let { writerCategories } = getBootstrapData()\n if (!withPreferred) {\n writerCategories = writerCategories.filter(({ id }) => id !== WriterCategoryIds.PREFERRED)\n }\n\n const writerCategory = useSelector(value(FieldNames.WRITER_CATEGORY))\n\n const change = useAction(orderSlice.actions.change)\n const handleChange = React.useCallback(({ target }) => {\n change({ key: FieldNames.WRITER_CATEGORY, value: parseInt(`${target.value}`, 10), entity })\n }, [])\n\n return (\n \n {writerCategories.map(({ id, viewedTitle, description }, index) => (\n Boolean(WriterCategoryButton)\n ? \n : \n ))}\n \n )\n})\n", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { Option } from '@qwerty.software/mono-ui-radio-group'\nimport Tooltip from '../../../tooltip'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\nimport { usePreferredError } from './preferred-error-tooltip/use-preferred-error'\nimport { WriterCategoryIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport type { OptionButtonProps } from '..'\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\nimport { upsaleBadges } from '@qwerty.software/ui-order-form/src/templates/dashboard/hooks/use-upsales-badges'\n\nexport const OptionButton = React.memo(({\n value,\n title,\n tooltip,\n checked,\n deadlineFieldOnSameStep,\n badge,\n price,\n}) => {\n const { writerCategories } = getBootstrapData()\n const d = useDictionary()\n\n const smDown = useMedia('sm', 'down')\n\n const writerCategory = React.useMemo(() => writerCategories.find(({ id }) => id === value), [writerCategories, value])\n const percent = parseInt(`${writerCategory.percent}`, 10)\n\n const { errorRef } = usePreferredError({ value, deadlineFieldOnSameStep })\n\n let tooltipAlign\n switch (true) {\n case smDown && value === WriterCategoryIds.BEST_AVAILIBLE:\n tooltipAlign = 'left-bottom'\n break\n case smDown && value === WriterCategoryIds.PREFERRED:\n tooltipAlign = 'right-bottom'\n break\n default:\n tooltipAlign = 'center-bottom'\n }\n\n let tooltipFromDictionary\n let modifier\n switch (value) {\n case WriterCategoryIds.BEST_AVAILIBLE:\n tooltipFromDictionary = d('tooltips.writerCategory.bestAvailable')\n modifier = 'best-available'\n break\n case WriterCategoryIds.PREFERRED:\n tooltipFromDictionary = d('tooltips.writerCategory.preferredWriter')\n modifier = 'preferred'\n break\n case WriterCategoryIds.TOP:\n tooltipFromDictionary = d('tooltips.writerCategory.topWriter')\n modifier = 'top'\n break\n case WriterCategoryIds.PRO:\n tooltipFromDictionary = d('tooltips.writerCategory.proWriter')\n modifier = 'pro'\n break\n }\n\n return (\n \n \n \n \n {typeof title === 'string' ? title.toLowerCase().split(' ').join('\\n') : title}\n \n {price ? {price} : null}\n {percent > 0 && !price && badge !== upsaleBadges.APPLIED && badge !== upsaleBadges.FREE\n ? +{percent}%\n : null\n }\n {badge\n ? \n {badge}\n \n : null\n }\n \n \n )\n})\n", "import React, { useCallback } from 'react'\nimport { useSelector } from 'react-redux'\n\nimport useTooltip from '@qwerty.software/mono-ui-tooltip/lib/variant_default'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\nimport useAction from 'hooks/useAction'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport { FieldNames, WriterCategoryIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { value as getValue } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { stepActions } from '@qwerty.software/ui-order-form/src/store/slices/step/slice-creator'\n\nimport scrollTo from 'helpers/scroll/scroll-to'\n\nimport '@qwerty.software/mono-ui-tooltip/lib/variant_default/index.css'\n\ninterface IHookProps {\n value: GS['bootstrapData']['writerCategories'][number]['id'] // for mapping\n deadlineFieldOnSameStep?: boolean\n tooltipContent?: string | React.ReactNode\n alignX?: 'left' | 'right'\n}\n\nexport const usePreferredActions = ({ deadlineFieldOnSameStep = false } = {}) => {\n const forward = useAction(stepActions.forward)\n\n const handleForward = useCallback(() => {\n forward()\n setTimeout(() => {\n // @ts-ignore\n scrollTo({ where: FieldNames.DEADLINE, options: { offset: -120 }, focusOnTarget: true })\n }, 100)\n }, [forward])\n\n const handleFocusDeadline = useCallback(() => {\n deadlineFieldOnSameStep\n // @ts-ignore\n ? scrollTo({ where: FieldNames.DEADLINE, options: { offset: -120 }, focusOnTarget: true })\n : handleForward()\n }, [forward, handleForward])\n\n return {\n handleFocusDeadline,\n }\n}\n\nexport const usePreferredError = ({ value, deadlineFieldOnSameStep, tooltipContent, alignX }: IHookProps) => {\n const { rawOrder } = useFormContext()\n const isDashboard = Boolean(rawOrder)\n\n const { deadlines } = getBootstrapData()\n const deadline = useSelector(getValue(FieldNames.DEADLINE))\n const bdDeadline = deadlines.find(({ id }) => id === deadline)\n\n const isPrefferdDisabled = bdDeadline.hours < 48 && value === WriterCategoryIds.PREFERRED\n\n const { handleFocusDeadline } = usePreferredActions({ deadlineFieldOnSameStep })\n\n const [tooltipRef] = useTooltip(\n \n {tooltipContent\n ? tooltipContent\n : <>\u26A0 You can\u2019t choose preferred writer because your deadline is less than 2 days. {!isDashboard ? <>Please change your deadline first or choose another writer category : null}\n }\n ,\n [], { align: {x: alignX || 'right', y: 'bottom'}, triggers: ['click'], clickOnly: true })\n\n return {\n shouldDisable: bdDeadline.hours < 48,\n errorRef: isPrefferdDisabled ? tooltipRef : null,\n }\n}\n", "import { useMemo } from \"react\"\nimport { useSelector } from \"react-redux\"\n\nimport useAdditionalFeturesDisabled from \"../form-fields/additional-features/use-additional-features-disabled\"\n\nimport { value } from \"@qwerty.software/ui-order-form/src/store/slices/order\"\n\nimport { FieldNames, UpsaleIds, WorkTypeIds, WriterCategoryIds } from \"@qwerty.software/ui-order-form/src/store/constants\"\nimport { getUserData } from \"global-entities/user-data/selectors\"\n\nimport { getBootstrapData } from \"global-entities/bootstrap-data/utils/get\"\nimport getFromConfigs from \"helpers/configs/get-from-configs\"\nimport { FORCE_HIDE_TURNITIN_UPSALE } from \"constants/configs\"\n\nexport enum Categories {\n WRITER_CATEGORY = 'Writer category',\n ADDITIONAL_FEATURES = 'Additional features'\n}\n\ninterface IUpsale {\n id: UpsaleIds | WriterCategoryIds\n key: UpsaleIds | WriterCategoryIds\n\n price: string\n percent: string\n\n category: Categories\n\n name: string\n title: string\n description: string\n viewedTitle: string\n\n created_at: MySQL_DateTime\n updated_at: MySQL_DateTime\n}\n\nexport const useFilteredUpsales = ({ writerId = null }: { writerId?: WriterCategoryIds } = {}) => {\n const forceHideTurnitin = getFromConfigs(FORCE_HIDE_TURNITIN_UPSALE)\n\n\tconst userData: any = useSelector(getUserData)\n\n\tlet activeWriter = useSelector(value(FieldNames.WRITER_CATEGORY))\n if (writerId) activeWriter = writerId\n\n\tconst sources = useSelector(value(FieldNames.SOURCES))\n\tconst slides = useSelector(value(FieldNames.SLIDES))\n const preferredOrder = useSelector(value(FieldNames.PREFERRED_ORDER))\n const workType = useSelector(value(FieldNames.WORK_TYPE))\n\n const { writerCategories } = getBootstrapData()\n const preferredWriter = useMemo(() => writerCategories.find(item => item.id === preferredOrder.data?.preferredWriterStatus), [writerCategories, preferredOrder.data?.preferredWriterStatus])\n\n\tlet disabledFeatures = useAdditionalFeturesDisabled()\n\n\tconst filteredPreviousFeatures = useMemo(() => (userData?.topUpsales as IUpsale[] || []).map((item) => {\n switch (true) {\n case item.category === Categories.WRITER_CATEGORY:\n if (item.id === WriterCategoryIds.PRO && (activeWriter === WriterCategoryIds.TOP || preferredWriter && preferredWriter.id === WriterCategoryIds.TOP)) return\n if (item.id === WriterCategoryIds.TOP && preferredWriter && preferredWriter.id === WriterCategoryIds.TOP && activeWriter === WriterCategoryIds.PREFERRED) return\n if (item.id === WriterCategoryIds.PRO && preferredWriter && preferredWriter.id === WriterCategoryIds.PRO && activeWriter === WriterCategoryIds.PREFERRED) return\n\n return item\n\n case item.category === Categories.ADDITIONAL_FEATURES:\n if (item.id === UpsaleIds.TURNITIN_REPORT && forceHideTurnitin) return\n if (workType === WorkTypeIds.MULTIPLY_CHOISE_QUESTIONS && (item.id === UpsaleIds.SPEAKER_NOTES || item.id === UpsaleIds.SOFT_COPIES)) {\n return\n }\n if (workType === WorkTypeIds.PROBLEM_SOLVING && item.id === UpsaleIds.SPEAKER_NOTES) return\n if (item.id === UpsaleIds.SPEAKER_NOTES && slides < 1) return\n if (item.id === UpsaleIds.SOFT_COPIES && sources < 1) return\n if (disabledFeatures[item.id]) return\n\n return item\n }\n }).filter((item) => item), // filter undefined values after map\n [\n userData,\n sources,\n slides,\n activeWriter,\n workType,\n disabledFeatures\n ])\n\n return { filteredPreviousFeatures }\n}\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\nimport { createSelector } from '@reduxjs/toolkit'\n\nimport { disabled as disabledCheckers, DisabledChecker } from '@qwerty.software/ui-order-form/src/store/slices/order/fields-relations/additional-features'\nimport { GET_STATE } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nfunction useAdditionalFeaturesDisabled() {\n const d = useDictionary()\n\n const DISABLED_ADDITIONAL_FEATURES = React.useCallback(createSelector(\n GET_STATE,\n state => Object.entries(disabledCheckers).reduce((acc, entry) => {\n const [key, check] = entry as [key: keyof typeof disabledCheckers, check: DisabledChecker]\n const disabled = check(state)\n\n Object.entries(disabled).forEach((entry) => {\n const [id, value] = entry as unknown as [id: keyof typeof disabled, value: boolean]\n\n if (value) {\n let tooltip = d(['tooltips.additionalFeatures.disabled', key, id].join('.') as any)\n\n if (!tooltip) {\n tooltip = d(['tooltips.additionalFeatures.disabled', key, 'default'].join('.') as any)\n }\n\n acc[id] = tooltip\n }\n })\n\n return acc\n }, {})\n ), [])\n\n return useSelector(DISABLED_ADDITIONAL_FEATURES)\n}\n\nexport default useAdditionalFeaturesDisabled", "import { aiCheckReport } from './ai-check-report'\nimport { multiplyChoiseQuestions } from './multiply-choise-questions'\nimport { resume101Org } from './resume101.org'\n\nexport const disabled = {\n aiCheckReport,\n multiplyChoiseQuestions,\n resume101Org,\n} as const\n\nexport type { DisabledChecker } from './types'", "import { WorkTypeIds, PaperTypeIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { disabledAdditionalFeaturesByMultiplyChoiseQuestions } from '../constants'\n\nimport type { OrderState as State } from '../../types'\nimport type { DisabledChecker } from './types'\n\nconst checker: DisabledChecker = (state: State) => {\n const disabled = {}\n\n switch (true) {\n case Boolean(state.workType === WorkTypeIds.MULTIPLY_CHOISE_QUESTIONS):\n case Boolean(state.paperType === PaperTypeIds.MULTIPLY_CHOISE_QUESTIONS):\n for (const id of disabledAdditionalFeaturesByMultiplyChoiseQuestions) {\n disabled[id] = true\n }\n break\n }\n\n return disabled\n}\n\nexport const multiplyChoiseQuestions = checker", "import { PaperTypeIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { disabledAdditionalFeaturesByPaperType } from '../constants'\n\nimport type { OrderState as State } from '../../types'\nimport type { DisabledChecker } from './types'\n\nconst checked: DisabledChecker = (state: State) => {\n const disabled = {}\n\n switch (true) {\n case Boolean(state.paperType === PaperTypeIds.RESUME_WRITING__COVER_LETTER__FOLLOW_UP):\n case Boolean(state.paperType === PaperTypeIds.CV_WRITING__COVER_LETTER__FOLLOW_UP):\n for (const id of disabledAdditionalFeaturesByPaperType) {\n disabled[id] = true\n }\n break\n }\n\n return disabled\n}\n\nexport const resume101Org = checked", "import { UpsaleIds, WriterCategoryIds } from \"@qwerty.software/ui-order-form/src/store/constants\";\n\nexport const STATIC_FEATURES_BADGES = {\n [UpsaleIds.PLAGIARISM_REPORT]: 'Popular',\n [UpsaleIds.PROGRESSIVE_DELIVERY]: 'Popular',\n [UpsaleIds.SECOND_VERSION_ORDER]: '-30%',\n [UpsaleIds.AI_CHECK_REPORT]: 'New',\n} as Record\n", "import * as React from 'react'\nimport _isEmpty from 'lodash/isEmpty'\nimport { useSelector } from 'react-redux'\n\nimport useAction from 'hooks/useAction'\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { getIsAuthorized } from 'global-entities/user-data/selectors'\n\nimport { getSearchPreferred } from './requests/search-preferred'\n\nimport { PreferredOrderForm } from './form'\nimport { PreferredSearchInput } from './form/components/search-input'\n\nimport type { IPreferredWriter } from './requests/types'\n\ninterface IPreferredOrderProps {\n useTopLogin?: boolean\n useInnerLabel?: boolean\n disableErrorAnimation?: boolean\n}\n\nexport const PreferredOrder = React.memo(({\n useTopLogin,\n useInnerLabel,\n disableErrorAnimation = false\n}) => {\n const d = useDictionary()\n\n const [emptyWritersListError, setEmptyWritersListError] = React.useState(false)\n const [preferredWriters, setPreferredWriters] = React.useState(null)\n\n const isAuthorized = useSelector(getIsAuthorized)\n\n const getPreferredWritersList = useAction(getSearchPreferred)\n\n React.useEffect(() => {\n if (isAuthorized && !preferredWriters?.length) {\n getPreferredWritersList()\n .then((response) => {\n if (response.meta.requestStatus === 'fulfilled' && _isEmpty(response.payload)) {\n setEmptyWritersListError(true)\n }\n\n setPreferredWriters(response.payload)\n })\n .catch((error) => {\n setPreferredWriters([])\n console.error(error)\n })\n }\n }, [isAuthorized])\n\n return (\n \n )\n})\n", "import { createAsyncThunk } from '@reduxjs/toolkit'\nimport _size from 'lodash/size'\n\nimport { reqHPromise } from 'utils/http-client/request-handler'\nimport { IPreferredWriter } from './types'\n\ninterface IResponse {\n data?: {\n data?: IPreferredWriter[] | []\n }\n errors?: any[]\n}\n\nexport const getSearchPreferred = createAsyncThunk('ui-order-form/get-search-preferred', async (params, thunkAPI) => {\n try {\n const response: IResponse = await reqHPromise({ url: `search-preferred` })\n .then(response => {\n if (_size(response?.errors) > 0) {\n return response\n }\n\n return response?.data\n })\n .catch((error) => {\n throw new Error(error)\n })\n\n if (response?.errors?.length) {\n throw new Error(response.errors[0])\n }\n\n return response\n } catch(error) {\n return thunkAPI.rejectWithValue(error)\n }\n})", "import * as React from 'react'\nimport { useDispatch, useSelector } from 'react-redux'\nimport clsx from 'clsx'\nimport _isEmpty from 'lodash/isEmpty'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { orderSlice, ORDER } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport useAction from 'hooks/useAction'\nimport { useSaga } from 'store/hooks/useSaga'\nimport { checkPreferredOrderSaga } from '@qwerty.software/ui-order-form/src/store/slices/order/preferred-order/saga'\nimport { CHECK_PREFERRED_ORDER_SAGA } from '@qwerty.software/ui-order-form/src/store/slices/order/preferred-order/constants'\n\nimport actionTracker from 'utils/action-tracker'\n\nimport { getIsAuthorized as IS_AUTHORIZED } from 'global-entities/user-data/selectors'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport { FieldBox } from '../../../fieldbox'\nimport { LoginLink } from '../../_common/login-link'\nimport { PreferredHints } from './components/hints'\nimport { FloatingTooltip } from './../../../tooltip/floating-tooltip'\nimport { PreferredSubmitButton } from './components/button'\n\nimport { PREFERRED_ORDER_FORM_ID } from './../definitions'\nimport type { IPreferredWriter } from '../requests/types'\n\nexport interface Statuses {\n authorized: boolean\n loading: boolean\n empty: boolean\n}\n\nexport interface PreferredOrderFormProps {\n InputComponent: React.ElementType\n useTopLogin?: boolean\n useInnerLabel?: boolean\n disableErrorAnimation?: boolean\n shouldClearOnCancel?: boolean\n\n preferredWritersList?: IPreferredWriter[]\n\n error?: string | boolean | React.ReactNode[]\n}\n\nexport const PreferredOrderForm = React.memo(({\n InputComponent,\n useTopLogin,\n useInnerLabel,\n disableErrorAnimation = false,\n shouldClearOnCancel = false,\n preferredWritersList,\n error,\n}) => {\n useSaga(checkPreferredOrderSaga)\n\n const dispatch = useDispatch()\n\n const d = useDictionary()\n\n const smDown = useMedia('sm', 'down')\n const smUp = useMedia('sm', 'up')\n\n const isAuthorized: boolean = useSelector(IS_AUTHORIZED)\n const [customError, setCustomError] = React.useState(false)\n\n const { preferredOrder } = useSelector(ORDER)\n\n const change = useAction(orderSlice.actions.change)\n const clear = useAction(orderSlice.actions.cancelPreferredOrderData)\n\n React.useEffect(() => {\n if (!isAuthorized) {\n actionTracker.track({ eventName: 'Preferred writer. Result: Should login' })\n }\n\n if (preferredOrder.isLoading) {\n change({ key: FieldNames.PREFERRED_ORDER, value: { ...preferredOrder, isLoading: false } })\n }\n }, [])\n\n React.useEffect(() => {\n if (error) {\n setCustomError(error)\n }\n }, [error])\n\n React.useEffect(() => {\n if (isAuthorized && !error) {\n setCustomError(false)\n return\n }\n\n change({ key: FieldNames.PREFERRED_ORDER, value: { ...preferredOrder, sended: false, data: undefined } })\n }, [isAuthorized, error])\n\n const label = React.useMemo(() => d('labels.preferredWriter', {\n description: {d('descriptions.preferredWriter')}\n }), [d])\n\n\n const handleSubmit = React.useCallback((e) => {\n e.preventDefault()\n\n if (!_isEmpty(preferredOrder.data)) {\n clear({ shouldClearOnCancel })\n return\n }\n\n change({ key: FieldNames.PREFERRED_ORDER, value: { ...preferredOrder, sended: Date.now(), data: undefined } })\n\n dispatch({ type: CHECK_PREFERRED_ORDER_SAGA })\n }, [preferredOrder, shouldClearOnCancel])\n\n return (\n <>\n \n Please first : null}\n disableErrorAnimation={disableErrorAnimation}\n >\n {smDown || useInnerLabel ? {label} : null}\n\n
\n \n \n \n \n
\n \n \n \n )\n})\n", "import type { SagaIterator } from 'redux-saga'\nimport { call, put, select, takeLatest } from 'redux-saga/effects'\nimport type { Action } from 'redux'\nimport _size from 'lodash/size'\n\nimport { orderSlice } from '../index'\nimport { request } from './request'\n\nimport { CHECK_PREFERRED_ORDER_SAGA } from './constants'\nimport { ORDER } from '..'\nimport { Response } from '../types/preferred-order'\n\nexport function* checkPreferredOrder(action: Action): SagaIterator {\n const order = yield select(ORDER)\n\n yield put(orderSlice.actions.loadingPreferredOrderStart())\n const { data, errors }: Response = yield call(request, order.preferredOrder.value)\n\n if (_size(errors) > 0) {\n yield put(orderSlice.actions.fetchPreferredOrderError(errors))\n return\n }\n\n yield put(orderSlice.actions.checkPreferredOrder(data))\n}\n\nexport function* checkPreferredOrderSaga() {\n yield takeLatest(CHECK_PREFERRED_ORDER_SAGA, checkPreferredOrder)\n}\n", "import _size from 'lodash/size'\nimport _first from 'lodash/first'\n\nimport { reqHPromise } from 'utils/http-client/request-handler'\nimport actionTracker from 'utils/action-tracker'\n\nimport type { Response, PreferredOrderData } from '../types/preferred-order'\n\nexport const request = async (preferredOrderID: number | `${number}` | '') => {\n try {\n const response = await reqHPromise>({\n method: 'GET',\n url: 'orders/checkClientOrder',\n params: {\n order_id: preferredOrderID,\n },\n })\n\n if (_size(response.errors) > 0) {\n actionTracker.track({ eventName: 'Preferred writer. Result: Error' })\n return {\n errors: response.errors,\n }\n }\n\n actionTracker.track({ eventName: 'Preferred writer. Result: Success' })\n\n return {\n data: response.data,\n }\n } catch (error) {\n actionTracker.track({ eventName: 'Preferred writer. Result: Error' })\n\n return {\n errors: [error?.response?.data?.error || error]\n }\n }\n}\n", "export const CHECK_PREFERRED_ORDER_SAGA = 'check-preferred-order' as const\n\nexport * from './constants'\n", "import * as React from 'react'\nimport { useDispatch } from 'react-redux'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { HINT_LOGIN_SAGA } from '@qwerty.software/ui-order-form/src/store/sagas/hint-login'\n\ninterface LoginLinkProps {\n title?: React.ReactNode\n}\n\nexport const LoginLink = React.memo(props => {\n const d = useDictionary()\n const dispatch = useDispatch()\n\n const title = props.title || d('links.login')\n\n const handleClick = React.useCallback(e => dispatch({ type: HINT_LOGIN_SAGA }), [])\n\n return {title}\n})\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\nimport clsx from 'clsx'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport _isEmpty from 'lodash/isEmpty'\n\nimport { ORDER } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport { getIsAuthorized as IS_AUTHORIZED } from 'global-entities/user-data/selectors'\n\nimport { LoginLink } from '../../../_common/login-link'\n\nimport getHintText from '../utils/get-hint-text'\n\nimport useCustomEvent from 'hooks/useCustomEvent'\nimport { FIELD_VALIDATED } from 'constants/custom-events'\nimport { PREFERRED_ORDER } from '../../definitions'\nimport customEvent from 'utils/custom-event'\nimport { IPreferredWriter } from '../../requests/types'\n\nexport interface Statuses {\n authorized: boolean\n loading: boolean\n empty: boolean\n}\n\nexport interface HintsProps {\n customError: React.ReactNode | string | boolean\n setCustomError: React.Dispatch>\n preferredWritersList?: IPreferredWriter[] | [] | null\n}\n\nexport const PreferredHints = React.memo(({ customError, setCustomError, preferredWritersList }) => {\n const d = useDictionary()\n\n const isAuthorized: boolean = useSelector(IS_AUTHORIZED)\n\n const { preferredOrder } = useSelector(ORDER)\n\n const validateEvent = React.useCallback(() => {\n if (!isAuthorized) {\n setCustomError(d('hint.preferredWriter.login.unauthorizedFromSubmit', {\n login: \n }))\n return\n }\n\n if (preferredWritersList && !preferredWritersList.length) {\n setCustomError(d('hint.preferredWriter.login.noWritersFromSubmit'))\n return\n }\n\n setCustomError(d('hint.preferredWriter.login.authorized'))\n }, [isAuthorized, preferredWritersList])\n\n useCustomEvent(FIELD_VALIDATED + PREFERRED_ORDER, validateEvent)\n\n React.useEffect(() => {\n setTimeout(() => { // timeout resolve mounting issue\n if (customError || !_isEmpty(preferredOrder.errors)) {\n customEvent.trigger(\"PRREFERRED_ORDER_ERRORS\", true)\n } else {\n customEvent.trigger(\"PRREFERRED_ORDER_ERRORS\", false)\n }\n })\n }, [customError, preferredOrder?.errors])\n\n switch (true) {\n case !isAuthorized:\n return (\n \n {Boolean(customError)\n ? customError\n : {d('hint.preferredWriter.login.unauthorized', {\n login: \n })}\n }\n \n )\n\n case Boolean(isAuthorized && Boolean(customError)):\n return {customError}\n\n case isAuthorized && !_isEmpty(preferredOrder.errors):\n return {preferredOrder.errors.map(error => typeof error === 'string' ? {error} : Something went wrong. Please try again)}\n\n case isAuthorized && _isEmpty(preferredOrder.errors) && _isEmpty(preferredOrder.data):\n return {d('hint.preferredWriter.main')}\n\n case isAuthorized && _isEmpty(preferredOrder.errors) && !_isEmpty(preferredOrder.data) && !!preferredOrder.sended:\n return (\n
\n \n {getHintText(preferredOrder.data.preferredWriterStatus, {\n bestAvailable: d('hint.preferredWriter.bestAvailable'),\n pro: d('hint.preferredWriter.pro'),\n top: d('hint.preferredWriter.top'),\n })}\n \n \n {d('hint.preferredWriter.policy', {\n policy: (\n \n {d('links.preferredWriter.policy')}\n \n )\n })}\n \n
\n )\n default:\n return null\n }\n})\n", "import { WriterCategoryIds } from '@qwerty.software/ui-order-form/src/store/constants';\nimport * as React from 'react';\n\ninterface GetHintText {\n (writerStatus: ID, hintsList: Record<'bestAvailable' | 'pro' | 'top', React.ReactNode>)\n}\n\nconst getHintText: GetHintText = (writerStatus, { bestAvailable, pro, top }) => {\n switch (writerStatus) {\n case `${WriterCategoryIds.PRO}`:\n case WriterCategoryIds.PRO:\n return <>Success! Please note: {pro}, you will pay 25% more;\n case `${WriterCategoryIds.TOP}`:\n case WriterCategoryIds.TOP:\n return <>Success! Please note: {top}, you will pay 45% more;\n default:\n return bestAvailable;\n }\n}\n\nexport default getHintText\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\nimport _isEmpty from 'lodash/isEmpty'\nimport clsx from 'clsx'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport { ORDER } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport { getIsAuthorized as IS_AUTHORIZED } from 'global-entities/user-data/selectors'\n\nimport CircularProgress from '@qwerty.software/mono-ui-circular-progressbar'\nimport Button from '@qwerty.software/mono-ui-button'\n\nimport { PREFERRED_ORDER_FORM_ID } from '../../definitions'\n\nimport '@qwerty.software/mono-ui-circular-progressbar/lib/variant_default/index.css'\nimport '@qwerty.software/mono-ui-input/lib/variant_default/index.css'\n\ninterface PreferredSubmitButtonProps {}\n\nexport const PreferredSubmitButton = React.memo(() => {\n const d = useDictionary()\n const { entity } = useFormContext()\n\n const isAuthorized: boolean = useSelector(IS_AUTHORIZED)\n\n const { preferredOrder } = useSelector(ORDER)\n\n return (\n \n <>\n {_isEmpty(preferredOrder.data)\n ? d('buttons.preferredWriter.submit')\n : d('buttons.preferredWriter.cancel')\n }\n {preferredOrder.isLoading ? : null}\n \n \n )\n})\n", "import { useState, useCallback, useMemo, memo, useRef, useEffect } from 'react'\nimport { useSelector } from 'react-redux'\nimport _isEmpty from 'lodash/isEmpty'\nimport clsx from 'clsx'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport { orderSlice, ORDER } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport useAction from 'hooks/useAction'\n\nimport { getIsAuthorized as IS_AUTHORIZED } from 'global-entities/user-data/selectors'\n\nimport Input from '@qwerty.software/mono-ui-input'\nimport { PreferredWritersList } from './preferred-writers-list'\n\nimport { LoginLink as Login } from './../../../_common/login-link'\n\nimport * as sanitizers from './../../../_sanitizers'\n\nimport { FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport { PREFERRED_ORDER_FIELDBOX_NAME, PREFERRED_ORDER_FORM_ID } from './../../definitions'\n\nimport type { IPreferredWriter } from '../../requests/types'\n\nimport '@qwerty.software/mono-ui-input/lib/variant_default/index.css'\n\nexport interface Statuses {\n authorized: boolean\n loading: boolean\n empty: boolean\n}\n\nexport interface PreferredInputProps {\n customError: React.ReactNode | string | boolean\n setCustomError: React.Dispatch>\n\n preferredWritersList?: IPreferredWriter[] | [] | null\n}\n\nexport const PreferredSearchInput = memo(({\n customError,\n setCustomError,\n preferredWritersList,\n}) => {\n const inputRef = useRef(null)\n\n const d = useDictionary()\n const { entity } = useFormContext()\n\n const [preferredListOpen, setPreferredListOpen] = useState(false)\n const [initialFavoriteWriters, initialOtherWriters] = useMemo(() => {\n const favoriteWriters = (preferredWritersList || []).filter((writer) => writer.is_favorite)\n const otherWriters = (preferredWritersList || []).filter((writer) => !writer.is_favorite)\n\n return [favoriteWriters, otherWriters]\n }, [preferredWritersList])\n\n const [favoriteWriters, setFavoriteWriters] = useState(initialFavoriteWriters)\n const [otherWriters, setOtherWriters] = useState(initialOtherWriters)\n\n const isAuthorized: boolean = useSelector(IS_AUTHORIZED)\n const { preferredOrder } = useSelector(ORDER)\n\n const change = useAction(orderSlice.actions.change)\n\n const handleChange = useCallback>(({ target }) => {\n setCustomError('')\n\n change({\n key: FieldNames.PREFERRED_ORDER,\n value: {\n ...preferredOrder,\n value: sanitizers.id(target.value),\n data: undefined,\n sended: false,\n errors: [],\n },\n entity,\n })\n\n setPreferredListOpen(true)\n }, [preferredOrder, preferredListOpen, favoriteWriters, otherWriters])\n\n const handleInputClick = useCallback((e) => {\n e.preventDefault()\n e.stopPropagation()\n\n if (!isAuthorized) {\n setCustomError({d('hint.preferredWriter.login.unauthorized', {\n login: \n })})\n }\n\n if (!preferredOrder.sended && isAuthorized && (favoriteWriters?.length || otherWriters?.length)) {\n setPreferredListOpen(!preferredListOpen)\n }\n }, [isAuthorized, preferredListOpen, preferredOrder, favoriteWriters, otherWriters])\n\n useEffect(() => {\n if (preferredWritersList?.length && !preferredOrder.value) {\n setOtherWriters(initialOtherWriters)\n setFavoriteWriters(initialFavoriteWriters)\n }\n\n if (preferredWritersList?.length && preferredOrder.value) {\n const allFiltered = (preferredWritersList || []).filter((writer) => `${writer?.order_id}`.includes(`${preferredOrder?.value}`))\n setOtherWriters(allFiltered.filter((writer) => !writer.is_favorite))\n setFavoriteWriters(allFiltered.filter((writer) => writer.is_favorite))\n }\n }, [preferredOrder.value, preferredWritersList, initialOtherWriters, initialFavoriteWriters])\n\n return (\n <>\n
\n \n
\n \n \n )\n})\n", "import { Dispatch, FC, SetStateAction, useCallback, useEffect, useMemo, useRef, useState } from \"react\"\nimport { useDispatch, useSelector } from \"react-redux\"\nimport clsx from \"clsx\"\nimport OutsideClickHandler from 'react-outside-click-handler'\n\nimport useAction from \"hooks/useAction\"\nimport * as sanitizers from './../../../_sanitizers'\n\nimport { useFormContext } from \"@qwerty.software/ui-order-form/src/contexts/form-context\"\n\nimport { ORDER, orderSlice } from \"@qwerty.software/ui-order-form/src/store/slices/order\"\n\nimport { FieldNames } from \"@qwerty.software/ui-order-form/src/store/constants\"\nimport type { IPreferredWriter } from '../../requests/types'\nimport { CHECK_PREFERRED_ORDER_SAGA } from \"store/slices/order/preferred-order/constants\"\n\ninterface IPreferredWritersListProps {\n opened: boolean\n setOpened: (opened: boolean) => void\n\n setCustomError: Dispatch>\n\n favoriteWriters: IPreferredWriter[]\n otherWriters: IPreferredWriter[]\n\n inputNode: HTMLInputElement\n}\n\nexport const PreferredWritersList: FC = ({\n opened,\n setOpened,\n\n setCustomError,\n\n favoriteWriters,\n otherWriters,\n\n inputNode,\n}) => {\n const listRef = useRef(null)\n const dispatch = useDispatch()\n const { entity } = useFormContext()\n\n const { preferredOrder } = useSelector(ORDER)\n\n const change = useAction(orderSlice.actions.change)\n\n const handleItemClick = useCallback((e) => {\n const dataOrderId = e.currentTarget.getAttribute('data-order-id')\n\n change({\n key: FieldNames.PREFERRED_ORDER,\n value: {\n ...preferredOrder,\n value: sanitizers.id(dataOrderId),\n data: undefined,\n sended: Date.now(),\n errors: [],\n },\n entity,\n })\n\n setCustomError(false)\n setTimeout(() => dispatch({ type: CHECK_PREFERRED_ORDER_SAGA }))\n }, [preferredOrder])\n\n const handleOutsideClick = useCallback((e) => {\n if (inputNode && !inputNode.contains(e.target as Node)) {\n setOpened(false)\n }\n }, [setOpened, inputNode])\n\n if (!opened || preferredOrder.isLoading) {\n return null\n }\n\n return (\n
\n \n
\n {favoriteWriters.length\n ?
\n

Orders with Favorite Writers

\n {favoriteWriters.map((writer) => (\n

\n {`Order ID #${writer.order_id} - ${writer.topic}`}\n \n \n \n \n \n \n \n \n \n

\n ))}\n
\n : null\n }\n {otherWriters.length\n ?
\n

{favoriteWriters.length ? \"Other Orders\" : \"Last Orders\"}

\n {otherWriters.map((writer) => (\n

\n {`Order ID #${writer.order_id} - ${writer.topic}`}\n

\n ))}\n
\n : null\n }\n
\n
\n
\n )\n}", "import * as React from 'react'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { FieldBox } from './../../fieldbox'\nimport { AdditionalFeaturesField } from './field'\n\nimport { FieldNames, UpsaleIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { useUpsalesBadges } from './use-upsales-badges'\n\ninterface AdditionalFeaturesProps {\n specials?: UpsaleIds[]\n}\nexport const AdditionalFeatures = React.memo(({ specials }) => {\n const d = useDictionary()\n const badges = useUpsalesBadges({ hideStaticBadgesIfFavorite: true })\n\n return (\n \n \n \n )\n})\n", "import { FC, useCallback } from 'react'\nimport { useSelector } from 'react-redux'\n\nimport useAction from 'hooks/useAction'\nimport { orderSlice, value as getValue } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport Feature from './feature'\n\nimport useAdditionalFeturesDisabled from './use-additional-features-disabled'\nimport { useSortFilterFeatures } from './use-sort-filter-features'\nimport { useIncludedInPackageFeatures } from './use-included-in-package-features'\n\nimport { UpsaleIds, FieldNames } from '@qwerty.software/ui-order-form/src/store/constants'\n\nexport interface FeaturesProps {\n specials?: UpsaleIds[]\n badges: Record\n}\n\nexport const AdditionalFeaturesField: FC = ({ specials, badges }) => {\n const disabledMap = useAdditionalFeturesDisabled()\n const { entity } = useFormContext()\n\n const { orderedFeatures } = useSortFilterFeatures()\n const values = useSelector(getValue(FieldNames.ADDITIONAL_FEATURES))\n\n const includedInPackageFeatures = useIncludedInPackageFeatures() // features that are included in chosen package (e.g. resume packages)\n\n const change = useAction(orderSlice.actions.change)\n\n const handleChange = useCallback(value => {\n const newValues = values.indexOf(value) !== -1\n ? values.filter(prevValue => prevValue !== value)\n : [...values, value]\n\n change({ key: FieldNames.ADDITIONAL_FEATURES, value: newValues, entity })\n }, [values, change])\n\n return (\n
\n {orderedFeatures.map(({ id, title, viewedTitle, description }) => (\n \n ))}\n
\n )\n}\n", "import * as React from 'react'\nimport clsx from 'clsx'\nimport { useSelector } from 'react-redux'\n\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport { CURRENCY } from '@qwerty.software/currency-switcher/src/store/slice'\n\nimport { Checkbox } from './../_common/checkbox'\nimport Tooltip, { TooltipProps } from '../../tooltip'\nimport { FloatingTooltip } from './../../tooltip/floating-tooltip'\n\nimport { extractTextsFromTitles } from './extract-texts-from-titles'\n\nimport type { CheckboxProps } from '@qwerty.software/mono-ui-checkbox'\n\nexport interface FeatureProps extends Omit {\n value: number | string // string for software checkbox\n forceShowAsChecked?: boolean\n\n onChange: (value: number | string, checked?: boolean) => void\n\n disabled?: boolean | string\n\n title?: string\n viewedTitle: string\n description?: string\n hideBrackets?: boolean\n badge?: boolean | string\n tooltip?: string\n tooltipAlign?: TooltipProps['align']\n\n enableTooltipsOnDisabledFeature?: boolean\n forceDisableFloatingTooltip?: boolean\n\n special?: boolean\n}\n\nconst Feature = React.memo(({\n value,\n checked,\n\n forceShowAsChecked,\n\n disabled = false,\n title = '',\n viewedTitle = '',\n\n description,\n hideBrackets = false,\n badge = false,\n\n tooltip,\n tooltipAlign,\n special,\n\n enableTooltipsOnDisabledFeature = false,\n forceDisableFloatingTooltip = false,\n\n iconChecked,\n iconUnchecked,\n onChange,\n}) => {\n const { formDifference: { additionalFeatures } = null } = useFormContext()\n\n const currency = useSelector(CURRENCY)\n\n const handleChange = React.useCallback((_, checked) => {\n onChange(value, checked)\n }, [onChange])\n\n let { mainText, additionalText } = extractTextsFromTitles({\n title,\n viewedTitle,\n useShortTitle: additionalFeatures?.useShortTitle,\n currency\n })\n additionalText = description || additionalText\n\n if (hideBrackets) {\n additionalText = additionalText.replace(/[\\(\\)]/g, '')\n }\n\n const disabledText = typeof disabled === 'string' ? disabled : null\n\n return (\n \n
\n \n \n {mainText}\n {additionalText\n ? {additionalText}\n : null\n }\n {badge\n ? \n {badge}\n \n : null\n }\n \n \n }\n />\n {!!additionalFeatures?.AdditionalFeatureSpecial && special ? : null}\n \n \n
\n \n \n )\n})\n\nexport default Feature\n", "import { ICurrency } from '@qwerty.software/currency-switcher/src/store/constants'\nimport { replacePriceViaCurrency } from '@qwerty.software/currency-switcher/src/utils/replace-price-via-currency'\n\ninterface IExtractAdditionalText {\n viewedTitle: string\n title: string\n useShortTitle: boolean\n currency: ICurrency\n}\n\nexport const extractTextsFromTitles = ({ useShortTitle, currency, viewedTitle, title }: IExtractAdditionalText) => {\n const mainText = viewedTitle.split('(')[0]\n const additionalText = viewedTitle.split(mainText)[1]\n\n return {\n mainText: useShortTitle ? title : mainText,\n additionalText: replacePriceViaCurrency({ currency, textWithPrice: additionalText })\n }\n}\n\n", "import { useMemo } from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\nimport getFromConfigs from 'helpers/configs/get-from-configs'\n\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\nimport { getUserData } from 'global-entities/user-data/selectors'\n\nimport { UpsaleIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { ESSAYNODELAY_ID, HOMEWORKFORME_ID, NURSING_ID } from 'constants/project-ids'\nimport { FORCE_HIDE_TURNITIN_UPSALE, PROJECT_ID } from 'constants/configs'\n\nconst PROJECTS_FORCE_SHOW_TURNITIN = [\n ESSAYNODELAY_ID,\n HOMEWORKFORME_ID,\n NURSING_ID,\n]\n\nexport interface FeaturesProps {}\n\nexport const useSortFilterFeatures = () => {\n const projectId = getFromConfigs(PROJECT_ID)\n const forceHideTurnitin = getFromConfigs(FORCE_HIDE_TURNITIN_UPSALE)\n\n const userData = useSelector(getUserData)\n const { formDifference, rawOrder } = useFormContext()\n\n // dashboard only\n const isTurnitinChosenInRawOrder = rawOrder?.additional_features?.some(feature => feature.id === UpsaleIds.TURNITIN_REPORT && (feature.chosen || feature.free))\n\n const upsalesSpecificOrder = formDifference?.upsalesSpecificOrder\n\n const { additionalFeatures } = getBootstrapData()\n\n const filteredFeatures = useMemo(() => {\n if (isTurnitinChosenInRawOrder) return additionalFeatures // dashboard only\n\n return (((userData as any)?.paidOrdersCount > 1 || PROJECTS_FORCE_SHOW_TURNITIN.includes(projectId))) && !forceHideTurnitin\n ? additionalFeatures\n : additionalFeatures.filter(feature => feature?.id !== UpsaleIds.TURNITIN_REPORT)\n }, [additionalFeatures, (userData as any)?.paidOrdersCount])\n\n const orderedFeatures = useMemo(() => {\n if (!upsalesSpecificOrder) return filteredFeatures\n\n // if feature id is not in upsalesSpecificOrder we need also to include it to result array but to the end\n return filteredFeatures.sort((a, b) => {\n const aIndex = upsalesSpecificOrder.indexOf(a.id)\n const bIndex = upsalesSpecificOrder.indexOf(b.id)\n\n if (aIndex === -1 && bIndex === -1) return 0\n if (aIndex === -1) return 1\n if (bIndex === -1) return -1\n\n return aIndex - bIndex\n })\n }, [filteredFeatures, upsalesSpecificOrder])\n\n return { orderedFeatures }\n}\n", "import { useEffect, useState } from \"react\"\nimport { useSelector } from \"react-redux\"\n\nimport { value } from \"@qwerty.software/ui-order-form/src/store/slices/order\"\nimport { FieldNames, PaperTypeIds, UpsaleIds } from \"@qwerty.software/ui-order-form/src/store/constants\"\n\nexport const useIncludedInPackageFeatures = () => {\n const paperType = useSelector(value(FieldNames.PAPER_TYPE))\n const [checkedDefault, setCheckedDefault] = useState([])\n\n useEffect(() => {\n if (\n paperType === PaperTypeIds.RESUME_WRITING__COVER_LETTER__FOLLOW_UP ||\n paperType === PaperTypeIds.CV_WRITING__COVER_LETTER__FOLLOW_UP\n ) {\n setCheckedDefault(prevState => [...prevState, UpsaleIds.FOLLOW_UP])\n }\n\n return () => {\n setCheckedDefault([])\n }\n }, [paperType])\n\n return checkedDefault\n}\n", "import { useFilteredUpsales } from '@qwerty.software/ui-order-form/src/components/previously-ordered-upsales/use-filtered-upsales'\n\nimport { UpsaleIds, WriterCategoryIds } from \"@qwerty.software/ui-order-form/src/store/constants\"\nimport { STATIC_FEATURES_BADGES } from './constants'\n\ninterface IUseBadgeOptions {\n staticBadges?: Record\n hideStaticBadgesIfFavorite?: boolean\n}\n\nexport type IUpsaleBadges = Record\n\nexport const useUpsalesBadges = ({\n hideStaticBadgesIfFavorite = false,\n staticBadges = STATIC_FEATURES_BADGES,\n}: IUseBadgeOptions = {}): IUpsaleBadges => {\n let badges = { ...staticBadges, [UpsaleIds.SECOND_VERSION_ORDER]: null }\n\n const { filteredPreviousFeatures } = useFilteredUpsales() // previously ordered features\n\n if (filteredPreviousFeatures.length) {\n\n Object.keys(badges).forEach(key => {\n if (badges[key] === 'Popular') {\n badges[key] = null\n }\n })\n\n if (filteredPreviousFeatures.length) {\n filteredPreviousFeatures.forEach(feature => {\n badges[feature.id] = hideStaticBadgesIfFavorite ? null : 'Favorite'\n })\n }\n }\n\n return badges\n}", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { FieldBox } from '../../fieldbox'\n\nimport Tooltip, { TooltipProps } from '../../tooltip'\n\nimport { FieldNames, PaperTypeIds, WorkTypeIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport { SoftwareCheckboxField } from './checkbox-field'\nimport { SoftwareSelectField } from './select-field'\n\ninterface SoftwareProps {\n useLabelCheckbox?: boolean\n tooltipAlign?: TooltipProps['align']\n }\n\nexport const Software = React.memo(({ useLabelCheckbox = false, tooltipAlign }) => {\n const d = useDictionary()\n\n const smDown = useMedia('sm', 'down')\n const smUp = useMedia('sm', 'up')\n\n const workType = useSelector(value(FieldNames.WORK_TYPE))\n const paperType = useSelector(value(FieldNames.PAPER_TYPE))\n\n if (workType === WorkTypeIds.MULTIPLY_CHOISE_QUESTIONS || paperType === PaperTypeIds.MULTIPLY_CHOISE_QUESTIONS) {\n return null\n }\n\n return (\n : d('labels.software')}\n tooltip={smDown || useLabelCheckbox ? d('tooltips.software') : false}\n className='ui-f__fieldbox--software'\n >\n {!useLabelCheckbox ? : null}\n \n {smUp && !useLabelCheckbox && }\n \n )\n})\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { Checkbox } from '../_common/checkbox'\nimport type { ChangeHandler as CheckboxChangeHandler } from '@qwerty.software/mono-ui-checkbox'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport useAction from 'hooks/useAction'\n\nimport { FieldNames, PaperTypeIds, WorkTypeIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { orderSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\ninterface SoftwareProps {\n withLabel?: boolean\n }\n\nexport const SoftwareCheckboxField = React.memo(({ withLabel = false }) => {\n const d = useDictionary()\n const { entity } = useFormContext()\n\n const software = useSelector(value(FieldNames.SOFTWARE))\n const workType = useSelector(value(FieldNames.WORK_TYPE))\n const paperType = useSelector(value(FieldNames.PAPER_TYPE))\n\n const change = useAction(orderSlice.actions.change)\n\n const handleCheck = React.useCallback(({ target }) => {\n change({ key: FieldNames.SOFTWARE, value: { ...software, checked: target.checked }, entity })\n }, [software.value])\n\n if (workType === WorkTypeIds.MULTIPLY_CHOISE_QUESTIONS || paperType === PaperTypeIds.MULTIPLY_CHOISE_QUESTIONS) {\n return null\n }\n\n return (\n \n )\n})\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\nimport clsx from 'clsx'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport Select, { Option, ChangeHandler } from '@qwerty.software/mono-ui-select'\nimport { FloatingTooltip } from './../../tooltip/floating-tooltip'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport useAction from 'hooks/useAction'\n\nimport { FieldNames, PaperTypeIds, WorkTypeIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { orderSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/order'\n\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\n\ninterface SoftwareProps {\n disabled?: boolean\n}\n\n// also used in additional-features/dashboard.tsx and styled there\n// so when you need to change styles or behavior, you need to check if it's not breaking there\nexport const SoftwareSelectField = React.memo(({ disabled }) => {\n const d = useDictionary()\n const { entity, formDifference } = useFormContext()\n\n const enabledSoftwares = formDifference?.enabledSoftwares\n\n let { softwares } = getBootstrapData()\n if (enabledSoftwares) {\n softwares = softwares.filter(({ id }) => enabledSoftwares.includes(id))\n }\n\n const software = useSelector(value(FieldNames.SOFTWARE))\n const workType = useSelector(value(FieldNames.WORK_TYPE))\n const paperType = useSelector(value(FieldNames.PAPER_TYPE))\n\n const change = useAction(orderSlice.actions.change)\n const handleChange = React.useCallback(({ target }) => {\n change({ key: FieldNames.SOFTWARE, value: { ...software, value: +target.value }, entity })\n }, [software.checked])\n\n if (workType === WorkTypeIds.MULTIPLY_CHOISE_QUESTIONS || paperType === PaperTypeIds.MULTIPLY_CHOISE_QUESTIONS) {\n return null\n }\n\n return (\n
\n \n \n {softwares.map(({ id, title }) => (\n \n ))}\n \n \n
\n )\n})\n", "import { FC } from 'react'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { FieldBox } from '../../fieldbox'\nimport Tooltip from '../../tooltip'\nimport { DiscountField } from './field'\n\ninterface IDiscount { }\n\nexport const Discount: FC = () => {\n const d = useDictionary()\n\n const smDown = useMedia('sm', 'down')\n const smUp = useMedia('sm', 'up')\n\n return (\n \n \n {smUp && d('tooltips.discount') ? : null}\n \n )\n}\n", "import { FC, useCallback, useMemo } from \"react\"\nimport { useSelector } from \"react-redux\"\nimport clsx from \"clsx\"\n\nimport BaseCheckBox from \"@qwerty.software/mono-ui-checkbox\"\n\nimport { FieldBox } from \"./../fieldbox\"\n\nimport { orderSlice, value as VALUE_SELECTOR } from \"@qwerty.software/ui-order-form/src/store/slices/order\"\nimport { FieldNames, UpsaleIds, WriterCategoryIds } from \"@qwerty.software/ui-order-form/src/store/constants\"\n\nimport useAction from \"hooks/useAction\"\nimport { useTracking } from \"./use-tracking\"\nimport { Categories, useFilteredUpsales } from \"./use-filtered-upsales\"\n\nexport interface FeaturesProps {}\n\nexport const PreviouslyOrderedUpsales: FC = () => {\n\tconst writerCategory = useSelector(VALUE_SELECTOR(FieldNames.WRITER_CATEGORY))\n\tconst additionalFeatures = useSelector(VALUE_SELECTOR(FieldNames.ADDITIONAL_FEATURES))\n const speakerNotes = useSelector(VALUE_SELECTOR(FieldNames.SPEAKER_NOTES))\n const softCopies = useSelector(VALUE_SELECTOR(FieldNames.SOFT_COPIES))\n\n const { filteredPreviousFeatures } = useFilteredUpsales()\n const { trackChange } = useTracking({ filteredPreviousFeatures })\n\n const activeUpsales = useMemo(() => [\n ...additionalFeatures,\n softCopies ? UpsaleIds.SOFT_COPIES : null,\n speakerNotes ? UpsaleIds.SPEAKER_NOTES : null,\n writerCategory,\n ], [speakerNotes, softCopies, writerCategory, additionalFeatures])\n\n\tconst change = useAction(orderSlice.actions.change)\n\n\tconst handleChange = useCallback((event) => {\n const category = event.currentTarget.dataset.flag as Categories\n const value = parseInt(`${event.currentTarget.dataset.value}`, 10)\n\n switch(category) {\n case Categories.WRITER_CATEGORY:\n change({key: FieldNames.WRITER_CATEGORY, value: event.target.checked ? value : WriterCategoryIds.BEST_AVAILIBLE})\n break\n\n case Categories.ADDITIONAL_FEATURES:\n if (value === UpsaleIds.SOFT_COPIES) {\n change({key: FieldNames.SOFT_COPIES, value: event.target.checked ? true : false})\n break\n }\n\n if (value === UpsaleIds.SPEAKER_NOTES) {\n change({key: FieldNames.SPEAKER_NOTES, value: event.target.checked ? true : false})\n break\n }\n\n const newValues = additionalFeatures.indexOf(value) !== -1\n ? additionalFeatures.filter((prevValue) => prevValue !== value)\n : [...additionalFeatures, value]\n change({ key: FieldNames.ADDITIONAL_FEATURES, value: newValues })\n }\n\n trackChange(value, event.target.checked)\n }, [additionalFeatures, change])\n\n if (!filteredPreviousFeatures.length) {\n return null\n }\n\n\treturn (\n \n
\n {filteredPreviousFeatures.map(({ id, title, category }) => (\n \n \n \n \n }\n iconUnchecked={\n \n \n \n \n }\n label={title}\n />\n ))}\n
\n \n\t)\n}\n", "import { useCallback, useEffect } from \"react\"\nimport { useSelector } from \"react-redux\"\n\nimport actionTracker from \"utils/action-tracker\"\n\nimport { getUserData } from \"global-entities/user-data/selectors\"\n\nimport storage from \"utils/storage\"\n\nexport const useTracking = ({ filteredPreviousFeatures }) => {\n\tconst userData: any = useSelector(getUserData)\n\n useEffect(() => {\n if (\n filteredPreviousFeatures.length &&\n userData?.lastPaidOrderData?.order_id &&\n !storage.get(`previous-upsales-${userData?.lastPaidOrderData?.order_id}`, { storageType: 'session' })\n ) {\n storage.set(`previous-upsales-${userData.lastPaidOrderData.order_id}`, true, { storageType: 'session' })\n\n const upsaleIds = filteredPreviousFeatures.map(({ id }) => id)\n actionTracker.track({ eventName: `previous_upsales_shown:user_id=${userData.userID}/upsale_ids=${JSON.stringify(upsaleIds)}` })\n }\n }, [filteredPreviousFeatures, userData?.lastPaidOrderData?.order_id])\n\n const trackChange = useCallback((upsaleId: number, checked: boolean) => {\n actionTracker.track({ eventName: `previous_upsale_clicked:user_id=${userData.userID}/upsale_id=${upsaleId}/status=${checked ? 'on' : 'off'}` })\n }, [userData.userID])\n\n return { trackChange }\n}\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport AlreadyLogged from './already-logged'\nimport AuthTabs from './tabs/tabs-socials-inside'\n\nimport { getIsAuthorized } from 'global-entities/user-data/selectors'\n\ninterface AuthTabsProps {\n googleAuthMinWidth?: number\n}\n\nconst Auth = React.memo(({ googleAuthMinWidth }) => {\n const isAuthorized = useSelector(getIsAuthorized)\n\n return (\n
\n {!isAuthorized\n ? \n : \n }\n
\n )\n})\n\nexport default Auth\n", "import * as React from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\n\nimport { getEmail } from 'global-entities/user-data/selectors'\nimport signout from 'global-entities/user-data/actions/signout'\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\ninterface AlreadyLoggedProps { }\n\nconst AlreadyLogged = React.memo(() => {\n const d = useDictionary()\n\n const dispatch = useDispatch()\n const loggedAs = useSelector(getEmail) as string\n const onSignout = () => signout()(dispatch)\n\n return (\n
\n

\n {d('auth.loggedTextFirstLine', {\n email: {loggedAs}\n })}\n

\n

\n {d('auth.loggedTextSecondLine', {\n link: {d('links.auth.changeAccount')}\n })}\n

\n
\n )\n})\n\nexport default AlreadyLogged\n", "import _size from 'lodash/size'\n\n/* adapters local */\nimport userDataAdapter from 'global-entities/user-data/adapter'\n\n/* utils general */\nimport { reqHPromise as reqH } from 'utils/http-client/request-handler'\nimport notify from 'utils/notify'\nimport customEvent from 'utils/custom-event'\n\n/* helpers global-entities */\nimport toggleAuthButtons from 'global-entities/user-data/helpers/toggle-auth-buttons'\n\n/* redux-constants local */\nimport {\n USER_UNAUTHORIZE,\n\n REMOTE_SUCCESS,\n} from 'global-entities/user-data/constants'\nimport storage from 'utils/storage'\n\n/* constants general */\nimport {\n AUTHORISATION_STATUSES,\n SIGNOUT,\n} from 'constants/auth'\nimport {\n USER_UNAUTHORIZED,\n} from 'constants/custom-events'\n\nexport default () => async (dispatch) => {\n const res = await reqH({\n method: 'GET',\n url: SIGNOUT.route,\n })\n\n if (_size(res.errors) > 0) {\n notify.error(res.errors[0])\n return\n }\n\n storage.remove('jwt')\n\n const userData = userDataAdapter(res.data.user)\n\n dispatch({\n type: USER_UNAUTHORIZE + REMOTE_SUCCESS,\n payload: userData,\n })\n\n toggleAuthButtons(AUTHORISATION_STATUSES.unauthorized)\n\n customEvent.trigger(USER_UNAUTHORIZED, { isAuthorized: userData.isAuthorized })\n}\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\nimport clsx from 'clsx'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { userSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/user'\nimport Tabs, { Tab, ChangeHandler } from '@qwerty.software/mono-ui-tabs'\nimport { Switch, Case } from 'framework/switch/simple-switch'\n\nimport useAction from 'hooks/useAction'\n\nimport { Email } from './components/email'\nimport { Phone } from './components/phone'\nimport { Password } from './components/password'\n\nimport { SocialButtons } from 'common/fields/auth/social'\n\nimport Agreements from './components/agreements'\n\nimport { AuthFieldNames } from '@qwerty.software/ui-order-form/src/store/slices/user/constants'\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport '@qwerty.software/mono-ui-tabs/lib/variant_default/index.css'\n\ninterface AuthTabsProps {\n googleAuthMinWidth?: number;\n}\n\nconst AuthTabs: React.FC = React.memo(({ googleAuthMinWidth = 200 }) => {\n const d = useDictionary()\n\n const { socials } = getBootstrapData()\n\n const authType = useSelector(value(AuthFieldNames.AUTH_TYPE))\n\n const smDown = useMedia('sm', 'down')\n\n const change = useAction(userSlice.actions.change)\n const handleChange = React.useCallback((_, value) => {\n change({ key: AuthFieldNames.AUTH_TYPE, value })\n }, [])\n\n return (\n <>\n \n {d('labels.auth.tabs.orderForm.signin') ? (\n \n {d('labels.auth.tabs.orderForm.signin')}\n \n ) : null}\n {d('labels.auth.tabs.orderForm.signup') ? (\n \n {d('labels.auth.tabs.orderForm.signup')}\n \n ) : null}\n \n \n {d('labels.auth.tabs.orderForm.signin') ? (\n \n
\n
\n \n \n
\n {socials?.apple || socials?.facebook || socials?.google\n ? <>\n
\n
\n \n
\n \n : null\n }\n
\n \n ) : null}\n {d('labels.auth.tabs.orderForm.signup') ? (\n \n
\n
\n \n \n \n
\n {socials?.apple || socials?.facebook || socials?.google\n ? <>\n
\n
\n \n
\n \n : null\n }\n \n
\n \n ) : null}\n \n \n )\n})\n\nexport default AuthTabs\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\nimport clsx from 'clsx'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport useAction from 'hooks/useAction'\n\nimport Input from '@qwerty.software/mono-ui-input'\n\nimport { FieldBox } from '../../../fieldbox'\n\nimport { userSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/user'\nimport * as validators from '@qwerty.software/ui-order-form/src/store/slices/user/validators'\nimport { AuthFieldNames } from '@qwerty.software/ui-order-form/src/store/slices/user/constants'\n\nimport { EMAIL_FIELDNAME } from '../../constants'\n\nimport '@qwerty.software/mono-ui-input/lib/variant_default/index.css'\n\nexport const Email = () => {\n const d = useDictionary()\n\n const email = useSelector(value(AuthFieldNames.EMAIL))\n\n const change = useAction(userSlice.actions.change)\n const handleChange = React.useCallback>(({ target }) => {\n change({ key: AuthFieldNames.EMAIL, value: { ...email, validationEnabled: false, value: target.value } })\n }, [email])\n const handleBlur = React.useCallback>(() => {\n change({ key: AuthFieldNames.EMAIL, value: { ...email, validationEnabled: true } })\n }, [email])\n\n const error = email.validationEnabled ? validators.email(email.value) : null\n\n return (\n *\n })}\n className={clsx('ui-f__fieldbox--auth', 'ui-f__fieldbox--email', { error: Boolean(error) })}\n hint={!Boolean(error) ? d('hint.auth.email') : {error}}\n\n error={Boolean(error)}\n >\n \n \n )\n}\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport useAction from 'hooks/useAction'\n\nimport { PhoneNumber } from './field'\n\nimport * as validators from '@qwerty.software/ui-order-form/src/store/slices/user/validators'\n\nimport { AuthFieldNames, DEFAULT_COUNTRY_CODE } from '@qwerty.software/ui-order-form/src/store/slices/user/constants'\nimport { userSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/user'\n\nimport useGeoTag from 'global-entities/geo-tag/store/hooks/geoTag'\nimport { PHONE_FIELDNAME } from '../../../constants'\nimport { FieldBox } from '../../../../fieldbox'\nimport clsx from 'clsx'\n\nexport const Phone = () => {\n const d = useDictionary()\n const [{ countryCode }] = useGeoTag()\n\n const phone = useSelector(value(AuthFieldNames.PHONE))\n\n const change = useAction(userSlice.actions.change)\n const handleChange = React.useCallback>(({ target }) => {\n change({ key: AuthFieldNames.PHONE, value: { ...phone, validationEnabled: false, value: target.value } })\n }, [phone])\n const handleBlur = React.useCallback>(() => {\n change({ key: AuthFieldNames.PHONE, value: { ...phone, validationEnabled: true } })\n }, [phone])\n\n React.useEffect(() => {\n if (countryCode && phone.value?.countryCode === DEFAULT_COUNTRY_CODE && DEFAULT_COUNTRY_CODE.toLocaleLowerCase() !== countryCode) { // hack initial value is uppercased -> next values if changed is lowercased\n change({ key: AuthFieldNames.PHONE, value: { value: { ...phone.value, countryCode: countryCode.toLocaleLowerCase() }, validationEnabled: false } })\n }\n }, [countryCode])\n\n const error = phone.validationEnabled ? validators.phone(phone.value.number, phone.value.countryCode, phone.value?.mask) : null\n\n return (\n *\n })}\n className={clsx('ui-f__fieldbox--auth', 'ui-f__fieldbox--phone')}\n hint={!Boolean(error) ? d('hint.auth.phone') : {error}}\n error={Boolean(error)}\n >\n \n \n )\n}\n", "import { FC, useCallback, memo } from 'react'\nimport PhoneInput from 'react-phone-input-2'\n\nimport { PHONE_MASKS, ALLOWED_COUNTRIES } from 'global-entities/phone/configs'\n\nimport 'react-phone-input-2/lib/material.css'\n\ninterface IPhoneNumberProps {\n id: string\n name: string\n value: {\n number: string\n countryCode?: string\n }\n onChange: any\n onBlur: any\n\n country?: string\n\n error?: boolean\n}\n\nexport const PhoneNumber: FC = memo(({\n id,\n name,\n value,\n onChange,\n onBlur: handleBlur,\n\n error = false,\n\n ...props\n}) => {\n const handleChangeNumber = useCallback((_0, { countryCode, format }, event, formattedValue) => {\n onChange({\n ...event,\n target: {\n ...event.target,\n value: {\n number: formattedValue,\n countryCode,\n mask: format,\n },\n }\n })\n }, [value, onChange])\n\n return (\n \n \n \n )\n})\n", "export const mfc = '.' // mask format char\n\nexport const defaultConfigs = {\n mask: `[${mfc}][${mfc}][${mfc}][${mfc}][${mfc}][${mfc}][${mfc}][${mfc}][${mfc}][${mfc}][${mfc}][${mfc}][${mfc}][${mfc}]`,\n country: {\n name: 'United States',\n code: '1',\n iso2: 'us',\n mask: `${mfc} (${mfc}${mfc}${mfc}) ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}`,\n },\n}\n\nexport const countriesConfigs = [\n { name: 'Afghanistan', code: '93', iso2: 'af', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Albania', code: '355', iso2: 'al', mask: `${mfc}${mfc}${mfc} ${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Algeria', code: '213', iso2: 'dz', mask: `${mfc}${mfc}${mfc} ${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'American Samoa', code: '1-684', iso2: 'as', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Andorra', code: '376', iso2: 'ad', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Angola', code: '244', iso2: 'ao', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Anguilla', code: '1-264', iso2: 'ai', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Antarctica', code: '672', iso2: 'aq', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Antigua and Barbuda', code: '1268', iso2: 'ag', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Argentina', code: '54', iso2: 'ar', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Armenia', code: '374', iso2: 'am', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Aruba', code: '297', iso2: 'aw', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Australia', code: '61', iso2: 'au', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Austria', code: '43', iso2: 'at', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Azerbaijan', code: '994', iso2: 'az', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Bahamas', code: '1-242', iso2: 'bs', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Bahrain', code: '973', iso2: 'bh', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Bangladesh', code: '880', iso2: 'bd', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Barbados', code: '1-246', iso2: 'bb', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Belarus', code: '375', iso2: 'by', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}-${mfc}${mfc}-${mfc}${mfc}` },\n { name: 'Belgium', code: '32', iso2: 'be', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Belize', code: '501', iso2: 'bz', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Benin', code: '229', iso2: 'bj', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Bermuda', code: '1-441', iso2: 'bm', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Bhutan', code: '975', iso2: 'bt', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Bolivia', code: '591', iso2: 'bo', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Bosnia and Herzegovina', code: '387', iso2: 'ba', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}` },\n { name: 'Botswana', code: '267', iso2: 'bw', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Brazil', code: '55', iso2: 'br', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}` },\n { name: 'British Indian Ocean Territory', code: '246', iso2: 'io', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'British Virgin Islands', code: '1-284', iso2: 'vg', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Brunei', code: '673', iso2: 'bn', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Bulgaria', code: '359', iso2: 'bg', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Burkina Faso', code: '226', iso2: 'bf', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Burundi', code: '257', iso2: 'bi', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Cambodia', code: '855', iso2: 'kh', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Cameroon', code: '237', iso2: 'cm', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Canada', code: '1', iso2: 'ca', mask: `${mfc} (${mfc}${mfc}${mfc}) ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Cape Verde', code: '238', iso2: 'cv', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Cayman Islands', code: '1-345', iso2: 'ky', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Central African Republic', code: '236', iso2: 'cf', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Chad', code: '235', iso2: 'td', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Chile', code: '56', iso2: 'cl', mask: `${mfc}${mfc} ${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'China', code: '86', iso2: 'cn', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Christmas Island', code: '61', iso2: 'cx', mask: `${mfc}${mfc} (${mfc}${mfc}) ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Cocos Islands', code: '61', iso2: 'cc', mask: `${mfc}${mfc} (${mfc}${mfc}) ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Colombia', code: '57', iso2: 'co', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Comoros', code: '269', iso2: 'km', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Cook Islands', code: '682', iso2: 'ck', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Costa Rica', code: '506', iso2: 'cr', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Croatia', code: '385', iso2: 'hr', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Cuba', code: '53', iso2: 'cu', mask: `${mfc}${mfc} ${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Curacao', code: '599', iso2: 'cw', mask: `${mfc}${mfc}${mfc} ${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Cyprus', code: '357', iso2: 'cy', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Czech Republic', code: '420', iso2: 'cz', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Democratic Republic of the Congo', code: '243', iso2: 'cd', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Denmark', code: '45', iso2: 'dk', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Djibouti', code: '253', iso2: 'dj', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Dominica', code: '1-767', iso2: 'dm', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Dominican Republic', code: '1-809', iso2: 'do', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Dominican Republic', code: '1-829', iso2: 'do', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Dominican Republic', code: '1-849', iso2: 'do', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'East Timor', code: '670', iso2: 'tl', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Ecuador', code: '593', iso2: 'ec', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Egypt', code: '20', iso2: 'eg', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'El Salvador', code: '503', iso2: 'sv', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Equatorial Guinea', code: '240', iso2: 'gq', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Eritrea', code: '291', iso2: 'er', mask: `${mfc}${mfc}${mfc} ${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Estonia', code: '372', iso2: 'ee', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Ethiopia', code: '251', iso2: 'et', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Falkland Islands', code: '500', iso2: 'fk', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Faroe Islands', code: '298', iso2: 'fo', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Fiji', code: '679', iso2: 'fj', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Finland', code: '358', iso2: 'fi', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'France', code: '33', iso2: 'fr', mask: `${mfc}${mfc} ${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'French Polynesia', code: '689', iso2: 'pf', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Gabon', code: '241', iso2: 'ga', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Gambia', code: '220', iso2: 'gm', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Georgia', code: '995', iso2: 'ge', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Germany', code: '49', iso2: 'de', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Ghana', code: '233', iso2: 'gh', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Gibraltar', code: '350', iso2: 'gi', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Greece', code: '30', iso2: 'gr', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Greenland', code: '299', iso2: 'gl', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Grenada', code: '1-473', iso2: 'gd', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Guam', code: '1-671', iso2: 'gu', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Guatemala', code: '502', iso2: 'gt', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Guernsey', code: '44-1481', iso2: 'gg', mask: `${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Guinea', code: '224', iso2: 'gn', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Guinea-Bissau', code: '245', iso2: 'gw', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Guyana', code: '592', iso2: 'gy', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Haiti', code: '509', iso2: 'ht', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Honduras', code: '504', iso2: 'hn', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Hong Kong', code: '852', iso2: 'hk', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Hungary', code: '36', iso2: 'hu', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Iceland', code: '354', iso2: 'is', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'India', code: '91', iso2: 'in', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Indonesia', code: '62', iso2: 'id', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}` },\n { name: 'Iran', code: '98', iso2: 'ir', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Iraq', code: '964', iso2: 'iq', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Ireland', code: '353', iso2: 'ie', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Isle of Man', code: '44-1624', iso2: 'im', mask: `${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Israel', code: '972', iso2: 'il', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}-${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Italy', code: '39', iso2: 'it', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Ivory Coast', code: '225', iso2: 'ci', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Jamaica', code: '1-876', iso2: 'jm', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Japan', code: '81', iso2: 'jp', mask: `${mfc}${mfc} ${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Jersey', code: '44-1534', iso2: 'je', mask: `${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Jordan', code: '962', iso2: 'jo', mask: `${mfc}${mfc}${mfc} ${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Kazakhstan', code: '7', iso2: 'kz', mask: `${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Kenya', code: '254', iso2: 'ke', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Kiribati', code: '686', iso2: 'ki', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Kosovo', code: '383', iso2: 'xk', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Kuwait', code: '965', iso2: 'kw', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Kyrgyzstan', code: '996', iso2: 'kg', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Laos', code: '856', iso2: 'la', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Latvia', code: '371', iso2: 'lv', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Lebanon', code: '961', iso2: 'lb', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Lesotho', code: '266', iso2: 'ls', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Liberia', code: '231', iso2: 'lr', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Libya', code: '218', iso2: 'ly', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Liechtenstein', code: '423', iso2: 'li', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Lithuania', code: '370', iso2: 'lt', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Luxembourg', code: '352', iso2: 'lu', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Macau', code: '853', iso2: 'mo', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Macedonia', code: '389', iso2: 'mk', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Madagascar', code: '261', iso2: 'mg', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Malawi', code: '265', iso2: 'mw', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Malaysia', code: '60', iso2: 'my', mask: `${mfc}${mfc} ${mfc}${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Maldives', code: '960', iso2: 'mv', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Mali', code: '223', iso2: 'ml', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Malta', code: '356', iso2: 'mt', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Marshall Islands', code: '692', iso2: 'mh', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Mauritania', code: '222', iso2: 'mr', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Mauritius', code: '230', iso2: 'mu', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Mayotte', code: '262', iso2: 'yt', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Mexico', code: '52', iso2: 'mx', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Micronesia', code: '691', iso2: 'fm', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Moldova', code: '373', iso2: 'md', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Monaco', code: '377', iso2: 'mc', mask: `${mfc}${mfc}${mfc} ${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Mongolia', code: '976', iso2: 'mn', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Montenegro', code: '382', iso2: 'me', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Montserrat', code: '1-664', iso2: 'ms', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Morocco', code: '212', iso2: 'ma', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Mozambique', code: '258', iso2: 'mz', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Myanmar', code: '95', iso2: 'mm', mask: `${mfc}${mfc} ${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Namibia', code: '264', iso2: 'na', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Nauru', code: '674', iso2: 'nr', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Nepal', code: '977', iso2: 'np', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Netherlands', code: '31', iso2: 'nl', mask: `${mfc}${mfc} ${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Netherlands Antilles', code: '599', iso2: 'an', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'New Caledonia', code: '687', iso2: 'nc', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'New Zealand', code: '64', iso2: 'nz', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Nicaragua', code: '505', iso2: 'ni', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Niger', code: '227', iso2: 'ne', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Nigeria', code: '234', iso2: 'ng', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Niue', code: '683', iso2: 'nu', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}` },\n { name: 'North Korea', code: '850', iso2: 'kp', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Northern Mariana Islands', code: '1-670', iso2: 'mp', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Norway', code: '47', iso2: 'no', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Oman', code: '968', iso2: 'om', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Pakistan', code: '92', iso2: 'pk', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Palau', code: '680', iso2: 'pw', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Palestine', code: '970', iso2: 'ps', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Panama', code: '507', iso2: 'pa', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Papua New Guinea', code: '675', iso2: 'pg', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Paraguay', code: '595', iso2: 'py', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Peru', code: '51', iso2: 'pe', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Philippines', code: '63', iso2: 'ph', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Pitcairn', code: '64', iso2: 'pn', mask: `${mfc}${mfc} ${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Poland', code: '48', iso2: 'pl', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Portugal', code: '351', iso2: 'pt', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Puerto Rico', code: '1-787', iso2: 'pr', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Puerto Rico', code: '1-939', iso2: 'pr', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Qatar', code: '974', iso2: 'qa', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Republic of the Congo', code: '242', iso2: 'cg', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Reunion', code: '262', iso2: 're', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Romania', code: '40', iso2: 'ro', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Russia', code: '7', iso2: 'ru', mask: `${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}-${mfc}${mfc}-${mfc}${mfc}` },\n { name: 'Rwanda', code: '250', iso2: 'rw', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Saint Barthelemy', code: '590', iso2: 'bl', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Saint Helena', code: '290', iso2: 'sh', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Saint Kitts and Nevis', code: '1-869', iso2: 'kn', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Saint Lucia', code: '1-758', iso2: 'lc', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Saint Martin', code: '590', iso2: 'mf', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Saint Pierre and Miquelon', code: '508', iso2: 'pm', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Saint Vincent and the Grenadines', code: '1-784', iso2: 'vc', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Samoa', code: '685', iso2: 'ws', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'San Marino', code: '378', iso2: 'sm', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Sao Tome and Principe', code: '239', iso2: 'st', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Saudi Arabia', code: '966', iso2: 'sa', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Senegal', code: '221', iso2: 'sn', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Serbia', code: '381', iso2: 'rs', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Seychelles', code: '248', iso2: 'sc', mask: `${mfc}${mfc}${mfc} ${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Sierra Leone', code: '232', iso2: 'sl', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Singapore', code: '65', iso2: 'sg', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Sint Maarten', code: '1-721', iso2: 'sx', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Slovakia', code: '421', iso2: 'sk', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Slovenia', code: '386', iso2: 'si', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Solomon Islands', code: '677', iso2: 'sb', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Somalia', code: '252', iso2: 'so', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'South Africa', code: '27', iso2: 'za', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'South Korea', code: '82', iso2: 'kr', mask: `${mfc}${mfc} ${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}` },\n { name: 'South Sudan', code: '211', iso2: 'ss', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Spain', code: '34', iso2: 'es', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Sri Lanka', code: '94', iso2: 'lk', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Sudan', code: '249', iso2: 'sd', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Suriname', code: '597', iso2: 'sr', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Svalbard and Jan Mayen', code: '47', iso2: 'sj', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Swaziland', code: '268', iso2: 'sz', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Sweden', code: '46', iso2: 'se', mask: `${mfc}${mfc} ${mfc}${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Switzerland', code: '41', iso2: 'ch', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Syria', code: '963', iso2: 'sy', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Taiwan', code: '886', iso2: 'tw', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Tajikistan', code: '992', iso2: 'tj', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Tanzania', code: '255', iso2: 'tz', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Thailand', code: '66', iso2: 'th', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Togo', code: '228', iso2: 'tg', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Tokelau', code: '690', iso2: 'tk', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Tonga', code: '676', iso2: 'to', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Trinidad and Tobago', code: '1-868', iso2: 'tt', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Tunisia', code: '216', iso2: 'tn', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Turkey', code: '90', iso2: 'tr', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Turkmenistan', code: '993', iso2: 'tm', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}-${mfc}${mfc}-${mfc}${mfc}` },\n { name: 'Turks and Caicos Islands', code: '1-649', iso2: 'tc', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Tuvalu', code: '688', iso2: 'tv', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'U.S. Virgin Islands', code: '1-340', iso2: 'vi', mask: `${mfc}-${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Uganda', code: '256', iso2: 'ug', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Ukraine', code: '380', iso2: 'ua', mask: `${mfc}${mfc}${mfc} (${mfc}${mfc}) ${mfc}${mfc}${mfc}-${mfc}${mfc}-${mfc}${mfc}` },\n { name: 'United Arab Emirates', code: '971', iso2: 'ae', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'United Kingdom', code: '44', iso2: 'gb', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'United States', code: '1', iso2: 'us', mask: `${mfc} (${mfc}${mfc}${mfc}) ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Uruguay', code: '598', iso2: 'uy', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Uzbekistan', code: '998', iso2: 'uz', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Vanuatu', code: '678', iso2: 'vu', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Vatican', code: '39', iso2: 'va', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Venezuela', code: '58', iso2: 've', mask: `${mfc}${mfc} ${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Vietnam', code: '84', iso2: 'vn', mask: `${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Wallis and Futuna', code: '681', iso2: 'wf', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}` },\n { name: 'Western Sahara', code: '212', iso2: 'eh', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}-${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Yemen', code: '967', iso2: 'ye', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}` },\n { name: 'Zambia', code: '260', iso2: 'zm', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}${mfc}` },\n { name: 'Zimbabwe', code: '263', iso2: 'zw', mask: `${mfc}${mfc}${mfc} ${mfc}${mfc} ${mfc}${mfc}${mfc} ${mfc}${mfc}${mfc}${mfc}` },\n]\n\nexport const PHONE_MASKS = countriesConfigs.reduce((acc, country) => ({ ...acc, [country.iso2]: country.mask.slice(country.code.length + 1) }), {})\nexport const ALLOWED_COUNTRIES = countriesConfigs.map(country => country.iso2)\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\nimport clsx from 'clsx'\n\nimport useAction from 'hooks/useAction'\n\nimport Input from '@qwerty.software/mono-ui-input'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { FieldBox } from '../../../../fieldbox'\nimport PasswordAdornment from './adornment'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport { userSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/user'\nimport { AuthFieldNames } from '@qwerty.software/ui-order-form/src/store/slices/user/constants'\nimport * as validators from '@qwerty.software/ui-order-form/src/store/slices/user/validators'\n\nimport { PASSWORD_FIELDNAME } from '../../../constants'\nimport ForgotPassword from './forgot-password'\n\nimport '@qwerty.software/mono-ui-input/lib/variant_default/index.css'\n\ninterface IPasswordProps {\n withForgotLink?: boolean\n}\n\nexport const Password: React.FC = ({ withForgotLink }) => {\n const [capsLockEnabled, setCapsLockEnabled] = React.useState(false)\n\n const d = useDictionary()\n\n const smUp = useMedia('sm', 'up')\n\n const password = useSelector(value(AuthFieldNames.PASSWORD))\n\n const change = useAction(userSlice.actions.change)\n\n const handleChange = React.useCallback>(({ target }) => {\n change({ key: AuthFieldNames.PASSWORD, value: { ...password, validationEnabled: false, value: target.value } })\n }, [password])\n\n const handleBlur = React.useCallback>(() => {\n change({ key: AuthFieldNames.PASSWORD, value: { ...password, validationEnabled: true } })\n }, [password])\n\n const handleKeyPress = React.useCallback>((event) => {\n const enabled = event.getModifierState && event.getModifierState('CapsLock');\n enabled && !capsLockEnabled && setCapsLockEnabled(enabled)\n !enabled && capsLockEnabled && setCapsLockEnabled(enabled)\n }, [capsLockEnabled, setCapsLockEnabled])\n\n const error = password.validationEnabled ? validators.password(password.value) : null\n\n return (\n
\n *\n })}\n className={clsx('ui-f__fieldbox--auth', 'ui-f__fieldbox--password', { error: Boolean(error) })}\n\n error={Boolean(error)}\n hint={Boolean(error) ? {error} : null}\n topHint={smUp && capsLockEnabled ? 'CAPSLOCK' : null}\n >\n \n \n \n {withForgotLink ? : null}\n
\n )\n}\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport VisibilityIcon from 'framework/icons/visibility'\nimport { userSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/user'\n\nimport useAction from 'hooks/useAction'\n\nimport Button from '@qwerty.software/mono-ui-button'\n\nimport { AuthFieldNames, Type } from '@qwerty.software/ui-order-form/src/store/slices/user/constants'\n\nexport interface PasswordAdornmentProps { }\n\nconst PasswordAdornment = React.memo(() => {\n const password = useSelector(value(AuthFieldNames.PASSWORD))\n\n const change = useAction(userSlice.actions.change)\n\n const toogleType = React.useCallback>(() => {\n const type = password.type !== Type.PASSWORD ? Type.PASSWORD : Type.TEXT\n\n change({ key: AuthFieldNames.PASSWORD, value: { ...password, type } })\n }, [password])\n\n return (\n \n {password.type !== Type.PASSWORD\n ? <>Hide\n : <>Show}\n \n )\n})\n\nexport default PasswordAdornment\n", "import * as React from 'react'\n\n/* templates */\nimport TemplateIcon from 'framework/icons/template'\n\nconst VisibilityIcon = ({ visible = false, width = 20, height = 20 } = {}) => {\n\n const templateIconProps = {\n name: 'visibility',\n styles: { width, height },\n additionalClasses: `visibility-${visible ? 'visible' : 'hidden'}`,\n children: (\n <>\n {visible ?\n ()\n :\n ()}\n \n ),\n }\n\n return TemplateIcon({ ...templateIconProps })\n\n}\n\nexport default VisibilityIcon\n/* sfc */\n", "import * as React from 'react'\n\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nexport interface ForgotPasswordProps { }\n\nexport const ForgotPassword = React.memo(({ }) => {\n const d = useDictionary()\n\n return (\n \n {d('links.auth.forgotPassword')}\n \n )\n})\n\nexport default ForgotPassword\n", "import React from \"react\"\n\nimport { AppleAuth } from \"./apple\"\nimport { GoogleAuth } from \"./google\"\nimport { FacebookAuth } from \"./facebook\"\nimport cslx from 'clsx'\n\nimport { getBootstrapData } from \"global-entities/bootstrap-data/utils/get\"\nimport { makeClassViaProject } from \"helpers/make-class-via-project\"\nimport storage from 'utils/storage'\n\nimport { IS_EXISTING_USER_KEY } from 'constants/storage'\n\nimport './styles/index.scss'\n\ninterface ISocialButtonsProps {\n size?: number\n googleButtonWidth?: number\n view?: 'icon' | 'standard'\n entity?: 'order-form' | 'auth-form'\n type?: 'signin' | 'signup'\n shouldForwardToDashboard?: boolean\n enableValidation?: boolean\n}\n\nexport const SocialButtons = React.memo(({\n size = 50,\n googleButtonWidth, // because google button is iframe with default fixed sizings :(\n view = 'icon',\n entity = 'order-form',\n type,\n shouldForwardToDashboard=false,\n enableValidation=false,\n} : ISocialButtonsProps) => {\n const { socials } = getBootstrapData()\n const specificClassName = makeClassViaProject()\n\n const authType = storage.get(IS_EXISTING_USER_KEY) ? 'signin' : 'signup'\n\n const isOnlyFacebook = socials?.facebook && !(socials?.google || socials?.apple)\n\n if (!socials?.facebook?.app_id && !socials?.google?.app_id && !socials?.apple?.app_id) {\n return null\n }\n\n if (isOnlyFacebook) {\n return (\n \n )\n }\n\n return (\n \n {socials?.apple && (\n \n )}\n {socials?.google && (\n \n )}\n {socials?.facebook && (\n \n )}\n
\n )\n})\n\nexport { FacebookAuth } from './facebook'\nexport { GoogleAuth } from './google'\nexport { AppleAuth } from './apple'", "import React, { FC, useCallback } from 'react'\nimport { useDispatch } from 'react-redux'\nimport AppleSignin from 'react-apple-signin-auth'\n\nimport notify from 'utils/notify'\n\nimport { useCheckValid } from '../hooks/useCheckValid'\n\nimport { appleAuthorization } from './actions'\n\nimport type { ISocialAuth } from './../types'\n\nimport './styles.scss'\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nexport const AppleAuth: FC = ({\n size = 50,\n view = 'icon',\n type = 'signin',\n entity='order-form',\n shouldForwardToDashboard,\n enableValidation = true,\n}) => {\n const { socials } = getBootstrapData()\n\n const dispatch = useDispatch()\n\n const { checkValid } = useCheckValid(enableValidation)\n\n const handleAuthResponse = (response: any) => {\n if (response?.error) {\n notify.warning('You did not finish authorization with Apple. Please try again or login with email and password.')\n\n return\n }\n\n if (response?.authorization?.id_token) {\n appleAuthorization({\n appleData: response.authorization,\n fieldName: 'appleAuth',\n shouldForwardToDashboard,\n })(dispatch)\n }\n }\n\n const handleButtonClick = useCallback((onClick) => {\n if (!checkValid()) {\n return\n }\n\n onClick()\n }, [checkValid])\n\n if (!socials?.apple?.app_id) {\n return null\n }\n\n return (\n console.error(error)} // default = undefined\n skipScript={false} // default = undefined\n render={(renderProps) => (\n \n )}\n />\n )\n}\n", "import React, { useCallback } from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\n\nimport customEvent from 'utils/custom-event'\n\nimport { checkFieldValue } from 'common/sheared/universal-actions'\nimport { getFieldValidSystem, getFieldValue } from 'common/sheared/universal-selectors'\n\nimport { FIELD_VALIDATED } from 'constants/custom-events'\n\nimport cc from 'common/fields-configs'\n\n// for auth form only - for order form always returns false\nexport const useCheckValid = (enableValidation: boolean | undefined) => {\n const dispatch = useDispatch()\n\n const agrementsValue = useSelector(state => getFieldValue(state, cc.clientAgreements.name))\n const agreementsValid = useSelector(state => getFieldValidSystem(state, cc.clientAgreements.name))\n\n const checkValid = useCallback(() => {\n if (!enableValidation) {\n return true\n }\n\n if (!agreementsValid) {\n customEvent.trigger(FIELD_VALIDATED + cc.clientAgreements.name)\n }\n\n const resetValidationForFields = [cc.email.name, cc.password.name, cc.phone.name]\n resetValidationForFields.forEach((field) => {\n dispatch(checkFieldValue(field, {\n fieldValidView: true,\n fieldErrorBox: '',\n }))\n })\n\n return !!agreementsValid\n }, [agrementsValue, checkFieldValue, agreementsValid])\n\n return {\n checkValid,\n }\n}", "import isPlainObject from 'lodash/isPlainObject'\n\n/* helpers microservices */\nimport setOrderDataChangedKey from 'microservices/order/sheared/helpers/set-order-data-changed-key'\n\n/* redux-constants common */\nimport {\n SET_FIELD_VALUE,\n SET_FIELD_VALUE_FROM_QUERY,\n SET_FIELD_VALUE_FROM_CUSTOM_EVENT,\n SET_EXPECTED_FIELD_VALUE,\n SET_SYSTEM_FIELD_VALUE,\n SET_INIT_FIELD_VALUE,\n\n SET_ENABLED,\n\n UNDO_FIELD_VALUE,\n REDO_FIELD_VALUE,\n\n CHECK_FIELD_VALUE,\n\n FORCE_UPDATED_LOCAL_VALUE,\n} from 'common/sheared/universal-constants'\n\nexport const setFieldValue = (fieldName, payload) => {\n const microserviceRelation = isPlainObject(payload) && payload.hasOwnProperty('microserviceRelation') ? payload.microserviceRelation : ''\n setOrderDataChangedKey({ fieldName, microserviceRelation })\n\n return {\n type: fieldName + SET_FIELD_VALUE,\n payload,\n }\n}\n\nexport const setMultipleFieldsValue = (multipleFieldsData) => (dispatch) => {\n multipleFieldsData.forEach((fieldData) => {\n dispatch({\n type: fieldData.fieldName + SET_FIELD_VALUE,\n payload: fieldData.payload,\n })\n })\n}\n\nexport const setFieldValueFromQuery = (fieldName, payload) => ({\n type: fieldName + SET_FIELD_VALUE_FROM_QUERY,\n payload,\n})\n\nexport const setFieldValueFromCustomEvent = (fieldName, payload) => ({\n type: fieldName + SET_FIELD_VALUE_FROM_CUSTOM_EVENT,\n payload,\n})\n\nexport const setExpectedFieldValue = (fieldName, payload) => ({\n type: fieldName + SET_EXPECTED_FIELD_VALUE,\n payload,\n})\n\nexport const setSystemFieldValue = (fieldName, payload) => ({\n type: fieldName + SET_SYSTEM_FIELD_VALUE,\n payload,\n})\n\nexport const setInitFieldValue = (fieldName) => ({\n type: fieldName + SET_INIT_FIELD_VALUE,\n})\n\nexport const setEnabled = (fieldName, payload) => ({\n type: fieldName + SET_ENABLED,\n payload,\n})\n\nexport const undoFieldValue = (fieldName) => ({\n type: fieldName + UNDO_FIELD_VALUE,\n})\n\nexport const redoFieldValue = (fieldName) => ({\n type: fieldName + REDO_FIELD_VALUE,\n})\n\nexport const checkFieldValue = (fieldName, payload) => ({\n type: fieldName + CHECK_FIELD_VALUE,\n payload,\n})\n\nexport const forceUpdatedLocalValue = (fieldName) => ({\n type: fieldName + FORCE_UPDATED_LOCAL_VALUE,\n})\n", "/* utils general */\nimport storage from 'utils/storage'\nimport customEvent from 'utils/custom-event'\n\n/* constants general */\nimport { ORDER_DATA_PERSISTOR_EXPIRES_TIMEOUT } from 'constants/persistor'\nimport {\n ORDER_DATA_CHANGED_FROM_FORM_ASSERTS_KEY,\n ORDER_DATA_CHANGED_FROM_CALCULATOR_ASSERTS_KEY,\n} from 'constants/storage'\nimport {\n ORDER_DATA_CHANGED_FROM_CALCULATOR,\n ORDER_DATA_CHANGED_FROM_FORM,\n ORDER_DATA_CHANGED_FROM_DASHBOARD_EDIT,\n} from 'constants/custom-events'\n\n/* constants microservices */\nimport { msName as orderFormMicroserviceName } from 'microservices/order/order-form/constants'\nimport { NAME as orderCalculatorMicroserviceName } from 'constants/order-calculator'\nimport { msName as dashboardMicroserviceName } from 'microservices/dashboard/constants'\n\n/* configs common */\nimport cc from 'common/fields-configs'\n\nexport default (config) => {\n const effectsOnOrderDataChange = cc[config.fieldName].effectsOnOrderDataChange\n if (!effectsOnOrderDataChange) {\n return\n }\n\n switch (config.microserviceRelation) {\n case orderCalculatorMicroserviceName:\n if (!storage.get(ORDER_DATA_CHANGED_FROM_CALCULATOR_ASSERTS_KEY)) {\n storage.set(ORDER_DATA_CHANGED_FROM_CALCULATOR_ASSERTS_KEY, true, {\n expires: ORDER_DATA_PERSISTOR_EXPIRES_TIMEOUT,\n })\n customEvent.trigger(ORDER_DATA_CHANGED_FROM_CALCULATOR)\n }\n break\n\n case orderFormMicroserviceName:\n storage.set(ORDER_DATA_CHANGED_FROM_FORM_ASSERTS_KEY, true, {\n expires: ORDER_DATA_PERSISTOR_EXPIRES_TIMEOUT,\n })\n customEvent.trigger(ORDER_DATA_CHANGED_FROM_FORM)\n break\n\n case dashboardMicroserviceName:\n customEvent.trigger(ORDER_DATA_CHANGED_FROM_DASHBOARD_EDIT)\n break\n\n default:\n break\n }\n}\n", "export const msName = 'dashboard'\n\nexport const serverTimeFormat = 'YYYY-MM-DD HH:mm:ss'\nexport const timeFormat = 'MM-DD-YY / hh:mm a'\n\nexport const orderStatuses = {\n waitingForPayment: {\n name: 'Waiting for payment',\n weight: 1,\n groupStatusWeight: 1,\n },\n processingPayment: {\n name: 'Processing payment',\n weight: 2,\n groupStatusWeight: 1,\n },\n inProgress: {\n name: 'In progress',\n weight: 3,\n groupStatusWeight: 2,\n },\n delivered: {\n name: 'Delivered',\n weight: 4,\n groupStatusWeight: 2,\n },\n approved: {\n name: 'Approved',\n weight: 5,\n groupStatusWeight: 3,\n },\n pendingClarification: {\n name: 'Pending Clarification',\n weight: 6,\n groupStatusWeight: 2,\n },\n revision: {\n name: 'Revision',\n weight: 7,\n groupStatusWeight: 2,\n },\n wqcRevision: {\n name: 'WQC revision',\n weight: 8,\n groupStatusWeight: 2,\n },\n dispute: {\n name: 'Dispute',\n weight: 9,\n groupStatusWeight: 2,\n },\n cancelled: {\n name: 'Cancelled',\n weight: 10,\n groupStatusWeight: 3,\n },\n chargeback: {\n name: 'Chargeback',\n weight: 11,\n groupStatusWeight: 3,\n },\n claim: {\n name: 'Claim',\n weight: 12,\n groupStatusWeight: 3,\n },\n\n inquiry: {\n name: 'Free inquiry',\n weight: 13,\n groupStatusWeight: 1,\n },\n}\n\nexport const orderStatusesForbiddenToDelete = [\n orderStatuses.inProgress.name,\n orderStatuses.revision.name,\n orderStatuses.delivered.name,\n orderStatuses.pendingClarification.name,\n orderStatuses.wqcRevision.name,\n orderStatuses.dispute.name,\n]\n\nexport const ordersTableColumnsNames = {\n id: 'id',\n topic: 'topic',\n price: 'price',\n deadline: 'deadline',\n status: 'status',\n actions: 'actions',\n}\n\nexport const walletHistoryTableColumnsNames = {\n id: 'id',\n amount: 'amount',\n orderID: 'orderID',\n operationType: 'operationType',\n createdAt: 'createdAt',\n}\n\nexport const noticesTypes = {\n additionalPayment: 'additional_payment',\n deliver: 'deliver',\n advertising: 'advertising',\n}\n\nexport const noticesBehaviors = {\n parallel: 'parallel',\n serial: 'serial',\n}\n\nexport const minMessagesBottomOffsetForInteraction = 90\n\nexport const MESSAGES_IDS_IS_IN_READING_PROCESS_BY_ORDER = 'DASHBOARD__MESSAGES_IDS_IS_IN_READING_PROCESS_BY_ORDER--'\n\nexport const LOYALTY_ROUTE = 'loyalty'\n", "const stateItemsList = {\n fieldValue: 'fieldValue',\n systemFieldValue: 'systemFieldValue',\n expectedFieldValue: 'expectedFieldValue',\n\n fieldHidden: 'fieldHidden',\n\n enabled: 'enabled',\n\n fieldValidSystem: 'fieldValidSystem',\n fieldValidView: 'fieldValidView',\n\n fieldHintBox: 'fieldHintBox',\n fieldErrorBox: 'fieldErrorBox',\n fieldActionBox: 'fieldActionBox',\n\n forceUpdateLocalValue: 'forceUpdateLocalValue',\n\n responseData: 'responseData',\n responseWaiting: 'responseWaiting',\n}\n\nconst universalSelector = ({ state, fieldName, stateItem }) => state?.[fieldName]?.[stateItem]\n\nexport const getFieldValue = (state, fieldName) => universalSelector({ state, fieldName, stateItem: stateItemsList.fieldValue })\nexport const getSystemFieldValue = (state, fieldName) => universalSelector({ state, fieldName, stateItem: stateItemsList.systemFieldValue })\nexport const getExpectedFieldValue = (state, fieldName) => universalSelector({ state, fieldName, stateItem: stateItemsList.expectedFieldValue })\n\nexport const getFieldHidden = (state, fieldName) => universalSelector({ state, fieldName, stateItem: stateItemsList.fieldHidden })\n\nexport const getEnabled = (state, fieldName) => universalSelector({ state, fieldName, stateItem: stateItemsList.enabled })\n\nexport const getFieldValidSystem = (state, fieldName) => universalSelector({ state, fieldName, stateItem: stateItemsList.fieldValidSystem })\nexport const getFieldValidView = (state, fieldName) => universalSelector({ state, fieldName, stateItem: stateItemsList.fieldValidView })\n\nexport const getFieldHintBox = (state, fieldName) => universalSelector({ state, fieldName, stateItem: stateItemsList.fieldHintBox })\nexport const getFieldErrorBox = (state, fieldName) => universalSelector({ state, fieldName, stateItem: stateItemsList.fieldErrorBox })\nexport const getFieldActionBox = (state, fieldName) => universalSelector({ state, fieldName, stateItem: stateItemsList.fieldActionBox })\n\nexport const getForceUpdateLocalValue = (state, fieldName) => universalSelector({ state, fieldName, stateItem: stateItemsList.forceUpdateLocalValue })\n\nexport const getResponseData = (state, fieldName) => universalSelector({ state, fieldName, stateItem: stateItemsList.responseData })\nexport const getResponseWaiting = (state, fieldName) => universalSelector({ state, fieldName, stateItem: stateItemsList.responseWaiting })\n\nexport const field = fieldName => state => getFieldValue(state, fieldName)\n", "import _size from 'lodash/size'\n\n/* utils general */\nimport reqH from 'utils/http-client/request-handler'\nimport notify from 'utils/notify'\nimport queryString from 'utils/query-string'\nimport storage from 'utils/storage'\n\n/* helpers general */\nimport forwardToDashboard from 'helpers/redirects/forward-to-dashboard'\n/* helpers global-entities */\nimport toggleAuthButtons from 'global-entities/user-data/helpers/toggle-auth-buttons'\nimport systemAuthorization from 'global-entities/user-data/helpers/system-authorization'\n\n/* redux-constants */\nimport {\n REMOTE_ATTEMPT,\n REMOTE_ERROR,\n REMOTE_SUCCESS,\n} from 'common/sheared/universal-constants'\n\n/* constants general */\nimport {\n AUTHORISATION_STATUSES,\n APPLE,\n} from 'constants/auth'\n/* constants general */\n\nexport const appleAuthorization = ({\n appleData,\n fieldName,\n shouldForwardToDashboard = false,\n}) => (dispatch) => {\n dispatch({ type: fieldName + REMOTE_ATTEMPT })\n\n const params = queryString.getParams() || {}\n\n reqH({\n method: 'POST',\n url: 'v2/auth/apple',\n urlPrefix: false,\n params: { rt: 0, ...params },\n data: {\n token: appleData.id_token,\n authorizationCode: appleData.code,\n },\n }, (res) => {\n if (_size(res.errors) > 0) {\n dispatch({ type: fieldName + REMOTE_ERROR })\n notify.error(res.errors[0])\n return\n }\n\n if (!res.access_token) {\n throw new Error('Please enter correct email/password or register new account')\n }\n\n storage.set('jwt', res.access_token)\n\n dispatch({ type: fieldName + REMOTE_SUCCESS })\n\n systemAuthorization({\n userData: res.user,\n authType: APPLE.authType,\n dispatch,\n })\n\n toggleAuthButtons(AUTHORISATION_STATUSES.authorized)\n\n if (shouldForwardToDashboard) {\n forwardToDashboard({}, 'orders')\n }\n })\n}\n", "import React, { FC, useCallback } from 'react'\nimport { useDispatch } from 'react-redux'\nimport { GoogleOAuthProvider, GoogleLogin, } from '@react-oauth/google'\nimport clsx from 'clsx'\n\nimport notify from 'utils/notify'\n\nimport { googleAuthorization } from './actions'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport type { ISocialAuth } from './../types'\n\nimport './styles.scss'\nimport { useCheckValid } from '../hooks/useCheckValid'\n\ninterface IGoogleAuthProps extends Omit {\n height?: number\n width?: number\n}\n\nexport const GoogleAuth: FC = ({\n height = 50,\n width = 50,\n type = 'signup',\n view = 'icon',\n entity='order-form',\n shouldForwardToDashboard,\n enableValidation,\n}) => {\n const bootsrapData = getBootstrapData()\n const clientId = bootsrapData?.socials?.google?.app_id;\n\n const dispatch = useDispatch()\n\n const { checkValid } = useCheckValid(enableValidation)\n\n const responseGoogle = useCallback((response: any) => {\n if (!checkValid()) {\n return\n }\n\n googleAuthorization({\n googleData: response,\n fieldName: 'googleAuth',\n shouldForwardToDashboard,\n })(dispatch)\n }, [googleAuthorization, checkValid])\n\n const handleCheckValid = useCallback((e) => {\n checkValid()\n }, [checkValid])\n\n const onError = useCallback(() => {\n notify.warning('You did not finish authorization with Google. Please try again or login with email and password.')\n }, [])\n\n if (!clientId) {\n return null\n }\n\n return (\n
\n \n \n \n \n \n
\n )\n}\n", "import _size from 'lodash/size'\n\n/* utils general */\nimport reqH from 'utils/http-client/request-handler'\nimport notify from 'utils/notify'\nimport queryString from 'utils/query-string'\nimport storage from 'utils/storage'\n\n/* helpers general */\nimport forwardToDashboard from 'helpers/redirects/forward-to-dashboard'\n/* helpers global-entities */\nimport toggleAuthButtons from 'global-entities/user-data/helpers/toggle-auth-buttons'\nimport systemAuthorization from 'global-entities/user-data/helpers/system-authorization'\n\n/* redux-constants */\nimport {\n REMOTE_ATTEMPT,\n REMOTE_ERROR,\n REMOTE_SUCCESS,\n} from 'common/sheared/universal-constants'\n\n/* constants general */\nimport {\n AUTHORISATION_STATUSES,\n GOOGLE,\n} from 'constants/auth'\n/* constants general */\n\nexport const googleAuthorization = ({\n googleData,\n fieldName,\n shouldForwardToDashboard = false,\n}) => (dispatch) => {\n dispatch({ type: fieldName + REMOTE_ATTEMPT })\n\n const params = queryString.getParams() || {}\n\n reqH({\n method: 'POST',\n url: 'v2/auth/google',\n urlPrefix: false,\n params: { rt: 0, ...params },\n data: {\n idToken: googleData.credential,\n },\n }, (res) => {\n if (_size(res.errors) > 0) {\n dispatch({ type: fieldName + REMOTE_ERROR })\n notify.error(res.errors[0])\n return\n }\n\n if (!res.access_token) {\n throw new Error('Please enter correct email/password or register new account')\n }\n\n storage.set('jwt', res.access_token)\n\n dispatch({ type: fieldName + REMOTE_SUCCESS })\n\n systemAuthorization({\n userData: res.user,\n authType: GOOGLE.authType,\n dispatch,\n })\n\n toggleAuthButtons(AUTHORISATION_STATUSES.authorized)\n\n if (shouldForwardToDashboard) {\n forwardToDashboard({}, 'orders')\n }\n })\n}\n", "import React, { FC, useCallback } from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\n\nimport { AuthFieldNames } from '@qwerty.software/ui-order-form/src/store/slices/user/constants'\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/user'\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport { getFieldValue } from 'common/sheared/universal-selectors'\n\nimport { facebookAuthorization } from './actions'\n\nimport { FacebookButtonText } from './text'\n\nimport { LoaderHoc } from './loader-hoc'\nimport { useCheckValid } from '../hooks/useCheckValid'\n\nimport type { ISocialAuth } from '../types'\n\nimport cc from 'common/fields-configs'\n\nimport './styles/index.scss'\n\nexport const FacebookAuth: FC = ({\n type = 'signin',\n view = 'standard',\n size = 50,\n single = false,\n entity = 'order-form',\n enableValidation,\n shouldForwardToDashboard,\n buttonText,\n}) => {\n const dispatch = useDispatch()\n const { socials } = getBootstrapData()\n\n const CLIENT_AGREEMENTS_SELECTOR = entity === 'order-form'\n ? value(AuthFieldNames.CLIENT_AGREEMENTS)\n : (state) => ({ value: getFieldValue(state, cc.clientAgreements.name) })\n\n const clientAgreements = useSelector(CLIENT_AGREEMENTS_SELECTOR)\n\n const { checkValid } = useCheckValid(enableValidation)\n\n const handleButtonClick = useCallback(() => {\n if (!checkValid()) {\n return\n }\n\n facebookAuthorization({\n fieldName: 'facebookAuth',\n clientAgreements: clientAgreements.value.length && clientAgreements.value,\n shouldForwardToDashboard,\n })(dispatch)\n }, [facebookAuthorization, checkValid, clientAgreements])\n\n if (!socials?.facebook?.app_id) {\n return null\n }\n\n return (\n \n \n \n \n \n )\n}\n", "import _size from 'lodash/size'\n\n/* utils general */\nimport reqH from 'utils/http-client/request-handler'\nimport notify from 'utils/notify'\nimport customEvent from 'utils/custom-event'\nimport queryString from 'utils/query-string'\nimport storage from 'utils/storage'\n\n/* helpers general */\nimport forwardToDashboard from 'helpers/redirects/forward-to-dashboard'\n/* helpers global-entities */\nimport toggleAuthButtons from 'global-entities/user-data/helpers/toggle-auth-buttons'\nimport systemAuthorization from 'global-entities/user-data/helpers/system-authorization'\n\n/* redux-constants */\nimport {\n CHECK_FIELD_VALUE,\n\n REMOTE_ATTEMPT,\n REMOTE_ERROR,\n REMOTE_SUCCESS,\n} from 'common/sheared/universal-constants'\n\n/* constants general */\nimport {\n AUTHORISATION_STATUSES,\n FACEBOOK,\n} from 'constants/auth'\n/* constants general */\nimport { INQUIRY_FORM_SHOULD_BE_SUBMITTED } from 'constants/custom-events'\n\nconst socialAuthorization = ({\n facebookData,\n fieldName,\n shouldForwardToDashboard = false,\n dispatch,\n}) => {\n reqH({\n method: 'POST',\n url: 'social',\n params: queryString.getParams() || {},\n data: facebookData,\n }, (res) => {\n if (_size(res.errors) > 0) {\n dispatch({ type: fieldName + REMOTE_ERROR })\n notify.error(res.errors[0])\n return\n }\n\n if (!res.data.token) {\n throw new Error('Please enter correct email/password or register new account')\n }\n\n storage.set('jwt', res.data.token)\n\n dispatch({ type: fieldName + REMOTE_SUCCESS })\n\n systemAuthorization({\n userData: res.data.user,\n authType: FACEBOOK.authType,\n dispatch,\n })\n\n toggleAuthButtons(AUTHORISATION_STATUSES.authorized)\n\n // if we get login with facebook params (user came from FB Bot)\n // redirect to url in data.redirect\n // else redirect to dashboard\n // const facebookRedirectUrl = res.data.redirect || false\n // if (facebookRedirectUrl) {\n // window.location.href = decodeURIComponent(facebookRedirectUrl)\n // } else {\n shouldForwardToDashboard && forwardToDashboard({}, 'orders')\n // }\n\n })\n}\n\nexport const facebookAuthorization = ({\n fieldName,\n clientAgreements,\n shouldForwardToDashboard = false,\n}) => (dispatch) => {\n dispatch({ type: fieldName + REMOTE_ATTEMPT })\n\n // @ts-ignore\n FB.login((res) => {\n if (res.authResponse) {\n const requestedFields = { fields: 'first_name, last_name, email' }\n // @ts-ignore\n FB.api('/me', requestedFields, (res) => {\n\n const facebookData = {\n email: res.email,\n first_name: res.first_name,\n last_name: res.last_name,\n password: '',\n social_id: res.id,\n type: 'facebook',\n }\n\n if (clientAgreements) {\n // @ts-ignore\n facebookData.agreements = clientAgreements\n }\n\n socialAuthorization({\n facebookData,\n fieldName,\n shouldForwardToDashboard,\n dispatch,\n })\n\n // for inquiry form on mobile (new design)\n customEvent.trigger(INQUIRY_FORM_SHOULD_BE_SUBMITTED)\n })\n } else {\n dispatch({ type: fieldName + REMOTE_ERROR })\n notify.warning('You did not finish authorization with Facebook. Please try again or login with email and password.')\n }\n }, {\n scope: 'public_profile, email',\n return_scopes: true,\n })\n}\n\nexport const socialAccountValidation = (fieldName) => (dispatch) => {\n dispatch({\n type: fieldName + CHECK_FIELD_VALUE,\n payload: {\n fieldErrorBox: 'renderErrorBox',\n },\n })\n}\n", "import React, { FC } from 'react'\n\ninterface IProps {\n type: 'signin' | 'signup'\n view: 'icon' | 'standard'\n buttonText?: string\n}\n\nexport const FacebookButtonText: FC = ({\n type = 'signin',\n view = 'standard',\n buttonText,\n}) => {\n if (view === 'icon') {\n return null\n }\n\n switch (true) {\n case !!buttonText:\n return <>{buttonText}\n case type === 'signup':\n return <>Sign up with Facebook\n default:\n return <>Sign in with Facebook\n }\n}\n", "import React, { FC, useCallback, useState, useEffect } from 'react'\nimport cslx from 'clsx'\n\nimport { InView } from 'react-intersection-observer'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\n\nimport type { ISocialAuth } from '../types'\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport { makeClassViaProject } from 'helpers/make-class-via-project'\nimport { PROJECT_FAMILY } from 'constants/configs'\n\nimport './styles/index.scss'\n\ninterface IProps {\n single: boolean\n entity: ISocialAuth['entity']\n children: React.ReactNode\n}\n\nexport const LoaderHoc: FC = ({\n single,\n entity,\n children,\n}) => {\n const { socials } = getBootstrapData()\n\n const projectFamily = getFromConfigs(PROJECT_FAMILY)\n\n const [needLoad, setNeedLoad] = useState(false)\n\n const handleInView = useCallback((inView) => {\n if (needLoad === false && inView === true) {\n setNeedLoad(true)\n }\n }, [needLoad, setNeedLoad])\n\n const specificClassName = makeClassViaProject()\n\n useEffect(() => {\n if (!socials?.facebook?.app_id) {\n return\n }\n\n (window as any).fbAsyncInit = () => {\n // @ts-ignore\n FB.init({\n appId: socials.facebook.app_id,\n xfbml: true,\n version: 'v2.7',\n })\n // eslint-disable-next-line no-console\n console.info('FB-sdk connected')\n }\n\n if (needLoad) {\n const fjs = document.getElementsByTagName('script')[0]\n\n if (document.getElementById('facebook-jssdk')) {\n return\n }\n\n const js = document.createElement('script')\n js.id = 'facebook-jssdk'\n js.src = '//connect.facebook.net/en_US/sdk.js'\n fjs.parentNode?.insertBefore(js, fjs)\n }\n }, [socials?.facebook?.app_id, needLoad])\n\n return (\n \n {children}\n \n )\n}\n", "import { PROJECT_ID } from \"constants/configs\"\nimport { DOMYPRESENTATIONFOR_ID, PAPERCOACH_ID, POWERPOINT_ID, SPEEDYPAPER_ID, ACADEM_EIGHT_ID, ESSAYSTUDIO_ID } from \"constants/project-ids\"\nimport getFromConfigs from \"helpers/configs/get-from-configs\"\n\nexport const makeClassViaProject = () => {\n const projectId = getFromConfigs(PROJECT_ID)\n\n switch (projectId) {\n case SPEEDYPAPER_ID:\n case POWERPOINT_ID:\n case DOMYPRESENTATIONFOR_ID:\n return 'spdppr-unique'\n case PAPERCOACH_ID:\n case ACADEM_EIGHT_ID:\n case ESSAYSTUDIO_ID:\n return 'pcch-unique'\n default:\n return ''\n }\n}", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport useAction from 'hooks/useAction'\n\nimport { Agreements as AgreementsField } from './field'\n\nimport * as validators from '@qwerty.software/ui-order-form/src/store/slices/user/validators'\n\nimport { AuthFieldNames } from '@qwerty.software/ui-order-form/src/store/slices/user/constants'\nimport { userSlice, value } from '@qwerty.software/ui-order-form/src/store/slices/user'\n\nimport { AGREEMENTS_FIELDNAME } from '../../../constants'\n\nexport enum AuthTabTypes {\n SIGNIN = 'signin',\n SIGNUP = 'signup',\n SOCIALS = 'socials'\n}\nexport interface AgreementsProps {\n authTab?: AuthTabTypes\n}\n\nconst Agreements = React.memo(({ authTab }) => {\n const clientAgreements = useSelector(value(AuthFieldNames.CLIENT_AGREEMENTS))\n\n const change = useAction(userSlice.actions.change)\n const handleChange = React.useCallback>(({ target }) => {\n change({ key: AuthFieldNames.CLIENT_AGREEMENTS, value: { ...clientAgreements, validationEnabled: true, value: target.value } })\n }, [clientAgreements])\n\n const error = clientAgreements.validationEnabled && validators.clientAgreements(clientAgreements.value)\n\n return (\n \n )\n})\n\nexport default Agreements\n", "import React, { FC, useCallback, useEffect } from 'react'\nimport clsx from 'clsx'\n\nimport { AccordionPanel } from '@qwerty.software/mono-ui-accordion'\nimport { Checkbox } from './../../../../../form-fields/_common/checkbox'\nimport type { ChangeHandler } from '@qwerty.software/mono-ui-checkbox'\n\nimport { toggle } from './toggle'\n\nimport \"@qwerty.software/mono-ui-accordion/lib/index.css\"\nimport { AuthTabTypes } from './../index'\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport { PROJECT_ID } from 'constants/configs'\nimport { PAPERCOACH_ID, SPEEDYPAPER_ID } from 'constants/project-ids'\n\nconst agreementsMainLabel = <>I agree to the Terms and Conditions, Money Back Guarantee, Privacy Policy, Disclaimer and I agree to be contacted\n\nconst projectsWithoutSms = getFromConfigs(PROJECT_ID) === PAPERCOACH_ID || getFromConfigs(PROJECT_ID) === SPEEDYPAPER_ID\n\nconst agreementsLabel = [\n {\n value: 2,\n label: <>I agree to the Terms and Conditions, Money Back Guarantee, Privacy Policy, Disclaimer,\n },\n {\n value: 3,\n label: <>I agree to be contacted regarding my order by email,{!projectsWithoutSms ? ` SMS,` : ''} phone, and other electronic means. This is necessary to ensure your order is done well, and it\u2019s free of charge. We will call you only if there is an urgent question, and your reply is needed to ensure your order is completed within specified deadline,\n },\n {\n value: 4,\n label: <>I agree to receive discount coupons, exclusive offers, and the latest news by email, SMS, phone, and other electronic means. This is free of charge, \n }\n]\n\nexport type Agreement = {\n value: number\n label: string\n}\n\ninterface IAgreementsProps {\n name: string\n value: Array\n onChange: any\n authTab?: AuthTabTypes\n\n error?: boolean\n\n customAgreements?: Agreement[]\n}\n\nexport const Agreements: FC = ({\n authTab,\n\n value,\n name,\n onChange,\n\n error = false,\n customAgreements = agreementsLabel\n}) => {\n useEffect(() => {\n authTab === AuthTabTypes.SOCIALS && onChange({\n target: {\n name,\n value: toggle(1, true, [1, 2, 3, 4])\n }\n })\n }, [authTab])\n\n const handleCheck = useCallback((event) => {\n event.stopPropagation()\n\n onChange({\n ...event,\n target: {\n ...event.target,\n name,\n value: toggle(parseInt(event.target.dataset.value, 10), event.target.checked, value)\n }\n })}, [value, name, onChange])\n\n if (authTab === AuthTabTypes.SOCIALS) {\n return (\n
\n \n
\n )\n }\n\n return (\n \n )}\n body={(\n
\n {customAgreements.map((agreement) => (\n \n ))}\n
\n )}\n />\n )\n}\n", "export const toggle = (value: number, checked: boolean, agreements: Array) => {\n if (value === 1 && checked) {\n return [1, 2, 3, 4]\n }\n\n if (value === 1 && !checked) {\n return []\n }\n\n if ((value === 2 || value === 3) && !checked) {\n return agreements.filter(agreement => agreement !== 1 && agreement !== value)\n }\n\n if (checked && !agreements.includes(value)) {\n const newArr = [...agreements, value]\n return newArr.includes(2) && newArr.includes(3) && value !== 4 ? [...newArr, 1] : newArr\n }\n\n return agreements.filter(agreement => agreement !== value)\n}", "import * as React from 'react'\n\nimport { PriceItemsList } from './components/price-items-list'\nimport { TotalPrice } from './components/total-price'\n\nimport { AccordionPanel } from '@qwerty.software/mono-ui-accordion'\nimport \"@qwerty.software/mono-ui-accordion/lib/index.css\"\n\nexport interface SummaryAccordionProps { }\n\nexport const SummaryAccordion = React.memo(() => {\n\n return (\n Order summary

)}\n body={(\n <>\n
\n \n
\n \n \n )}\n />\n )\n})\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useFormContext } from '@qwerty.software/ui-order-form/src/contexts/form-context'\nimport { value } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { FieldNames, WriterCategoryIds } from '@qwerty.software/ui-order-form/src/store/constants'\nimport { useChangeOrderByQuery } from '@qwerty.software/ui-order-form/src/hooks/use-change-order-by-query'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { Summary } from '../../../components/summary/speedypaper.com'\nimport { BottomPriceBox } from '../../../components/bottom-price-box'\n\nimport { Quantity } from 'components/form-fields/quantity'\nimport { Deadline } from 'components/form-fields/deadline/speedypaper.com'\nimport { Topic } from 'components/form-fields/topic'\nimport { PaperDetailsMaterials } from 'components/form-fields/paper-details-materials'\nimport { WriterCategory } from 'components/form-fields/writer-category'\nimport { PreferredOrder } from 'components/form-fields/preferred-order/with-search-input'\nimport { AdditionalFeatures } from 'components/form-fields/additional-features'\nimport { Discount } from 'components/form-fields/discount'\nimport { Software } from 'components/form-fields/software'\nimport { PreviouslyOrderedUpsales } from 'components/previously-ordered-upsales'\n\nimport Auth from '../../../components/auth/socials-inside-tabs'\nimport SubmitButton from 'components/navigation/submit'\nimport { SummaryAccordion } from 'components/summary/mobile-accordion'\nimport { Reset } from 'components/summary/components/reset'\nimport { PaymentMethods } from 'components/summary/components/payment-methods'\nimport { UpsaleIds } from '@qwerty.software/ui-order-form/src/store/constants'\n\nexport interface ComponentProps {}\n\nexport const UIOrderForm = React.memo(() => {\n const { formRef } = useFormContext()\n\n const mdDown = useMedia('md', 'down')\n\n const writerCategory = useSelector(value(FieldNames.WRITER_CATEGORY))\n\n useChangeOrderByQuery()\n\n return (\n
\n
\n
\n \n \n \n \n \n {writerCategory === WriterCategoryIds.PREFERRED && (\n \n )}\n \n \n \n {mdDown ? : null}\n {mdDown ? : null}\n \n \n
\n
\n {!mdDown ? : null}\n {mdDown\n ?
\n \n \n
\n : null\n }\n \n
\n )}\n)\n", "import { createSlice, PayloadAction } from '@reduxjs/toolkit'\nimport localforage from 'localforage'\n\nimport { NAME } from './constants'\nimport { ExtenderState, Extended } from './types'\n\nexport const EXPANDER_SLICE_NAME = `slice://${NAME}/` as const\n\nexport const createExpanderSlice = (extended: Extended) => {\n const slice = createSlice({\n name: EXPANDER_SLICE_NAME,\n initialState: {\n extended,\n } as ExtenderState,\n reducers: {\n set(state, action: PayloadAction) {\n state.extended = action.payload\n },\n },\n })\n\n return slice\n}\n\nexport const PERSIST_CONFIG = {\n keyPrefix: '',\n key: EXPANDER_SLICE_NAME,\n // TODO: Disable serialization.\n // serialize: false,\n storage: localforage.createInstance({\n name: '[MSH] Storage',\n storeName: NAME,\n driver: [\n // localforage.INDEXEDDB,\n localforage.LOCALSTORAGE,\n ]\n }),\n}\n\nexport const { set } = createExpanderSlice(Extended.EXTENDED).actions\n\ninterface State {\n //@ts-ignore\n [EXPANDER_SLICE_NAME]: ExtenderState\n}\n// @ts-ignore\nexport const HYDRATED = (state: State) => state[EXPANDER_SLICE_NAME]?._persist?.rehydrated\nexport const EXTENDED = (state: State): Extended => state[EXPANDER_SLICE_NAME]?.extended", "export const NAME = 'order-form/extender'\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { set as setExtended} from '@qwerty.software/ui-order-form/src/store/slices/extender/slice'\nimport { EXTENDED } from '@qwerty.software/ui-order-form/src/store/slices/extender/slice'\n\nimport actionTracker from \"utils/action-tracker\"\n\nimport { useConfigsContext } from './../_decorator/configs-context'\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nimport useAction from 'hooks/useAction'\n\nimport Tooltip, { TooltipProps } from './../../components/tooltip'\n\nimport Switcher, { type ChangeHandler } from '@qwerty.software/mono-ui-switcher'\n\nimport { Extended } from '@qwerty.software/ui-order-form/src/store/slices/extender/types'\n\nexport interface ExtenderProps {\n withTooltip?: boolean\n tooltip?: {\n align?: TooltipProps['align']\n }\n}\n\nexport const Extender: React.FC = ({\n withTooltip = true,\n tooltip = {\n align: {\n mdDown: 'right-bottom',\n mdUp: 'right-bottom',\n },\n }\n }) => {\n const { extender: extenderConfig } = useConfigsContext()\n const extended = useSelector(EXTENDED)\n const smUp = useMedia('sm', 'up')\n\n const d = useDictionary()\n\n const change = useAction(setExtended)\n const handleChange = React.useCallback((e, checked, name) => {\n actionTracker.track({ eventName: !checked ? 'LongFormSwitch' : 'ShortFormSwitch' })\n change(checked ? Extended.EXTENDED : Extended.COLLAPSED)\n }, [change])\n\n React.useEffect(() => {\n change(Extended.EXTENDED)\n }, [smUp])\n\n if (!extenderConfig?.show) {\n return null\n }\n\n return (\n
\n {extenderConfig?.withLabel && (\n \n )}\n \n {withTooltip\n ? \n : null\n }\n
\n )\n}\n", "import * as React from \"react\";\nconst SvgChecked = props => ;\nexport default SvgChecked;\nexport const ReactComponent = SvgChecked;", "import * as React from \"react\";\nconst SvgUnchecked = props => ;\nexport default SvgUnchecked;\nexport const ReactComponent = SvgUnchecked;", "import { FC } from 'react'\n\nimport useTooltip from '@qwerty.software/mono-ui-tooltip'\nimport { PopularIcon } from './icon'\n\nimport './styles.scss'\n\nexport interface IAdditionalFeatureSpecialProps {}\n\nexport const AdditionalFeatureSpecial: FC = () => {\n const [tooltipRef] = useTooltip(\n \n The most popular extras \n ,\n [], { align: {x: 'right', y: 'bottom'}, triggers: ['hover'] })\n\n return (\n \n )\n}\n", "export const PopularIcon = () => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n)", "import * as React from 'react'\nimport clsx from 'clsx'\n\nimport { Option } from '@qwerty.software/mono-ui-radio-group'\nimport Tooltip from './../../../components/tooltip'\n\nimport { useMedia } from 'ui/_responsive'\n\nimport { getBootstrapData } from 'global-entities/bootstrap-data/utils/get'\nimport { usePreferredError } from '../../../components/form-fields/writer-category/option-button/preferred-error-tooltip/use-preferred-error'\nimport { FieldNames, WriterCategoryIds } from '@qwerty.software/ui-order-form/src/store/constants'\n\nimport type { OptionButtonProps } from '../../../components/form-fields/writer-category'\nimport { useSelector } from 'react-redux'\nimport { value as VALUE_SELECTOR } from '@qwerty.software/ui-order-form/src/store/slices/order'\nimport { useDictionary } from '@qwerty.software/ui-order-form/src/contexts/dictionary-context'\n\nconst ICONS = {\n base: {\n [WriterCategoryIds.BEST_AVAILIBLE]: 'data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEyIiBmaWxsPSIjRTBFQ0ZGIi8+CjxwYXRoIGQ9Ik0xNy4xNjAzIDguODg2N0wxNC4yMDAzIDUuNTUzMzdDMTQuMTM4IDUuNDg0MzEgMTQuMDYxOSA1LjQyOTA2IDEzLjk3NjkgNS4zOTExN0MxMy44OTIgNS4zNTMyOCAxMy44IDUuMzMzNTkgMTMuNzA3IDUuMzMzMzdIOC4zNzM2NkM4LjE1MjE2IDUuMzMwNzMgNy45MzIzMSA1LjM3MTc1IDcuNzI2NjYgNS40NTQwOEM3LjUyMTAxIDUuNTM2NDEgNy4zMzM2IDUuNjU4NDQgNy4xNzUxMSA1LjgxMzIxQzcuMDE2NjMgNS45Njc5OCA2Ljg5MDE5IDYuMTUyNDUgNi44MDMgNi4zNTYwOEM2LjcxNTgyIDYuNTU5NzIgNi42Njk2IDYuNzc4NTQgNi42NjY5OSA3LjAwMDA0VjE3QzYuNjY5NiAxNy4yMjE1IDYuNzE1ODIgMTcuNDQwNCA2LjgwMyAxNy42NDRDNi44OTAxOSAxNy44NDc2IDcuMDE2NjMgMTguMDMyMSA3LjE3NTExIDE4LjE4NjlDNy4zMzM2IDE4LjM0MTYgNy41MjEwMSAxOC40NjM3IDcuNzI2NjYgMTguNTQ2QzcuOTMyMzEgMTguNjI4MyA4LjE1MjE2IDE4LjY2OTMgOC4zNzM2NiAxOC42NjY3SDE1LjYyN0MxNS44NDg1IDE4LjY2OTMgMTYuMDY4MyAxOC42MjgzIDE2LjI3NCAxOC41NDZDMTYuNDc5NiAxOC40NjM3IDE2LjY2NzEgMTguMzQxNiAxNi44MjU1IDE4LjE4NjlDMTYuOTg0IDE4LjAzMjEgMTcuMTEwNSAxNy44NDc2IDE3LjE5NzYgMTcuNjQ0QzE3LjI4NDggMTcuNDQwNCAxNy4zMzEgMTcuMjIxNSAxNy4zMzM3IDE3VjkuMzMzMzdDMTcuMzMzMiA5LjE2ODE1IDE3LjI3MTUgOS4wMDg5NyAxNy4xNjAzIDguODg2N1pNMTAuMDAwMyAxMkgxMi4wMDAzQzEyLjE3NzEgMTIgMTIuMzQ2NyAxMi4wNzAzIDEyLjQ3MTcgMTIuMTk1M0MxMi41OTY4IDEyLjMyMDMgMTIuNjY3IDEyLjQ4OTkgMTIuNjY3IDEyLjY2NjdDMTIuNjY3IDEyLjg0MzUgMTIuNTk2OCAxMy4wMTMxIDEyLjQ3MTcgMTMuMTM4MUMxMi4zNDY3IDEzLjI2MzEgMTIuMTc3MSAxMy4zMzM0IDEyLjAwMDMgMTMuMzMzNEgxMC4wMDAzQzkuODIzNTEgMTMuMzMzNCA5LjY1Mzk1IDEzLjI2MzEgOS41Mjg5MiAxMy4xMzgxQzkuNDAzOSAxMy4wMTMxIDkuMzMzNjYgMTIuODQzNSA5LjMzMzY2IDEyLjY2NjdDOS4zMzM2NiAxMi40ODk5IDkuNDAzOSAxMi4zMjAzIDkuNTI4OTIgMTIuMTk1M0M5LjY1Mzk1IDEyLjA3MDMgOS44MjM1MSAxMiAxMC4wMDAzIDEyWk0xNC4wMDAzIDE2SDEwLjAwMDNDOS44MjM1MSAxNiA5LjY1Mzk1IDE1LjkyOTggOS41Mjg5MiAxNS44MDQ4QzkuNDAzOSAxNS42Nzk4IDkuMzMzNjYgMTUuNTEwMiA5LjMzMzY2IDE1LjMzMzRDOS4zMzM2NiAxNS4xNTY2IDkuNDAzOSAxNC45ODcgOS41Mjg5MiAxNC44NjJDOS42NTM5NSAxNC43MzY5IDkuODIzNTEgMTQuNjY2NyAxMC4wMDAzIDE0LjY2NjdIMTQuMDAwM0MxNC4xNzcxIDE0LjY2NjcgMTQuMzQ2NyAxNC43MzY5IDE0LjQ3MTcgMTQuODYyQzE0LjU5NjggMTQuOTg3IDE0LjY2NyAxNS4xNTY2IDE0LjY2NyAxNS4zMzM0QzE0LjY2NyAxNS41MTAyIDE0LjU5NjggMTUuNjc5OCAxNC40NzE3IDE1LjgwNDhDMTQuMzQ2NyAxNS45Mjk4IDE0LjE3NzEgMTYgMTQuMDAwMyAxNlpNMTMuODA3IDkuMzMzMzdDMTMuNjY5NiA5LjMxOTg0IDEzLjU0MjkgOS4yNTI4NiAxMy40NTQ0IDkuMTQ2ODdDMTMuMzY1OSA5LjA0MDg4IDEzLjMyMjUgOC45MDQzNiAxMy4zMzM3IDguNzY2NzFWNi42NjY3MUwxNS44MjcgOS4zMzMzN0gxMy44MDdaIiBmaWxsPSIjMUY2OEQxIi8+Cjwvc3ZnPgo=',\n [WriterCategoryIds.PRO]: 'data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEyIiBmaWxsPSIjRTBFQ0ZGIi8+CjxwYXRoIGQ9Ik0xNS45OTk3IDcuMzc0NjdWNkg3Ljk5OTY3VjcuMzc0NjdINS4zMzMwMVY5LjMzMzMzQzUuMzMzMDEgMTEuMDE2NyA2LjU5MjM0IDEyLjM5ODcgOC4yMTU2NyAxMi42MjEzQzguNDQ4MTkgMTMuMzAzMiA4Ljg2MDYxIDEzLjkwOTYgOS40MDkzMyAxNC4zNzY0QzkuOTU4MDUgMTQuODQzMiAxMC42MjI3IDE1LjE1MzEgMTEuMzMzIDE1LjI3MzNWMTZDMTEuMzMzIDE2LjM1MzYgMTEuMTkyNSAxNi42OTI4IDEwLjk0MjUgMTYuOTQyOEMxMC42OTI0IDE3LjE5MjkgMTAuMzUzMyAxNy4zMzMzIDkuOTk5NjcgMTcuMzMzM0g5LjMzMzAxVjE4LjY2NjdIMTQuNjY2M1YxNy4zMzMzSDEzLjk5OTdDMTMuNjQ2MSAxNy4zMzMzIDEzLjMwNjkgMTcuMTkyOSAxMy4wNTY5IDE2Ljk0MjhDMTIuODA2OCAxNi42OTI4IDEyLjY2NjMgMTYuMzUzNiAxMi42NjYzIDE2VjE1LjI3MzNDMTMuMzc2NyAxNS4xNTMxIDE0LjA0MTMgMTQuODQzMiAxNC41OSAxNC4zNzY0QzE1LjEzODcgMTMuOTA5NiAxNS41NTEyIDEzLjMwMzIgMTUuNzgzNyAxMi42MjEzQzE3LjQwNyAxMi4zOTg3IDE4LjY2NjMgMTEuMDE2NyAxOC42NjYzIDkuMzMzMzNWNy4zNzQ2N0gxNS45OTk3Wk02LjY2NjM0IDkuMzMzMzNWOC43MDhINy45OTk2N1YxMS4yMTg3QzcuNjEgMTEuMDgwNSA3LjI3MjY1IDEwLjgyNTEgNy4wMzM5MiAxMC40ODc1QzYuNzk1MTkgMTAuMTUgNi42NjY3OSA5Ljc0Njc4IDYuNjY2MzQgOS4zMzMzM1pNMTcuMzMzIDkuMzMzMzNDMTcuMzMyNSA5Ljc0Njg1IDE3LjIwNDEgMTAuMTUwMSAxNi45NjU0IDEwLjQ4NzdDMTYuNzI2NyAxMC44MjU0IDE2LjM4OTMgMTEuMDgwOSAxNS45OTk3IDExLjIxOTNWOC43MDhIMTcuMzMzVjkuMzMzMzNaIiBmaWxsPSIjMUY2OEQxIi8+Cjwvc3ZnPgo=',\n [WriterCategoryIds.TOP]: 'data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEyIiBmaWxsPSIjRTBFQ0ZGIi8+CjxwYXRoIGQ9Ik0xNC43NjE0IDkuMDQ1NjNMMTguNzUzIDkuNjM4MzlDMTkuMDgzNiA5LjY4NTkyIDE5LjM2MTQgOS45MjA3OSAxOS40NjY5IDEwLjI0MjNDMTkuNTcyNSAxMC41NjY3IDE5LjQ4NjQgMTAuOTE5IDE5LjI0NzUgMTEuMTU5NEwxNi4zNTMgMTQuMDE3TDE3LjAzNjQgMTguMTE2QzE3LjA5MTkgMTguNDUxNSAxNi45NTU4IDE4Ljc5MjcgMTYuNjc4IDE4Ljk5MTJDMTYuNDAzIDE5LjE4OTcgMTYuMDM5MiAxOS4yMTQ5IDE1Ljc0MTkgMTkuMDU1NUwxMi4xNzUzIDE3LjE0MDJMOC42MTEzOCAxOS4wNTU1QzguMzExMzggMTkuMjE0OSA3Ljk0NzQ5IDE5LjE4OTcgNy42NzI0OSAxOC45OTEyQzcuMzk3NDkgMTguNzkyNyA3LjI1ODYgMTguNDUxNSA3LjMxNjk0IDE4LjExNkw4LjAwMDI3IDE0LjAxN0w1LjEwNTI3IDExLjE1OTRDNC44NjYxIDEwLjkxOSA0Ljc4MTEgMTAuNTY2NyA0Ljg4NjEgMTAuMjQyM0M0Ljk5MDgzIDkuOTIwNzkgNS4yNjc3NyA5LjY4NTkyIDUuNjAwODMgOS42MzgzOUw5LjU4OTE2IDkuMDQ1NjNMMTEuMzc4IDUuMzQ1NjFDMTEuNTI1MyA1LjAzNzYgMTEuODM2NCA0Ljg0MjA0IDEyLjE3NTMgNC44NDIwNEMxMi41MTY5IDQuODQyMDQgMTIuODI4IDUuMDM3NiAxMi45NzUzIDUuMzQ1NjFMMTQuNzYxNCA5LjA0NTYzWiIgZmlsbD0iIzFGNjhEMSIvPgo8L3N2Zz4K',\n [WriterCategoryIds.PREFERRED]: 'data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEyIiBmaWxsPSIjRTBFQ0ZGIi8+CjxwYXRoIGQ9Ik0xOC40MjE5IDguNDMxMjZDMTguMjEyNCA3Ljk0NjMyIDE3LjkxMDQgNy41MDY4NyAxNy41MzI4IDcuMTM3NTFDMTcuMTU0OSA2Ljc2NzA1IDE2LjcwOTMgNi40NzI2NSAxNi4yMjAzIDYuMjcwMzJDMTUuNzEzMiA2LjA1OTY5IDE1LjE2OTQgNS45NTE4NyAxNC42MjAzIDUuOTUzMTRDMTMuODUgNS45NTMxNCAxMy4wOTg0IDYuMTY0MDcgMTIuNDQ1MyA2LjU2MjUxQzEyLjI4OTEgNi42NTc4MiAxMi4xNDA2IDYuNzYyNTEgMTIgNi44NzY1N0MxMS44NTk0IDYuNzYyNTEgMTEuNzEwOSA2LjY1NzgyIDExLjU1NDcgNi41NjI1MUMxMC45MDE2IDYuMTY0MDcgMTAuMTUgNS45NTMxNCA5LjM3OTY5IDUuOTUzMTRDOC44MjUgNS45NTMxNCA4LjI4NzUgNi4wNTkzOSA3Ljc3OTY5IDYuMjcwMzJDNy4yODkwNiA2LjQ3MzQ1IDYuODQ2ODcgNi43NjU2NCA2LjQ2NzE5IDcuMTM3NTFDNi4wODkwNiA3LjUwNjQ1IDUuNzg3IDcuOTQ2MDEgNS41NzgxMiA4LjQzMTI2QzUuMzYwOTQgOC45MzU5NSA1LjI1IDkuNDcxODkgNS4yNSAxMC4wMjM0QzUuMjUgMTAuNTQzOCA1LjM1NjI1IDExLjA4NTkgNS41NjcxOSAxMS42Mzc1QzUuNzQzNzUgMTIuMDk4NCA1Ljk5Njg3IDEyLjU3NjYgNi4zMjAzMSAxMy4wNTk0QzYuODMyODEgMTMuODIzNCA3LjUzNzUgMTQuNjIwMyA4LjQxMjUgMTUuNDI4MUM5Ljg2MjUgMTYuNzY3MiAxMS4yOTg0IDE3LjY5MjIgMTEuMzU5NCAxNy43Mjk3TDExLjcyOTcgMTcuOTY3MkMxMS44OTM4IDE4LjA3MTkgMTIuMTA0NyAxOC4wNzE5IDEyLjI2ODggMTcuOTY3MkwxMi42MzkxIDE3LjcyOTdDMTIuNyAxNy42OTA2IDE0LjEzNDQgMTYuNzY3MiAxNS41ODU5IDE1LjQyODFDMTYuNDYwOSAxNC42MjAzIDE3LjE2NTYgMTMuODIzNCAxNy42NzgxIDEzLjA1OTRDMTguMDAxNiAxMi41NzY2IDE4LjI1NjIgMTIuMDk4NCAxOC40MzEyIDExLjYzNzVDMTguNjQyMiAxMS4wODU5IDE4Ljc0ODQgMTAuNTQzOCAxOC43NDg0IDEwLjAyMzRDMTguNzUgOS40NzE4OSAxOC42MzkxIDguOTM1OTUgMTguNDIxOSA4LjQzMTI2WiIgZmlsbD0iIzFGNjhEMSIvPgo8L3N2Zz4K',\n },\n active: {\n [WriterCategoryIds.BEST_AVAILIBLE]: 'data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEyIiBmaWxsPSIjMUY2OEQxIi8+CjxwYXRoIGQ9Ik0xNy4xNjAzIDguODg2N0wxNC4yMDAzIDUuNTUzMzdDMTQuMTM4IDUuNDg0MzEgMTQuMDYxOSA1LjQyOTA2IDEzLjk3NjkgNS4zOTExN0MxMy44OTIgNS4zNTMyOCAxMy44IDUuMzMzNTkgMTMuNzA3IDUuMzMzMzdIOC4zNzM2NkM4LjE1MjE2IDUuMzMwNzMgNy45MzIzMSA1LjM3MTc1IDcuNzI2NjYgNS40NTQwOEM3LjUyMTAxIDUuNTM2NDEgNy4zMzM2IDUuNjU4NDQgNy4xNzUxMSA1LjgxMzIxQzcuMDE2NjMgNS45Njc5OCA2Ljg5MDE5IDYuMTUyNDUgNi44MDMgNi4zNTYwOEM2LjcxNTgyIDYuNTU5NzIgNi42Njk2IDYuNzc4NTQgNi42NjY5OSA3LjAwMDA0VjE3QzYuNjY5NiAxNy4yMjE1IDYuNzE1ODIgMTcuNDQwNCA2LjgwMyAxNy42NDRDNi44OTAxOSAxNy44NDc2IDcuMDE2NjMgMTguMDMyMSA3LjE3NTExIDE4LjE4NjlDNy4zMzM2IDE4LjM0MTYgNy41MjEwMSAxOC40NjM3IDcuNzI2NjYgMTguNTQ2QzcuOTMyMzEgMTguNjI4MyA4LjE1MjE2IDE4LjY2OTMgOC4zNzM2NiAxOC42NjY3SDE1LjYyN0MxNS44NDg1IDE4LjY2OTMgMTYuMDY4MyAxOC42MjgzIDE2LjI3NCAxOC41NDZDMTYuNDc5NiAxOC40NjM3IDE2LjY2NzEgMTguMzQxNiAxNi44MjU1IDE4LjE4NjlDMTYuOTg0IDE4LjAzMjEgMTcuMTEwNSAxNy44NDc2IDE3LjE5NzYgMTcuNjQ0QzE3LjI4NDggMTcuNDQwNCAxNy4zMzEgMTcuMjIxNSAxNy4zMzM3IDE3VjkuMzMzMzdDMTcuMzMzMiA5LjE2ODE1IDE3LjI3MTUgOS4wMDg5NyAxNy4xNjAzIDguODg2N1pNMTAuMDAwMyAxMkgxMi4wMDAzQzEyLjE3NzEgMTIgMTIuMzQ2NyAxMi4wNzAzIDEyLjQ3MTcgMTIuMTk1M0MxMi41OTY4IDEyLjMyMDMgMTIuNjY3IDEyLjQ4OTkgMTIuNjY3IDEyLjY2NjdDMTIuNjY3IDEyLjg0MzUgMTIuNTk2OCAxMy4wMTMxIDEyLjQ3MTcgMTMuMTM4MUMxMi4zNDY3IDEzLjI2MzEgMTIuMTc3MSAxMy4zMzM0IDEyLjAwMDMgMTMuMzMzNEgxMC4wMDAzQzkuODIzNTEgMTMuMzMzNCA5LjY1Mzk1IDEzLjI2MzEgOS41Mjg5MiAxMy4xMzgxQzkuNDAzOSAxMy4wMTMxIDkuMzMzNjYgMTIuODQzNSA5LjMzMzY2IDEyLjY2NjdDOS4zMzM2NiAxMi40ODk5IDkuNDAzOSAxMi4zMjAzIDkuNTI4OTIgMTIuMTk1M0M5LjY1Mzk1IDEyLjA3MDMgOS44MjM1MSAxMiAxMC4wMDAzIDEyWk0xNC4wMDAzIDE2SDEwLjAwMDNDOS44MjM1MSAxNiA5LjY1Mzk1IDE1LjkyOTggOS41Mjg5MiAxNS44MDQ4QzkuNDAzOSAxNS42Nzk4IDkuMzMzNjYgMTUuNTEwMiA5LjMzMzY2IDE1LjMzMzRDOS4zMzM2NiAxNS4xNTY2IDkuNDAzOSAxNC45ODcgOS41Mjg5MiAxNC44NjJDOS42NTM5NSAxNC43MzY5IDkuODIzNTEgMTQuNjY2NyAxMC4wMDAzIDE0LjY2NjdIMTQuMDAwM0MxNC4xNzcxIDE0LjY2NjcgMTQuMzQ2NyAxNC43MzY5IDE0LjQ3MTcgMTQuODYyQzE0LjU5NjggMTQuOTg3IDE0LjY2NyAxNS4xNTY2IDE0LjY2NyAxNS4zMzM0QzE0LjY2NyAxNS41MTAyIDE0LjU5NjggMTUuNjc5OCAxNC40NzE3IDE1LjgwNDhDMTQuMzQ2NyAxNS45Mjk4IDE0LjE3NzEgMTYgMTQuMDAwMyAxNlpNMTMuODA3IDkuMzMzMzdDMTMuNjY5NiA5LjMxOTg0IDEzLjU0MjkgOS4yNTI4NiAxMy40NTQ0IDkuMTQ2ODdDMTMuMzY1OSA5LjA0MDg4IDEzLjMyMjUgOC45MDQzNiAxMy4zMzM3IDguNzY2NzFWNi42NjY3MUwxNS44MjcgOS4zMzMzN0gxMy44MDdaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K',\n [WriterCategoryIds.PRO]: 'data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEyIiBmaWxsPSIjMUY2OEQxIi8+CjxwYXRoIGQ9Ik0xNS45OTk3IDcuMzc0NjdWNkg3Ljk5OTY3VjcuMzc0NjdINS4zMzMwMVY5LjMzMzMzQzUuMzMzMDEgMTEuMDE2NyA2LjU5MjM0IDEyLjM5ODcgOC4yMTU2NyAxMi42MjEzQzguNDQ4MTkgMTMuMzAzMiA4Ljg2MDYxIDEzLjkwOTYgOS40MDkzMyAxNC4zNzY0QzkuOTU4MDUgMTQuODQzMiAxMC42MjI3IDE1LjE1MzEgMTEuMzMzIDE1LjI3MzNWMTZDMTEuMzMzIDE2LjM1MzYgMTEuMTkyNSAxNi42OTI4IDEwLjk0MjUgMTYuOTQyOEMxMC42OTI0IDE3LjE5MjkgMTAuMzUzMyAxNy4zMzMzIDkuOTk5NjcgMTcuMzMzM0g5LjMzMzAxVjE4LjY2NjdIMTQuNjY2M1YxNy4zMzMzSDEzLjk5OTdDMTMuNjQ2MSAxNy4zMzMzIDEzLjMwNjkgMTcuMTkyOSAxMy4wNTY5IDE2Ljk0MjhDMTIuODA2OCAxNi42OTI4IDEyLjY2NjMgMTYuMzUzNiAxMi42NjYzIDE2VjE1LjI3MzNDMTMuMzc2NyAxNS4xNTMxIDE0LjA0MTMgMTQuODQzMiAxNC41OSAxNC4zNzY0QzE1LjEzODcgMTMuOTA5NiAxNS41NTEyIDEzLjMwMzIgMTUuNzgzNyAxMi42MjEzQzE3LjQwNyAxMi4zOTg3IDE4LjY2NjMgMTEuMDE2NyAxOC42NjYzIDkuMzMzMzNWNy4zNzQ2N0gxNS45OTk3Wk02LjY2NjM0IDkuMzMzMzNWOC43MDhINy45OTk2N1YxMS4yMTg3QzcuNjEgMTEuMDgwNSA3LjI3MjY1IDEwLjgyNTEgNy4wMzM5MiAxMC40ODc1QzYuNzk1MTkgMTAuMTUgNi42NjY3OSA5Ljc0Njc4IDYuNjY2MzQgOS4zMzMzM1pNMTcuMzMzIDkuMzMzMzNDMTcuMzMyNSA5Ljc0Njg1IDE3LjIwNDEgMTAuMTUwMSAxNi45NjU0IDEwLjQ4NzdDMTYuNzI2NyAxMC44MjU0IDE2LjM4OTMgMTEuMDgwOSAxNS45OTk3IDExLjIxOTNWOC43MDhIMTcuMzMzVjkuMzMzMzNaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K',\n [WriterCategoryIds.TOP]: 'data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEyIiBmaWxsPSIjMUY2OEQxIi8+CjxwYXRoIGQ9Ik0xNC43NjE0IDkuMDQ1NjNMMTguNzUzIDkuNjM4MzlDMTkuMDgzNiA5LjY4NTkyIDE5LjM2MTQgOS45MjA3OSAxOS40NjY5IDEwLjI0MjNDMTkuNTcyNSAxMC41NjY3IDE5LjQ4NjQgMTAuOTE5IDE5LjI0NzUgMTEuMTU5NEwxNi4zNTMgMTQuMDE3TDE3LjAzNjQgMTguMTE2QzE3LjA5MTkgMTguNDUxNSAxNi45NTU4IDE4Ljc5MjcgMTYuNjc4IDE4Ljk5MTJDMTYuNDAzIDE5LjE4OTcgMTYuMDM5MiAxOS4yMTQ5IDE1Ljc0MTkgMTkuMDU1NUwxMi4xNzUzIDE3LjE0MDJMOC42MTEzOCAxOS4wNTU1QzguMzExMzggMTkuMjE0OSA3Ljk0NzQ5IDE5LjE4OTcgNy42NzI0OSAxOC45OTEyQzcuMzk3NDkgMTguNzkyNyA3LjI1ODYgMTguNDUxNSA3LjMxNjk0IDE4LjExNkw4LjAwMDI3IDE0LjAxN0w1LjEwNTI3IDExLjE1OTRDNC44NjYxIDEwLjkxOSA0Ljc4MTEgMTAuNTY2NyA0Ljg4NjEgMTAuMjQyM0M0Ljk5MDgzIDkuOTIwNzkgNS4yNjc3NyA5LjY4NTkyIDUuNjAwODMgOS42MzgzOUw5LjU4OTE2IDkuMDQ1NjNMMTEuMzc4IDUuMzQ1NjFDMTEuNTI1MyA1LjAzNzYgMTEuODM2NCA0Ljg0MjA0IDEyLjE3NTMgNC44NDIwNEMxMi41MTY5IDQuODQyMDQgMTIuODI4IDUuMDM3NiAxMi45NzUzIDUuMzQ1NjFMMTQuNzYxNCA5LjA0NTYzWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==',\n [WriterCategoryIds.PREFERRED]: 'data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEyIiBmaWxsPSIjMUY2OEQxIi8+CjxwYXRoIGQ9Ik0xOC40MjE5IDguNDMxMjZDMTguMjEyNCA3Ljk0NjMyIDE3LjkxMDQgNy41MDY4NyAxNy41MzI4IDcuMTM3NTFDMTcuMTU0OSA2Ljc2NzA1IDE2LjcwOTMgNi40NzI2NSAxNi4yMjAzIDYuMjcwMzJDMTUuNzEzMiA2LjA1OTY5IDE1LjE2OTQgNS45NTE4NyAxNC42MjAzIDUuOTUzMTRDMTMuODUgNS45NTMxNCAxMy4wOTg0IDYuMTY0MDcgMTIuNDQ1MyA2LjU2MjUxQzEyLjI4OTEgNi42NTc4MiAxMi4xNDA2IDYuNzYyNTEgMTIgNi44NzY1N0MxMS44NTk0IDYuNzYyNTEgMTEuNzEwOSA2LjY1NzgyIDExLjU1NDcgNi41NjI1MUMxMC45MDE2IDYuMTY0MDcgMTAuMTUgNS45NTMxNCA5LjM3OTY5IDUuOTUzMTRDOC44MjUgNS45NTMxNCA4LjI4NzUgNi4wNTkzOSA3Ljc3OTY5IDYuMjcwMzJDNy4yODkwNiA2LjQ3MzQ1IDYuODQ2ODcgNi43NjU2NCA2LjQ2NzE5IDcuMTM3NTFDNi4wODkwNiA3LjUwNjQ1IDUuNzg3IDcuOTQ2MDEgNS41NzgxMiA4LjQzMTI2QzUuMzYwOTQgOC45MzU5NSA1LjI1IDkuNDcxODkgNS4yNSAxMC4wMjM0QzUuMjUgMTAuNTQzOCA1LjM1NjI1IDExLjA4NTkgNS41NjcxOSAxMS42Mzc1QzUuNzQzNzUgMTIuMDk4NCA1Ljk5Njg3IDEyLjU3NjYgNi4zMjAzMSAxMy4wNTk0QzYuODMyODEgMTMuODIzNCA3LjUzNzUgMTQuNjIwMyA4LjQxMjUgMTUuNDI4MUM5Ljg2MjUgMTYuNzY3MiAxMS4yOTg0IDE3LjY5MjIgMTEuMzU5NCAxNy43Mjk3TDExLjcyOTcgMTcuOTY3MkMxMS44OTM4IDE4LjA3MTkgMTIuMTA0NyAxOC4wNzE5IDEyLjI2ODggMTcuOTY3MkwxMi42MzkxIDE3LjcyOTdDMTIuNyAxNy42OTA2IDE0LjEzNDQgMTYuNzY3MiAxNS41ODU5IDE1LjQyODFDMTYuNDYwOSAxNC42MjAzIDE3LjE2NTYgMTMuODIzNCAxNy42NzgxIDEzLjA1OTRDMTguMDAxNiAxMi41NzY2IDE4LjI1NjIgMTIuMDk4NCAxOC40MzEyIDExLjYzNzVDMTguNjQyMiAxMS4wODU5IDE4Ljc0ODQgMTAuNTQzOCAxOC43NDg0IDEwLjAyMzRDMTguNzUgOS40NzE4OSAxOC42MzkxIDguOTM1OTUgMTguNDIxOSA4LjQzMTI2WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==',\n },\n}\n\nexport const WriterCategoryButton = React.memo(({ value, title, checked, tooltip, deadlineFieldOnSameStep }) => {\n const d = useDictionary()\n const { writerCategories } = getBootstrapData()\n const activeWriterCategory = useSelector(VALUE_SELECTOR(FieldNames.WRITER_CATEGORY))\n\n const smDown = useMedia('sm', 'down')\n\n const writerCategory = React.useMemo(() => writerCategories.find(({ id }) => id === value), [writerCategories, value])\n const percent = parseInt(`${writerCategory.percent}`, 10)\n\n const { errorRef } = usePreferredError({ value, deadlineFieldOnSameStep })\n\n let tooltipAlign\n switch (true) {\n case smDown && value === WriterCategoryIds.PREFERRED:\n tooltipAlign = 'right-bottom'\n break\n case smDown && value === WriterCategoryIds.PRO:\n tooltipAlign = 'right-bottom'\n break\n\n default:\n tooltipAlign = 'center-bottom'\n }\n\n let tooltipFromDictionary\n switch (value) {\n case WriterCategoryIds.BEST_AVAILIBLE:\n tooltipFromDictionary = d('tooltips.writerCategory.bestAvailable')\n break\n case WriterCategoryIds.PREFERRED:\n tooltipFromDictionary = d('tooltips.writerCategory.preferredWriter')\n break\n case WriterCategoryIds.TOP:\n tooltipFromDictionary = d('tooltips.writerCategory.topWriter')\n break\n case WriterCategoryIds.PRO:\n tooltipFromDictionary = d('tooltips.writerCategory.proWriter')\n break\n }\n\n return (\n
\n \n \n \n \n {typeof title === 'string' ? title.toLowerCase().split(' ').join('\\n') : title}\n \n {percent > 0\n ? +{percent}%\n : null\n }\n \n
\n )\n})\n", "import * as React from 'react'\nimport { useLocation } from 'react-router-dom'\nimport defaultCalculator from '@qwerty.software/calc-of-price/adapters/microservices'\n\nimport { useABTest } from '@qwerty.software/ab-test/src/component/hooks/use-ab-test'\n\nimport usePriceData from '@qwerty.software/ui-order-form/src/store/slices/price-data/usePriceData'\nimport { RegisteredAbTests } from '@qwerty.software/ab-test/src/component/_register'\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport { INC_PRICES_AB_TEST_VERSION } from 'constants/configs'\n\nconst ConnectPriceData = React.memo(({ showAltPrices }: { showAltPrices: boolean }) => {\n usePriceData({ calculator: defaultCalculator, showAltPrices })\n\n return null\n})\n\nexport const ConnectPriceDataIncPricesAbTest = () => {\n const location = useLocation()\n const searchParams = new URLSearchParams(location.search)\n\n // version from LR project outer configs\n const incPricesAbTestVersion = getFromConfigs(INC_PRICES_AB_TEST_VERSION)\n const [incPricesAbTest] = useABTest(RegisteredAbTests.INC_PRICES, { persist: true, version: incPricesAbTestVersion })\n\n const forceShowViaSearch = searchParams.get(RegisteredAbTests.INC_PRICES)\n ? JSON.parse(searchParams.get(RegisteredAbTests.INC_PRICES))\n : null\n\n if (!incPricesAbTest.checkRequestReady && !incPricesAbTest.persisted) {\n return null\n }\n\n return \n}\n", "import * as React from 'react'\nimport { useSelector } from 'react-redux'\n\nimport { RegisteredAbTests } from '../_register'\n\nimport baseTrack, { Options } from '../tracking'\n\nimport { AB_TEST, CHECK_REQUEST_READY } from '../store/slice'\n\nimport type { ABTests } from '../types'\n\ninterface Track {\n (options?: Options): Promise\n}\n\ninterface IUseABTestOptions {\n persist?: boolean\n version?: string\n persistStorage?: 'session' | 'local'\n}\n\ninterface IAdditionalProps {\n persisted: boolean\n checkRequestReady: boolean\n}\n\ninterface UseABTest {\n (testName: TTestName, options?: IUseABTestOptions): [test: ABTests[TTestName] & IAdditionalProps, extras: {\n track: Track\n }]\n}\n\nexport const useABTest: UseABTest = (testName, options) => {\n const checkRequestReady = useSelector(CHECK_REQUEST_READY)\n const test = useSelector(AB_TEST(testName))\n\n const storageKey = options?.version ? `${testName}-${options.version}` : testName\n const isPersisted = options?.persistStorage === 'session' ? sessionStorage.hasOwnProperty(storageKey) : localStorage.hasOwnProperty(storageKey)\n const persistedGroup = options?.persist && isPersisted\n ? options?.persistStorage === 'session' ? sessionStorage.getItem(storageKey) : localStorage.getItem(storageKey)\n : null\n\n if (options?.persist && test.hydrated && !isPersisted) {\n options?.persistStorage === 'session' ? sessionStorage.setItem(storageKey, `${test.group}`) : localStorage.setItem(storageKey, `${test.group}`)\n }\n\n const track = React.useCallback((options) => baseTrack(test, options), [test])\n\n return [\n {\n ...test,\n group: options?.persist && isPersisted ? persistedGroup : test.group,\n\n persisted: options?.persist && isPersisted,\n checkRequestReady,\n }, { track }]\n}\n\nexport { RegisteredAbTests } from '../_register'", "import storage from 'utils/storage'\nimport actionTracker, { Tool } from 'utils/action-tracker'\nimport getUserTraficFields from 'utils/action-tracker/getUserTraficFields'\n\nimport type { ABTest } from '../types'\n\nexport interface Options {\n transformEventName?: typeof defaultTrandform\n}\n\nexport interface ABTrack {\n (test: ABTest, options?: Options): Promise\n}\n\nconst track: ABTrack = (test, options = {}) => {\n const transformEventName = options?.transformEventName ?? defaultTrandform\n\n return new Promise((resolve, reject) => {\n const userData = storage.get('user_data', { ignoreExpitesAt: true })\n const visitorID = storage.get('Visitor')\n\n const isAuthorized = userData.authorizationStatus !== 'UNAUTHORIZED'\n\n const eventName = transformEventName(test)\n const data = {\n visitor_id: visitorID,\n ...getUserTraficFields(userData),\n user_id: isAuthorized ? userData.userID : 'UNAUTHORIZED',\n paidOrdersCount: isAuthorized ? userData.paidOrdersCount : 'UNAUTHORIZED',\n allOrdersCount: isAuthorized ? userData.allOrdersCount : 'UNAUTHORIZED',\n\n abTestName: test.name,\n }\n\n const callback = (error: Error, data: unknown) => error\n ? reject(error)\n : resolve(data)\n\n actionTracker.track({ tool: Tool.Interior, eventName, data, callback })\n })\n}\n\nexport default track\n\nfunction defaultTrandform(test: ABTest): string {\n return `[AB test] name: ${test.name}, group: ${test.group}.`\n}", "import * as React from 'react'\n\nimport { Saga } from '@qwerty.software/store-manager/hooks/useSaga'\nimport { useNamespace as useDiscountNamespace } from 'global-entities/discount/with-discount'\nimport { useNamespace as useFileUploaderNamespace } from 'global-entities/files-uploader/with-files-uploader'\n\nimport { placeOrderSagaWatcher as watcher, Options } from '@qwerty.software/ui-order-form/src/store/sagas/place-order'\nimport { useABTest } from '@qwerty.software/ab-test/src/component/hooks/use-ab-test'\nimport { RegisteredAbTests } from '@qwerty.software/ab-test/src/component/_register'\nimport getFromConfigs from 'helpers/configs/get-from-configs'\nimport { INC_PRICES_AB_TEST_VERSION } from 'constants/configs'\n\ninterface PlaceOrderSagaProps { }\n\nexport const PlaceOrderSagaAbTest: React.FC = () => {\n // version from LR project outer configs\n const incPricesAbTestVersion = getFromConfigs(INC_PRICES_AB_TEST_VERSION)\n const [incPricesAbTest] = useABTest(RegisteredAbTests.INC_PRICES, { persist: true, version: incPricesAbTestVersion })\n\n const discountNamespace = useDiscountNamespace()\n const fileLoaderNamespace = useFileUploaderNamespace()\n\n const options = React.useMemo(() => ({\n discountNamespace,\n fileLoaderNamespace,\n incPricesAbGroup: incPricesAbTest.group,\n }), [discountNamespace, fileLoaderNamespace, incPricesAbTest.group])\n\n return \n}\n", "import * as React from 'react'\nimport ReactDOM from 'react-dom/client'\n\nimport ExtendableOrderForm from \"@qwerty.software/ui-order-form/lib/ab-tests/prices-ab-test/speedy-expadable\"\n\nimport './styles.scss'\n\nconst mdDown = window.matchMedia(\"(max-width: 991px)\").matches\n\nexport function render(mountPoint: HTMLElement) {\n ReactDOM\n .createRoot(mountPoint)\n .render()\n}\n"], "mappings": "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B,EAAE,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAA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iB,SACnB,CACF,EACA,CACE,KAAMA,GAAG,OAAO,KAChB,MAAO,CACL,gBAAiB,QACnB,CACF,EACA,CACE,KAAMA,GAAG,QAAQ,KACjB,MAAO,CACL,gBAAiB,SACnB,CACF,CACF,EACA,kBAAmB,CACjB,CACE,KAAM,+BACN,KAAM,MACR,EACA,CACE,KAAM,+BACN,KAAM,OACN,MAAO,CACL,KAAM,cACR,CACF,CACF,CACF,EACA,CACE,IAAK,aACL,MAAO,iBACP,WAAY,CACV,CACE,KAAMA,GAAG,eAAe,KACxB,MAAO,CACL,gBAAiB,iBACnB,CACF,EACA,CACE,KAAMA,GAAG,mBAAmB,KAC5B,MAAO,CACL,gBAAiB,qBACnB,CACF,EACA,CACE,KAAMA,GAAG,SAAS,KAClB,MAAO,CACL,gBAAiB,UACnB,CACF,EACA,CACE,KAAMA,GAAG,SAAS,KAClB,MAAO,CACL,gBAAiB,UACnB,CACF,EACA,CACE,KAAMA,GAAG,gBAAgB,KACzB,MAAO,CACL,QAAS,CACX,CACF,CACF,EACA,kBAAmB,CACjB,CACE,KAAM,+BACN,KAAM,MACR,EACA,CACE,KAAM,SACN,KAAM,QACR,CACF,CACF,CACF,CACF,ECvMAzC,GAAAA,EAGAoB,GAAAA,EAGAsB,GAAAA,EAEA,IAAO+9C,GAAQ,CACb,YAAa,iBACb,cAAe1gD,GAAeQ,EAAyB,EACvD,MAAO,CACL,CACE,IAAK,aACL,MAAO,SACP,WAAY,CACV,CACE,KAAMkC,GAAG,cAAc,KACvB,MAAO,CACL,gBAAiB,gBACnB,CACF,EACA,CACE,KAAMA,GAAG,SAAS,KAClB,MAAO,CACL,gBAAiB,WACnB,CACF,EACA,CACE,KAAMA,GAAG,UAAU,KACnB,MAAO,CACL,gBAAiB,YACnB,CACF,EACA,CACE,KAAMA,GAAG,SAAS,KAClB,MAAO,CACL,gBAAiB,UACnB,CACF,EACA,CACE,KAAMA,GAAG,QAAQ,KACjB,MAAO,CACL,gBAAiB,SACnB,CACF,EACA,CACE,KAAMA,GAAG,MAAM,KACf,MAAO,CACL,gBAAiB,OACnB,CACF,EACA,CACE,KAAMA,GAAG,eAAe,KACxB,MAAO,CACL,gBAAiB,iBACnB,CACF,CACF,EACA,kBAAmB,CACjB,CACE,KAAM,+BACN,KAAM,OACN,MAAO,CACL,KAAM,gBACR,CACF,CACF,CACF,EACA,CACE,IAAK,cACL,MAAO,SACP,WAAY,CACV,CACE,KAAMA,GAAG,YAAY,KACrB,MAAO,CACL,gBAAiB,cACnB,CACF,EACA,CACE,KAAMA,GAAG,MAAM,KACf,MAAO,CACL,gBAAiB,OACnB,CACF,EACA,CACE,KAAMA,GAAG,MAAM,KACf,MAAO,CACL,gBAAiB,OACnB,CACF,EACA,CACE,KAAMA,GAAG,SAAS,KAClB,MAAO,CACL,gBAAiB,UACnB,CACF,EACA,CACE,KAAMA,GAAG,UAAU,KACnB,MAAO,CACL,gBAAiB,WACnB,CACF,EACA,CACE,KAAMA,GAAG,QAAQ,KACjB,MAAO,CACL,gBAAiB,SACnB,CACF,EACA,CACE,KAAMA,GAAG,MAAM,KACf,MAAO,CACL,gBAAiB,WACnB,CACF,EACA,CACE,KAAMA,GAAG,OAAO,KAChB,MAAO,CACL,MAAO,SACP,gBAAiB,QACnB,CACF,EACA,CACE,KAAMA,GAAG,QAAQ,KACjB,MAAO,CACL,gBAAiB,SACnB,CACF,EACA,CACE,KAAMA,GAAG,aAAa,KACtB,MAAO,CACL,gBAAiB,eACnB,CACF,EACA,CACE,KAAMA,GAAG,mBAAmB,KAC5B,MAAO,CACL,gBAAiB,qBACnB,CACF,EACA,CACE,KAAMA,GAAG,SAAS,KAClB,MAAO,CACL,gBAAiB,UACnB,CACF,EACA,CACE,KAAMA,GAAG,SAAS,KAClB,MAAO,CACL,gBAAiB,UACnB,CACF,CACF,EACA,kBAAmB,CACjB,CACE,KAAM,+BACN,KAAM,MACR,EACA,CACE,KAAM,+BACN,KAAM,OACN,MAAO,CACL,KAAM,gBACR,CACF,CACF,CACF,EACA,CACE,IAAK,aACL,MAAO,SACP,WAAY,CACV,CACE,KAAMA,GAAG,gBAAgB,KACzB,MAAO,CACL,QAAS,CACX,CACF,CACF,EACA,kBAAmB,CACjB,CACE,KAAM,+BACN,KAAM,MACR,EACA,CACE,KAAM,SACN,KAAM,SACN,MAAO,CACL,KAAM,gBACR,CACF,CACF,CACF,CACF,CACF,ECjMAzC,GAAAA,EAGAoB,GAAAA,EAGAsB,GAAAA,EAEA,IAAO+9C,GAAQ,CACb,YAAa,iBACb,cAAe1gD,GAAeQ,EAAyB,EACvD,MAAO,CACL,CACE,IAAK,aACL,MAAO,oBACP,WAAY,CACV,CACE,KAAMkC,GAAG,UAAU,KACnB,MAAO,CACL,gBAAiB,YACnB,CACF,EACA,CACE,KAAMA,GAAG,QAAQ,KACjB,MAAO,CACL,gBAAiB,SACnB,CACF,EACA,CACE,KAAMA,GAAG,MAAM,KACf,MAAO,CACL,gBAAiB,OACnB,CACF,EACA,CACE,KAAMA,GAAG,QAAQ,KACjB,MAAO,CACL,gBAAiB,SACnB,CACF,EACA,CACE,KAAMA,GAAG,YAAY,KACrB,MAAO,CACL,gBAAiB,cACnB,CACF,EACA,CACE,KAAMA,GAAG,MAAM,KACf,MAAO,CACL,gBAAiB,WACnB,CACF,EACA,CACE,KAAMA,GAAG,aAAa,KACtB,MAAO,CACL,gBAAiB,eACnB,CACF,CACF,EACA,kBAAmB,CACjB,CACE,KAAM,+BACN,KAAM,OACN,MAAO,CACL,KAAM,2BACR,CACF,CACF,CACF,EACA,CACE,IAAK,cACL,MAAO,oBACP,WAAY,CACV,CACE,KAAMA,GAAG,cAAc,KACvB,MAAO,CACL,gBAAiB,gBACnB,CACF,EACA,CACE,KAAMA,GAAG,SAAS,KAClB,MAAO,CACL,gBAAiB,WACnB,CACF,EACA,CACE,KAAMA,GAAG,SAAS,KAClB,MAAO,CACL,gBAAiB,UACnB,CACF,EACA,CACE,KAAMA,GAAG,MAAM,KACf,MAAO,CACL,gBAAiB,OACnB,CACF,EACA,CACE,KAAMA,GAAG,MAAM,KACf,MAAO,CACL,gBAAiB,OACnB,CACF,EACA,CACE,KAAMA,GAAG,SAAS,KAClB,MAAO,CACL,gBAAiB,UACnB,CACF,EACA,CACE,KAAMA,GAAG,UAAU,KACnB,MAAO,CACL,gBAAiB,WACnB,CACF,EACA,CACE,KAAMA,GAAG,OAAO,KAChB,MAAO,CACL,MAAO,SACP,gBAAiB,QACnB,CACF,EACA,CACE,KAAMA,GAAG,QAAQ,KACjB,MAAO,CACL,gBAAiB,SACnB,CACF,EACA,CACE,KAAMA,GAAG,eAAe,KACxB,MAAO,CACL,gBAAiB,iBACnB,CACF,EACA,CACE,KAAMA,GAAG,mBAAmB,KAC5B,MAAO,CACL,gBAAiB,qBACnB,CACF,EACA,CACE,KAAMA,GAAG,SAAS,KAClB,MAAO,CACL,gBAAiB,UACnB,CACF,EACA,CACE,KAAMA,GAAG,SAAS,KAClB,MAAO,CACL,gBAAiB,UACnB,CACF,CACF,EACA,kBAAmB,CACjB,CACE,KAAM,+BACN,KAAM,MACR,EACA,CACE,KAAM,+BACN,KAAM,OACN,MAAO,CACL,KAAM,uBACR,CACF,CACF,CACF,EACA,CACE,IAAK,aACL,MAAO,gBACP,WAAY,CACV,CACE,KAAMA,GAAG,gBAAgB,KACzB,MAAO,CACL,QAAS,CACX,CACF,CACF,EACA,kBAAmB,CACjB,CACE,KAAM,+BACN,KAAM,MACR,EACA,CACE,KAAM,SACN,KAAM,SACN,MAAO,CACL,KAAM,gBACR,CACF,CACF,CACF,CACF,CACF,ECjMAC,GAAAA,EAEA,IAAO+9C,GAAQ,CACb,YAAa,eACb,MAAO,CACL,CACE,IAAK,aACL,MAAO,kCACP,WAAY,CACV,CACE,KAAMh+C,GAAG,cAAc,KACvB,MAAO,CACL,gBAAiB,iBACjB,MAAO,gBACP,gBAAiB,GACjB,YAAa,2CACf,CACF,EACA,CACE,KAAMA,GAAG,UAAU,KACnB,MAAO,CACL,gBAAiB,aACjB,MAAO,WACP,YAAa,6EACf,CACF,EACA,CACE,KAAMA,GAAG,MAAM,KACf,MAAO,CACL,gBAAiB,YACjB,MAAO,YACT,CACF,EACA,CACE,KAAMA,GAAG,SAAS,KAClB,MAAO,CACL,gBAAiB,WACjB,MAAO,YACP,gBAAiB,GACjB,YAAa,+HACf,CACF,EACA,CACE,KAAMA,GAAG,mBAAmB,KAC5B,MAAO,CACL,gBAAiB,sBACjB,MAAO,sBAC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", "names": ["__awaiter", "thisArg", "_arguments", "P", "generator", "Promise", "resolve", "reject", "fulfilled", "value", "step", "next", "e", "rejected", "result", "done", "then", "apply", "__generator", "body", "f", "y", "t", "g", "_", "label", "sent", "trys", "ops", "verb", "throw", "return", "Symbol", "iterator", "this", "n", "v", "op", "TypeError", "call", "pop", "length", "push", "__read", "o", "m", "r", "i", "ar", "error", "__spreadArray", "to", "from", "pack", "arguments", "l", "Array", "prototype", "slice", "concat", "COMMON_MIME_TYPES", "Map", "toFileWithPath", "file", "path", "name", "lastIndexOf", "type", "ext", "split", "toLowerCase", "get", "Object", "defineProperty", "writable", "configurable", "enumerable", "webkitRelativePath", "FILES_TO_IGNORE", "isObject", "getInputFiles", "evt", "fromList", "target", "files", "map", "getFsHandleFiles", "handles", "_a", "all", "h", "getFile", "getDataTransferFiles", "dt", "items", "filter", "item", "kind", "toFilePromises", "noIgnoredFiles", "flatten", "indexOf", "webkitGetAsEntry", "fromDataTransferItem", "entry", "isDirectory", "fromDirEntry", "reduce", "acc", "isArray", "getAsFile", "fwp", "fromEntry", "fromFileEntry", "reader", "createReader", "entries", "readEntries", "_this", "batch", "err_1", "err", "fullPath", "FILE_INVALID_TYPE", "FILE_TOO_LARGE", "FILE_TOO_SMALL", "TOO_MANY_FILES", "ErrorCode", "FileInvalidType", "FileTooLarge", "FileTooSmall", "TooManyFiles", "getInvalidTypeRejectionErr", "accept", "messageSuffix", "join", "code", "message", "getTooLargeRejectionErr", "maxSize", "getTooSmallRejectionErr", "minSize", "TOO_MANY_FILES_REJECTION", "fileAccepted", "isAcceptable", "acceptedFiles", "acceptedFilesArray", "fileName", "mimeType", "baseMimeType", "replace", "some", "validType", "trim", "charAt", "endsWith", "fileMatchSize", "isDefined", "size", "allFilesAccepted", "multiple", "maxFiles", "validator", "every", "accepted", "sizeMatch", "customErrors", "isPropagationStopped", "event", "cancelBubble", "isEvtWithFiles", "dataTransfer", "types", "onDocumentDragOver", "preventDefault", "isIe", "userAgent", "isEdge", "isIeOrEdge", "window", "navigator", "composeEventHandlers", "fns", "args", "fn", "canUseFileSystemAccessAPI", "pickerOptionsFromAccept", "description", "s", "ok", "isMIMEType", "console", "warn", "isExt", "agg", "acceptPropAsAcceptAttr", "a", "isAbort", "DOMException", "ABORT_ERR", "isSecurityError", "SECURITY_ERR", "test", "Dropzone", "forwardRef", "ref", "children", "useDropzone", "open", "props", "useImperativeHandle", "React", "Fragment", "displayName", "defaultProps", "disabled", "getFilesFromEvent", "Infinity", "preventDropOnDocument", "noClick", "noKeyboard", "noDrag", "noDragEventsBubbling", "useFsAccessApi", "autoFocus", "propTypes", "PropTypes", "func", "objectOf", "arrayOf", "string", "bool", "number", "onFileDialogCancel", "onFileDialogOpen", "onDragEnter", "onDragLeave", "onDragOver", "onDrop", "onDropAccepted", "onDropRejected", "onError", "initialState", "isFocused", "isFileDialogActive", "isDragActive", "isDragAccept", "isDragReject", "fileRejections", "c", "acceptAttr", "useMemo", "pickerTypes", "onFileDialogOpenCb", "noop", "onFileDialogCancelCb", "rootRef", "useRef", "inputRef", "useReducer", "reducer", "state", "dispatch", "fsAccessApiWorksRef", "isSecureContext", "onWindowFocus", "current", "setTimeout", "useEffect", "addEventListener", "removeEventListener", "dragTargetsRef", "onDocumentDrop", "contains", "document", "focus", "onErrCb", "useCallback", "onDragEnterCb", "persist", "stopPropagation", "fileCount", "catch", "onDragOverCb", "hasFiles", "dropEffect", "onDragLeaveCb", "targets", "targetIdx", "splice", "setFiles", "forEach", "acceptError", "sizeError", "errors", "onDropCb", "openFileDialog", "opts", "showOpenFilePicker", "click", "Error", "onKeyDownCb", "isEqualNode", "key", "keyCode", "onFocusCb", "onBlurCb", "onClickCb", "composeHandler", "composeKeyboardHandler", "composeDragHandler", "getRootProps", "refKey", "role", "onKeyDown", "onFocus", "onBlur", "onClick", "rest", "tabIndex", "onInputElementClick", "getInputProps", "onChange", "inputProps", "style", "display", "action", "require_assignMergeValue", "__commonJSMin", "exports", "module", "baseAssignValue", "eq", "assignMergeValue", "object", "key", "value", "require_safeGet", "__commonJSMin", "exports", "module", "safeGet", "object", "key", "require_toPlainObject", "__commonJSMin", "exports", "module", "copyObject", "keysIn", "toPlainObject", "value", "require_baseMergeDeep", "__commonJSMin", "exports", "module", "assignMergeValue", "cloneBuffer", "cloneTypedArray", "copyArray", "initCloneObject", "isArguments", "isArray", "isArrayLikeObject", "isBuffer", "isFunction", "isObject", "isPlainObject", "isTypedArray", "safeGet", "toPlainObject", "baseMergeDeep", "object", "source", "key", "srcIndex", "mergeFunc", "customizer", "stack", "objValue", "srcValue", "stacked", "newValue", "isCommon", "isArr", "isBuff", "isTyped", "require_baseMerge", "__commonJSMin", "exports", "module", "Stack", "assignMergeValue", "baseFor", "baseMergeDeep", "isObject", "keysIn", "safeGet", "baseMerge", "object", "source", "srcIndex", "customizer", "stack", "srcValue", "key", "newValue", "require_createAssigner", "__commonJSMin", "exports", "module", "baseRest", "isIterateeCall", "createAssigner", "assigner", "object", "sources", "index", "length", "customizer", "guard", "source", "require_merge", "__commonJSMin", "exports", "module", "baseMerge", "createAssigner", "merge", "object", "source", "srcIndex", "require_arrayEvery", "__commonJSMin", "exports", "module", "arrayEvery", "array", "predicate", "index", "length", "require_baseEvery", "__commonJSMin", "exports", "module", "baseEach", "baseEvery", "collection", "predicate", "result", "value", "index", "require_every", "__commonJSMin", "exports", "module", "arrayEvery", "baseEvery", "baseIteratee", "isArray", "isIterateeCall", "every", "collection", "predicate", "guard", "func", "require_basePick", "__commonJSMin", "exports", "module", "basePickBy", "hasIn", "basePick", "object", "paths", "value", "path", "require_pick", "__commonJSMin", "exports", "module", "basePick", "flatRest", "pick", "object", "paths", "require_package", "__commonJSMin", "exports", "module", "require_ua_parser", "__commonJSMin", "exports", "module", "window", "undefined", "LIBVERSION", "EMPTY", "UNKNOWN", "FUNC_TYPE", "UNDEF_TYPE", "OBJ_TYPE", "STR_TYPE", "MAJOR", "MODEL", "NAME", "TYPE", "VENDOR", "VERSION", "ARCHITECTURE", "CONSOLE", "MOBILE", "TABLET", "SMARTTV", "WEARABLE", "EMBEDDED", "UA_MAX_LENGTH", "AMAZON", "APPLE", "ASUS", "BLACKBERRY", "BROWSER", "CHROME", "EDGE", "FIREFOX", "GOOGLE", "HUAWEI", "LG", "MICROSOFT", "MOTOROLA", "OPERA", "SAMSUNG", "SHARP", "SONY", "VIERA", "XIAOMI", "ZEBRA", "FACEBOOK", "CHROMIUM_OS", "MAC_OS", "extend", "regexes", "extensions", "mergedRegexes", "i", "enumerize", "arr", "enums", "has", "str1", "str2", "lowerize", "str", "majorize", "version", "trim", "len", "rgxMapper", "ua", "arrays", "j", "k", "p", "q", "matches", "match", "regex", "props", "strMapper", "map", "oldSafariMap", "windowsVersionMap", "UAParser", "_navigator", "_ua", "_uach", "_rgxmap", "_isSelfNav", "_browser", "_cpu", "_device", "_engine", "_os", "$", "parser", "result", "prop", "require_castSlice", "__commonJSMin", "exports", "module", "baseSlice", "castSlice", "array", "start", "end", "length", "require_asciiToArray", "__commonJSMin", "exports", "module", "asciiToArray", "string", "require_unicodeToArray", "__commonJSMin", "exports", "module", "rsAstralRange", "rsComboMarksRange", "reComboHalfMarksRange", "rsComboSymbolsRange", "rsComboRange", "rsVarRange", "rsAstral", "rsCombo", "rsFitz", "rsModifier", "rsNonAstral", "rsRegional", "rsSurrPair", "rsZWJ", "reOptMod", "rsOptVar", "rsOptJoin", "rsSeq", "rsSymbol", "reUnicode", "unicodeToArray", "string", "require_stringToArray", "__commonJSMin", "exports", "module", "asciiToArray", "hasUnicode", "unicodeToArray", "stringToArray", "string", "require_createCaseFirst", "__commonJSMin", "exports", "module", "castSlice", "hasUnicode", "stringToArray", "toString", "createCaseFirst", "methodName", "string", "strSymbols", "chr", "trailing", "require_upperFirst", "__commonJSMin", "exports", "module", "createCaseFirst", "upperFirst", "require_capitalize", "__commonJSMin", "exports", "module", "toString", "upperFirst", "capitalize", "string", "require_camelCase", "__commonJSMin", "exports", "module", "capitalize", "createCompounder", "camelCase", "result", "word", "index", "require_lib", "__commonJSMin", "exports", "module", "e", "t", "r", "n", "a", "o", "i", "u", "c", "s", "l", "f", "d", "p", "h", "y", "m", "b", "x", "g", "v", "C", "_", "w", "S", "O", "j", "N", "k", "E", "T", "I", "A", "D", "P", "F", "M", "R", "L", "z", "B", "G", "$", "V", "K", "U", "q", "Ne", "W", "J", "Z", "Q", "Y", "Pe", "X", "ee", "te", "re", "ne", "ae", "oe", "ie", "ue", "ce", "se", "le", "fe", "Le", "Re", "ke", "de", "Me", "xe", "pe", "he", "me", "ye", "qe", "ze", "be", "Ee", "Se", "De", "ge", "ve", "$e", "Ve", "Oe", "Ue", "je", "Ce", "Be", "_e", "He", "Te", "Ie", "Ge", "we", "Ae", "Ke", "Fe", "FORM_ID", "NAME", "ORDER_NAMESPACE", "init_constants", "__esmMin", "require_env", "__commonJSMin", "exports", "import_pako", "unzip", "unzip_default", "init_unzip", "m", "data", "compressedData", "unziped", "pg", "pako", "x", "unzip_pusher_data_default", "init_unzip_pusher_data", "store", "next", "action", "modifyedAction", "StoreEventTarget", "store_event_target_default", "init_store_event_target", "type", "listener", "args", "index", "event", "listeners", "singleton", "key", "factory", "options", "handleCreate", "init_singleton", "storeEvents", "eventsMiddlware", "events_default", "init_events", "import_redux_saga", "sagaMiddleware", "sagas_default", "init_sagas", "Tg", "createSagaMiddleware", "isPlainObject", "is_plain_object_default", "init_is_plain_object", "value", "hydrateCheckRequest", "check_request_default", "init_check_request", "register", "payload", "tests", "testName", "RegisteredAbTests", "init_register", "hydrators", "hydrators_default", "init_hydrators", "import_uuid", "AB_TESTS_LIST", "INITIAL_AB_TESTS", "INITIAL_STATE", "acc", "Cg", "uuid", "hydrate", "hydrator", "testsMap", "RTK", "slice", "abTestsSlice", "GET_STATE", "AB_TEST", "AB_TESTS", "CHECK_REQUEST_READY", "init_slice", "Ta", "state", "group", "getContainer", "existsRoot", "CONTAINER_ATTR", "container", "setTest", "test", "existsNode", "ATTRS_DOMAIN", "node", "import_toolkit", "abTestsHydarateListener", "init_hydrate_listener", "xg", "_", "getState", "abTests", "init_store", "SINGLETON_ID", "discountListener", "init_side_effects", "vg", "import_env", "import_react", "import_redux_persist", "_StoreManager", "StoreManager", "core_default", "init_core", "Ki", "reducers", "Sa", "getDefaultMiddleware", "Ln", "reducer", "persistConfig", "keys", "slices", "_slice", "__publicField", "vn", "Lg", "builder", "response", "store_exports", "__export", "COOKIE_POLICY_NODE", "setCookiePolicyNode", "initialState", "Ug", "buildValidator", "name", "fn", "Error", "build_validator_default", "init_build_validator", "import_notistack", "DEFAULT_OPTIONS", "notify", "notify_default", "init_notify", "messageText", "Ar", "error", "fileext", "fileName", "getAllowedExtensions", "NotAllowedExtensionError", "materialExtension", "material_extension_default", "init_material_extension", "file", "fileMeta", "ext", "allowedExtensions", "init_exports", "KEY", "initConfigs", "init_init", "prevConfigs", "innerConfigs", "outerConfigs", "configs", "getConfigs", "init_get", "default_default", "init_default", "get_from_configs_default", "init_get_from_configs", "PROJECT_ID", "PROJECT_DOMAIN", "PROJECT_FAMILY", "IS_ALIAS_DOMAIN", "ORDER_DATA_DEFAULTS", "ORDER_FORM_CONFIGS", "ORDER_FORM_BOTTOMBAR_TYPE", "SHOULD_DISABLE_USER_CHECK_REQUEST", "SHOULD_REDIRECT_TO_PARENT_SITE", "PARENT_SITE_URL", "ADDITIONAL_QUERY_PARAMS_TO_PARENT_SITE", "SHOULD_USE_SPECIFIC_API", "SPECIFIC_API_URL", "DASHBOARD_SUBDOMAIN", "LIVECHAT_OPTIONS", "IS_NEW_SPEEDYPAPER_DESIGN", "TRACK_TOOL", "INC_PRICES_AB_TEST_VERSION", "FORCE_HIDE_TURNITIN_UPSALE", "init_configs", "AUTHORISATION_STATUSES", "SIGNUP", "SIGNIN", "FORGOT", "FACEBOOK", "GOOGLE", "APPLE", "DASHBOARD", "SIGNOUT", "CHECK_TRIGGERED", "CHECK", "init_auth", "PAGES", "WORDS", "SWITCHER_BUTTONS", "PAGES_INDEX", "WORDS_INDEX", "init_pagesWordsSwitcher", "button", "orderDataDefaults", "fields_configs_default", "init_fields_configs", "MaxFileSizeError", "material_size_limit_default", "init_material_size_limit", "validation", "baseGetValidatorMapName", "validators_default", "init_validators", "namespace", "getValidatorMapName", "SAGAS_SCHEMA", "uploadFilesSagaAction", "files", "yd", "UPLOAD_FILES_SAGA", "cancelFileUpload", "hash", "CANCEL_UPLOAD_FILES", "FILES_UPLOADER_SLICE", "PreloadState", "init_definitions", "createFilesSelector", "createFileSelector", "init_selectors", "validator", "validationResult", "Vn", "write", "CompletedStates", "whitelist", "aborted_default", "init_aborted", "inboundState", "outboundState", "accumulator", "invalid", "uploaded", "f_", "slice_exports", "FILES_UPLOADER_PERSIST_CONFIG", "import_storage", "filesUploaderSlice", "__", "fileIndex", "y_", "localStorage", "applyDiscount", "applyDiscountAction", "appliedDiscount", "Ad", "APPLIED_DISCOUNT", "DISCOUNT_SLICE", "CHECK_SEARCH_PARAM", "APPLY_DISCOUNT_KEY", "APPLY_DISCOUNT_SAGA", "CANCEL_APPLY_DISCOUNT", "DiscountVariant", "NOOP_DISCOUNT", "whitelist_default", "init_whitelist", "discount", "ns", "I_", "DISCOUNT_PERSIST_CONFIG", "discountSlice", "C_", "code", "rawResponse", "normalizedData", "$_", "convert_string_to_boolean_default", "init_convert_string_to_boolean", "string", "boolean", "isEnabled", "get", "set", "remove", "getRelatedKeys", "local_default", "init_local", "storageItemKey", "storageItemValue", "expiresAt", "share", "session_default", "init_session", "import_isPlainObject", "version", "addVersion", "changeDependsOnENV", "removeOldVersions", "storage", "storage_default", "init_storage", "x_", "domain", "storageType", "isOuterKey", "shouldCompletelyRemove", "rest", "relatedKeys", "keyVersion", "ignoreExpitesAt", "storageItem", "parsedStorageItem", "P_", "timestamp", "parsedStorageItemValue", "expires", "date", "UNIVERSAL_UPDATE_ACROSS_STORES", "REMOTE_ATTEMPT", "REMOTE_ERROR", "REMOTE_SUCCESS", "init_universal_constants", "USER_CHECK", "USER_UPDATE", "USER_AUTHORIZE", "USER_UNAUTHORIZE", "ORDER_PAYMENT_SUCCESS", "PERSISTOR_PREFIX", "ORDER_DATA_PERSISTOR_NAME", "init_persistor", "ORDER_DATA_PERSISTOR_KEY", "USER_DATA_KEY", "IS_EXISTING_USER_KEY", "SHOULD_PREVENT_REDIRECT_TO_DASHBOARD_KEY", "DESIGN_TYPE", "TEMP_QS_KEY", "REFERRER", "CONVERSION_PARAMS_KEY", "CONVERSION_PARAMS_FROM_PRICE_COMPARATOR_KEY", "reducer_exports", "reducer_default", "import_isEmpty", "initialStateFromBrowserStorage", "initialStateFromReduxStorage", "defaultState", "init_reducer", "G_", "isEmpty", "CALCULATE_PRICE__ATTEMPT", "CALCULATE_PRICE__SUCCESS", "price_data_exports", "priceDataReducers", "init_price_data", "get_params_default", "init_get_params", "queryParamsString", "queryParamsArray", "queryParamsObject", "param", "paramArray", "paramKey", "paramValue", "manipulate_param_without_refresh_default", "init_manipulate_param_without_refresh", "method", "staticQueryParamsString", "divider", "i", "updatedQueryParamsString", "build_default", "init_build", "values", "make_search_depends_on_env_default", "init_make_search_depends_on_env", "init_query_string", "additionalQueryParams", "currentQueryParams", "query_string_default", "vd", "sy", "E2E_KEY", "init_query_params", "E2E_ENABLE", "searchLocalCountryCode", "searchLocalContryCode_default", "init_searchLocalContryCode", "countryCode", "searchLocalIP", "searchLocalIP_default", "init_searchLocalIP", "IP", "searchLocalGeoTag", "searchLocalGeoTag_default", "init_searchLocalGeoTag", "SET_CONTRY_CODE", "SET_IP", "init_types", "geoTagReducers", "save", "import_localforage", "instance", "localforage_default", "init_localforage", "Fd", "localforage", "extractCustomVaraibles", "extractCustomVaraibles_default", "init_extractCustomVaraibles", "params", "LC_EXPERIMENT_CUSTOM_VARIABLES", "initialState_default", "init_initialState", "LOADING", "SET_CUSTOM_VARIABLES", "UPDATE_CUSTOM_VARIABLES", "REF_SET", "OPEN", "INTERACTION", "INTERACTION_SAGA", "import_monolite", "Fo", "msName", "LOADED", "REF", "LIVECHAT_OPEN", "open", "Xr", "ref", "saga_default", "import_effects", "init_saga", "interactionWithUser", "uc", "interactionWithUser_default", "init_interactionWithUser", "liveChatReducers", "xy", "import_axios", "import_cookie_storage", "axiosTool", "init_axios", "cb", "reqSource", "wa", "axios", "reqInstance", "createAxiosResponseInterceptor", "interceptor", "by", "err", "wy", "trigger", "on", "off", "custom_event_default", "init_custom_event", "detail", "handler", "USER_AUTHORIZED", "USER_SIGNED_IN", "USER_SIGNED_UP", "USER_AUTHORIZED_VIA_SOCIAL_ACCOUNT", "USER_AUTHORIZED_VIA_FACEBOOK", "USER_UNAUTHORIZED", "USER_CHECKED", "PRICE_CALCULATED", "FIELD_VALIDATED", "VALIDATE_FIELD", "INQUIRY_FORM_SHOULD_BE_SUBMITTED", "TOGGLE_SPINNER_VISIBILITY", "init_custom_events", "SHOW", "HIDE", "init_visibility_actions", "toggle", "show", "hide", "global_spinner_default", "init_global_spinner", "import_form_data", "import_isBoolean", "reqH", "reqHPromise", "request_handler_default", "init_request_handler", "cookieStorage", "Jy", "requiredDataParams", "advancedDataParams", "queryJwt", "requestOptions", "specificApiUrl", "Nr", "aliasedDomain", "encodedKey", "item", "Vd", "encodedObject", "innerKey", "formData", "Ky", "FormData", "jwt", "isCookieSessionFlow", "jwtCookieStorage", "requestToolOptions", "Zy", "isBoolean", "resolve", "reject", "REDESIGN_REFERRER", "REDESIGN_REFERRER_FLAG", "REDESIGN_REFERRER_MARK", "getRedesignReferrer", "setRedesignReferrer", "init_redesign_referrer", "redesignReferrer", "qd", "getTempQuery", "init_temp_query", "AB_TEST_REFERRER", "getABTestReferrer", "init_a_b_test_referrer", "getFromURL", "init_from_url", "query", "abTestReferrer", "issetVisitorFlag", "issetVisitorIsNewFlag", "getVisitor", "setVisitor", "getIsNewVisitor", "setIsNewVisitor", "init_visitor", "visitorId", "isNew", "import_size", "import_js", "import_pluralize", "request", "request_default", "init_request", "is_new", "Xd", "_size", "mT", "pluralize", "pT", "Bugsnag", "INTERIOR_TRACK", "track_exports", "track_default", "track", "yc", "errorMessage", "init_track", "import_blueimp_load_image", "reorientImagesMiddleware", "init_reorient_image", "Tc", "loadImage", "blob", "import_md5", "createUploadFile", "single_file_default", "ResponseError", "EmptyResponseError", "init_single_file", "init_store_manager", "getValidator", "_e", "TT", "md5", "update", "pending", "progress", "fulfilled", "rejected", "token", "cancel", "yT", "result", "progressEvent", "percentCompleted", "store_manager_default", "removeFileAction", "errors", "upload_files_exports", "uploadFilesSagaWatcher", "uploadFilesSaga", "upload", "Sc", "init_upload_files", "DEFAULT_CURRENCY", "currencySlice", "CURRENCY_SLICE_PERSIST_CONFIG", "CURRENCY", "IT", "ru", "initBootstrapData", "GLOBAL_BOOTSTRAP_DATA_FIELDS", "prevBootstrapData", "bootstrapData", "getBootstrapData", "sessionNotify", "init_session_notify", "text", "timeOut", "extendedTimeOut", "SAGAS_PREFIX", "DEFAULT_NUMBER_MAX_VALUE", "DEFAULT_WORDS_PER_PAGE", "WorkTypeIds", "PaperTypeIds", "PAGES_SWITCHER_KEY", "WORDS_SWITCHER_KEY", "MAX_QUANTITY_KEY", "MAX_SLIDES_KEY", "INITIAL_VALUES", "COMMON_PERSIST_BLACKLIST", "ORDER_SLICE_NAME", "MIN_DEADLINE_WRITING_FROM_SCRATCH", "MIN_DEADLINE_BY_WORKTYPE", "subjectFlagToDisableDeadline", "disabledAdditionalFeaturesByMultiplyChoiseQuestions", "disabledAdditionalFeaturesByPaperType", "disabledDeadlinesByWorkType", "disabledDeadlinesByAcademicLevel", "MAX_PROBLEMS_AND_QUESTIONS_CONFIG", "MAX_SLIDES_AND_PAGES_CONFIG", "AFFECTING_TO_MAX_VALUE_FIELDS", "import_difference", "workTypePaperTypeMirrorRelations", "init_work_type_paper_type", "FieldIds", "RelatedFieldIds", "RelatedFieldName", "defaultValue", "vT", "_difference", "workTypeRelations", "init_work_type", "disabledDeadlines", "paperTypeRelations", "init_paper_type", "UT", "deadlineRelations", "init_deadline", "pagesWordsSwitcherRelations", "init_pages_words_switcher", "spacingRelations", "init_spacing", "currentSpacing", "getSpacingValue", "spacings", "spacing", "AI_CHECK_REPORT_DISABLED_TOOLTIP", "checker", "additionalFeaturesAIreport", "aiCheckReport", "init_ai_check_report", "spacingValue", "quantity", "quantityKey", "words", "workType", "disabled", "features", "qT", "setMaxPagesSlides", "init_pages_slides_spacing_deadline", "slidesMtl", "wordsMtl", "maxSumFromConfig", "setMaxProblemsQuestions", "init_prodlems_questions_deadline", "maxValue", "maxValueRelations", "init_max_value", "academicLevelRelations", "init_academic_level", "subjectRelations", "init_subject", "subjects", "quantityKeyRelations", "init_quantity_key", "fieldsRelations", "init_fields_relations", "orderSlice", "HYDRATED", "ORDER", "PLACE_ORDER_PENDING", "ORDER_CHANGED", "ORDER_LAST_CHANGED_AT", "MAX_QUANTITY", "MAX_SLIDES", "COMMON_PERSIST_CONFIG", "init_order", "mh", "nu", "ContextPDAdapter", "init_ContextPDAdapter", "order", "currency", "isDiscountData", "import_microservices", "createPriceDataSelector", "createPriceDataValuesSelector", "createCurrentPriceDataSelector", "createBasePriceDataSelector", "gs", "adaptedOrderValues", "priceData", "cu", "calculator", "priceDataBase", "PRICE_DATA", "adaptee", "async_field_default", "init_async_field", "DiscountFacade", "Discount", "Ie", "discountType", "percent", "sum", "limit", "variant", "discountAmount", "SLICE_NAME", "INITIAL_PRICE_DATA", "priceDataSlice", "PRICE_DATA_USD", "PD_VALUES", "ja", "import_replace", "import_toNumber", "replacePriceViaCurrency", "init_replace_price_via_currency", "textWithPrice", "priceValuesFromCaption", "modifiedText", "priceValue", "priceValueFromCaption", "Ph", "_toNumber", "Mh", "_replace", "apply_discount_exports", "applyDiscontSagaWatcher", "disableNotify", "useCheckRoute", "discountMeta", "se", "xh", "price", "priceActivationSum", "init_apply_discount", "tick", "finish", "md", "$e", "jg", "qr", "Rd", "filesUploaderPersistConfig", "Zr", "Nd", "discountPersistConfig", "q_", "V_", "ty", "ey", "_y", "gy", "Wd", "Yd", "sagas", "ET", "fT", "saga", "liveChat", "uploadFiles", "AT", "RT", "vh", "wh", "variant_default_exports", "circularProgressbarClasses", "variant_default_default", "module", "__toCommonJS", "React", "import_jsx_runtime", "context", "n", "Provider", "useCircularProgressbar", "CircularProgressbarProvider", "min", "max", "disableSpark", "children", "C", "context_default", "withCircularProgressbar", "Component", "g", "props", "l", "hoc_default", "import_clsx", "variables_module_default", "Root", "className", "isDeterminate", "isIndeterminate", "k", "clsx", "root_default", "Track", "S", "T", "y", "Bar", "barProps", "h", "D", "bar_default", "G", "size", "color", "_o", "Qe", "xX", "lI", "Sv", "Pl", "Rv", "Av", "Iv", "Dv", "Nv", "t", "r", "o", "sI", "a", "br", "Cv", "buttonClasses", "p", "useButton", "ButtonProvider", "form", "onClick", "_v", "_n", "_click", "handleClick", "e", "fields", "withButton", "v", "Button", "contextProps", "O", "button_default", "import_ripple_effects", "import_hash_sum", "NOOP_DESTROY", "useRipple", "disableRipple", "rippleOptions", "id", "rippleClass", "destroy", "rippleDestroy", "M", "ripple", "w", "hashsum", "use_ripple_default", "fullWidth", "readOnly", "L", "zs", "_te", "WI", "t2", "Bl", "r2", "o2", "a2", "i2", "s2", "BI", "So", "n2", "useTooltip", "d", "coords", "portal", "anchor", "align", "xCoord", "yCoord", "coords_default", "usePosition", "handlePosition", "portalPoint", "anchorPoint", "use_position_default", "useAnchor", "setAnchor", "P", "prevAnchor", "use_anchor_default", "useOpen", "nodes", "openState", "triggers", "closeDelay", "clickOnly", "mdDown", "isMouseDevice", "isTouchDevice", "_triggers", "_nodes", "E", "setOpen", "delayTimeout", "tooltip", "handleOpen", "handleClose", "handleCloseImidiate", "handleResetTimeout", "target", "handleOutsideClick", "use_open_default", "usePortal", "timeout", "onTransition", "use_portal_default", "callback", "done1", "done2", "import_client", "useRender", "deps", "root", "z", "ReactDOM", "use_render_default", "_options", "anchorRef", "H", "_tooltip", "W", "Ei", "Qte", "oD", "O2", "Gl", "M2", "P2", "x2", "b2", "w2", "eD", "fi", "v2", "useInput", "InputProvider", "onChange", "handleChange", "withInput", "f", "input_default", "R", "ip", "Qoe", "wD", "oL", "ap", "aL", "iL", "sL", "nL", "cL", "MD", "ur", "lL", "optgroup_default", "option_default", "s", "useSelect", "SelectProvider", "withSelect", "u", "select_default", "c", "child", "_overrideVariant", "B", "b", "QD", "Gae", "qD", "FL", "fp", "kL", "UL", "jL", "zL", "BL", "GD", "Pf", "YL", "textAreaClasses", "MIN_ROWS_DEFAULT", "BaseTextArea", "withAutoSize", "minRows", "resizeTextarea", "textarea_default", "autoSize", "A", "yN", "lie", "_N", "e0", "hp", "t0", "r0", "o0", "a0", "i0", "uN", "Ne", "s0", "import_react_dropzone", "useDropzone", "DropzoneProvider", "handleFiles", "dragMessage", "dropMessage", "dropzoneOptions", "handleDrop", "acceptedFiles", "fileRejections", "getRootProps", "getInputProps", "N", "useReactDropzone", "rootProps", "inputProps", "F", "withDropzone", "U", "Z", "K", "inputId", "isFocused", "isDragActive", "handleKeyDown", "backdrop_default", "Q", "J", "Y", "X", "j", "breakpoints_module_default", "_breakpoints", "useMedia", "breakpoint", "direction", "defaultMatches", "breakpoints", "matches", "setMatches", "_direction", "_breakpoint", "_thresholdValue", "mediaQuery", "base_default", "SvgClip", "ReactComponent", "drag_message_default", "SvgUpload", "drop_message_default", "pe", "I", "ce", "en", "xse", "oC", "iF", "xp", "sF", "nF", "cF", "lF", "pF", "XN", "qt", "mF", "checkGroupClasses", "baseEqualityFn", "base_equality_fn_default", "useRadioGroup", "RadioGroupProvider", "equalityFn", "currentValue", "checked", "spanProps", "withRadioGroup", "sameWidth", "_noValidate", "V", "LC", "bne", "vC", "vF", "Bp", "LF", "FF", "kF", "UF", "jF", "PC", "de", "zF", "baseStringify", "base_stringify_default", "baseParse", "base_parse_default", "baseNormalize", "api", "base_normalize_default", "useAPI", "arg", "use_api_default", "useTempState", "setValue", "prevProps", "use_temp_state_default", "useNumberInput", "CHARS_WHITELIST_PATTERN", "CHARS_WHITELIST_WITH_DOT_PATTERN", "NumberInputProvider", "_value", "pattern", "handlers", "withNumberInput", "decreaseButtonProps", "increaseButtonProps", "allowFloat", "stringify", "parse", "normalize", "numberPattern", "fontSizeTransform", "$", "q", "MinusSvg", "minus_svg_default", "decrease_default", "svgButton", "handleDecrease", "handleBlur", "handleKeyDecrease", "handleKeyIncrease", "oe", "ee", "PlusSvg", "re", "plus_svg_default", "increase_default", "ae", "handleIncrease", "ue", "me", "Vf", "oce", "ZC", "vk", "Hp", "Lk", "Fk", "kk", "Uk", "jk", "qC", "it", "zk", "useSwitcher", "SwitcherProvider", "flagId", "withSwitcher", "labels", "disableThumb", "flag_default", "label_default", "thumb_default", "leftLabel", "rightLabel", "Jf", "jce", "g$", "f4", "Kp", "E4", "g4", "_4", "y4", "T4", "u$", "Fe", "h4", "SvgChecked", "SvgUnchecked", "useCheckbox", "CheckboxProvider", "iconChecked", "iconUnchecked", "withCheckbox", "label", "dataValue", "dataFlag", "icon_default", "rM", "yfe", "tM", "gU", "Nm", "_U", "yU", "TU", "hU", "SU", "KO", "Jt", "RU", "tab_default", "useTabs", "TabsProvider", "rippleTabs", "withTabs", "differentWidth", "activeTabIndex", "childrenCountWithoutNull", "xE", "j_e", "ZM", "qU", "Fm", "QU", "KU", "ZU", "JU", "XU", "GM", "km", "e3", "AccordionBody", "AccordionHead", "AccordionPanel", "accordionClasses", "TemplateIcon", "width", "height", "restStyles", "viewBox", "additionalClasses", "style", "classes", "template_default", "ArrowIcon", "additionalStyles", "templateIconProps", "arrow_default", "expanded", "setExpanded", "toggleOnHeadClick", "handleToggle", "head", "body", "Accordion", "speedy_expadable_exports", "speedy_expadable_default", "import_merge", "INITIAL_CONFIGS", "WE", "FormContext", "zr", "FormProvider", "entity", "formProps", "formDifference", "rawOrder", "hasAdditionalPayment", "loadingEntity", "rawFiles", "formRef", "attrs", "HE", "_merge", "On", "useFormContext", "import_react_router_dom", "ConfigsContext", "_a", "ConfigsProvider", "XE", "QE", "useConfigsContext", "import_every", "import_isString", "Template", "reactKey", "before", "after", "str", "flags", "placeholder", "groups", "template", "placeholders", "res", "placeholderToken", "parts", "substr", "_parts", "tg", "_every", "rg", "_isString", "element", "ag", "eg", "t_default", "import_get", "INITIAL_DICTIONARY", "dictionary_default", "DictionaryContext", "Yr", "DictionaryProvider", "dictionary", "lg", "ig", "useDictionary", "path", "diction", "sg", "_get", "_Initializer", "Initializer", "eventInitDict", "absrtact_initializer_default", "handleInited", "Un", "Yg", "Ac", "NT", "storeManagerInitializer", "initializer_default", "DEFAULT_SEARCH_PARAM", "checkSearchParamAction", "Fh", "searchParam", "url", "searchParamName", "normalizeSearchParam", "search_param_default", "NamespaceContext", "Wa", "storeInitializer", "useNamespace", "onceSet", "withDiscount", "decorated", "du", "sended", "filesUploaderListener", "Hh", "FILE", "Ga", "withFileUploader", "uu", "storeManager", "useSlices", "setSlices", "kc", "prevSlices", "use_slices_default", "ConfigureNotify", "Jh", "Zh", "configure_notify_default", "import_react_redux", "import_constants", "POWERPOINT_ID", "DOMYPRESENTATIONFOR_ID", "ESSAYNODELAY_ID", "ACADEM_EIGHT_ID", "set_design_type_to_storage_default", "isSpeedyPaperId", "useStoreManager", "setStoreManager", "Va", "handleInit", "use_store_manager_default", "StoreGate", "Bc", "iS", "persistor", "Eu", "oS", "aS", "store_gate_default", "import_omit", "DEFAULT_COUNTRY_CODE", "AuthFieldNames", "getCountryCode", "fallbackCountryCode", "BLACKLIST", "cS", "Tu", "_omit", "lS", "yu", "userSlice", "USER", "useAction", "dispatch", "dS", "mS", "useAction_default", "usePriceActivation", "discountApi", "hs", "priceFullWithoutDiscount", "updateDiscount", "uS", "useDiscount", "Hc", "_namespace", "Ut", "_asyncField", "handleCodeChange", "send", "reset", "use_discount_default", "extractFreeFeaturesFromRawOrder", "orderValues", "writerCategoryValue", "additionalFeaturesValue", "feature", "speakerNotesValue", "useCalculate", "showAltPrices", "setPriceData", "overrideValues", "priceCalculatorAdapted", "prices_alt", "withFreeFeaturesValues", "Bo", "writer", "handleSetPriceData", "prices", "usePriceData", "hu", "usePriceData_default", "import_toUpper", "convert", "originalPropertyName", "adaptedPropertyName", "originalData", "adaptedData", "adapter_default", "checkTrackerEnabled", "trackAction", "eventName", "google_track_default", "interiorTrack", "interior_track_default", "requiredArgument", "createSet", "action_tracker_default", "getRT", "additionalQueryParamsToParentSite", "IS_NOT_THE_FIRST_CHECK_REQUEST", "getFirstCheck", "setFirstCheck", "getVisitedPages", "setVisitedPage", "REVIEWS_RANGE", "WHITE_DOORS_RANGE", "PPC_RANGE", "SEO_RANGE", "SMM_RANGE", "DOORS_RANGE", "ORGANIC_RANGE", "PUSH_RANGE", "APP_RANGE", "REFFERAL_RANGE", "channelFindOut", "referrer_id", "link_id", "referrer_type_id", "getUserTraficFields", "userData", "getUserTraficFields_default", "trackMainPage", "DS", "track_main_page_default", "import_sctk_new_get_browser_fingerprint", "toBinary", "source", "codeUnits", "getFingerprint", "fingerprint", "$S", "getBrowserFingerprint", "isAliasDomain", "configsDomain", "DATA_ATTR_OPEN_AUTH_MODAL", "DATA_ATTR_EXISTING_USER_ACTION", "toggle_auth_buttons_default", "userAuthorizationStatus", "openAuthModalBtns", "dashboardBtns", "signoutBtns", "btn", "DISABLE_CHECK_REQUEST", "getParams", "rt", "Iu", "check_default", "getUserData", "getIsAuthorized", "getUserID", "getEmail", "getIsChecked", "useUserData", "udIsAuthorized", "Du", "isChecked", "check", "bS", "hook_default", "useVisitorID", "visitorID", "vS", "Visitor", "useVisitorID_default", "useMarkOrderPageAsVisited", "Nu", "pathname", "kS", "userId", "FS", "import_throttle", "expiryDate", "updatedCookie", "cookie", "cookie_default", "KEYS", "cloudflareTracer", "WS", "keyValue", "cloudflare_default", "CancelToken", "VS", "tracers", "trace", "tracer", "tracers_default", "setCountryCode", "setIP", "COUNTRY_CODE", "useGeoTag", "Ss", "Cu", "geoTag_default", "DETAULT_COUNTRY_CODE", "eR", "_throttle", "GeoTag", "XS", "tag", "geo_tag_default", "STEP_SAGA", "number", "num", "go", "MIN_STEP_INDEX", "MAX_STEP_INDEX", "createStepSlice", "steps", "INITIAL_INDEX", "Yo", "oR", "Ou", "stepSlice", "ACTIVE_STEP", "TITLE", "IS_FIRST", "IS_LAST", "step", "selectors", "stepActions", "STEPS", "import_kebabCase", "DOMAIN", "BotMessageType", "UserMessageType", "startChatBotSaga", "lR", "pR", "message", "Pu", "Mu", "slice_default", "mR", "useClearAfterTime", "Ds", "cleaned", "setCleaned", "rl", "orderLastChangeAt", "storePersisted", "ConnectPriceData", "ao", "fR", "defaultCalculator", "ConnectUserData", "ClearDataViaExpire", "MarkOrderPageAsVisited", "Decorator", "ConnectPriceDataComponent", "dt", "uR", "WithDiscountComponent", "WithFileUploaderComponent", "decorator_default", "useSlice", "setSlice", "ol", "prevSlice", "use_slice_default", "useSaga", "sagaWatcher", "yR", "createOrderSaga", "Saga", "watcher", "OPEN_MODAL", "CLOSE_MODAL", "SET_FIELD_VALUE", "CHECK_FIELD_VALUE", "HINT_LOGIN_SAGA", "hintLogin", "io", "hintLoginSaga", "import_pick", "import_isArray", "webViewPostMessage", "messageData", "system_authorization_default", "authType", "track_successful_order_submission_default", "user", "successCallback", "actionSet", "PREFIX", "OPEN_PAYMENTS_MODAL", "OPEN_PAYMENTS_RESULT_MODAL", "CLOSE_PAYMENTS_RESULT_MODAL", "openPaymentsModal", "openPaymentsResultModal", "DEFAULT_ENTITY", "ORDER_ENTITY", "ADDITIONAL_PAYMENT_ENTITY", "PERSONAL_FUNDS_ENTITY", "TIPS_ENTITY", "PAYMENT_METHOD_VARIANT_CREDIT_CARD", "PAYMENT_METHOD_VARIANT_SERVICE", "PAYMENT_METHOD_VARIANT_OTHER", "RESULT_STATUS_SUCCESS", "RESULT_STATUS_ERROR", "RESULT_STATUS_PENDING", "RESULT_STATUS_ABORTED", "CREDIT_CARD_NAME", "APPLE_PAY_NAME", "GOOGLE_PAY_NAME", "AMERICAN_EXPRESS_NAME", "CRYPTOCURRENCY_NAME", "UNION_PAY_NAME", "PAYMENTS_RESULT_KEY", "USER_DATA_STORAGE_KEY", "UPDATE_PERSONAL_BALANCE", "UPDATE_ORDER_DETAILS", "paymentEntities", "paymentMethodsVariants", "paymentResultStatuses", "paymentMethodsNames", "isPaperCoatchId", "basic_default", "orderFormConfigs", "DONE", "sendRemoteOrderForm", "composedOrderData", "recaptchaToken", "orderData", "bd", "PD", "priceWithoutDiscount", "xR", "discountErrorText", "bR", "_isArray", "orderID", "agreements", "vR", "discountNamespace", "applied", "discountId", "EMPTY_RESULT", "materials", "fileLoaderNamespace", "ju", "preferredOrder", "selectedPreferredOrder", "preferredOrderData", "topic", "topicByPackageAndCareerLevel", "paperTypeText", "academicLevelText", "upsales", "priceDataValues", "_bootstrapData", "upsalesIDs", "import_package", "orderAdapter", "composedData", "LR", "priceModulePkg", "existingFilesIDs", "errorFilesNames", "Hu", "_pick", "upsalesIds", "preferredOrderId", "userAdapter", "dataToTrack", "UPSALE_IDS_AVAILABLE_WITHOUT_PAGES", "valuesFieldsValidation", "pagesWordsSwitcher", "slides", "pages", "problems", "questions", "software", "additionalFeatures", "chosenUpsalesAvailableWithoutPages", "featureId", "elem", "values_fileds_default", "import_react_scroll", "scroll_to_default", "where", "isModal", "focusOnTarget", "cl", "headerViaID", "headerViaClass", "headerViaTag", "header", "updatedOffset", "headerHeight", "scrollerOptions", "validators_exports", "clientAgreements", "email", "password", "phone", "email_default", "phone_default", "inputMaskValid", "client_agreements_default", "valueList", "requiredValues", "more_then_chars_length_default", "charsLength", "less_then_chars_length_default", "only_numbers_default", "validator_default", "mask", "digitsCount", "maskUnitCount", "AGREEMENTS_FIELDNAME", "EMAIL_FIELDNAME", "PHONE_FIELDNAME", "PASSWORD_FIELDNAME", "fire", "scrollBy", "field", "Pr", "authFieldsValidation", "isAuthorized", "auth_fields_default", "PREFERRED_ORDER", "PREFERRED_ORDER_FIELDBOX_NAME", "PREFERRED_ORDER_FORM_ID", "orderFieldsValidation", "order_fields_default", "NotifyError", "NotifyError_default", "EmptyValueError", "EmptyValueError_default", "AuthValidationError", "AuthValidationError_default", "OrderValidationError", "OrderValidationError_default", "Tl", "validation_default", "PLACE_ORDER_SAGA", "placeOrder", "ZR", "placeOrderSaga", "Be", "priceDataSelector", "priceDataValuesSelector", "userValues", "JR", "placeOrderSagaWatcher", "stepSaga", "setter", "no", "flag", "DEFAULT_ERROR_MESSAGE", "ALREADY_PAID_ERROR", "getPersonalFundsBalance", "oA", "thunkAPI", "aA", "INVALID_ID_ERROR", "dismissPersonalFunds", "iA", "personal_funds_expected_payment_id", "sA", "getPaymentData", "nA", "cA", "WALLET_PAYMENT_ACCOUNTS_KEY", "CLIENT_PERSONAL_FUNDS_ID", "applyPersonalFunds", "lA", "pA", "roundToTwo", "paymentModalSlice", "dA", "paymentModalSliceSelectors", "paymentMethodsModalStore", "uA", "import_ua_parser_js", "UAParser", "gA", "UserAgentParser", "osName", "deviceType", "browserName", "user_agent_default", "windowCenterer", "dualScreenLeft", "dualScreenTop", "systemZoom", "left", "top", "PaymentFlowAPI", "openW", "generatedUnicName", "parsedData", "link", "WithPaymentFlowApiInit", "paymentFlowApiLoaded", "setPaymentFlowApiLoaded", "Rl", "Al", "incomingEventSideEffects", "eventConfigs", "useOpenPaymentsModalListener", "SA", "INITIAL_CONTEXT_STATIC", "useOpenEvent", "It", "handleGetPaymentData", "handleGetPersonalFundsBalance", "contextValuesStatic", "setContextValuesStatic", "ii", "amountToPay", "paymentMethods", "personalFundsPayment", "personalFundsBalance", "personalFundsBalancePending", "paymentDataRequestPending", "personalFundsRequestPending", "paymentDataRequestError", "contextValuesDynamic", "PaymentMethodsModalContext", "lo", "WithPaymentMethodsModalContext", "IA", "CA", "usePaymentMethodsModalContext", "import_mono_ui_circular_progressbar", "si", "import_no_scroll", "Modal", "CloseIcon", "onClose", "disableClose", "ci", "Nl", "noScroll", "handleBackDropClick", "ni", "of", "wA", "DiscountErrorIcon", "projectFamily", "colors", "DiscountErrorNotification", "orderId", "paymentEntity", "errorText", "setErrorText", "Go", "handleLivechatOpen", "handleClickDiscountError", "pr", "Cl", "PaymentIcon", "img", "imgSmDown", "smDown", "jA", "GateIcon", "ws", "AlternateMethodsList", "methods", "handleOpenPaymentMethod", "uo", "touchStart", "setTouchStart", "toggleOpen", "handleCloseList", "handleTouchEnd", "handleTouchStart", "De", "af", "redirect_default", "shouldOpenInNewTab", "shouldRedirectToParentSite", "getOnlyPathForRedirect", "subdomain", "search", "pathForRedirect", "parentSiteUrl", "forward_to_dashboard_default", "additionalPath", "isSubdomain", "forwardToDashboardOrder", "queryParams", "isCrossDomainRedirect", "buildQueryResult", "paymentFlowApiResult", "openPaymentMethod", "gate", "alternateMethods", "onSuccess", "dashboardSubdomain", "shouldRedirectToSubdomain", "newLink", "linkQueryParams", "alternateMethod", "nextMethodIndex", "paymentResultToSend", "METHODS_WITH_MULTICURRENCY", "PaymentMethod", "subtitle", "commission", "payment_link", "isDefaultCurrency", "isSingleServiceMethod", "dismissFunds", "handleClosePaymentModal", "alternateMethodsOpen", "setAlternateMethodsOpen", "$l", "alternate", "personalFundsPaymentExpireTime", "Wt", "nf", "payment_method_default", "paymentMethodsAdapter", "creditCardMethods", "serviceMethods", "otherMethods", "paymentMethod", "PaymentMethods", "showPersonalFunds", "GA", "mainCreditCardMethod", "otherMethodsLength", "Dt", "cf", "normalizeInputValue", "targetValue", "DEFAULT_VALUE", "ApplyButton", "amountToApply", "applyFunds", "paymentAmount", "shouldRedirectToDashboardOrder", "handleApply", "QA", "paymentResult", "ZA", "PersonalFundsInput", "inputRef", "Ht", "makeInputFocused", "rawValue", "normalizedValue", "maxPrice", "maxPriceWithCurrency", "finalValue", "Eo", "JA", "AppliedPersonalFunds", "handleDismissClick", "eI", "li", "tI", "PersonalFunds", "oI", "ut", "lf", "import_mono_ui_button", "PayLaterButton", "payLaterActionText", "handlePayLaterButton", "pI", "Nt", "mI", "ModalFooter", "uI", "vs", "pf", "ModalComponent", "title", "showMerchantLocation", "withPersonalFunds", "modalClosingAllowed", "pi", "handleCloseModal", "mf", "EI", "CircularProgress", "PaymentMethodsModal", "Qo", "_I", "import_query_string", "QueryStorage", "fieldKey", "keyTransformer", "yo", "queryString", "query_default", "BOOTSTRAP_DATA", "TI", "useBootstrapDataQuery", "SI", "GO_TO_LAST_STEP", "CHANGEBLE_FROM_QUERY_FIELDS", "LAST_STEP_INDEX", "useChangeOrderByQuery", "DI", "isSuccess", "isLoading", "changeStep", "orderHydrated", "II", "change", "AI", "searchParams", "keyValuesFromQuery", "targetFieldsConfigs", "changableKey", "changableConfig", "targetFieldKey", "targetFieldConfig", "NI", "additionalFeaturesParam", "softwareQueryParam", "changeAndClear", "bdItem", "getQuerySearchFromOrderValues", "addToCurrentSearch", "shouldGoToLastStep", "config", "useCopyOrderToClipboard", "CI", "$I", "handleCopyToClipboard", "Fs", "Case", "Switch", "ks", "useTracking", "MI", "Stepper", "vl", "withTitle", "activeStep", "xI", "lgDown", "To", "wl", "SubmitButton", "Fl", "buttonId", "withPrice", "priceFull", "Ll", "toPrice", "responseWaiting", "uf", "vI", "wI", "LI", "submit_default", "Navigation", "di", "Ul", "isFirst", "isLast", "forward", "srollToFormTop", "to", "handleForward", "handleNext", "buttons", "ho", "ff", "import_mono_ui_tooltip", "Tooltip", "freeze", "tooltipTextClassName", "smUp", "alignXMdUp", "alignYMdUp", "alignXMdDown", "alignYMdDown", "alignX", "alignY", "gapX", "gapY", "HI", "yf", "_f", "handleMouseEnter", "gf", "handleMouseLeave", "tooltip_default", "CrossIcon", "GI", "cross_default", "PriceItem", "Wl", "amount", "unit", "perUnitPrice", "deleteKey", "tooltipIcon", "start", "end", "Tf", "handleDelete", "He", "VI", "EVERY_SECOND_PAGE_DISCOUNTS", "EVERY_THIRD_PAGE_DISCOUNTS", "useDiscountTitle", "ui", "percentType", "discountCode", "discountTitle", "Assigned", "onCancel", "hf", "handleCancel", "ZI", "Bs", "import_mono_ui_input", "FORM_HAS_ACTIVE_DISCOUNT", "useStorageDiscountFlag", "aD", "DiscountForm", "gi", "onSend", "handleSend", "Ao", "nD", "Input", "Sf", "_isEmpty", "cD", "lD", "sD", "updateCustomVariables", "customVariables", "updateLivechatCustomVariables", "updateCustomVariables_default", "open_default", "DiscountHint", "Vl", "Ws", "hint_default", "fD", "DiscountField", "gD", "Ko", "_D", "yD", "createHasChangedDataSelector", "DISCOUNT", "FILES", "TD", "orderChanged", "hasDiscount", "hasFiles", "Reset", "additionalText", "withoutTooltip", "Ql", "HAS_CHANGED_DATA", "Hs", "hasChangedData", "scrollToFormTop", "handleReset", "_i", "import_camelCase", "BasePriceUnitsList", "summary", "priceForUnits", "pricePerUnit", "Zo", "Ti", "getAdaptedUnits", "adaptedUnits", "PriceItemComponent", "hi", "adaptedUnit", "PriceUnitsList", "PriceItemsList", "dr", "mdUp", "priceAdditionals", "technicalSubjectPricePB", "Jo", "writerCategories", "writerCategory", "subject", "writerCategoryTitle", "isComplexAssignment", "preferredWriter", "writerCategoryKey", "Kl", "_camelCase", "preferredWriterKey", "ft", "additinalFeatureKey", "TotalPrice", "Jl", "Af", "Si", "import_variant_default", "Icon", "If", "imagePath", "tooltipRef", "AD", "Gs", "Summary", "ID", "summaryAfter", "Gt", "useCookiePolicyShift", "cookiePolicyNode", "DD", "shift", "setShift", "tp", "isSmDown", "BottomPriceBox", "Df", "CD", "Vs", "FieldBox", "$D", "htmlFor", "hint", "tooltipAlign", "disableErrorAnimation", "required", "topHint", "contentRef", "fieldBoxProps", "at", "Nf", "import_mono_ui_select", "SelectField", "fieldName", "optionsList", "vD", "Cf", "sp", "Select", "LD", "usePopular", "popularIds", "FD", "popularId", "toAdapt", "PopularChoices", "popularChoices", "kD", "$f", "OptionsWithPopular", "popularSubjects", "vr", "POPULAR_PAPER_TYPES_SM_UP", "POPULAR_PAPER_TYPES_SM_DOWN", "PaperType", "pp", "paperType", "UD", "paperTypes", "bdPaperType", "qs", "POPULAR_SUBJECTS_SM_UP", "POPULAR_SUBJECTS_SM_DOWN", "Subject", "zD", "BD", "Qs", "Topic", "mp", "WD", "Of", "HD", "import_mono_ui_textarea", "useCustomEvent", "watchParams", "KD", "useCustomEvent_default", "MIN_PAPER_DETAILS_LENGTH", "MAX_PAPER_DETAILS_LENGTH", "PaperDetailsField", "withValidation", "setError", "paperDetails", "XD", "shouldValidate", "setShouldValidate", "Xo", "handleValidate", "handleCustomEvent", "oN", "tN", "TextArea", "eN", "import_mono_ui_dropzone", "UploadFilesIcon", "TN", "upload_files_default", "useFiles", "Rp", "xf", "use_files_default", "hashContext", "Dp", "useHash", "HashProvider", "Ip", "withHash", "useFile", "Np", "GET_FILE", "ea", "use_file_default", "MaterialName", "AN", "RN", "name_default", "DN", "IN", "size_default", "SvgRemoveIcon", "bf", "RemoveButton", "cancelOnHandle", "MN", "CN", "Cp", "ON", "$N", "remove_button_default", "SuccessMaterial", "Ci", "PN", "success_default", "MaterialErrorMessage", "bN", "LN", "wN", "error_message_default", "ErrorMaterial", "ta", "FN", "error_default", "ProgressMaterial", "ra", "vf", "kN", "progress_default", "File", "Zs", "file_default", "StaticMaterial", "Lf", "zN", "FilesList", "staticUploadedFiles", "fileUpdloaderNamespace", "Js", "files_list_default", "MaterialsField", "xt", "handleUpload", "WN", "ev", "HN", "Dropzone", "PaperDetailsMaterials", "$p", "withInlineHint", "withTopHint", "Et", "import_mono_ui_radio_group", "RadioGroupField", "aC", "Ff", "bp", "RadioGroup", "iC", "RadioOption", "SELECT_DEFAULT_OPTION", "MAIN", "paperFormat", "ADDITIONAL", "PaperFormatField", "paperFormats", "sC", "Do", "mainPaperFormats", "additionalPaperFormats", "chosenSelectOption", "option", "filteredFormats", "format", "selectValue", "$i", "vp", "nC", "SelectOption", "PaperFormat", "lC", "Uf", "jf", "AcademicLevel", "Lp", "academicLevels", "filteredAcademicLevels", "academicLevel", "mC", "zf", "WorkType", "Fp", "uC", "workTypes", "bdWorktype", "Bf", "import_moment", "useDeadlineHelper", "deadlines", "timeFormat", "dateFormat", "deadline", "gC", "EC", "moment", "import_sortBy", "useDisabled", "kp", "bdSubject", "yC", "getDeadlines", "hC", "_sortBy", "Deadline", "RC", "AC", "time", "No", "import_capitalize", "import_mono_ui_number_input", "numberInput", "NumberInputField", "FONT_SIZE", "kC", "jC", "UC", "NumberInput", "QuantityField", "tn", "quantityLimit", "Gf", "fieldValue", "BC", "import_mono_ui_switcher", "PagesWordsSwitcher", "e$", "JC", "o$", "t$", "UiSwitcher", "XC", "pages_words_switcher_default", "useHint", "quantityKeyAsLabel", "an", "wordsPerPage", "a$", "wordsFromPages", "qf", "Quantity", "Mi", "disablePageWordsSwitcher", "s$", "n$", "_capitilize", "Pi", "c$", "Spacing", "l$", "p$", "Qf", "import_mono_ui_checkbox", "Checkbox", "nn", "checkBoxIcons", "checkedIcon", "Zp", "uncheckedIcon", "y$", "BaseCheckBox", "_$", "useWindowEvent", "listenerOptions", "T$", "useWindowEvent_default", "useIsMouseIsTouchDevice", "setIsMouseDevice", "ln", "setIsTouchDevice", "handleResize", "FloatingTooltip", "shouldAppears", "cursorType", "wrapperClassName", "wt", "position", "setPosition", "handleScroll", "handleMouseMove", "gr", "S$", "floating_tooltip_default", "A$", "I$", "Xf", "SpeakerNotes", "wi", "withTooltip", "speakerNotes", "eE", "aa", "D$", "Slides", "C$", "withSpeakerNotes", "tE", "slidesLimit", "vi", "SoftCopies", "Li", "softCopies", "rE", "sources", "ia", "O$", "Sources", "P$", "withSoftCopies", "withTooltipSoftCopies", "x$", "Fi", "usePreferredActions", "deadlineFieldOnSameStep", "aE", "usePreferredError", "tooltipContent", "isDashboard", "b$", "bdDeadline", "isPrefferdDisabled", "handleFocusDeadline", "w$", "Fr", "multiplyChoiseQuestions", "resume101Org", "useAdditionalFeaturesDisabled", "DISABLED_ADDITIONAL_FEATURES", "k$", "j$", "entry", "U$", "use_additional_features_disabled_default", "useFilteredUpsales", "writerId", "forceHideTurnitin", "sa", "activeWriter", "iE", "disabledFeatures", "STATIC_FEATURES_BADGES", "OptionButton", "em", "badge", "errorRef", "tooltipFromDictionary", "modifier", "kr", "nE", "z$", "WriterCategoryField", "rm", "badges", "forceHideFloatingTooltip", "withPreferred", "WriterCategoryButton", "Y$", "tm", "W$", "H$", "viewedTitle", "description", "WriterCategory", "V$", "cE", "getSearchPreferred", "q$", "Q$", "preferredOrderID", "Z$", "CHECK_PREFERRED_ORDER_SAGA", "checkPreferredOrder", "yr", "X$", "checkPreferredOrderSaga", "LoginLink", "am", "tO", "rO", "getHintText", "writerStatus", "bestAvailable", "pro", "Qt", "get_hint_text_default", "PreferredHints", "Ui", "customError", "setCustomError", "preferredWritersList", "lE", "validateEvent", "Ge", "Co", "im", "PreferredSubmitButton", "iO", "pE", "ca", "cO", "sO", "sm", "nO", "PreferredOrderForm", "vt", "InputComponent", "useTopLogin", "useInnerLabel", "shouldClearOnCancel", "dn", "clear", "Ce", "handleSubmit", "mn", "pO", "import_react_outside_click_handler", "PreferredWritersList", "opened", "setOpened", "favoriteWriters", "otherWriters", "inputNode", "listRef", "un", "nm", "handleItemClick", "dataOrderId", "Ee", "uO", "OutsideClickHandler", "dO", "PreferredSearchInput", "Ve", "preferredListOpen", "setPreferredListOpen", "initialFavoriteWriters", "initialOtherWriters", "setFavoriteWriters", "setOtherWriters", "mE", "handleInputClick", "Tr", "allFiltered", "dE", "EO", "cm", "PreferredOrder", "la", "emptyWritersListError", "setEmptyWritersListError", "preferredWriters", "setPreferredWriters", "yO", "getPreferredWritersList", "_O", "TO", "extractTextsFromTitles", "useShortTitle", "mainText", "Feature", "pm", "forceShowAsChecked", "hideBrackets", "special", "enableTooltipsOnDisabledFeature", "forceDisableFloatingTooltip", "SO", "qe", "pa", "feature_default", "PROJECTS_FORCE_SHOW_TURNITIN", "useSortFilterFeatures", "projectId", "AO", "isTurnitinChosenInRawOrder", "upsalesSpecificOrder", "filteredFeatures", "uE", "aIndex", "bIndex", "useIncludedInPackageFeatures", "DO", "checkedDefault", "setCheckedDefault", "mm", "prevState", "AdditionalFeaturesField", "specials", "disabledMap", "orderedFeatures", "$O", "includedInPackageFeatures", "CO", "newValues", "prevValue", "fE", "useUpsalesBadges", "hideStaticBadgesIfFavorite", "staticBadges", "filteredPreviousFeatures", "AdditionalFeatures", "PO", "EE", "SoftwareCheckboxField", "fm", "withLabel", "um", "handleCheck", "xO", "SoftwareSelectField", "gm", "enabledSoftwares", "softwares", "Em", "_E", "_m", "Software", "wO", "useLabelCheckbox", "yE", "ma", "En", "vO", "hm", "upsaleIds", "upsaleId", "PreviouslyOrderedUpsales", "gn", "trackChange", "activeUpsales", "Sm", "category", "Kt", "kO", "FO", "signout_default", "UO", "AlreadyLogged", "zO", "Am", "loggedAs", "onSignout", "da", "already_logged_default", "import_mono_ui_tabs", "Email", "oM", "TE", "aM", "iM", "import_react_phone_input_2", "mfc", "defaultConfigs", "countriesConfigs", "PHONE_MASKS", "country", "ALLOWED_COUNTRIES", "import_material", "PhoneNumber", "Cm", "handleChangeNumber", "_0", "formattedValue", "SE", "lM", "PhoneInput", "Phone", "mM", "Tn", "yn", "dM", "VisibilityIcon", "visible", "ji", "visibility_default", "PasswordAdornment", "$m", "fM", "toogleType", "Lt", "EM", "adornment_default", "ForgotPassword", "_M", "TM", "forgot_password_default", "Password", "withForgotLink", "capsLockEnabled", "setCapsLockEnabled", "zi", "hM", "handleKeyPress", "enabled", "Ur", "SM", "RM", "import_react_apple_signin_auth", "orderStatuses", "orderStatusesForbiddenToDelete", "checkFieldValue", "stateItemsList", "universalSelector", "stateItem", "getFieldValue", "getFieldValidSystem", "useCheckValid", "enableValidation", "hn", "agrementsValue", "agreementsValid", "NM", "appleAuthorization", "appleData", "shouldForwardToDashboard", "CM", "AppleAuth", "view", "socials", "MM", "checkValid", "handleAuthResponse", "handleButtonClick", "OM", "Xt", "PM", "AppleSignin", "renderProps", "import_google", "googleAuthorization", "googleData", "xM", "GoogleAuth", "clientId", "bM", "responseGoogle", "Mm", "handleCheckValid", "onError", "Sn", "Pm", "wM", "socialAuthorization", "facebookData", "vM", "facebookAuthorization", "requestedFields", "FacebookButtonText", "buttonText", "$o", "import_react_intersection_observer", "makeClassViaProject", "LoaderHoc", "single", "needLoad", "setNeedLoad", "Wi", "handleInView", "inView", "specificClassName", "fjs", "js", "jM", "kM", "FM", "cslx", "FacebookAuth", "wm", "CLIENT_AGREEMENTS_SELECTOR", "zM", "bm", "SocialButtons", "BM", "googleButtonWidth", "isOnlyFacebook", "fa", "YM", "import_mono_ui_accordion", "agreement", "newArr", "agreementsMainLabel", "projectsWithoutSms", "agreementsLabel", "Agreements", "authTab", "customAgreements", "zm", "JM", "jm", "Bm", "eP", "rP", "agreements_default", "AuthTabs", "Ym", "googleAuthMinWidth", "oP", "An", "Tabs", "wE", "tabs_socials_inside_default", "Auth", "iP", "sP", "Wm", "socials_inside_tabs_default", "SummaryAccordion", "nP", "hr", "cP", "UIOrderForm", "lP", "Hi", "isLastStep", "pP", "mP", "ie", "EXPANDER_SLICE_NAME", "createExpanderSlice", "extended", "fP", "PERSIST_CONFIG", "FE", "EXTENDED", "Extender", "extenderConfig", "_P", "qm", "Gi", "yP", "Switcher", "ExtendableOrderForm", "isCollapsed", "SP", "Ea", "extenderSlice", "hP", "In", "Dn", "PopularIcon", "ge", "AdditionalFeatureSpecial", "NP", "Nn", "ICONS", "Qm", "activeWriterCategory", "PP", "Oo", "OP", "MP", "transformEventName", "defaultTrandform", "tracking_default", "useABTest", "checkRequestReady", "jE", "storageKey", "isPersisted", "persistedGroup", "wP", "vP", "FP", "ConnectPriceDataIncPricesAbTest", "location", "LP", "incPricesAbTestVersion", "incPricesAbTest", "forceShowViaSearch", "UP", "PlaceOrderSagaAbTest", "jP", "BP", "Zm", "Vi", "import_client", "import_speedy_expadable", "import_jsx_runtime", "mdDown", "render", "mountPoint", "ReactDOM", "ExtendableOrderForm"] }