@bigbinary/neeto-molecules 1.2.0-beta2 → 1.2.0-beta3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CustomDomain.js +1 -1
- package/dist/CustomDomainDashboard.js +1 -1
- package/dist/IpRestriction.js +19 -28
- package/dist/IpRestriction.js.map +1 -1
- package/dist/MadeWith.js +2 -1
- package/dist/MadeWith.js.map +1 -1
- package/dist/NeetoWidget.js +26 -58
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/PhoneNumber.js +24 -15
- package/dist/PhoneNumber.js.map +1 -1
- package/dist/Security.js +8 -13
- package/dist/Security.js.map +1 -1
- package/dist/Taxonomy.js +6 -12
- package/dist/Taxonomy.js.map +1 -1
- package/dist/TimezoneMismatchModal.js +6 -11
- package/dist/TimezoneMismatchModal.js.map +1 -1
- package/dist/cjs/CustomDomain.js +1 -1
- package/dist/cjs/CustomDomainDashboard.js +1 -1
- package/dist/cjs/IpRestriction.js +19 -28
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/MadeWith.js +2 -1
- package/dist/cjs/MadeWith.js.map +1 -1
- package/dist/cjs/NeetoWidget.js +26 -58
- package/dist/cjs/NeetoWidget.js.map +1 -1
- package/dist/cjs/PhoneNumber.js +25 -15
- package/dist/cjs/PhoneNumber.js.map +1 -1
- package/dist/cjs/Security.js +8 -13
- package/dist/cjs/Security.js.map +1 -1
- package/dist/cjs/Taxonomy.js +6 -12
- package/dist/cjs/Taxonomy.js.map +1 -1
- package/dist/cjs/TimezoneMismatchModal.js +6 -11
- package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
- package/dist/cjs/{index-7db1772e.js → index-27f4aa6e.js} +12 -17
- package/dist/cjs/index-27f4aa6e.js.map +1 -0
- package/dist/{index-7d311b7a.js → index-f2f4a6ba.js} +12 -17
- package/dist/index-f2f4a6ba.js.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/index-7db1772e.js.map +0 -1
- package/dist/index-7d311b7a.js.map +0 -1
package/dist/PhoneNumber.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneNumber.js","sources":["../src/components/PhoneNumber/CountryPicker/constants.js","../src/components/PhoneNumber/CountryPicker/SingleValue.jsx","../src/components/PhoneNumber/CountryPicker/index.jsx","../src/components/PhoneNumber/stores/useCountryCodeStore.js","../src/components/PhoneNumber/utils.js","../src/components/PhoneNumber/hooks/reactQuery/useSetInitialCountry.js","../src/components/PhoneNumber/PhoneNumberInput.jsx","../src/components/PhoneNumber/FormikPhoneNumberInput.jsx","../src/components/PhoneNumber/PhoneNumber.jsx"],"sourcesContent":["import { countries } from \"countries-list\";\nimport { getCountries } from \"libphonenumber-js/min\";\nimport { mergeLeft, assoc } from \"ramda\";\n\nexport const COUNTRY_PICKER_OPTIONS = getCountries()\n .filter(code => countries[code])\n .map(code => ({ label: countries[code].name, value: code }))\n .sort((a, b) => a.label.localeCompare(b.label));\n\nexport const COUNTRY_PICKER_STYLES = {\n menuPortal: mergeLeft({ width: 196, zIndex: 99999 }),\n control: mergeLeft({\n border: \"none !important\",\n cursor: \"pointer\",\n gap: 4,\n }),\n input: assoc(\"position\", \"absolute !important\"),\n valueContainer: assoc(\"padding\", \"0 !important\"),\n indicatorsContainer: assoc(\"paddingRight\", \"0 !important\"),\n};\n","import React from \"react\";\n\nimport { countries } from \"countries-list\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nconst SingleValue = ({ countryCode, showEmoji = false, ...otherProps }) => {\n if (!showEmoji) return null;\n\n const countryData = countries[countryCode];\n\n return (\n <Tooltip content={countryData?.name}>\n <Typography\n className=\"cursor-pointer text-center text-xl\"\n style=\"body2\"\n {...otherProps}\n >\n {countryData?.emoji}\n </Typography>\n </Tooltip>\n );\n};\n\nexport default React.memo(SingleValue);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { getCountryCallingCode } from \"libphonenumber-js/min\";\nimport { Select } from \"neetoui\";\n\nimport { COUNTRY_PICKER_OPTIONS, COUNTRY_PICKER_STYLES } from \"./constants\";\nimport SingleValue from \"./SingleValue\";\n\nconst CountryPicker = ({\n countryCode,\n setCountryCode,\n onInputChange,\n prefix,\n phoneNumber,\n ...otherProps\n}) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const handleCountryChange = ({ value }) => {\n setCountryCode(value);\n\n onInputChange(\n phoneNumber.replace(prefix, `+${getCountryCallingCode(value)}`)\n );\n };\n\n return (\n <div\n className={classnames(\"flex-shrink-0\", {\n \"w-10\": !searchTerm,\n \"w-24\": searchTerm,\n })}\n >\n <Select\n isSearchable\n data-testid=\"phonenumber-country-picker\"\n options={COUNTRY_PICKER_OPTIONS}\n strategy=\"fixed\"\n styles={COUNTRY_PICKER_STYLES}\n value={{ value: countryCode }}\n components={{\n SingleValue: () => <SingleValue {...{ countryCode }} showEmoji />,\n }}\n isOptionSelected={({ value }, [selectedOption]) =>\n selectedOption?.name === value\n }\n onChange={handleCountryChange}\n onInputChange={setSearchTerm}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default React.memo(CountryPicker);\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { persist, createJSONStorage } from \"zustand/middleware\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nexport const useCountryCodeStore = create(\n withImmutableActions(\n persist(\n (set, _) => ({\n countryCode: null,\n setCountryCode: countryCode => set({ countryCode }),\n }),\n {\n name: \"neeto-ip-location-country-code\",\n storage: createJSONStorage(() => localStorage),\n }\n )\n )\n);\n","import i18next from \"i18next\";\nimport {\n formatIncompletePhoneNumber,\n isValidPhoneNumber,\n parsePhoneNumber,\n} from \"libphonenumber-js/min\";\nimport * as yup from \"yup\";\n\nexport const isPhoneNumberValid = (value = \"\", ...rest) =>\n isValidPhoneNumber(value, ...rest);\n\nexport const validation = (\n message = i18next.t(\"neetoMolecules.phoneNumberInput.validations.invalid\")\n) =>\n yup\n .string()\n .test(\"phoneNumber\", message, phoneNumber =>\n phoneNumber ? isValidPhoneNumber(phoneNumber) : true\n );\n\nexport const getPhoneData = (value, defaultCountryCode) => {\n try {\n const parsedValue = parsePhoneNumber(value, defaultCountryCode);\n\n return {\n phoneNumber: parsedValue.number,\n international: parsedValue.formatInternational(),\n countryCode: parsedValue.country || defaultCountryCode,\n };\n } catch {\n return {\n phoneNumber: value,\n international: formatIncompletePhoneNumber(value, defaultCountryCode),\n countryCode: defaultCountryCode,\n };\n }\n};\n\nexport const getCursorPosition = ({\n event,\n prevFormattedValue,\n newFormattedValue,\n}) => {\n const {\n nativeEvent: { inputType },\n target: { value: newValue, selectionStart },\n } = event;\n\n if (selectionStart === newValue.length) return newFormattedValue.length;\n\n const n = prevFormattedValue\n .substring(0, selectionStart)\n .replace(/\\s/g, \"\").length;\n\n let cursor = 0;\n for (let i = 0; i < n; ++i, ++cursor) {\n if (newFormattedValue[cursor] === \" \") ++cursor;\n }\n\n if (inputType !== \"deleteContentBackward\") {\n if (\n newFormattedValue[selectionStart - 1] === \" \" &&\n prevFormattedValue[selectionStart - 1] === \" \"\n ) {\n return cursor + 2;\n } else if (prevFormattedValue[selectionStart - 1] === \" \") {\n return cursor + 1;\n }\n }\n\n return cursor;\n};\n","import { useEffect } from \"react\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { prop } from \"ramda\";\n\nimport { useCountryCodeStore } from \"components/PhoneNumber/stores/useCountryCodeStore\";\nimport { getPhoneData } from \"components/PhoneNumber/utils\";\n\nconst useSetInitialCountry = (initialCountryCode, initialValue) => {\n const setCountryCode = useCountryCodeStore(prop(\"setCountryCode\"));\n\n const { countryCode: countryCodeFromInitialValue } =\n getPhoneData(initialValue);\n\n const isFetchLocationEnabled =\n !initialCountryCode && !countryCodeFromInitialValue;\n\n // useQuery(\n // \"IP_LOOKUP_LOCATION\",\n // () => neetoIpLookupApi.fetchLocationDetails(),\n // {\n // enabled: isFetchLocationEnabled,\n // onSuccess: ({ countryCode }) => setCountryCode(countryCode),\n // }\n // );\n\n const { data: { countryCode } = {} } = useQuery({\n queryKey: [\"IP_LOOKUP_LOCATION\"],\n enabled: isFetchLocationEnabled,\n });\n\n useEffect(() => {\n if (isFetchLocationEnabled) return;\n\n setCountryCode(\n countryCode || countryCodeFromInitialValue || initialCountryCode\n );\n }, [countryCode]);\n};\n\nexport default useSetInitialCountry;\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\n\nimport classnames from \"classnames\";\nimport {\n formatIncompletePhoneNumber,\n getCountryCallingCode,\n} from \"libphonenumber-js/min\";\nimport { noop } from \"neetocist\";\nimport { Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CountryPicker from \"./CountryPicker\";\nimport useSetInitialCountry from \"./hooks/reactQuery/useSetInitialCountry\";\nimport { useCountryCodeStore } from \"./stores/useCountryCodeStore\";\nimport { getCursorPosition, getPhoneData } from \"./utils\";\n\nconst PhoneNumberInput = forwardRef(\n (\n {\n value = \"\",\n onChange = noop,\n className,\n error,\n selectProps,\n initialCountryCode,\n ...inputProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n\n const internalValue = useRef(value);\n const initialValue = useMemo(() => value, []);\n\n const { countryCode, setCountryCode } = useCountryCodeStore.pick();\n\n useSetInitialCountry(initialCountryCode, initialValue);\n\n const prefix = countryCode ? `+${getCountryCallingCode(countryCode)}` : \"\";\n const formattedValue = formatIncompletePhoneNumber(value, countryCode);\n\n const handleInputChange = useCallback(value => {\n onChange(value);\n internalValue.current = value;\n }, []);\n\n const handleChange = event => {\n const { phoneNumber, countryCode: newCountryCode } = getPhoneData(\n event.target.value,\n countryCode\n );\n handleInputChange(phoneNumber);\n setCountryCode(newCountryCode);\n\n const cursor = getCursorPosition({\n event,\n prevFormattedValue: formattedValue,\n newFormattedValue: formatIncompletePhoneNumber(\n phoneNumber,\n newCountryCode\n ),\n });\n\n window.requestAnimationFrame(() =>\n event.target.setSelectionRange(cursor, cursor)\n );\n };\n\n useEffect(() => {\n if (internalValue.current === value) return;\n\n setCountryCode(getPhoneData(value, countryCode).countryCode);\n }, [value]);\n\n return (\n <div className={classnames([className])}>\n <Input\n {...{ error, ref }}\n data-testid=\"phonenumber-input\"\n type=\"tel\"\n value={formattedValue}\n placeholder={t(\"neetoMolecules.phoneNumberInput.placeholder\", {\n prefix,\n })}\n prefix={\n <CountryPicker\n {...{ countryCode, prefix, setCountryCode }}\n phoneNumber={value}\n onInputChange={handleInputChange}\n {...selectProps}\n />\n }\n onChange={handleChange}\n {...inputProps}\n />\n </div>\n );\n }\n);\n\nPhoneNumberInput.displayName = \"PhoneNumberInput\";\n\nPhoneNumberInput.propTypes = {\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To specify the function to be triggered when the `value` is updated.\n */\n onChange: PropTypes.func,\n /**\n * To specify external classNames that can be provided as overrides to the main wrapper.\n */\n className: PropTypes.string,\n /**\n * To specify the error message to be displayed below the input field.\n */\n error: PropTypes.string,\n /**\n * To specify the additional props to be provided to the country picker `Select` component.\n */\n selectProps: PropTypes.object,\n /**\n * To specify the initial country to be set when component is mounted. Setting this\n * disables the feature of setting the initial country based on user's IP address.\n */\n initialCountryCode: PropTypes.string,\n};\n\nexport default PhoneNumberInput;\n","import React from \"react\";\n\nimport { useField } from \"formik\";\n\nimport PhoneNumberInput from \"./PhoneNumberInput\";\n\nconst FormikPhoneNumberInput = ({ name, ...props }) => {\n const [field, meta, { setValue }] = useField(name);\n\n return (\n <PhoneNumberInput\n {...field}\n error={meta.touched ? meta.error : \"\"}\n onChange={setValue}\n {...props}\n />\n );\n};\n\nexport default FormikPhoneNumberInput;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\n\nimport SingleValue from \"./CountryPicker/SingleValue\";\nimport { getPhoneData } from \"./utils\";\n\nconst PhoneNumber = ({\n className,\n defaultCountry = \"IN\",\n value,\n showEmoji = false,\n children,\n ...otherProps\n}) => {\n const { international, countryCode } = getPhoneData(\n value || children,\n defaultCountry\n );\n\n return (\n <div className={classnames([\"flex items-center space-x-2\", className])}>\n <SingleValue {...{ countryCode, showEmoji, ...otherProps }} />\n <Typography style=\"body2\" {...otherProps}>\n {international}\n </Typography>\n </div>\n );\n};\nexport default React.memo(PhoneNumber);\n"],"names":["COUNTRY_PICKER_OPTIONS","getCountries","filter","code","countries","map","label","name","value","sort","a","b","localeCompare","COUNTRY_PICKER_STYLES","menuPortal","mergeLeft","width","zIndex","control","border","cursor","gap","input","assoc","valueContainer","indicatorsContainer","SingleValue","_ref","countryCode","_ref$showEmoji","showEmoji","otherProps","_objectWithoutProperties","_excluded","countryData","React","createElement","Tooltip","content","Typography","_extends","className","style","emoji","memo","CountryPicker","setCountryCode","onInputChange","prefix","phoneNumber","_useState","useState","_useState2","_slicedToArray","searchTerm","setSearchTerm","handleCountryChange","_ref2","replace","concat","getCountryCallingCode","classnames","Select","isSearchable","options","strategy","styles","components","_SingleValue","isOptionSelected","_ref3","_ref4","_ref5","selectedOption","onChange","useCountryCodeStore","create","withImmutableActions","persist","set","_","storage","createJSONStorage","localStorage","isPhoneNumberValid","arguments","length","undefined","_len","rest","Array","_key","isValidPhoneNumber","apply","validation","message","i18next","t","yup","string","test","getPhoneData","defaultCountryCode","parsedValue","parsePhoneNumber","number","international","formatInternational","country","_unused","formatIncompletePhoneNumber","getCursorPosition","event","prevFormattedValue","newFormattedValue","inputType","nativeEvent","_event$target","target","newValue","selectionStart","n","substring","i","useSetInitialCountry","initialCountryCode","initialValue","prop","_getPhoneData","countryCodeFromInitialValue","isFetchLocationEnabled","_useQuery","useQuery","queryKey","enabled","_useQuery$data","data","_useQuery$data2","useEffect","PhoneNumberInput","forwardRef","ref","_ref$value","_ref$onChange","noop","error","selectProps","inputProps","_useTranslation","useTranslation","internalValue","useRef","useMemo","_useCountryCodeStore","store","shallow","formattedValue","handleInputChange","useCallback","current","handleChange","newCountryCode","window","requestAnimationFrame","setSelectionRange","Input","type","placeholder","displayName","FormikPhoneNumberInput","props","_useField","useField","_useField2","field","meta","setValue","touched","PhoneNumber","_ref$defaultCountry","defaultCountry","children","_objectSpread"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PhoneNumber.js","sources":["../src/components/PhoneNumber/CountryPicker/constants.js","../src/components/PhoneNumber/CountryPicker/SingleValue.jsx","../src/components/PhoneNumber/CountryPicker/index.jsx","../src/components/PhoneNumber/constants.js","../src/components/PhoneNumber/apis/neeto_ip_lookup.js","../src/components/PhoneNumber/stores/useCountryCodeStore.js","../src/components/PhoneNumber/utils.js","../src/components/PhoneNumber/hooks/reactQuery/useSetInitialCountry.js","../src/components/PhoneNumber/PhoneNumberInput.jsx","../src/components/PhoneNumber/FormikPhoneNumberInput.jsx","../src/components/PhoneNumber/PhoneNumber.jsx"],"sourcesContent":["import { countries } from \"countries-list\";\nimport { getCountries } from \"libphonenumber-js/min\";\nimport { mergeLeft, assoc } from \"ramda\";\n\nexport const COUNTRY_PICKER_OPTIONS = getCountries()\n .filter(code => countries[code])\n .map(code => ({ label: countries[code].name, value: code }))\n .sort((a, b) => a.label.localeCompare(b.label));\n\nexport const COUNTRY_PICKER_STYLES = {\n menuPortal: mergeLeft({ width: 196, zIndex: 99999 }),\n control: mergeLeft({\n border: \"none !important\",\n cursor: \"pointer\",\n gap: 4,\n }),\n input: assoc(\"position\", \"absolute !important\"),\n valueContainer: assoc(\"padding\", \"0 !important\"),\n indicatorsContainer: assoc(\"paddingRight\", \"0 !important\"),\n};\n","import React from \"react\";\n\nimport { countries } from \"countries-list\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nconst SingleValue = ({ countryCode, showEmoji = false, ...otherProps }) => {\n if (!showEmoji) return null;\n\n const countryData = countries[countryCode];\n\n return (\n <Tooltip content={countryData?.name}>\n <Typography\n className=\"cursor-pointer text-center text-xl\"\n style=\"body2\"\n {...otherProps}\n >\n {countryData?.emoji}\n </Typography>\n </Tooltip>\n );\n};\n\nexport default React.memo(SingleValue);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { getCountryCallingCode } from \"libphonenumber-js/min\";\nimport { Select } from \"neetoui\";\n\nimport { COUNTRY_PICKER_OPTIONS, COUNTRY_PICKER_STYLES } from \"./constants\";\nimport SingleValue from \"./SingleValue\";\n\nconst CountryPicker = ({\n countryCode,\n setCountryCode,\n onInputChange,\n prefix,\n phoneNumber,\n ...otherProps\n}) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const handleCountryChange = ({ value }) => {\n setCountryCode(value);\n\n onInputChange(\n phoneNumber.replace(prefix, `+${getCountryCallingCode(value)}`)\n );\n };\n\n return (\n <div\n className={classnames(\"flex-shrink-0\", {\n \"w-10\": !searchTerm,\n \"w-24\": searchTerm,\n })}\n >\n <Select\n isSearchable\n data-testid=\"phonenumber-country-picker\"\n options={COUNTRY_PICKER_OPTIONS}\n strategy=\"fixed\"\n styles={COUNTRY_PICKER_STYLES}\n value={{ value: countryCode }}\n components={{\n SingleValue: () => <SingleValue {...{ countryCode }} showEmoji />,\n }}\n isOptionSelected={({ value }, [selectedOption]) =>\n selectedOption?.name === value\n }\n onChange={handleCountryChange}\n onInputChange={setSearchTerm}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default React.memo(CountryPicker);\n","export const IP_LOOKUP_ACCESS_TOKEN = \"083c694c79f119c7f227e737de9a5c8c\";\n","import axios from \"axios\";\n\nimport { IP_LOOKUP_ACCESS_TOKEN } from \"../constants\";\n\nconst fetchLocationDetails = () =>\n axios.get(\n \"https://neeto-ip-lookup-web-production.neetodeployapp.com/location\",\n { headers: { \"X-ACCESS-TOKEN\": IP_LOOKUP_ACCESS_TOKEN } }\n );\n\nconst neetoIpLookupApi = { fetchLocationDetails };\nexport default neetoIpLookupApi;\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { persist, createJSONStorage } from \"zustand/middleware\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nexport const useCountryCodeStore = create(\n withImmutableActions(\n persist(\n (set, _) => ({\n countryCode: null,\n setCountryCode: countryCode => set({ countryCode }),\n }),\n {\n name: \"neeto-ip-location-country-code\",\n storage: createJSONStorage(() => localStorage),\n }\n )\n )\n);\n","import i18next from \"i18next\";\nimport {\n formatIncompletePhoneNumber,\n isValidPhoneNumber,\n parsePhoneNumber,\n} from \"libphonenumber-js/min\";\nimport * as yup from \"yup\";\n\nexport const isPhoneNumberValid = (value = \"\", ...rest) =>\n isValidPhoneNumber(value, ...rest);\n\nexport const validation = (\n message = i18next.t(\"neetoMolecules.phoneNumberInput.validations.invalid\")\n) =>\n yup\n .string()\n .test(\"phoneNumber\", message, phoneNumber =>\n phoneNumber ? isValidPhoneNumber(phoneNumber) : true\n );\n\nexport const getPhoneData = (value, defaultCountryCode) => {\n try {\n const parsedValue = parsePhoneNumber(value, defaultCountryCode);\n\n return {\n phoneNumber: parsedValue.number,\n international: parsedValue.formatInternational(),\n countryCode: parsedValue.country || defaultCountryCode,\n };\n } catch {\n return {\n phoneNumber: value,\n international: formatIncompletePhoneNumber(value, defaultCountryCode),\n countryCode: defaultCountryCode,\n };\n }\n};\n\nexport const getCursorPosition = ({\n event,\n prevFormattedValue,\n newFormattedValue,\n}) => {\n const {\n nativeEvent: { inputType },\n target: { value: newValue, selectionStart },\n } = event;\n\n if (selectionStart === newValue.length) return newFormattedValue.length;\n\n const n = prevFormattedValue\n .substring(0, selectionStart)\n .replace(/\\s/g, \"\").length;\n\n let cursor = 0;\n for (let i = 0; i < n; ++i, ++cursor) {\n if (newFormattedValue[cursor] === \" \") ++cursor;\n }\n\n if (inputType !== \"deleteContentBackward\") {\n if (\n newFormattedValue[selectionStart - 1] === \" \" &&\n prevFormattedValue[selectionStart - 1] === \" \"\n ) {\n return cursor + 2;\n } else if (prevFormattedValue[selectionStart - 1] === \" \") {\n return cursor + 1;\n }\n }\n\n return cursor;\n};\n","import { useEffect } from \"react\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { prop } from \"ramda\";\n\nimport neetoIpLookupApi from \"components/PhoneNumber/apis/neeto_ip_lookup\";\nimport { useCountryCodeStore } from \"components/PhoneNumber/stores/useCountryCodeStore\";\nimport { getPhoneData } from \"components/PhoneNumber/utils\";\n\nconst useSetInitialCountry = (initialCountryCode, initialValue) => {\n const setCountryCode = useCountryCodeStore(prop(\"setCountryCode\"));\n\n const { countryCode: countryCodeFromInitialValue } =\n getPhoneData(initialValue);\n\n const isFetchLocationEnabled =\n !initialCountryCode && !countryCodeFromInitialValue;\n\n const { data } = useQuery({\n queryKey: [\"IP_LOOKUP_LOCATION\"],\n queryFn: () => neetoIpLookupApi.fetchLocationDetails(),\n enabled: isFetchLocationEnabled,\n });\n\n useEffect(() => {\n if (isFetchLocationEnabled) return;\n\n setCountryCode(countryCodeFromInitialValue || initialCountryCode);\n }, []);\n\n useEffect(() => {\n if (!data) return;\n\n setCountryCode(data.countryCode);\n }, [data]);\n};\n\nexport default useSetInitialCountry;\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\n\nimport classnames from \"classnames\";\nimport {\n formatIncompletePhoneNumber,\n getCountryCallingCode,\n} from \"libphonenumber-js/min\";\nimport { noop } from \"neetocist\";\nimport { Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CountryPicker from \"./CountryPicker\";\nimport useSetInitialCountry from \"./hooks/reactQuery/useSetInitialCountry\";\nimport { useCountryCodeStore } from \"./stores/useCountryCodeStore\";\nimport { getCursorPosition, getPhoneData } from \"./utils\";\n\nconst PhoneNumberInput = forwardRef(\n (\n {\n value = \"\",\n onChange = noop,\n className,\n error,\n selectProps,\n initialCountryCode,\n ...inputProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n\n const internalValue = useRef(value);\n const initialValue = useMemo(() => value, []);\n\n const { countryCode, setCountryCode } = useCountryCodeStore.pick();\n\n useSetInitialCountry(initialCountryCode, initialValue);\n\n const prefix = countryCode ? `+${getCountryCallingCode(countryCode)}` : \"\";\n const formattedValue = formatIncompletePhoneNumber(value, countryCode);\n\n const handleInputChange = useCallback(value => {\n onChange(value);\n internalValue.current = value;\n }, []);\n\n const handleChange = event => {\n const { phoneNumber, countryCode: newCountryCode } = getPhoneData(\n event.target.value,\n countryCode\n );\n handleInputChange(phoneNumber);\n setCountryCode(newCountryCode);\n\n const cursor = getCursorPosition({\n event,\n prevFormattedValue: formattedValue,\n newFormattedValue: formatIncompletePhoneNumber(\n phoneNumber,\n newCountryCode\n ),\n });\n\n window.requestAnimationFrame(() =>\n event.target.setSelectionRange(cursor, cursor)\n );\n };\n\n useEffect(() => {\n if (internalValue.current === value) return;\n\n setCountryCode(getPhoneData(value, countryCode).countryCode);\n }, [value]);\n\n return (\n <div className={classnames([className])}>\n <Input\n {...{ error, ref }}\n data-testid=\"phonenumber-input\"\n type=\"tel\"\n value={formattedValue}\n placeholder={t(\"neetoMolecules.phoneNumberInput.placeholder\", {\n prefix,\n })}\n prefix={\n <CountryPicker\n {...{ countryCode, prefix, setCountryCode }}\n phoneNumber={value}\n onInputChange={handleInputChange}\n {...selectProps}\n />\n }\n onChange={handleChange}\n {...inputProps}\n />\n </div>\n );\n }\n);\n\nPhoneNumberInput.displayName = \"PhoneNumberInput\";\n\nPhoneNumberInput.propTypes = {\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To specify the function to be triggered when the `value` is updated.\n */\n onChange: PropTypes.func,\n /**\n * To specify external classNames that can be provided as overrides to the main wrapper.\n */\n className: PropTypes.string,\n /**\n * To specify the error message to be displayed below the input field.\n */\n error: PropTypes.string,\n /**\n * To specify the additional props to be provided to the country picker `Select` component.\n */\n selectProps: PropTypes.object,\n /**\n * To specify the initial country to be set when component is mounted. Setting this\n * disables the feature of setting the initial country based on user's IP address.\n */\n initialCountryCode: PropTypes.string,\n};\n\nexport default PhoneNumberInput;\n","import React from \"react\";\n\nimport { useField } from \"formik\";\n\nimport PhoneNumberInput from \"./PhoneNumberInput\";\n\nconst FormikPhoneNumberInput = ({ name, ...props }) => {\n const [field, meta, { setValue }] = useField(name);\n\n return (\n <PhoneNumberInput\n {...field}\n error={meta.touched ? meta.error : \"\"}\n onChange={setValue}\n {...props}\n />\n );\n};\n\nexport default FormikPhoneNumberInput;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\n\nimport SingleValue from \"./CountryPicker/SingleValue\";\nimport { getPhoneData } from \"./utils\";\n\nconst PhoneNumber = ({\n className,\n defaultCountry = \"IN\",\n value,\n showEmoji = false,\n children,\n ...otherProps\n}) => {\n const { international, countryCode } = getPhoneData(\n value || children,\n defaultCountry\n );\n\n return (\n <div className={classnames([\"flex items-center space-x-2\", className])}>\n <SingleValue {...{ countryCode, showEmoji, ...otherProps }} />\n <Typography style=\"body2\" {...otherProps}>\n {international}\n </Typography>\n </div>\n );\n};\nexport default React.memo(PhoneNumber);\n"],"names":["COUNTRY_PICKER_OPTIONS","getCountries","filter","code","countries","map","label","name","value","sort","a","b","localeCompare","COUNTRY_PICKER_STYLES","menuPortal","mergeLeft","width","zIndex","control","border","cursor","gap","input","assoc","valueContainer","indicatorsContainer","SingleValue","_ref","countryCode","_ref$showEmoji","showEmoji","otherProps","_objectWithoutProperties","_excluded","countryData","React","createElement","Tooltip","content","Typography","_extends","className","style","emoji","memo","CountryPicker","setCountryCode","onInputChange","prefix","phoneNumber","_useState","useState","_useState2","_slicedToArray","searchTerm","setSearchTerm","handleCountryChange","_ref2","replace","concat","getCountryCallingCode","classnames","Select","isSearchable","options","strategy","styles","components","_SingleValue","isOptionSelected","_ref3","_ref4","_ref5","selectedOption","onChange","IP_LOOKUP_ACCESS_TOKEN","fetchLocationDetails","axios","get","headers","neetoIpLookupApi","useCountryCodeStore","create","withImmutableActions","persist","set","_","storage","createJSONStorage","localStorage","isPhoneNumberValid","arguments","length","undefined","_len","rest","Array","_key","isValidPhoneNumber","apply","validation","message","i18next","t","yup","string","test","getPhoneData","defaultCountryCode","parsedValue","parsePhoneNumber","number","international","formatInternational","country","_unused","formatIncompletePhoneNumber","getCursorPosition","event","prevFormattedValue","newFormattedValue","inputType","nativeEvent","_event$target","target","newValue","selectionStart","n","substring","i","useSetInitialCountry","initialCountryCode","initialValue","prop","_getPhoneData","countryCodeFromInitialValue","isFetchLocationEnabled","_useQuery","useQuery","queryKey","queryFn","enabled","data","useEffect","PhoneNumberInput","forwardRef","ref","_ref$value","_ref$onChange","noop","error","selectProps","inputProps","_useTranslation","useTranslation","internalValue","useRef","useMemo","_useCountryCodeStore","store","shallow","formattedValue","handleInputChange","useCallback","current","handleChange","newCountryCode","window","requestAnimationFrame","setSelectionRange","Input","type","placeholder","displayName","FormikPhoneNumberInput","props","_useField","useField","_useField2","field","meta","setValue","touched","PhoneNumber","_ref$defaultCountry","defaultCountry","children","_objectSpread"],"mappings":"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"}
|
package/dist/Security.js
CHANGED
|
@@ -251,24 +251,19 @@ var SETTINGS_LIST = QUERY_KEYS.SETTINGS_LIST,
|
|
|
251
251
|
GETTING_STARTED = QUERY_KEYS.GETTING_STARTED,
|
|
252
252
|
THEMES_SETTINGS = QUERY_KEYS.THEMES_SETTINGS;
|
|
253
253
|
var useFetchSettings = function useFetchSettings(url) {
|
|
254
|
-
return (
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
return settingsApi.fetch(url);
|
|
262
|
-
},
|
|
263
|
-
staleTime: SETTINGS_STALE_TIME
|
|
264
|
-
})
|
|
265
|
-
);
|
|
254
|
+
return useQuery({
|
|
255
|
+
queryKey: [SETTINGS_LIST],
|
|
256
|
+
queryFn: function queryFn() {
|
|
257
|
+
return settingsApi.fetch(url);
|
|
258
|
+
},
|
|
259
|
+
staleTime: SETTINGS_STALE_TIME
|
|
260
|
+
});
|
|
266
261
|
};
|
|
267
262
|
var useUpdateSetting = function useUpdateSetting(url) {
|
|
268
263
|
return useMutationWithInvalidation(function (payload) {
|
|
269
264
|
return settingsApi.update(url, payload);
|
|
270
265
|
}, {
|
|
271
|
-
keysToInvalidate: [SETTINGS_LIST, GETTING_STARTED, THEMES_SETTINGS]
|
|
266
|
+
keysToInvalidate: [[SETTINGS_LIST], [GETTING_STARTED], [THEMES_SETTINGS]]
|
|
272
267
|
});
|
|
273
268
|
};
|
|
274
269
|
|
package/dist/Security.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Security.js","sources":["../src/components/Security/AllowedKeywords/Add.jsx","../src/components/Security/utils.js","../src/components/Security/constants.js","../src/components/Security/AllowedKeywords/index.jsx","../src/components/Security/PasswordBlock.jsx","../src/components/Security/RadioBlock.jsx","../src/components/Security/api.js","../src/components/Security/useSecurityApi.js","../src/components/Security/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { remove } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Add = () => {\n const { t } = useTranslation();\n const {\n setFieldValue,\n values: { allowedKeywords },\n } = useFormikContext();\n\n const removeKeyword = index =>\n setFieldValue(\"allowedKeywords\", remove(index, 1, allowedKeywords));\n\n if (!allowedKeywords) return null;\n\n return allowedKeywords.map((_, index) => (\n <div\n className={classNames(\"flex w-full items-start justify-between gap-x-2\")}\n key={index}\n >\n <Input\n autoFocus\n data-cy={`keyword-input-field-${index}`}\n name={`allowedKeywords[${index}]`}\n placeholder={t(\"neetoMolecules.security.placeholders.enterKeyword\")}\n />\n <Button\n data-cy={`keyword-remove-button-${index}`}\n icon={Delete}\n style=\"text\"\n onClick={() => removeKeyword(index)}\n />\n </div>\n ));\n};\n\nexport default Add;\n","import { isEmpty } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const buildSecuritySettings = settings => ({\n ...settings.setting,\n addEmail: false,\n});\n\nexport const findKeywordDuplicates = (list, message, createError) => {\n const duplicates = {};\n\n list?.forEach((value, index) => {\n if (duplicates[value]) {\n duplicates[value].push(index);\n } else {\n duplicates[value] = [index];\n }\n });\n\n const errors = Object.values(duplicates).map(\n index =>\n index.length > 1 &&\n new yup.ValidationError(\n message,\n list[index.at(-1)],\n `setting.allowedKeywords[${index.at(-1)}]`\n )\n );\n\n if (isEmpty(errors)) {\n return true;\n }\n\n return createError({ message: () => errors });\n};\n","import { t } from \"i18next\";\nimport { identity } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { findKeywordDuplicates } from \"./utils\";\n\nconst NOT_SECURED = \"no_auth\";\nconst SESSION_AUTH = \"session_auth\";\n\nyup.addMethod(yup.array, \"unique\", function (message, mapper = identity) {\n return this.test(\n \"unique\",\n message,\n function (list, { parent: { authKind } }) {\n return authKind === OTP_ENABLED &&\n list?.length === new Set(list?.map(mapper)).size\n ? true\n : findKeywordDuplicates(list, message, this.createError);\n }\n );\n});\n\nexport const QUERY_KEYS = {\n SETTINGS_LIST: \"settings-list\",\n GETTING_STARTED: \"getting-started\",\n INTEGRATION_SETTINGS: \"integration_settings\",\n THEMES_SETTINGS: \"themes_setting\",\n};\nexport const SETTINGS_STALE_TIME = 900_000; // 15 mins\nexport const PASSWORD_ENABLED = \"basic_auth\";\nexport const OTP_ENABLED = \"otp_auth\";\n\nexport const APP_NAME = { neetoKB: \"KB\", neetoCourse: \"Course\" };\n\nexport const AUTH_KINDS = [\n {\n label: t(\"neetoMolecules.security.labels.notSecured\"),\n value: NOT_SECURED,\n },\n {\n label: t(\"neetoMolecules.security.labels.passwordEnabled\"),\n value: PASSWORD_ENABLED,\n },\n {\n label: t(\"neetoMolecules.security.labels.otpEnabled\"),\n value: OTP_ENABLED,\n },\n {\n label: t(\"neetoMolecules.security.labels.private\"),\n value: SESSION_AUTH,\n },\n];\n\nexport const SECURITY_SETTINGS_VALIDATION_SCHEMA = yup.object({\n password: yup.string().when(\"authKind\", {\n is: PASSWORD_ENABLED,\n then: yup\n .string()\n .required(\n t(\"neetoMolecules.security.validation.required\", {\n what: t(\"neetoMolecules.security.labels.password\"),\n })\n )\n .min(\n 4,\n t(\"neetoMolecules.security.validation.min\", {\n entity: t(\"neetoMolecules.security.labels.password\"),\n min: 4,\n })\n ),\n }),\n allowedKeywords: yup.array().when(\"authKind\", {\n is: OTP_ENABLED,\n then: yup\n .array()\n .of(\n yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.security.validation.required\", {\n what: t(\"neetoMolecules.security.labels.keyword\"),\n })\n )\n )\n .unique(\n t(\"neetoMolecules.security.placeholders.exists\", {\n what: t(\"neetoMolecules.security.labels.keyword\"),\n })\n ),\n }),\n});\n","import React from \"react\";\n\nimport { ErrorMessage, useFormikContext } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Button, Label } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Add from \"./Add\";\n\nimport { OTP_ENABLED, APP_NAME } from \"../constants\";\n\nconst AllowedKeywords = () => {\n const { t } = useTranslation();\n const {\n setFieldValue,\n values: { allowedKeywords, authKind },\n } = useFormikContext();\n\n if (authKind !== OTP_ENABLED) return null;\n\n const appName = APP_NAME[globalProps.appName];\n\n return (\n <div className=\"flex-col space-y-2 py-2\">\n {appName && (\n <Label>\n {t(`neetoMolecules.security.labels.keywordForm.${appName}`)}\n </Label>\n )}\n <div className=\"neeto-ui-bg-pastel-blue neeto-ui-rounded-sm w-full space-y-4 p-6\">\n <Add />\n <Button\n data-cy=\"add-allowed-keyword-button\"\n data-testid=\"add-allowed-keyword-button\"\n label={t(\"neetoMolecules.security.labels.addKeyWord\")}\n style=\"link\"\n onClick={() =>\n setFieldValue(\"allowedKeywords\", [...allowedKeywords, \"\"])\n }\n />\n </div>\n {isEmpty(allowedKeywords) && (\n <ErrorMessage\n className=\"neeto-ui-text-error-600\"\n component=\"div\"\n name=\"allowedKeywords\"\n />\n )}\n </div>\n );\n};\n\nexport default AllowedKeywords;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PASSWORD_ENABLED } from \"./constants\";\n\nconst Password = () => {\n const { t } = useTranslation();\n const {\n values: { authKind },\n getFieldProps,\n } = useFormikContext();\n\n if (authKind !== PASSWORD_ENABLED) return null;\n\n const { onChange: onPasswordChange } = getFieldProps(\"password\");\n\n return (\n <div className=\"space-y-4 pb-2\">\n <Input\n autoFocus\n unlimitedChars\n className=\"w-7/12\"\n data-testid=\"password-block\"\n label={t(\"neetoMolecules.security.labels.password\")}\n name=\"password\"\n placeholder={t(\"neetoMolecules.security.placeholders.enterPassword\")}\n onChange={e => {\n e.target.value = e.target.value.trim();\n onPasswordChange(e);\n }}\n />\n </div>\n );\n};\n\nexport default Password;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Radio } from \"neetoui/formik\";\n\nimport { OTP_ENABLED } from \"./constants\";\n\nconst RadioBlock = ({ radioItems }) => {\n const {\n values: { allowedKeywords = [] },\n setFieldValue,\n } = useFormikContext();\n\n const handleRadioChange = ({\n event: {\n target: { value },\n },\n allowedKeywords,\n }) => {\n const allowedKeywordsValue =\n value === OTP_ENABLED ? [...allowedKeywords, \"\"] : [];\n setFieldValue(\"allowedKeywords\", allowedKeywordsValue);\n setFieldValue(\"authKind\", value);\n };\n\n return (\n <Radio\n stacked\n name=\"authKind\"\n onChange={event => handleRadioChange({ event, allowedKeywords })}\n >\n {radioItems.map(({ label, value }) => (\n <Radio.Item key={value} {...{ label, value }} />\n ))}\n </Radio>\n );\n};\n\nexport default RadioBlock;\n","import axios from \"axios\";\n\nconst fetch = url => axios.get(url);\n\nconst update = (url, payload) => axios.put(url, payload);\n\nconst settingsApi = { fetch, update };\n\nexport default settingsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\n\nimport settingsApi from \"./api\";\nimport { QUERY_KEYS, SETTINGS_STALE_TIME } from \"./constants\";\n\nconst { SETTINGS_LIST, GETTING_STARTED, THEMES_SETTINGS } = QUERY_KEYS;\n\nconst useFetchSettings = url =>\n // useQuery(SETTINGS_LIST, () => settingsApi.fetch(url), {\n // staleTime: SETTINGS_STALE_TIME,\n // });\n useQuery({\n queryKey: [SETTINGS_LIST],\n queryFn: () => settingsApi.fetch(url),\n staleTime: SETTINGS_STALE_TIME,\n });\n\nconst useUpdateSetting = url =>\n useMutationWithInvalidation(payload => settingsApi.update(url, payload), {\n keysToInvalidate: [SETTINGS_LIST, GETTING_STARTED, THEMES_SETTINGS],\n });\n\nexport { useFetchSettings, useUpdateSetting };\n","import React, { useState, useEffect } from \"react\";\n\nimport { toLabelAndValue } from \"neetocist\";\nimport { Form, ActionBlock } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport PageLoader from \"components/PageLoader\";\nimport Scrollable from \"components/Scrollable\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport { SECURITY_SETTINGS_VALIDATION_SCHEMA } from \"./constants\";\nimport Password from \"./PasswordBlock\";\nimport RadioBlock from \"./RadioBlock\";\nimport { useFetchSettings, useUpdateSetting } from \"./useSecurityApi\";\nimport { buildSecuritySettings } from \"./utils\";\n\nconst Security = ({ url, breadcrumbs, title, radioItems }) => {\n const { data: settings = {}, isLoading } = useFetchSettings(url);\n const { mutate: updateSettings } = useUpdateSetting(url);\n\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const handleSubmit = (values, { setSubmitting }) => {\n updateSettings(values, { onSettled: () => setSubmitting(false) });\n };\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) setIsMobileScreen(false);\n else setIsMobileScreen(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n if (isLoading) return <PageLoader />;\n\n return (\n <Container isHeaderFixed>\n <Header\n {...{ breadcrumbs, title }}\n data-cy=\"general-settings-heading\"\n size={isMobileScreen ? \"small\" : \"large\"}\n />\n <Scrollable className=\"w-full pb-6\">\n <Form\n className=\"mx-auto w-full max-w-3xl space-y-6 md:px-0 lg:px-6\"\n formikProps={{\n initialValues: buildSecuritySettings(settings),\n validationSchema: SECURITY_SETTINGS_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n enableReinitialize: true,\n }}\n >\n {({ dirty, isSubmitting }) => (\n <>\n <RadioBlock {...{ radioItems }} />\n <Password />\n <AllowedKeywords />\n <ActionBlock\n cancelButtonProps={{ disabled: false, className: \"ml-3\" }}\n className=\"mt-6 w-full justify-start\"\n submitButtonProps={{\n loading: isSubmitting,\n disabled: !dirty || isSubmitting,\n }}\n />\n </>\n )}\n </Form>\n </Scrollable>\n </Container>\n );\n};\n\nSecurity.propTypes = {\n /**\n * To set a title in the Header section.\n */\n title: PropTypes.node,\n /**\n * API path to manage security record.\n */\n url: PropTypes.string,\n /**\n * To show breadcrumbs in the Header section. `text` accepts a text string to be shown as the breadcrumb and `link` accepts relative URL path for the breadcrumb.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n radioItems: PropTypes.arrayOf(\n PropTypes.shape(toLabelAndValue(PropTypes.string))\n ),\n};\n\nexport default Security;\n"],"names":["Add","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","allowedKeywords","values","removeKeyword","index","remove","map","_","React","createElement","className","classNames","key","Input","autoFocus","concat","name","placeholder","Button","icon","Delete","style","onClick","buildSecuritySettings","settings","_objectSpread","setting","addEmail","findKeywordDuplicates","list","message","createError","duplicates","forEach","value","push","errors","Object","length","yup","ValidationError","at","isEmpty","NOT_SECURED","SESSION_AUTH","addMethod","array","mapper","arguments","undefined","identity","test","_ref","authKind","parent","OTP_ENABLED","Set","size","QUERY_KEYS","SETTINGS_LIST","GETTING_STARTED","INTEGRATION_SETTINGS","THEMES_SETTINGS","SETTINGS_STALE_TIME","PASSWORD_ENABLED","APP_NAME","neetoKB","neetoCourse","label","SECURITY_SETTINGS_VALIDATION_SCHEMA","object","password","string","when","is","then","required","what","min","entity","of","trim","unique","AllowedKeywords","_useFormikContext$val","appName","globalProps","Label","_toConsumableArray","ErrorMessage","component","Password","getFieldProps","_getFieldProps","onPasswordChange","onChange","unlimitedChars","e","target","RadioBlock","radioItems","handleRadioChange","_ref2","event","allowedKeywordsValue","Radio","stacked","_ref3","Item","fetch","url","axios","get","update","payload","put","settingsApi","useFetchSettings","useQuery","queryKey","queryFn","staleTime","useUpdateSetting","useMutationWithInvalidation","keysToInvalidate","Security","breadcrumbs","title","_useFetchSettings","_useFetchSettings$dat","data","isLoading","_useUpdateSetting","updateSettings","mutate","_useState","useState","_useState2","_slicedToArray","isMobileScreen","setIsMobileScreen","isLargerScreen","window","innerWidth","handleSubmit","setSubmitting","onSettled","useEffect","handleResize","addEventListener","removeEventListener","PageLoader","Container","isHeaderFixed","Header","Scrollable","Form","formikProps","initialValues","validationSchema","onSubmit","enableReinitialize","dirty","isSubmitting","Fragment","ActionBlock","cancelButtonProps","disabled","submitButtonProps","loading"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Security.js","sources":["../src/components/Security/AllowedKeywords/Add.jsx","../src/components/Security/utils.js","../src/components/Security/constants.js","../src/components/Security/AllowedKeywords/index.jsx","../src/components/Security/PasswordBlock.jsx","../src/components/Security/RadioBlock.jsx","../src/components/Security/api.js","../src/components/Security/useSecurityApi.js","../src/components/Security/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { remove } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Add = () => {\n const { t } = useTranslation();\n const {\n setFieldValue,\n values: { allowedKeywords },\n } = useFormikContext();\n\n const removeKeyword = index =>\n setFieldValue(\"allowedKeywords\", remove(index, 1, allowedKeywords));\n\n if (!allowedKeywords) return null;\n\n return allowedKeywords.map((_, index) => (\n <div\n className={classNames(\"flex w-full items-start justify-between gap-x-2\")}\n key={index}\n >\n <Input\n autoFocus\n data-cy={`keyword-input-field-${index}`}\n name={`allowedKeywords[${index}]`}\n placeholder={t(\"neetoMolecules.security.placeholders.enterKeyword\")}\n />\n <Button\n data-cy={`keyword-remove-button-${index}`}\n icon={Delete}\n style=\"text\"\n onClick={() => removeKeyword(index)}\n />\n </div>\n ));\n};\n\nexport default Add;\n","import { isEmpty } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const buildSecuritySettings = settings => ({\n ...settings.setting,\n addEmail: false,\n});\n\nexport const findKeywordDuplicates = (list, message, createError) => {\n const duplicates = {};\n\n list?.forEach((value, index) => {\n if (duplicates[value]) {\n duplicates[value].push(index);\n } else {\n duplicates[value] = [index];\n }\n });\n\n const errors = Object.values(duplicates).map(\n index =>\n index.length > 1 &&\n new yup.ValidationError(\n message,\n list[index.at(-1)],\n `setting.allowedKeywords[${index.at(-1)}]`\n )\n );\n\n if (isEmpty(errors)) {\n return true;\n }\n\n return createError({ message: () => errors });\n};\n","import { t } from \"i18next\";\nimport { identity } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { findKeywordDuplicates } from \"./utils\";\n\nconst NOT_SECURED = \"no_auth\";\nconst SESSION_AUTH = \"session_auth\";\n\nyup.addMethod(yup.array, \"unique\", function (message, mapper = identity) {\n return this.test(\n \"unique\",\n message,\n function (list, { parent: { authKind } }) {\n return authKind === OTP_ENABLED &&\n list?.length === new Set(list?.map(mapper)).size\n ? true\n : findKeywordDuplicates(list, message, this.createError);\n }\n );\n});\n\nexport const QUERY_KEYS = {\n SETTINGS_LIST: \"settings-list\",\n GETTING_STARTED: \"getting-started\",\n INTEGRATION_SETTINGS: \"integration_settings\",\n THEMES_SETTINGS: \"themes_setting\",\n};\nexport const SETTINGS_STALE_TIME = 900_000; // 15 mins\nexport const PASSWORD_ENABLED = \"basic_auth\";\nexport const OTP_ENABLED = \"otp_auth\";\n\nexport const APP_NAME = { neetoKB: \"KB\", neetoCourse: \"Course\" };\n\nexport const AUTH_KINDS = [\n {\n label: t(\"neetoMolecules.security.labels.notSecured\"),\n value: NOT_SECURED,\n },\n {\n label: t(\"neetoMolecules.security.labels.passwordEnabled\"),\n value: PASSWORD_ENABLED,\n },\n {\n label: t(\"neetoMolecules.security.labels.otpEnabled\"),\n value: OTP_ENABLED,\n },\n {\n label: t(\"neetoMolecules.security.labels.private\"),\n value: SESSION_AUTH,\n },\n];\n\nexport const SECURITY_SETTINGS_VALIDATION_SCHEMA = yup.object({\n password: yup.string().when(\"authKind\", {\n is: PASSWORD_ENABLED,\n then: yup\n .string()\n .required(\n t(\"neetoMolecules.security.validation.required\", {\n what: t(\"neetoMolecules.security.labels.password\"),\n })\n )\n .min(\n 4,\n t(\"neetoMolecules.security.validation.min\", {\n entity: t(\"neetoMolecules.security.labels.password\"),\n min: 4,\n })\n ),\n }),\n allowedKeywords: yup.array().when(\"authKind\", {\n is: OTP_ENABLED,\n then: yup\n .array()\n .of(\n yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.security.validation.required\", {\n what: t(\"neetoMolecules.security.labels.keyword\"),\n })\n )\n )\n .unique(\n t(\"neetoMolecules.security.placeholders.exists\", {\n what: t(\"neetoMolecules.security.labels.keyword\"),\n })\n ),\n }),\n});\n","import React from \"react\";\n\nimport { ErrorMessage, useFormikContext } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Button, Label } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Add from \"./Add\";\n\nimport { OTP_ENABLED, APP_NAME } from \"../constants\";\n\nconst AllowedKeywords = () => {\n const { t } = useTranslation();\n const {\n setFieldValue,\n values: { allowedKeywords, authKind },\n } = useFormikContext();\n\n if (authKind !== OTP_ENABLED) return null;\n\n const appName = APP_NAME[globalProps.appName];\n\n return (\n <div className=\"flex-col space-y-2 py-2\">\n {appName && (\n <Label>\n {t(`neetoMolecules.security.labels.keywordForm.${appName}`)}\n </Label>\n )}\n <div className=\"neeto-ui-bg-pastel-blue neeto-ui-rounded-sm w-full space-y-4 p-6\">\n <Add />\n <Button\n data-cy=\"add-allowed-keyword-button\"\n data-testid=\"add-allowed-keyword-button\"\n label={t(\"neetoMolecules.security.labels.addKeyWord\")}\n style=\"link\"\n onClick={() =>\n setFieldValue(\"allowedKeywords\", [...allowedKeywords, \"\"])\n }\n />\n </div>\n {isEmpty(allowedKeywords) && (\n <ErrorMessage\n className=\"neeto-ui-text-error-600\"\n component=\"div\"\n name=\"allowedKeywords\"\n />\n )}\n </div>\n );\n};\n\nexport default AllowedKeywords;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PASSWORD_ENABLED } from \"./constants\";\n\nconst Password = () => {\n const { t } = useTranslation();\n const {\n values: { authKind },\n getFieldProps,\n } = useFormikContext();\n\n if (authKind !== PASSWORD_ENABLED) return null;\n\n const { onChange: onPasswordChange } = getFieldProps(\"password\");\n\n return (\n <div className=\"space-y-4 pb-2\">\n <Input\n autoFocus\n unlimitedChars\n className=\"w-7/12\"\n data-testid=\"password-block\"\n label={t(\"neetoMolecules.security.labels.password\")}\n name=\"password\"\n placeholder={t(\"neetoMolecules.security.placeholders.enterPassword\")}\n onChange={e => {\n e.target.value = e.target.value.trim();\n onPasswordChange(e);\n }}\n />\n </div>\n );\n};\n\nexport default Password;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Radio } from \"neetoui/formik\";\n\nimport { OTP_ENABLED } from \"./constants\";\n\nconst RadioBlock = ({ radioItems }) => {\n const {\n values: { allowedKeywords = [] },\n setFieldValue,\n } = useFormikContext();\n\n const handleRadioChange = ({\n event: {\n target: { value },\n },\n allowedKeywords,\n }) => {\n const allowedKeywordsValue =\n value === OTP_ENABLED ? [...allowedKeywords, \"\"] : [];\n setFieldValue(\"allowedKeywords\", allowedKeywordsValue);\n setFieldValue(\"authKind\", value);\n };\n\n return (\n <Radio\n stacked\n name=\"authKind\"\n onChange={event => handleRadioChange({ event, allowedKeywords })}\n >\n {radioItems.map(({ label, value }) => (\n <Radio.Item key={value} {...{ label, value }} />\n ))}\n </Radio>\n );\n};\n\nexport default RadioBlock;\n","import axios from \"axios\";\n\nconst fetch = url => axios.get(url);\n\nconst update = (url, payload) => axios.put(url, payload);\n\nconst settingsApi = { fetch, update };\n\nexport default settingsApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\n\nimport settingsApi from \"./api\";\nimport { QUERY_KEYS, SETTINGS_STALE_TIME } from \"./constants\";\n\nconst { SETTINGS_LIST, GETTING_STARTED, THEMES_SETTINGS } = QUERY_KEYS;\n\nconst useFetchSettings = url =>\n useQuery({\n queryKey: [SETTINGS_LIST],\n queryFn: () => settingsApi.fetch(url),\n staleTime: SETTINGS_STALE_TIME,\n });\n\nconst useUpdateSetting = url =>\n useMutationWithInvalidation(payload => settingsApi.update(url, payload), {\n keysToInvalidate: [[SETTINGS_LIST], [GETTING_STARTED], [THEMES_SETTINGS]],\n });\n\nexport { useFetchSettings, useUpdateSetting };\n","import React, { useState, useEffect } from \"react\";\n\nimport { toLabelAndValue } from \"neetocist\";\nimport { Form, ActionBlock } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport PageLoader from \"components/PageLoader\";\nimport Scrollable from \"components/Scrollable\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport { SECURITY_SETTINGS_VALIDATION_SCHEMA } from \"./constants\";\nimport Password from \"./PasswordBlock\";\nimport RadioBlock from \"./RadioBlock\";\nimport { useFetchSettings, useUpdateSetting } from \"./useSecurityApi\";\nimport { buildSecuritySettings } from \"./utils\";\n\nconst Security = ({ url, breadcrumbs, title, radioItems }) => {\n const { data: settings = {}, isLoading } = useFetchSettings(url);\n const { mutate: updateSettings } = useUpdateSetting(url);\n\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const handleSubmit = (values, { setSubmitting }) => {\n updateSettings(values, { onSettled: () => setSubmitting(false) });\n };\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) setIsMobileScreen(false);\n else setIsMobileScreen(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n if (isLoading) return <PageLoader />;\n\n return (\n <Container isHeaderFixed>\n <Header\n {...{ breadcrumbs, title }}\n data-cy=\"general-settings-heading\"\n size={isMobileScreen ? \"small\" : \"large\"}\n />\n <Scrollable className=\"w-full pb-6\">\n <Form\n className=\"mx-auto w-full max-w-3xl space-y-6 md:px-0 lg:px-6\"\n formikProps={{\n initialValues: buildSecuritySettings(settings),\n validationSchema: SECURITY_SETTINGS_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n enableReinitialize: true,\n }}\n >\n {({ dirty, isSubmitting }) => (\n <>\n <RadioBlock {...{ radioItems }} />\n <Password />\n <AllowedKeywords />\n <ActionBlock\n cancelButtonProps={{ disabled: false, className: \"ml-3\" }}\n className=\"mt-6 w-full justify-start\"\n submitButtonProps={{\n loading: isSubmitting,\n disabled: !dirty || isSubmitting,\n }}\n />\n </>\n )}\n </Form>\n </Scrollable>\n </Container>\n );\n};\n\nSecurity.propTypes = {\n /**\n * To set a title in the Header section.\n */\n title: PropTypes.node,\n /**\n * API path to manage security record.\n */\n url: PropTypes.string,\n /**\n * To show breadcrumbs in the Header section. `text` accepts a text string to be shown as the breadcrumb and `link` accepts relative URL path for the breadcrumb.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n radioItems: PropTypes.arrayOf(\n PropTypes.shape(toLabelAndValue(PropTypes.string))\n ),\n};\n\nexport default Security;\n"],"names":["Add","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","allowedKeywords","values","removeKeyword","index","remove","map","_","React","createElement","className","classNames","key","Input","autoFocus","concat","name","placeholder","Button","icon","Delete","style","onClick","buildSecuritySettings","settings","_objectSpread","setting","addEmail","findKeywordDuplicates","list","message","createError","duplicates","forEach","value","push","errors","Object","length","yup","ValidationError","at","isEmpty","NOT_SECURED","SESSION_AUTH","addMethod","array","mapper","arguments","undefined","identity","test","_ref","authKind","parent","OTP_ENABLED","Set","size","QUERY_KEYS","SETTINGS_LIST","GETTING_STARTED","INTEGRATION_SETTINGS","THEMES_SETTINGS","SETTINGS_STALE_TIME","PASSWORD_ENABLED","APP_NAME","neetoKB","neetoCourse","label","SECURITY_SETTINGS_VALIDATION_SCHEMA","object","password","string","when","is","then","required","what","min","entity","of","trim","unique","AllowedKeywords","_useFormikContext$val","appName","globalProps","Label","_toConsumableArray","ErrorMessage","component","Password","getFieldProps","_getFieldProps","onPasswordChange","onChange","unlimitedChars","e","target","RadioBlock","radioItems","handleRadioChange","_ref2","event","allowedKeywordsValue","Radio","stacked","_ref3","Item","fetch","url","axios","get","update","payload","put","settingsApi","useFetchSettings","useQuery","queryKey","queryFn","staleTime","useUpdateSetting","useMutationWithInvalidation","keysToInvalidate","Security","breadcrumbs","title","_useFetchSettings","_useFetchSettings$dat","data","isLoading","_useUpdateSetting","updateSettings","mutate","_useState","useState","_useState2","_slicedToArray","isMobileScreen","setIsMobileScreen","isLargerScreen","window","innerWidth","handleSubmit","setSubmitting","onSettled","useEffect","handleResize","addEventListener","removeEventListener","PageLoader","Container","isHeaderFixed","Header","Scrollable","Form","formikProps","initialValues","validationSchema","onSubmit","enableReinitialize","dirty","isSubmitting","Fragment","ActionBlock","cancelButtonProps","disabled","submitButtonProps","loading"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAMA,GAAG,GAAG,SAANA,GAAGA,GAAS;AAChB,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAAC,iBAAA,GAGIC,gBAAgB,EAAE;IAFpBC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;AACHC,IAAAA,eAAe,GAAAH,iBAAA,CAAzBI,MAAM,CAAID,eAAe,CAAA;AAG3B,EAAA,IAAME,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK,EAAA;AAAA,IAAA,OACzBJ,aAAa,CAAC,iBAAiB,EAAEK,MAAM,CAACD,KAAK,EAAE,CAAC,EAAEH,eAAe,CAAC,CAAC,CAAA;AAAA,GAAA,CAAA;AAErE,EAAA,IAAI,CAACA,eAAe,EAAE,OAAO,IAAI,CAAA;AAEjC,EAAA,OAAOA,eAAe,CAACK,GAAG,CAAC,UAACC,CAAC,EAAEH,KAAK,EAAA;IAAA,oBAClCI,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,MAAAA,SAAS,EAAEC,UAAU,CAAC,iDAAiD,CAAE;AACzEC,MAAAA,GAAG,EAAER,KAAAA;AAAM,KAAA,eAEXI,cAAA,CAAAC,aAAA,CAACI,KAAK,EAAA;MACJC,SAAS,EAAA,IAAA;MACT,SAAAC,EAAAA,sBAAAA,CAAAA,MAAA,CAAgCX,KAAK,CAAG;AACxCY,MAAAA,IAAI,EAAAD,kBAAAA,CAAAA,MAAA,CAAqBX,KAAK,EAAI,GAAA,CAAA;MAClCa,WAAW,EAAEpB,CAAC,CAAC,mDAAmD,CAAA;AAAE,KACrE,CAAC,eACFW,cAAA,CAAAC,aAAA,CAACS,MAAM,EAAA;MACL,SAAAH,EAAAA,wBAAAA,CAAAA,MAAA,CAAkCX,KAAK,CAAG;AAC1Ce,MAAAA,IAAI,EAAEC,MAAO;AACbC,MAAAA,KAAK,EAAC,MAAM;MACZC,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMnB,aAAa,CAACC,KAAK,CAAC,CAAA;AAAA,OAAA;AAAC,KACrC,CACE,CAAC,CAAA;AAAA,GACP,CAAC,CAAA;AACJ,CAAC;;;;ACtCM,IAAMmB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,QAAQ,EAAA;AAAA,EAAA,OAAAC,aAAA,CAAAA,aAAA,CACxCD,EAAAA,EAAAA,QAAQ,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA;AACnBC,IAAAA,QAAQ,EAAE,KAAA;AAAK,GAAA,CAAA,CAAA;AAAA,CACf,CAAA;AAEK,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,IAAI,EAAEC,OAAO,EAAEC,WAAW,EAAK;EACnE,IAAMC,UAAU,GAAG,EAAE,CAAA;EAErBH,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEI,OAAO,CAAC,UAACC,KAAK,EAAE9B,KAAK,EAAK;AAC9B,IAAA,IAAI4B,UAAU,CAACE,KAAK,CAAC,EAAE;AACrBF,MAAAA,UAAU,CAACE,KAAK,CAAC,CAACC,IAAI,CAAC/B,KAAK,CAAC,CAAA;AAC/B,KAAC,MAAM;AACL4B,MAAAA,UAAU,CAACE,KAAK,CAAC,GAAG,CAAC9B,KAAK,CAAC,CAAA;AAC7B,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,IAAMgC,MAAM,GAAGC,MAAM,CAACnC,MAAM,CAAC8B,UAAU,CAAC,CAAC1B,GAAG,CAC1C,UAAAF,KAAK,EAAA;AAAA,IAAA,OACHA,KAAK,CAACkC,MAAM,GAAG,CAAC,IAChB,IAAIC,GAAG,CAACC,eAAe,CACrBV,OAAO,EACPD,IAAI,CAACzB,KAAK,CAACqC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,6BAAA1B,MAAA,CACSX,KAAK,CAACqC,EAAE,CAAC,CAAC,CAAC,CAAC,MACzC,CAAC,CAAA;AAAA,GACL,CAAC,CAAA;AAED,EAAA,IAAIC,OAAO,CAACN,MAAM,CAAC,EAAE;AACnB,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,OAAOL,WAAW,CAAC;IAAED,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OAAMM,MAAM,CAAA;AAAA,KAAA;AAAC,GAAC,CAAC,CAAA;AAC/C,CAAC;;AC5BD,IAAMO,WAAW,GAAG,SAAS,CAAA;AAC7B,IAAMC,YAAY,GAAG,cAAc,CAAA;AAEnCL,GAAG,CAACM,SAAS,CAACN,GAAG,CAACO,KAAK,EAAE,QAAQ,EAAE,UAAUhB,OAAO,EAAqB;AAAA,EAAA,IAAnBiB,MAAM,GAAAC,SAAA,CAAAV,MAAA,GAAA,CAAA,IAAAU,SAAA,CAAA,CAAA,CAAA,KAAAC,SAAA,GAAAD,SAAA,CAAA,CAAA,CAAA,GAAGE,QAAQ,CAAA;AACrE,EAAA,OAAO,IAAI,CAACC,IAAI,CACd,QAAQ,EACRrB,OAAO,EACP,UAAUD,IAAI,EAAAuB,IAAA,EAA4B;AAAA,IAAA,IAAdC,QAAQ,GAAAD,IAAA,CAAlBE,MAAM,CAAID,QAAQ,CAAA;AAClC,IAAA,OAAOA,QAAQ,KAAKE,WAAW,IAC7B,CAAA1B,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAES,MAAM,MAAK,IAAIkB,GAAG,CAAC3B,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEvB,GAAG,CAACyC,MAAM,CAAC,CAAC,CAACU,IAAI,GAC9C,IAAI,GACJ7B,qBAAqB,CAACC,IAAI,EAAEC,OAAO,EAAE,IAAI,CAACC,WAAW,CAAC,CAAA;AAC5D,GACF,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AAEK,IAAM2B,UAAU,GAAG;AACxBC,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,oBAAoB,EAAE,sBAAsB;AAC5CC,EAAAA,eAAe,EAAE,gBAAA;AACnB,CAAC,CAAA;AACM,IAAMC,mBAAmB,GAAG,MAAO,CAAC;AACpC,IAAMC,gBAAgB,GAAG,YAAY,CAAA;AACrC,IAAMT,WAAW,GAAG,UAAU,CAAA;AAE9B,IAAMU,QAAQ,GAAG;AAAEC,EAAAA,OAAO,EAAE,IAAI;AAAEC,EAAAA,WAAW,EAAE,QAAA;AAAS,CAAC,CAAA;AAEtC,CACxB;AACEC,EAAAA,KAAK,EAAEvE,CAAC,CAAC,2CAA2C,CAAC;AACrDqC,EAAAA,KAAK,EAAES,WAAAA;AACT,CAAC,EACD;AACEyB,EAAAA,KAAK,EAAEvE,CAAC,CAAC,gDAAgD,CAAC;AAC1DqC,EAAAA,KAAK,EAAE8B,gBAAAA;AACT,CAAC,EACD;AACEI,EAAAA,KAAK,EAAEvE,CAAC,CAAC,2CAA2C,CAAC;AACrDqC,EAAAA,KAAK,EAAEqB,WAAAA;AACT,CAAC,EACD;AACEa,EAAAA,KAAK,EAAEvE,CAAC,CAAC,wCAAwC,CAAC;AAClDqC,EAAAA,KAAK,EAAEU,YAAAA;AACT,CAAC,EACF;AAEM,IAAMyB,mCAAmC,GAAG9B,GAAG,CAAC+B,MAAM,CAAC;EAC5DC,QAAQ,EAAEhC,GAAG,CAACiC,MAAM,EAAE,CAACC,IAAI,CAAC,UAAU,EAAE;AACtCC,IAAAA,EAAE,EAAEV,gBAAgB;AACpBW,IAAAA,IAAI,EAAEpC,GAAG,CACNiC,MAAM,EAAE,CACRI,QAAQ,CACP/E,CAAC,CAAC,6CAA6C,EAAE;MAC/CgF,IAAI,EAAEhF,CAAC,CAAC,yCAAyC,CAAA;KAClD,CACH,CAAC,CACAiF,GAAG,CACF,CAAC,EACDjF,CAAC,CAAC,wCAAwC,EAAE;AAC1CkF,MAAAA,MAAM,EAAElF,CAAC,CAAC,yCAAyC,CAAC;AACpDiF,MAAAA,GAAG,EAAE,CAAA;AACP,KAAC,CACH,CAAA;AACJ,GAAC,CAAC;EACF7E,eAAe,EAAEsC,GAAG,CAACO,KAAK,EAAE,CAAC2B,IAAI,CAAC,UAAU,EAAE;AAC5CC,IAAAA,EAAE,EAAEnB,WAAW;IACfoB,IAAI,EAAEpC,GAAG,CACNO,KAAK,EAAE,CACPkC,EAAE,CACDzC,GAAG,CACAiC,MAAM,EAAE,CACRS,IAAI,EAAE,CACNL,QAAQ,CACP/E,CAAC,CAAC,6CAA6C,EAAE;MAC/CgF,IAAI,EAAEhF,CAAC,CAAC,wCAAwC,CAAA;KACjD,CACH,CACJ,CAAC,CACAqF,MAAM,CACLrF,CAAC,CAAC,6CAA6C,EAAE;MAC/CgF,IAAI,EAAEhF,CAAC,CAAC,wCAAwC,CAAA;AAClD,KAAC,CACH,CAAA;GACH,CAAA;AACH,CAAC,CAAC;;AC/EF,IAAMsF,eAAe,GAAG,SAAlBA,eAAeA,GAAS;AAC5B,EAAA,IAAAxF,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAAC,iBAAA,GAGIC,gBAAgB,EAAE;IAFpBC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAAoF,qBAAA,GAAAtF,iBAAA,CACbI,MAAM;IAAID,eAAe,GAAAmF,qBAAA,CAAfnF,eAAe;IAAEoD,QAAQ,GAAA+B,qBAAA,CAAR/B,QAAQ,CAAA;AAGrC,EAAA,IAAIA,QAAQ,KAAKE,WAAW,EAAE,OAAO,IAAI,CAAA;AAEzC,EAAA,IAAM8B,OAAO,GAAGpB,QAAQ,CAACqB,WAAW,CAACD,OAAO,CAAC,CAAA;EAE7C,oBACE7E,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EACrC2E,OAAO,iBACN7E,cAAA,CAAAC,aAAA,CAAC8E,KAAK,EACH1F,IAAAA,EAAAA,CAAC,+CAAAkB,MAAA,CAA+CsE,OAAO,CAAE,CACrD,CACR,eACD7E,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,kEAAA;AAAkE,GAAA,eAC/EF,cAAA,CAAAC,aAAA,CAACf,GAAG,EAAA,IAAE,CAAC,eACPc,cAAA,CAAAC,aAAA,CAACS,MAAM,EAAA;AACL,IAAA,SAAA,EAAQ,4BAA4B;AACpC,IAAA,aAAA,EAAY,4BAA4B;AACxCkD,IAAAA,KAAK,EAAEvE,CAAC,CAAC,2CAA2C,CAAE;AACtDwB,IAAAA,KAAK,EAAC,MAAM;IACZC,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OACPtB,aAAa,CAAC,iBAAiB,EAAA,EAAA,CAAAe,MAAA,CAAAyE,kBAAA,CAAMvF,eAAe,CAAA,EAAA,CAAE,EAAE,CAAA,CAAC,CAAC,CAAA;AAAA,KAAA;AAC3D,GACF,CACE,CAAC,EACLyC,OAAO,CAACzC,eAAe,CAAC,iBACvBO,cAAA,CAAAC,aAAA,CAACgF,YAAY,EAAA;AACX/E,IAAAA,SAAS,EAAC,yBAAyB;AACnCgF,IAAAA,SAAS,EAAC,KAAK;AACf1E,IAAAA,IAAI,EAAC,iBAAA;AAAiB,GACvB,CAEA,CAAC,CAAA;AAEV,CAAC;;AC3CD,IAAM2E,QAAQ,GAAG,SAAXA,QAAQA,GAAS;AACrB,EAAA,IAAAhG,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC,CAAA;AACT,EAAA,IAAAC,iBAAA,GAGIC,gBAAgB,EAAE;AAFVsD,IAAAA,QAAQ,GAAAvD,iBAAA,CAAlBI,MAAM,CAAImD,QAAQ;IAClBuC,aAAa,GAAA9F,iBAAA,CAAb8F,aAAa,CAAA;AAGf,EAAA,IAAIvC,QAAQ,KAAKW,gBAAgB,EAAE,OAAO,IAAI,CAAA;AAE9C,EAAA,IAAA6B,cAAA,GAAuCD,aAAa,CAAC,UAAU,CAAC;IAA9CE,gBAAgB,GAAAD,cAAA,CAA1BE,QAAQ,CAAA;EAEhB,oBACEvF,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,gBAAA;AAAgB,GAAA,eAC7BF,cAAA,CAAAC,aAAA,CAACI,KAAK,EAAA;IACJC,SAAS,EAAA,IAAA;IACTkF,cAAc,EAAA,IAAA;AACdtF,IAAAA,SAAS,EAAC,QAAQ;AAClB,IAAA,aAAA,EAAY,gBAAgB;AAC5B0D,IAAAA,KAAK,EAAEvE,CAAC,CAAC,yCAAyC,CAAE;AACpDmB,IAAAA,IAAI,EAAC,UAAU;AACfC,IAAAA,WAAW,EAAEpB,CAAC,CAAC,oDAAoD,CAAE;AACrEkG,IAAAA,QAAQ,EAAE,SAAAA,QAAAE,CAAAA,CAAC,EAAI;AACbA,MAAAA,CAAC,CAACC,MAAM,CAAChE,KAAK,GAAG+D,CAAC,CAACC,MAAM,CAAChE,KAAK,CAAC+C,IAAI,EAAE,CAAA;MACtCa,gBAAgB,CAACG,CAAC,CAAC,CAAA;AACrB,KAAA;AAAE,GACH,CACE,CAAC,CAAA;AAEV,CAAC;;AC7BD,IAAME,UAAU,GAAG,SAAbA,UAAUA,CAAA/C,IAAA,EAAuB;AAAA,EAAA,IAAjBgD,UAAU,GAAAhD,IAAA,CAAVgD,UAAU,CAAA;AAC9B,EAAA,IAAAtG,iBAAA,GAGIC,gBAAgB,EAAE;AAAAqF,IAAAA,qBAAA,GAAAtF,iBAAA,CAFpBI,MAAM,CAAID,eAAe;AAAfA,IAAAA,eAAe,GAAAmF,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAC9BpF,aAAa,GAAAF,iBAAA,CAAbE,aAAa,CAAA;AAGf,EAAA,IAAMqG,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,KAAA,EAKjB;IAAA,IAHQpE,KAAK,GAAAoE,KAAA,CADjBC,KAAK,CACHL,MAAM,CAAIhE,KAAK;MAEjBjC,eAAe,GAAAqG,KAAA,CAAfrG,eAAe,CAAA;AAEf,IAAA,IAAMuG,oBAAoB,GACxBtE,KAAK,KAAKqB,WAAW,GAAAxC,EAAAA,CAAAA,MAAA,CAAAyE,kBAAA,CAAOvF,eAAe,CAAE,EAAA,CAAA,EAAE,KAAI,EAAE,CAAA;AACvDD,IAAAA,aAAa,CAAC,iBAAiB,EAAEwG,oBAAoB,CAAC,CAAA;AACtDxG,IAAAA,aAAa,CAAC,UAAU,EAAEkC,KAAK,CAAC,CAAA;GACjC,CAAA;AAED,EAAA,oBACE1B,cAAA,CAAAC,aAAA,CAACgG,KAAK,EAAA;IACJC,OAAO,EAAA,IAAA;AACP1F,IAAAA,IAAI,EAAC,UAAU;IACf+E,QAAQ,EAAE,SAAAA,QAAAA,CAAAQ,KAAK,EAAA;AAAA,MAAA,OAAIF,iBAAiB,CAAC;AAAEE,QAAAA,KAAK,EAALA,KAAK;AAAEtG,QAAAA,eAAe,EAAfA,eAAAA;AAAgB,OAAC,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA,EAEhEmG,UAAU,CAAC9F,GAAG,CAAC,UAAAqG,KAAA,EAAA;AAAA,IAAA,IAAGvC,KAAK,GAAAuC,KAAA,CAALvC,KAAK;MAAElC,KAAK,GAAAyE,KAAA,CAALzE,KAAK,CAAA;AAAA,IAAA,oBAC7B1B,cAAA,CAAAC,aAAA,CAACgG,KAAK,CAACG,IAAI,EAAA;AAAChG,MAAAA,GAAG,EAAEsB,KAAM;AAAOkC,MAAAA,KAAK,EAALA,KAAK;AAAElC,MAAAA,KAAK,EAALA,KAAAA;AAAK,KAAK,CAAC,CAAA;AAAA,GACjD,CACI,CAAC,CAAA;AAEZ,CAAC;;AClCD,IAAM2E,KAAK,GAAG,SAARA,KAAKA,CAAGC,GAAG,EAAA;AAAA,EAAA,OAAIC,KAAK,CAACC,GAAG,CAACF,GAAG,CAAC,CAAA;AAAA,CAAA,CAAA;AAEnC,IAAMG,MAAM,GAAG,SAATA,MAAMA,CAAIH,GAAG,EAAEI,OAAO,EAAA;AAAA,EAAA,OAAKH,KAAK,CAACI,GAAG,CAACL,GAAG,EAAEI,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAExD,IAAME,WAAW,GAAG;AAAEP,EAAAA,KAAK,EAALA,KAAK;AAAEI,EAAAA,MAAM,EAANA,MAAAA;AAAO,CAAC;;ACArC,IAAQtD,aAAa,GAAuCD,UAAU,CAA9DC,aAAa;EAAEC,eAAe,GAAsBF,UAAU,CAA/CE,eAAe;EAAEE,eAAe,GAAKJ,UAAU,CAA9BI,eAAe,CAAA;AAEvD,IAAMuD,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGP,GAAG,EAAA;AAAA,EAAA,OAC1BQ,QAAQ,CAAC;IACPC,QAAQ,EAAE,CAAC5D,aAAa,CAAC;IACzB6D,OAAO,EAAE,SAAAA,OAAA,GAAA;AAAA,MAAA,OAAMJ,WAAW,CAACP,KAAK,CAACC,GAAG,CAAC,CAAA;AAAA,KAAA;AACrCW,IAAAA,SAAS,EAAE1D,mBAAAA;AACb,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAM2D,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGZ,GAAG,EAAA;EAAA,OAC1Ba,2BAA2B,CAAC,UAAAT,OAAO,EAAA;AAAA,IAAA,OAAIE,WAAW,CAACH,MAAM,CAACH,GAAG,EAAEI,OAAO,CAAC,CAAA;GAAE,EAAA;AACvEU,IAAAA,gBAAgB,EAAE,CAAC,CAACjE,aAAa,CAAC,EAAE,CAACC,eAAe,CAAC,EAAE,CAACE,eAAe,CAAC,CAAA;AAC1E,GAAC,CAAC,CAAA;AAAA,CAAA;;ACAJ,IAAM+D,QAAQ,GAAG,SAAXA,QAAQA,CAAAzE,IAAA,EAAgD;AAAA,EAAA,IAA1C0D,GAAG,GAAA1D,IAAA,CAAH0D,GAAG;IAAEgB,WAAW,GAAA1E,IAAA,CAAX0E,WAAW;IAAEC,KAAK,GAAA3E,IAAA,CAAL2E,KAAK;IAAE3B,UAAU,GAAAhD,IAAA,CAAVgD,UAAU,CAAA;AACrD,EAAA,IAAA4B,iBAAA,GAA2CX,gBAAgB,CAACP,GAAG,CAAC;IAAAmB,qBAAA,GAAAD,iBAAA,CAAxDE,IAAI;AAAE1G,IAAAA,QAAQ,GAAAyG,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IAAEE,SAAS,GAAAH,iBAAA,CAATG,SAAS,CAAA;AACtC,EAAA,IAAAC,iBAAA,GAAmCV,gBAAgB,CAACZ,GAAG,CAAC;IAAxCuB,cAAc,GAAAD,iBAAA,CAAtBE,MAAM,CAAA;AAEd,EAAA,IAAAC,SAAA,GAA4CC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApDI,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,iBAAiB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAExC,EAAA,IAAMI,cAAc,GAAG,SAAjBA,cAAcA,GAAA;AAAA,IAAA,OAASC,MAAM,CAACC,UAAU,GAAG,IAAI,CAAA;AAAA,GAAA,CAAA;EAErD,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAI9I,MAAM,EAAAoG,KAAA,EAAwB;AAAA,IAAA,IAApB2C,aAAa,GAAA3C,KAAA,CAAb2C,aAAa,CAAA;IAC3CZ,cAAc,CAACnI,MAAM,EAAE;MAAEgJ,SAAS,EAAE,SAAAA,SAAA,GAAA;QAAA,OAAMD,aAAa,CAAC,KAAK,CAAC,CAAA;AAAA,OAAA;AAAC,KAAC,CAAC,CAAA;GAClE,CAAA;AAEDE,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,MAAA,IAAIP,cAAc,EAAE,EAAED,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAC1CA,iBAAiB,CAAC,IAAI,CAAC,CAAA;KAC7B,CAAA;AACDE,IAAAA,MAAM,CAACO,gBAAgB,CAAC,QAAQ,EAAED,YAAY,CAAC,CAAA;IAE/C,OAAO,YAAA;AAAA,MAAA,OAAMN,MAAM,CAACQ,mBAAmB,CAAC,QAAQ,EAAEF,YAAY,CAAC,CAAA;AAAA,KAAA,CAAA;GAChE,EAAE,EAAE,CAAC,CAAA;EAEN,IAAIjB,SAAS,EAAE,oBAAO3H,cAAA,CAAAC,aAAA,CAAC8I,UAAU,EAAA,IAAE,CAAC,CAAA;AAEpC,EAAA,oBACE/I,cAAA,CAAAC,aAAA,CAAC+I,SAAS,EAAA;IAACC,aAAa,EAAA,IAAA;AAAA,GAAA,eACtBjJ,cAAA,CAAAC,aAAA,CAACiJ,MAAM,EAAA;AACC5B,IAAAA,WAAW,EAAXA,WAAW;AAAEC,IAAAA,KAAK,EAALA,KAAK;AACxB,IAAA,SAAA,EAAQ,0BAA0B;AAClCtE,IAAAA,IAAI,EAAEkF,cAAc,GAAG,OAAO,GAAG,OAAA;AAAQ,GAC1C,CAAC,eACFnI,cAAA,CAAAC,aAAA,CAACkJ,UAAU,EAAA;AAACjJ,IAAAA,SAAS,EAAC,aAAA;AAAa,GAAA,eACjCF,cAAA,CAAAC,aAAA,CAACmJ,IAAI,EAAA;AACHlJ,IAAAA,SAAS,EAAC,oDAAoD;AAC9DmJ,IAAAA,WAAW,EAAE;AACXC,MAAAA,aAAa,EAAEvI,qBAAqB,CAACC,QAAQ,CAAC;AAC9CuI,MAAAA,gBAAgB,EAAE1F,mCAAmC;AACrD2F,MAAAA,QAAQ,EAAEhB,YAAY;AACtBiB,MAAAA,kBAAkB,EAAE,IAAA;AACtB,KAAA;AAAE,GAAA,EAED,UAAAtD,KAAA,EAAA;AAAA,IAAA,IAAGuD,KAAK,GAAAvD,KAAA,CAALuD,KAAK;MAAEC,YAAY,GAAAxD,KAAA,CAAZwD,YAAY,CAAA;AAAA,IAAA,oBACrB3J,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAA4J,QAAA,EAAA,IAAA,eACE5J,cAAA,CAAAC,aAAA,CAAC0F,UAAU,EAAA;AAAOC,MAAAA,UAAU,EAAVA,UAAAA;KAAe,CAAC,eAClC5F,cAAA,CAAAC,aAAA,CAACkF,QAAQ,EAAE,IAAA,CAAC,eACZnF,cAAA,CAAAC,aAAA,CAAC0E,eAAe,EAAE,IAAA,CAAC,eACnB3E,cAAA,CAAAC,aAAA,CAAC4J,WAAW,EAAA;AACVC,MAAAA,iBAAiB,EAAE;AAAEC,QAAAA,QAAQ,EAAE,KAAK;AAAE7J,QAAAA,SAAS,EAAE,MAAA;OAAS;AAC1DA,MAAAA,SAAS,EAAC,2BAA2B;AACrC8J,MAAAA,iBAAiB,EAAE;AACjBC,QAAAA,OAAO,EAAEN,YAAY;QACrBI,QAAQ,EAAE,CAACL,KAAK,IAAIC,YAAAA;AACtB,OAAA;AAAE,KACH,CACD,CAAC,CAAA;GAED,CACI,CACH,CAAC,CAAA;AAEhB;;;;"}
|
package/dist/Taxonomy.js
CHANGED
|
@@ -62,20 +62,14 @@ var taxonomiesApi = {
|
|
|
62
62
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
63
63
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
64
64
|
var useUpdateTaxonomy = function useUpdateTaxonomy(options) {
|
|
65
|
-
return (
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
mutationFn: taxonomiesApi.update
|
|
69
|
-
}, options))
|
|
70
|
-
);
|
|
65
|
+
return useMutation(_objectSpread({
|
|
66
|
+
mutationFn: taxonomiesApi.update
|
|
67
|
+
}, options));
|
|
71
68
|
};
|
|
72
69
|
var useBulkDestroyTaxonomies = function useBulkDestroyTaxonomies(options) {
|
|
73
|
-
return (
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
mutationFn: taxonomiesApi.bulkDestroy
|
|
77
|
-
}, options))
|
|
78
|
-
);
|
|
70
|
+
return useMutation(_objectSpread({
|
|
71
|
+
mutationFn: taxonomiesApi.bulkDestroy
|
|
72
|
+
}, options));
|
|
79
73
|
};
|
|
80
74
|
|
|
81
75
|
var formatLabel = function formatLabel(label) {
|
package/dist/Taxonomy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Taxonomy.js","sources":["../src/components/Taxonomy/constants.js","../src/components/Taxonomy/api.js","../src/components/Taxonomy/useTaxonomyApi.js","../src/components/Taxonomy/utils.jsx","../src/components/Taxonomy/EditPane.jsx","../src/components/Taxonomy/LeftActionBlock.jsx","../src/components/Taxonomy/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const LABEL_REJECT_CHARS_REGEX = /[^a-zA-Z\\d\\s_-]+/;\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n singularLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.singularLabelRequired\")\n ),\n pluralLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.pluralLabelRequired\")\n ),\n});\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst update = ({ keyName, payload }) =>\n axios.patch(`${BASE_API_V1_URL}/taxonomies/${keyName}`, payload);\n\nconst bulkDestroy = payload =>\n axios.delete(`${BASE_API_V1_URL}/taxonomies/bulk_destroy`, {\n data: payload,\n });\n\nconst taxonomiesApi = { update, bulkDestroy };\n\nexport default taxonomiesApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport taxonomiesApi from \"./api\";\n\nconst useUpdateTaxonomy = options =>\n // useMutation(taxonomiesApi.update, options);\n useMutation({ mutationFn: taxonomiesApi.update, ...options });\n\nconst useBulkDestroyTaxonomies = options =>\n // useMutation(taxonomiesApi.bulkDestroy, options);\n useMutation({ mutationFn: taxonomiesApi.bulkDestroy, ...options });\n\nexport { useUpdateTaxonomy, useBulkDestroyTaxonomies };\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { fromPairs, toPairs } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nexport const formatLabel = label => capitalize(label.trim());\n\nexport const formatDataForTable = taxonomies =>\n toPairs(taxonomies).map(([keyName, labels]) => ({\n keyName,\n singularLabel: labels[\"singular\"],\n pluralLabel: labels[\"plural\"],\n }));\n\nexport const getColumnData = (\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen\n) => [\n {\n title: t(\"neetoMolecules.taxonomy.defaultLabel\"),\n dataIndex: \"default\",\n key: \"defaultLabel\",\n width: 400,\n render: (_, values) => {\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => handleEdit(values),\n },\n {\n key: \"reset\",\n label: t(\"neetoMolecules.common.actions.resetToDefaults\"),\n onClick: () => {\n setCurrentKeys([values.keyName]);\n setIsResetModalOpen(true);\n },\n },\n ];\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">\n {t(`taxonomyDefaultLabels.${values.keyName}.singular`)}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${values.keyName}`,\n }}\n {...{ menuItems }}\n />\n </div>\n );\n },\n },\n {\n title: t(\"neetoMolecules.taxonomy.singularLabel\"),\n dataIndex: \"singularLabel\",\n key: \"singularLabel\",\n width: 300,\n },\n {\n title: t(\"neetoMolecules.taxonomy.pluralLabel\"),\n dataIndex: \"pluralLabel\",\n key: \"pluralLabel\",\n width: 300,\n },\n];\n\nexport const getFilteredTaxonomies = (matchString, taxonomies) => {\n const filteredArray = toPairs(taxonomies).filter(([key, value]) => {\n const defaultLabel = t(`taxonomyDefaultLabels.${key}.singular`);\n const valuesToSearch = [defaultLabel, ...Object.values(value)];\n\n return valuesToSearch.some(str =>\n str.toLowerCase().includes(matchString.toLowerCase())\n );\n });\n\n return fromPairs(filteredArray);\n};\n","import React, { useRef } from \"react\";\n\nimport { Pane, Toastr, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { LABEL_REJECT_CHARS_REGEX, VALIDATION_SCHEMA } from \"./constants\";\nimport { useUpdateTaxonomy } from \"./useTaxonomyApi\";\nimport { formatLabel } from \"./utils\";\n\nconst EditPane = ({ initialValues, isOpen, onClose }) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef(null);\n\n const { mutate: updateTaxonomy } = useUpdateTaxonomy();\n\n const handleSubmit = (values, { setSubmitting }) => {\n const { keyName, singularLabel, pluralLabel } = values;\n\n const payload = {\n taxonomy: {\n keyName,\n singularLabel: formatLabel(singularLabel),\n pluralLabel: formatLabel(pluralLabel),\n },\n };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n onSettled: () => setSubmitting(false),\n };\n\n updateTaxonomy({ keyName, payload }, options);\n };\n\n return (\n <Pane\n {...{ initialFocusRef, isOpen, onClose }}\n data-testid=\"taxonomy-edit-pane\"\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.taxonomy.editPane.title\", {\n entity: t(\n `taxonomyDefaultLabels.${initialValues.keyName}.singular`\n ).toLocaleLowerCase(),\n })}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"w-full space-y-6\">\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-singular-input-field\"\n data-testid=\"taxonomy-singular-input-field\"\n label={t(\"neetoMolecules.taxonomy.singularLabel\")}\n name=\"singularLabel\"\n ref={initialFocusRef}\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-plural-input-field\"\n data-testid=\"taxonomy-plural-input-field\"\n label={t(\"neetoMolecules.taxonomy.pluralLabel\")}\n name=\"pluralLabel\"\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose, disabled: false }}\n className=\"flex items-center space-x-2\"\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default EditPane;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LeftActionBlock = ({\n selectedCount,\n totalCount,\n setIsResetModalOpen,\n setCurrentKeys,\n selectedRowIds,\n}) => {\n const { Menu, MenuItem } = Dropdown;\n\n return (\n !!totalCount && (\n <>\n {selectedCount > 0 ? (\n <>\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.actionBlock.selectedTaxonomy\"\n values={{ count: selectedCount, totalCount }}\n components={{\n span: <span className=\"neeto-ui-text-gray-600\" />,\n }}\n />\n </Typography>\n <Dropdown\n buttonStyle=\"secondary\"\n label={t(\"neetoMolecules.taxonomy.actionBlock.takeAction\")}\n >\n <Menu>\n <MenuItem.Button\n style=\"secondary\"\n onClick={() => {\n setCurrentKeys(selectedRowIds);\n setIsResetModalOpen(true);\n }}\n >\n {t(\"neetoMolecules.common.actions.resetToDefaults\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </>\n ) : (\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n {t(\"neetoMolecules.taxonomy.actionBlock.taxonomyWithCount\", {\n count: totalCount,\n })}\n </Typography>\n )}\n </>\n )\n );\n};\n\nexport default LeftActionBlock;\n","import React, { useState, useEffect } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { taxonomies, globalProps } from \"neetocommons/initializers\";\nimport withTitle from \"neetocommons/react-utils/withTitle\";\nimport { Alert, NoData, Table, Toastr } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop, pick, keys } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport EditPane from \"./EditPane\";\nimport LeftActionBlock from \"./LeftActionBlock\";\nimport { useBulkDestroyTaxonomies } from \"./useTaxonomyApi\";\nimport {\n formatDataForTable,\n getColumnData,\n getFilteredTaxonomies,\n} from \"./utils\";\n\nconst Taxonomy = ({ breadcrumbs }) => {\n const [isResetModalOpen, setIsResetModalOpen] = useState(false);\n const [isEditTaxonomyPaneOpen, setIsEditTaxonomyPaneOpen] = useState(false);\n const [initialValues, setInitialValues] = useState({});\n const [selectedRowIds, setSelectedRowIds] = useState([]);\n const [searchString, setSearchString] = useState(\"\");\n const [currentKeys, setCurrentKeys] = useState([]);\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const { mutate: bulkDestroyTaxonomies } = useBulkDestroyTaxonomies();\n\n const hostTaxonomyKeys = keys(globalProps.taxonomies);\n const hostTaxonomies = pick(hostTaxonomyKeys, taxonomies);\n\n const [filteredTaxonomies, setFilteredTaxonomies] = useState(hostTaxonomies);\n\n const handleRowSelect = ids => setSelectedRowIds(ids);\n\n const handleDelete = () => {\n const payload = { keyNames: currentKeys };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n };\n\n bulkDestroyTaxonomies(payload, options);\n };\n\n const handleEdit = values => {\n setInitialValues(values);\n setIsEditTaxonomyPaneOpen(true);\n };\n\n const handleSearch = event => {\n setSearchString(event.target.value);\n const newTaxonomies = getFilteredTaxonomies(\n event.target.value,\n hostTaxonomies\n );\n setFilteredTaxonomies(newTaxonomies);\n };\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) setIsMobileScreen(false);\n else setIsMobileScreen(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs }}\n size={isMobileScreen ? \"small\" : \"large\"}\n title={t(\"neetoMolecules.taxonomy.title\")}\n searchProps={{\n onChange: handleSearch,\n value: searchString,\n placeholder: t(\"neetoMolecules.taxonomy.searchTaxonomy\"),\n }}\n />\n <SubHeader\n leftActionBlock={\n <LeftActionBlock\n {...{ selectedRowIds, setCurrentKeys, setIsResetModalOpen }}\n selectedCount={selectedRowIds.length}\n totalCount={Object.entries(filteredTaxonomies).length}\n />\n }\n />\n {isNotEmpty(filteredTaxonomies) ? (\n <TableWrapper>\n <Table\n fixedHeight\n rowSelection\n allowRowClick={false}\n rowData={formatDataForTable(filteredTaxonomies)}\n rowKey={prop(\"keyName\")}\n scroll={{ x: 0 }}\n selectedRowKeys={selectedRowIds}\n tableLayout=\"fixed\"\n columnData={getColumnData(\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen\n )}\n onRowSelect={handleRowSelect}\n />\n <EditPane\n {...{ initialValues }}\n isOpen={isEditTaxonomyPaneOpen}\n onClose={() => setIsEditTaxonomyPaneOpen(false)}\n />\n <Alert\n isOpen={isResetModalOpen}\n submitButtonLabel={t(\"neetoMolecules.common.actions.proceed\")}\n title={t(\"neetoMolecules.taxonomy.resetAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.resetAlert.message\"\n values={{\n count: currentKeys.length,\n what: t(`taxonomyDefaultLabels.${currentKeys[0]}.singular`),\n }}\n />\n }\n onClose={() => setIsResetModalOpen(false)}\n onSubmit={handleDelete}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(\"neetoMolecules.taxonomy.noData\")} />\n </div>\n )}\n </Container>\n );\n};\n\nTaxonomy.propTypes = {\n /**\n * To show breadcrumbs. `text` accepts a text string to be shown as the breadcrumb and `link` accepts relative URL path for the breadcrumb.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n};\n\nexport default withTitle(Taxonomy, t(\"neetoMolecules.taxonomy.browserTitle\"));\n"],"names":["LABEL_REJECT_CHARS_REGEX","VALIDATION_SCHEMA","yup","object","shape","singularLabel","string","trim","required","t","pluralLabel","update","_ref","keyName","payload","axios","patch","concat","BASE_API_V1_URL","bulkDestroy","data","taxonomiesApi","useUpdateTaxonomy","options","useMutation","_objectSpread","mutationFn","useBulkDestroyTaxonomies","formatLabel","label","capitalize","formatDataForTable","taxonomies","toPairs","map","_ref2","_slicedToArray","labels","getColumnData","handleEdit","setCurrentKeys","setIsResetModalOpen","title","dataIndex","key","width","render","_","values","menuItems","onClick","React","createElement","className","Typography","style","MoreDropdown","dropdownProps","strategy","dropdownButtonProps","getFilteredTaxonomies","matchString","filteredArray","filter","_ref3","_ref4","value","defaultLabel","valuesToSearch","_toConsumableArray","Object","some","str","toLowerCase","includes","fromPairs","EditPane","initialValues","isOpen","onClose","_useTranslation","useTranslation","initialFocusRef","useRef","_useUpdateTaxonomy","updateTaxonomy","mutate","handleSubmit","setSubmitting","taxonomy","onSuccess","window","location","reload","onError","error","Toastr","onSettled","Pane","Header","weight","entity","toLocaleLowerCase","Form","formikProps","validationSchema","onSubmit","Body","Input","name","ref","rejectCharsRegex","Footer","ActionBlock","cancelButtonProps","disabled","LeftActionBlock","selectedCount","totalCount","selectedRowIds","Menu","Dropdown","MenuItem","Fragment","component","Trans","i18nKey","count","components","span","buttonStyle","Button","Taxonomy","breadcrumbs","_useState","useState","_useState2","isResetModalOpen","_useState3","_useState4","isEditTaxonomyPaneOpen","setIsEditTaxonomyPaneOpen","_useState5","_useState6","setInitialValues","_useState7","_useState8","setSelectedRowIds","_useState9","_useState10","searchString","setSearchString","_useState11","_useState12","currentKeys","_useState13","_useState14","isMobileScreen","setIsMobileScreen","isLargerScreen","innerWidth","_useBulkDestroyTaxono","bulkDestroyTaxonomies","hostTaxonomyKeys","keys","globalProps","hostTaxonomies","pick","_useState15","_useState16","filteredTaxonomies","setFilteredTaxonomies","handleRowSelect","ids","handleDelete","keyNames","handleSearch","event","target","newTaxonomies","useEffect","handleResize","addEventListener","removeEventListener","Container","size","searchProps","onChange","placeholder","SubHeader","leftActionBlock","length","entries","isNotEmpty","TableWrapper","Table","fixedHeight","rowSelection","allowRowClick","rowData","rowKey","prop","scroll","x","selectedRowKeys","tableLayout","columnData","onRowSelect","Alert","submitButtonLabel","message","what","NoData","withTitle"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAMA,wBAAwB,GAAG,kBAAkB,CAAA;AAEnD,IAAMC,iBAAiB,GAAGC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAClDC,EAAAA,aAAa,EAAEH,GAAG,CACfI,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,CAAC,CAAC,oEAAoE,CACxE,CAAC;AACHC,EAAAA,WAAW,EAAER,GAAG,CACbI,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,CAAC,CAAC,kEAAkE,CACtE,CAAA;AACJ,CAAC,CAAC;;ACfF,IAAME,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO,CAAA;AAAA,EAAA,OAChCC,KAAK,CAACC,KAAK,CAAA,EAAA,CAAAC,MAAA,CAAIC,eAAe,EAAA,cAAA,CAAA,CAAAD,MAAA,CAAeJ,OAAO,CAAA,EAAIC,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAElE,IAAMK,WAAW,GAAG,SAAdA,WAAWA,CAAGL,OAAO,EAAA;AAAA,EAAA,OACzBC,KAAK,CAAO,QAAA,CAAA,CAAA,EAAA,CAAAE,MAAA,CAAIC,eAAe,EAA4B,0BAAA,CAAA,EAAA;AACzDE,IAAAA,IAAI,EAAEN,OAAAA;AACR,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAMO,aAAa,GAAG;AAAEV,EAAAA,MAAM,EAANA,MAAM;AAAEQ,EAAAA,WAAW,EAAXA,WAAAA;AAAY,CAAC;;;;ACP7C,IAAMG,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,OAAO,EAAA;AAAA,EAAA;AAC/B;AACAC,IAAAA,WAAW,CAAAC,aAAA,CAAA;MAAGC,UAAU,EAAEL,aAAa,CAACV,MAAAA;AAAM,KAAA,EAAKY,OAAO,CAAE,CAAA;AAAC,IAAA;AAAA,CAAA,CAAA;AAE/D,IAAMI,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGJ,OAAO,EAAA;AAAA,EAAA;AACtC;AACAC,IAAAA,WAAW,CAAAC,aAAA,CAAA;MAAGC,UAAU,EAAEL,aAAa,CAACF,WAAAA;AAAW,KAAA,EAAKI,OAAO,CAAE,CAAA;AAAC,IAAA;AAAA,CAAA;;ACD7D,IAAMK,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAA;AAAA,EAAA,OAAIC,UAAU,CAACD,KAAK,CAACtB,IAAI,EAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAErD,IAAMwB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,UAAU,EAAA;EAAA,OAC1CC,OAAO,CAACD,UAAU,CAAC,CAACE,GAAG,CAAC,UAAAtB,IAAA,EAAA;AAAA,IAAA,IAAAuB,KAAA,GAAAC,cAAA,CAAAxB,IAAA,EAAA,CAAA,CAAA;AAAEC,MAAAA,OAAO,GAAAsB,KAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,MAAM,GAAAF,KAAA,CAAA,CAAA,CAAA,CAAA;IAAA,OAAO;AAC9CtB,MAAAA,OAAO,EAAPA,OAAO;AACPR,MAAAA,aAAa,EAAEgC,MAAM,CAAC,UAAU,CAAC;MACjC3B,WAAW,EAAE2B,MAAM,CAAC,QAAQ,CAAA;KAC7B,CAAA;AAAA,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEE,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CACxBC,UAAU,EACVC,cAAc,EACdC,mBAAmB,EAAA;AAAA,EAAA,OAChB,CACH;AACEC,IAAAA,KAAK,EAAEjC,CAAC,CAAC,sCAAsC,CAAC;AAChDkC,IAAAA,SAAS,EAAE,SAAS;AACpBC,IAAAA,GAAG,EAAE,cAAc;AACnBC,IAAAA,KAAK,EAAE,GAAG;AACVC,IAAAA,MAAM,EAAE,SAAAA,MAAAA,CAACC,CAAC,EAAEC,MAAM,EAAK;MACrB,IAAMC,SAAS,GAAG,CAChB;AACEL,QAAAA,GAAG,EAAE,MAAM;AACXf,QAAAA,KAAK,EAAEpB,CAAC,CAAC,oCAAoC,CAAC;QAC9CyC,OAAO,EAAE,SAAAA,OAAA,GAAA;UAAA,OAAMX,UAAU,CAACS,MAAM,CAAC,CAAA;AAAA,SAAA;AACnC,OAAC,EACD;AACEJ,QAAAA,GAAG,EAAE,OAAO;AACZf,QAAAA,KAAK,EAAEpB,CAAC,CAAC,+CAA+C,CAAC;QACzDyC,OAAO,EAAE,SAAAA,OAAAA,GAAM;AACbV,UAAAA,cAAc,CAAC,CAACQ,MAAM,CAACnC,OAAO,CAAC,CAAC,CAAA;UAChC4B,mBAAmB,CAAC,IAAI,CAAC,CAAA;AAC3B,SAAA;AACF,OAAC,CACF,CAAA;MAED,oBACEU,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,2CAAA;AAA2C,OAAA,eACxDF,cAAA,CAAAC,aAAA,CAACE,UAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,OAAA;AAAO,OAAA,EACtB9C,CAAC,CAAA,wBAAA,CAAAQ,MAAA,CAA0B+B,MAAM,CAACnC,OAAO,EAAW,WAAA,CAAA,CAC3C,CAAC,eACbsC,cAAA,CAAAC,aAAA,CAACI,YAAY,EAAA;AACXC,QAAAA,aAAa,EAAE;AAAEC,UAAAA,QAAQ,EAAE,OAAA;SAAU;AACrCC,QAAAA,mBAAmB,EAAE;AACnB,UAAA,aAAa,EAAA1C,oBAAAA,CAAAA,MAAA,CAAuB+B,MAAM,CAACnC,OAAO,CAAA;SAClD;AACIoC,QAAAA,SAAS,EAATA,SAAAA;AAAS,OAChB,CACE,CAAC,CAAA;AAEV,KAAA;AACF,GAAC,EACD;AACEP,IAAAA,KAAK,EAAEjC,CAAC,CAAC,uCAAuC,CAAC;AACjDkC,IAAAA,SAAS,EAAE,eAAe;AAC1BC,IAAAA,GAAG,EAAE,eAAe;AACpBC,IAAAA,KAAK,EAAE,GAAA;AACT,GAAC,EACD;AACEH,IAAAA,KAAK,EAAEjC,CAAC,CAAC,qCAAqC,CAAC;AAC/CkC,IAAAA,SAAS,EAAE,aAAa;AACxBC,IAAAA,GAAG,EAAE,aAAa;AAClBC,IAAAA,KAAK,EAAE,GAAA;AACT,GAAC,CACF,CAAA;AAAA,CAAA,CAAA;AAEM,IAAMe,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,WAAW,EAAE7B,UAAU,EAAK;EAChE,IAAM8B,aAAa,GAAG7B,OAAO,CAACD,UAAU,CAAC,CAAC+B,MAAM,CAAC,UAAAC,KAAA,EAAkB;AAAA,IAAA,IAAAC,KAAA,GAAA7B,cAAA,CAAA4B,KAAA,EAAA,CAAA,CAAA;AAAhBpB,MAAAA,GAAG,GAAAqB,KAAA,CAAA,CAAA,CAAA;AAAEC,MAAAA,KAAK,GAAAD,KAAA,CAAA,CAAA,CAAA,CAAA;IAC3D,IAAME,YAAY,GAAG1D,CAAC,CAAA,wBAAA,CAAAQ,MAAA,CAA0B2B,GAAG,cAAW,CAAC,CAAA;AAC/D,IAAA,IAAMwB,cAAc,GAAA,CAAID,YAAY,CAAA,CAAAlD,MAAA,CAAAoD,kBAAA,CAAKC,MAAM,CAACtB,MAAM,CAACkB,KAAK,CAAC,CAAC,CAAA,CAAA;AAE9D,IAAA,OAAOE,cAAc,CAACG,IAAI,CAAC,UAAAC,GAAG,EAAA;AAAA,MAAA,OAC5BA,GAAG,CAACC,WAAW,EAAE,CAACC,QAAQ,CAACb,WAAW,CAACY,WAAW,EAAE,CAAC,CAAA;AAAA,KACvD,CAAC,CAAA;AACH,GAAC,CAAC,CAAA;EAEF,OAAOE,SAAS,CAACb,aAAa,CAAC,CAAA;AACjC,CAAC;;AC5ED,IAAMc,QAAQ,GAAG,SAAXA,QAAQA,CAAAhE,IAAA,EAA2C;AAAA,EAAA,IAArCiE,aAAa,GAAAjE,IAAA,CAAbiE,aAAa;IAAEC,MAAM,GAAAlE,IAAA,CAANkE,MAAM;IAAEC,OAAO,GAAAnE,IAAA,CAAPmE,OAAO,CAAA;AAChD,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBxE,CAAC,GAAAuE,eAAA,CAADvE,CAAC,CAAA;AACT,EAAA,IAAMyE,eAAe,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;AAEpC,EAAA,IAAAC,kBAAA,GAAmC9D,iBAAiB,EAAE;IAAtC+D,cAAc,GAAAD,kBAAA,CAAtBE,MAAM,CAAA;EAEd,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIvC,MAAM,EAAAb,KAAA,EAAwB;AAAA,IAAA,IAApBqD,aAAa,GAAArD,KAAA,CAAbqD,aAAa,CAAA;AAC3C,IAAA,IAAQ3E,OAAO,GAAiCmC,MAAM,CAA9CnC,OAAO;MAAER,aAAa,GAAkB2C,MAAM,CAArC3C,aAAa;MAAEK,WAAW,GAAKsC,MAAM,CAAtBtC,WAAW,CAAA;AAE3C,IAAA,IAAMI,OAAO,GAAG;AACd2E,MAAAA,QAAQ,EAAE;AACR5E,QAAAA,OAAO,EAAPA,OAAO;AACPR,QAAAA,aAAa,EAAEuB,WAAW,CAACvB,aAAa,CAAC;QACzCK,WAAW,EAAEkB,WAAW,CAAClB,WAAW,CAAA;AACtC,OAAA;KACD,CAAA;AAED,IAAA,IAAMa,OAAO,GAAG;MACdmE,SAAS,EAAE,SAAAA,SAAA,GAAA;AAAA,QAAA,OAAMC,MAAM,CAACC,QAAQ,CAACC,MAAM,EAAE,CAAA;AAAA,OAAA;MACzCC,OAAO,EAAE,SAAAA,OAAAA,CAAAC,KAAK,EAAA;AAAA,QAAA,OAAIC,MAAM,CAACD,KAAK,CAACA,KAAK,CAAC,CAAA;AAAA,OAAA;MACrCE,SAAS,EAAE,SAAAA,SAAA,GAAA;QAAA,OAAMT,aAAa,CAAC,KAAK,CAAC,CAAA;AAAA,OAAA;KACtC,CAAA;AAEDH,IAAAA,cAAc,CAAC;AAAExE,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,OAAO,EAAPA,OAAAA;KAAS,EAAES,OAAO,CAAC,CAAA;GAC9C,CAAA;AAED,EAAA,oBACE4B,cAAA,CAAAC,aAAA,CAAC8C,IAAI,EAAA;AACGhB,IAAAA,eAAe,EAAfA,eAAe;AAAEJ,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;IACtC,aAAY,EAAA,oBAAA;AAAoB,GAAA,eAEhC5B,cAAA,CAAAC,aAAA,CAAC8C,IAAI,CAACC,MAAM,EAAA,IAAA,eACVhD,cAAA,CAAAC,aAAA,CAACE,UAAU,EAAA;AAACC,IAAAA,KAAK,EAAC,IAAI;AAAC6C,IAAAA,MAAM,EAAC,UAAA;GAC3B3F,EAAAA,CAAC,CAAC,wCAAwC,EAAE;AAC3C4F,IAAAA,MAAM,EAAE5F,CAAC,CAAAQ,wBAAAA,CAAAA,MAAA,CACkB4D,aAAa,CAAChE,OAAO,EAChD,WAAA,CAAA,CAAC,CAACyF,iBAAiB,EAAC;GACrB,CACS,CACD,CAAC,eACdnD,cAAA,CAAAC,aAAA,CAACmD,IAAI,EAAA;AACHC,IAAAA,WAAW,EAAE;AACX3B,MAAAA,aAAa,EAAbA,aAAa;AACb4B,MAAAA,gBAAgB,EAAExG,iBAAiB;AACnCyG,MAAAA,QAAQ,EAAEnB,YAAAA;AACZ,KAAA;GAEApC,eAAAA,cAAA,CAAAC,aAAA,CAAC8C,IAAI,CAACS,IAAI,EAAA,IAAA,eACRxD,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,kBAAA;AAAkB,GAAA,eAC/BF,cAAA,CAAAC,aAAA,CAACwD,KAAK,EAAA;IACJpG,QAAQ,EAAA,IAAA;AACR6C,IAAAA,SAAS,EAAC,QAAQ;AAClB,IAAA,SAAA,EAAQ,+BAA+B;AACvC,IAAA,aAAA,EAAY,+BAA+B;AAC3CxB,IAAAA,KAAK,EAAEpB,CAAC,CAAC,uCAAuC,CAAE;AAClDoG,IAAAA,IAAI,EAAC,eAAe;AACpBC,IAAAA,GAAG,EAAE5B,eAAgB;AACrB6B,IAAAA,gBAAgB,EAAE/G,wBAAAA;AAAyB,GAC5C,CAAC,eACFmD,cAAA,CAAAC,aAAA,CAACwD,KAAK,EAAA;IACJpG,QAAQ,EAAA,IAAA;AACR6C,IAAAA,SAAS,EAAC,QAAQ;AAClB,IAAA,SAAA,EAAQ,6BAA6B;AACrC,IAAA,aAAA,EAAY,6BAA6B;AACzCxB,IAAAA,KAAK,EAAEpB,CAAC,CAAC,qCAAqC,CAAE;AAChDoG,IAAAA,IAAI,EAAC,aAAa;AAClBE,IAAAA,gBAAgB,EAAE/G,wBAAAA;AAAyB,GAC5C,CACE,CACI,CAAC,eACZmD,cAAA,CAAAC,aAAA,CAAC8C,IAAI,CAACc,MAAM,EACV7D,IAAAA,eAAAA,cAAA,CAAAC,aAAA,CAAC6D,WAAW,EAAA;AACVC,IAAAA,iBAAiB,EAAE;AAAEhE,MAAAA,OAAO,EAAE6B,OAAO;AAAEoC,MAAAA,QAAQ,EAAE,KAAA;KAAQ;AACzD9D,IAAAA,SAAS,EAAC,6BAAA;GACX,CACU,CACT,CACF,CAAC,CAAA;AAEX,CAAC;;ACnFD,IAAM+D,eAAe,GAAG,SAAlBA,eAAeA,CAAAxG,IAAA,EAMf;AAAA,EAAA,IALJyG,aAAa,GAAAzG,IAAA,CAAbyG,aAAa;IACbC,UAAU,GAAA1G,IAAA,CAAV0G,UAAU;IACV7E,mBAAmB,GAAA7B,IAAA,CAAnB6B,mBAAmB;IACnBD,cAAc,GAAA5B,IAAA,CAAd4B,cAAc;IACd+E,cAAc,GAAA3G,IAAA,CAAd2G,cAAc,CAAA;AAEd,EAAA,IAAQC,IAAI,GAAeC,QAAQ,CAA3BD,IAAI;IAAEE,QAAQ,GAAKD,QAAQ,CAArBC,QAAQ,CAAA;AAEtB,EAAA,OACE,CAAC,CAACJ,UAAU,iBACVnE,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAwE,QAAA,EAAA,IAAA,EACGN,aAAa,GAAG,CAAC,gBAChBlE,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAwE,QAAA,EAAA,IAAA,eACExE,cAAA,CAAAC,aAAA,CAACE,UAAU,EAAA;AACTD,IAAAA,SAAS,EAAC,oBAAoB;AAC9BuE,IAAAA,SAAS,EAAC,IAAI;IACd,SAAQ,EAAA,YAAA;AAAY,GAAA,eAEpBzE,cAAA,CAAAC,aAAA,CAACyE,KAAK,EAAA;AACJC,IAAAA,OAAO,EAAC,sDAAsD;AAC9D9E,IAAAA,MAAM,EAAE;AAAE+E,MAAAA,KAAK,EAAEV,aAAa;AAAEC,MAAAA,UAAU,EAAVA,UAAAA;KAAa;AAC7CU,IAAAA,UAAU,EAAE;MACVC,IAAI,eAAE9E,cAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMC,QAAAA,SAAS,EAAC,wBAAA;OAA0B,CAAA;AAClD,KAAA;AAAE,GACH,CACS,CAAC,eACbF,cAAA,CAAAC,aAAA,CAACqE,QAAQ,EAAA;AACPS,IAAAA,WAAW,EAAC,WAAW;IACvBrG,KAAK,EAAEpB,CAAC,CAAC,gDAAgD,CAAA;AAAE,GAAA,eAE3D0C,cAAA,CAAAC,aAAA,CAACoE,IAAI,EAAA,IAAA,eACHrE,cAAA,CAAAC,aAAA,CAACsE,QAAQ,CAACS,MAAM,EAAA;AACd5E,IAAAA,KAAK,EAAC,WAAW;IACjBL,OAAO,EAAE,SAAAA,OAAAA,GAAM;MACbV,cAAc,CAAC+E,cAAc,CAAC,CAAA;MAC9B9E,mBAAmB,CAAC,IAAI,CAAC,CAAA;AAC3B,KAAA;AAAE,GAAA,EAEDhC,CAAC,CAAC,+CAA+C,CACnC,CACb,CACE,CACV,CAAC,gBAEH0C,cAAA,CAAAC,aAAA,CAACE,UAAU,EAAA;AACTD,IAAAA,SAAS,EAAC,oBAAoB;AAC9BuE,IAAAA,SAAS,EAAC,IAAI;IACd,SAAQ,EAAA,YAAA;GAEPnH,EAAAA,CAAC,CAAC,uDAAuD,EAAE;AAC1DsH,IAAAA,KAAK,EAAET,UAAAA;GACR,CACS,CAEd,CACH,CAAA;AAEL,CAAC;;ACvCD,IAAMc,QAAQ,GAAG,SAAXA,QAAQA,CAAAxH,IAAA,EAAwB;AAAA,EAAA,IAAlByH,WAAW,GAAAzH,IAAA,CAAXyH,WAAW,CAAA;AAC7B,EAAA,IAAAC,SAAA,GAAgDC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAApG,cAAA,CAAAkG,SAAA,EAAA,CAAA,CAAA;AAAxDG,IAAAA,gBAAgB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAE/F,IAAAA,mBAAmB,GAAA+F,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAE,UAAA,GAA4DH,QAAQ,CAAC,KAAK,CAAC;IAAAI,UAAA,GAAAvG,cAAA,CAAAsG,UAAA,EAAA,CAAA,CAAA;AAApEE,IAAAA,sBAAsB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,yBAAyB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACxD,EAAA,IAAAG,UAAA,GAA0CP,QAAQ,CAAC,EAAE,CAAC;IAAAQ,UAAA,GAAA3G,cAAA,CAAA0G,UAAA,EAAA,CAAA,CAAA;AAA/CjE,IAAAA,aAAa,GAAAkE,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,gBAAgB,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAAE,UAAA,GAA4CV,QAAQ,CAAC,EAAE,CAAC;IAAAW,UAAA,GAAA9G,cAAA,CAAA6G,UAAA,EAAA,CAAA,CAAA;AAAjD1B,IAAAA,cAAc,GAAA2B,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAE,UAAA,GAAwCb,QAAQ,CAAC,EAAE,CAAC;IAAAc,WAAA,GAAAjH,cAAA,CAAAgH,UAAA,EAAA,CAAA,CAAA;AAA7CE,IAAAA,YAAY,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAG,WAAA,GAAsCjB,QAAQ,CAAC,EAAE,CAAC;IAAAkB,WAAA,GAAArH,cAAA,CAAAoH,WAAA,EAAA,CAAA,CAAA;AAA3CE,IAAAA,WAAW,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEjH,IAAAA,cAAc,GAAAiH,WAAA,CAAA,CAAA,CAAA,CAAA;AAClC,EAAA,IAAAE,WAAA,GAA4CpB,QAAQ,CAAC,KAAK,CAAC;IAAAqB,WAAA,GAAAxH,cAAA,CAAAuH,WAAA,EAAA,CAAA,CAAA;AAApDE,IAAAA,cAAc,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAExC,EAAA,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,GAAA;AAAA,IAAA,OAASpE,MAAM,CAACqE,UAAU,GAAG,IAAI,CAAA;AAAA,GAAA,CAAA;AAErD,EAAA,IAAAC,qBAAA,GAA0CtI,wBAAwB,EAAE;IAApDuI,qBAAqB,GAAAD,qBAAA,CAA7B3E,MAAM,CAAA;AAEd,EAAA,IAAM6E,gBAAgB,GAAGC,IAAI,CAACC,WAAW,CAACrI,UAAU,CAAC,CAAA;AACrD,EAAA,IAAMsI,cAAc,GAAGC,IAAI,CAACJ,gBAAgB,EAAEnI,UAAU,CAAC,CAAA;AAEzD,EAAA,IAAAwI,WAAA,GAAoDjC,QAAQ,CAAC+B,cAAc,CAAC;IAAAG,WAAA,GAAArI,cAAA,CAAAoI,WAAA,EAAA,CAAA,CAAA;AAArEE,IAAAA,kBAAkB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,qBAAqB,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAEhD,EAAA,IAAMG,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,GAAG,EAAA;IAAA,OAAI1B,iBAAiB,CAAC0B,GAAG,CAAC,CAAA;AAAA,GAAA,CAAA;AAErD,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,IAAA,IAAMhK,OAAO,GAAG;AAAEiK,MAAAA,QAAQ,EAAErB,WAAAA;KAAa,CAAA;AAEzC,IAAA,IAAMnI,OAAO,GAAG;MACdmE,SAAS,EAAE,SAAAA,SAAA,GAAA;AAAA,QAAA,OAAMC,MAAM,CAACC,QAAQ,CAACC,MAAM,EAAE,CAAA;AAAA,OAAA;MACzCC,OAAO,EAAE,SAAAA,OAAAA,CAAAC,KAAK,EAAA;AAAA,QAAA,OAAIC,MAAM,CAACD,KAAK,CAACA,KAAK,CAAC,CAAA;AAAA,OAAA;KACtC,CAAA;AAEDmE,IAAAA,qBAAqB,CAACpJ,OAAO,EAAES,OAAO,CAAC,CAAA;GACxC,CAAA;AAED,EAAA,IAAMgB,UAAU,GAAG,SAAbA,UAAUA,CAAGS,MAAM,EAAI;IAC3BgG,gBAAgB,CAAChG,MAAM,CAAC,CAAA;IACxB6F,yBAAyB,CAAC,IAAI,CAAC,CAAA;GAChC,CAAA;AAED,EAAA,IAAMmC,YAAY,GAAG,SAAfA,YAAYA,CAAGC,KAAK,EAAI;AAC5B1B,IAAAA,eAAe,CAAC0B,KAAK,CAACC,MAAM,CAAChH,KAAK,CAAC,CAAA;IACnC,IAAMiH,aAAa,GAAGvH,qBAAqB,CACzCqH,KAAK,CAACC,MAAM,CAAChH,KAAK,EAClBoG,cACF,CAAC,CAAA;IACDK,qBAAqB,CAACQ,aAAa,CAAC,CAAA;GACrC,CAAA;AAEDC,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,MAAA,IAAItB,cAAc,EAAE,EAAED,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAC1CA,iBAAiB,CAAC,IAAI,CAAC,CAAA;KAC7B,CAAA;AACDnE,IAAAA,MAAM,CAAC2F,gBAAgB,CAAC,QAAQ,EAAED,YAAY,CAAC,CAAA;IAE/C,OAAO,YAAA;AAAA,MAAA,OAAM1F,MAAM,CAAC4F,mBAAmB,CAAC,QAAQ,EAAEF,YAAY,CAAC,CAAA;AAAA,KAAA,CAAA;GAChE,EAAE,EAAE,CAAC,CAAA;EAEN,oBACElI,cAAA,CAAAC,aAAA,CAACoI,SAAS,qBACRrI,cAAA,CAAAC,aAAA,CAAC+C,MAAM,EAAA;AACCkC,IAAAA,WAAW,EAAXA,WAAW;AACjBoD,IAAAA,IAAI,EAAE5B,cAAc,GAAG,OAAO,GAAG,OAAQ;AACzCnH,IAAAA,KAAK,EAAEjC,CAAC,CAAC,+BAA+B,CAAE;AAC1CiL,IAAAA,WAAW,EAAE;AACXC,MAAAA,QAAQ,EAAEX,YAAY;AACtB9G,MAAAA,KAAK,EAAEoF,YAAY;MACnBsC,WAAW,EAAEnL,CAAC,CAAC,wCAAwC,CAAA;AACzD,KAAA;AAAE,GACH,CAAC,eACF0C,cAAA,CAAAC,aAAA,CAACyI,SAAS,EAAA;AACRC,IAAAA,eAAe,eACb3I,cAAA,CAAAC,aAAA,CAACgE,eAAe,EAAA;AACRG,MAAAA,cAAc,EAAdA,cAAc;AAAE/E,MAAAA,cAAc,EAAdA,cAAc;AAAEC,MAAAA,mBAAmB,EAAnBA,mBAAmB;MACzD4E,aAAa,EAAEE,cAAc,CAACwE,MAAO;AACrCzE,MAAAA,UAAU,EAAEhD,MAAM,CAAC0H,OAAO,CAACtB,kBAAkB,CAAC,CAACqB,MAAAA;KAChD,CAAA;AACF,GACF,CAAC,EACDE,UAAU,CAACvB,kBAAkB,CAAC,gBAC7BvH,cAAA,CAAAC,aAAA,CAAC8I,YAAY,EAAA,IAAA,eACX/I,cAAA,CAAAC,aAAA,CAAC+I,KAAK,EAAA;IACJC,WAAW,EAAA,IAAA;IACXC,YAAY,EAAA,IAAA;AACZC,IAAAA,aAAa,EAAE,KAAM;AACrBC,IAAAA,OAAO,EAAExK,kBAAkB,CAAC2I,kBAAkB,CAAE;AAChD8B,IAAAA,MAAM,EAAEC,IAAI,CAAC,SAAS,CAAE;AACxBC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,CAAC,EAAE,CAAA;KAAI;AACjBC,IAAAA,eAAe,EAAErF,cAAe;AAChCsF,IAAAA,WAAW,EAAC,OAAO;IACnBC,UAAU,EAAExK,aAAa,CACvBC,UAAU,EACVC,cAAc,EACdC,mBACF,CAAE;AACFsK,IAAAA,WAAW,EAAEnC,eAAAA;AAAgB,GAC9B,CAAC,eACFzH,cAAA,CAAAC,aAAA,CAACwB,QAAQ,EAAA;AACDC,IAAAA,aAAa,EAAbA,aAAa;AACnBC,IAAAA,MAAM,EAAE8D,sBAAuB;IAC/B7D,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAM8D,yBAAyB,CAAC,KAAK,CAAC,CAAA;AAAA,KAAA;AAAC,GACjD,CAAC,eACF1F,cAAA,CAAAC,aAAA,CAAC4J,KAAK,EAAA;AACJlI,IAAAA,MAAM,EAAE2D,gBAAiB;AACzBwE,IAAAA,iBAAiB,EAAExM,CAAC,CAAC,uCAAuC,CAAE;AAC9DiC,IAAAA,KAAK,EAAEjC,CAAC,CAAC,0CAA0C,CAAE;AACrDyM,IAAAA,OAAO,eACL/J,cAAA,CAAAC,aAAA,CAACyE,KAAK,EAAA;AACJC,MAAAA,OAAO,EAAC,4CAA4C;AACpD9E,MAAAA,MAAM,EAAE;QACN+E,KAAK,EAAE2B,WAAW,CAACqC,MAAM;QACzBoB,IAAI,EAAE1M,CAAC,CAAAQ,wBAAAA,CAAAA,MAAA,CAA0ByI,WAAW,CAAC,CAAC,CAAC,EAAW,WAAA,CAAA,CAAA;AAC5D,OAAA;AAAE,KACH,CACF;IACD3E,OAAO,EAAE,SAAAA,OAAA,GAAA;MAAA,OAAMtC,mBAAmB,CAAC,KAAK,CAAC,CAAA;KAAC;AAC1CiE,IAAAA,QAAQ,EAAEoE,YAAAA;AAAa,GACxB,CACW,CAAC,gBAEf3H,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,gDAAA;AAAgD,GAAA,eAC7DF,cAAA,CAAAC,aAAA,CAACgK,MAAM,EAAA;IAAC1K,KAAK,EAAEjC,CAAC,CAAC,gCAAgC,CAAA;GAAI,CAClD,CAEE,CAAC,CAAA;AAEhB,CAAC,CAAA;AAcD,YAAe4M,SAAS,CAACjF,QAAQ,EAAE3H,CAAC,CAAC,sCAAsC,CAAC,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"Taxonomy.js","sources":["../src/components/Taxonomy/constants.js","../src/components/Taxonomy/api.js","../src/components/Taxonomy/useTaxonomyApi.js","../src/components/Taxonomy/utils.jsx","../src/components/Taxonomy/EditPane.jsx","../src/components/Taxonomy/LeftActionBlock.jsx","../src/components/Taxonomy/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const LABEL_REJECT_CHARS_REGEX = /[^a-zA-Z\\d\\s_-]+/;\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n singularLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.singularLabelRequired\")\n ),\n pluralLabel: yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.taxonomy.editPane.validations.pluralLabelRequired\")\n ),\n});\n","import axios from \"axios\";\nimport { BASE_API_V1_URL } from \"neetocommons/constants\";\n\nconst update = ({ keyName, payload }) =>\n axios.patch(`${BASE_API_V1_URL}/taxonomies/${keyName}`, payload);\n\nconst bulkDestroy = payload =>\n axios.delete(`${BASE_API_V1_URL}/taxonomies/bulk_destroy`, {\n data: payload,\n });\n\nconst taxonomiesApi = { update, bulkDestroy };\n\nexport default taxonomiesApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport taxonomiesApi from \"./api\";\n\nconst useUpdateTaxonomy = options =>\n useMutation({ mutationFn: taxonomiesApi.update, ...options });\n\nconst useBulkDestroyTaxonomies = options =>\n useMutation({ mutationFn: taxonomiesApi.bulkDestroy, ...options });\n\nexport { useUpdateTaxonomy, useBulkDestroyTaxonomies };\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { capitalize } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { fromPairs, toPairs } from \"ramda\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nexport const formatLabel = label => capitalize(label.trim());\n\nexport const formatDataForTable = taxonomies =>\n toPairs(taxonomies).map(([keyName, labels]) => ({\n keyName,\n singularLabel: labels[\"singular\"],\n pluralLabel: labels[\"plural\"],\n }));\n\nexport const getColumnData = (\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen\n) => [\n {\n title: t(\"neetoMolecules.taxonomy.defaultLabel\"),\n dataIndex: \"default\",\n key: \"defaultLabel\",\n width: 400,\n render: (_, values) => {\n const menuItems = [\n {\n key: \"edit\",\n label: t(\"neetoMolecules.common.actions.edit\"),\n onClick: () => handleEdit(values),\n },\n {\n key: \"reset\",\n label: t(\"neetoMolecules.common.actions.resetToDefaults\"),\n onClick: () => {\n setCurrentKeys([values.keyName]);\n setIsResetModalOpen(true);\n },\n },\n ];\n\n return (\n <div className=\"flex items-center justify-between gap-x-3\">\n <Typography style=\"body2\">\n {t(`taxonomyDefaultLabels.${values.keyName}.singular`)}\n </Typography>\n <MoreDropdown\n dropdownProps={{ strategy: \"fixed\" }}\n dropdownButtonProps={{\n \"data-testid\": `nui-dropdown-icon-${values.keyName}`,\n }}\n {...{ menuItems }}\n />\n </div>\n );\n },\n },\n {\n title: t(\"neetoMolecules.taxonomy.singularLabel\"),\n dataIndex: \"singularLabel\",\n key: \"singularLabel\",\n width: 300,\n },\n {\n title: t(\"neetoMolecules.taxonomy.pluralLabel\"),\n dataIndex: \"pluralLabel\",\n key: \"pluralLabel\",\n width: 300,\n },\n];\n\nexport const getFilteredTaxonomies = (matchString, taxonomies) => {\n const filteredArray = toPairs(taxonomies).filter(([key, value]) => {\n const defaultLabel = t(`taxonomyDefaultLabels.${key}.singular`);\n const valuesToSearch = [defaultLabel, ...Object.values(value)];\n\n return valuesToSearch.some(str =>\n str.toLowerCase().includes(matchString.toLowerCase())\n );\n });\n\n return fromPairs(filteredArray);\n};\n","import React, { useRef } from \"react\";\n\nimport { Pane, Toastr, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { LABEL_REJECT_CHARS_REGEX, VALIDATION_SCHEMA } from \"./constants\";\nimport { useUpdateTaxonomy } from \"./useTaxonomyApi\";\nimport { formatLabel } from \"./utils\";\n\nconst EditPane = ({ initialValues, isOpen, onClose }) => {\n const { t } = useTranslation();\n const initialFocusRef = useRef(null);\n\n const { mutate: updateTaxonomy } = useUpdateTaxonomy();\n\n const handleSubmit = (values, { setSubmitting }) => {\n const { keyName, singularLabel, pluralLabel } = values;\n\n const payload = {\n taxonomy: {\n keyName,\n singularLabel: formatLabel(singularLabel),\n pluralLabel: formatLabel(pluralLabel),\n },\n };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n onSettled: () => setSubmitting(false),\n };\n\n updateTaxonomy({ keyName, payload }, options);\n };\n\n return (\n <Pane\n {...{ initialFocusRef, isOpen, onClose }}\n data-testid=\"taxonomy-edit-pane\"\n >\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.taxonomy.editPane.title\", {\n entity: t(\n `taxonomyDefaultLabels.${initialValues.keyName}.singular`\n ).toLocaleLowerCase(),\n })}\n </Typography>\n </Pane.Header>\n <Form\n formikProps={{\n initialValues,\n validationSchema: VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n <Pane.Body>\n <div className=\"w-full space-y-6\">\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-singular-input-field\"\n data-testid=\"taxonomy-singular-input-field\"\n label={t(\"neetoMolecules.taxonomy.singularLabel\")}\n name=\"singularLabel\"\n ref={initialFocusRef}\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n <Input\n required\n className=\"w-full\"\n data-cy=\"taxonomy-plural-input-field\"\n data-testid=\"taxonomy-plural-input-field\"\n label={t(\"neetoMolecules.taxonomy.pluralLabel\")}\n name=\"pluralLabel\"\n rejectCharsRegex={LABEL_REJECT_CHARS_REGEX}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose, disabled: false }}\n className=\"flex items-center space-x-2\"\n />\n </Pane.Footer>\n </Form>\n </Pane>\n );\n};\n\nexport default EditPane;\n","import React from \"react\";\n\nimport { t } from \"i18next\";\nimport { Dropdown, Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nconst LeftActionBlock = ({\n selectedCount,\n totalCount,\n setIsResetModalOpen,\n setCurrentKeys,\n selectedRowIds,\n}) => {\n const { Menu, MenuItem } = Dropdown;\n\n return (\n !!totalCount && (\n <>\n {selectedCount > 0 ? (\n <>\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.actionBlock.selectedTaxonomy\"\n values={{ count: selectedCount, totalCount }}\n components={{\n span: <span className=\"neeto-ui-text-gray-600\" />,\n }}\n />\n </Typography>\n <Dropdown\n buttonStyle=\"secondary\"\n label={t(\"neetoMolecules.taxonomy.actionBlock.takeAction\")}\n >\n <Menu>\n <MenuItem.Button\n style=\"secondary\"\n onClick={() => {\n setCurrentKeys(selectedRowIds);\n setIsResetModalOpen(true);\n }}\n >\n {t(\"neetoMolecules.common.actions.resetToDefaults\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </>\n ) : (\n <Typography\n className=\"mr-4 font-semibold\"\n component=\"h4\"\n data-cy=\"item-count\"\n >\n {t(\"neetoMolecules.taxonomy.actionBlock.taxonomyWithCount\", {\n count: totalCount,\n })}\n </Typography>\n )}\n </>\n )\n );\n};\n\nexport default LeftActionBlock;\n","import React, { useState, useEffect } from \"react\";\n\nimport { t } from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { taxonomies, globalProps } from \"neetocommons/initializers\";\nimport withTitle from \"neetocommons/react-utils/withTitle\";\nimport { Alert, NoData, Table, Toastr } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { prop, pick, keys } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport SubHeader from \"components/SubHeader\";\nimport TableWrapper from \"components/TableWrapper\";\n\nimport EditPane from \"./EditPane\";\nimport LeftActionBlock from \"./LeftActionBlock\";\nimport { useBulkDestroyTaxonomies } from \"./useTaxonomyApi\";\nimport {\n formatDataForTable,\n getColumnData,\n getFilteredTaxonomies,\n} from \"./utils\";\n\nconst Taxonomy = ({ breadcrumbs }) => {\n const [isResetModalOpen, setIsResetModalOpen] = useState(false);\n const [isEditTaxonomyPaneOpen, setIsEditTaxonomyPaneOpen] = useState(false);\n const [initialValues, setInitialValues] = useState({});\n const [selectedRowIds, setSelectedRowIds] = useState([]);\n const [searchString, setSearchString] = useState(\"\");\n const [currentKeys, setCurrentKeys] = useState([]);\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const { mutate: bulkDestroyTaxonomies } = useBulkDestroyTaxonomies();\n\n const hostTaxonomyKeys = keys(globalProps.taxonomies);\n const hostTaxonomies = pick(hostTaxonomyKeys, taxonomies);\n\n const [filteredTaxonomies, setFilteredTaxonomies] = useState(hostTaxonomies);\n\n const handleRowSelect = ids => setSelectedRowIds(ids);\n\n const handleDelete = () => {\n const payload = { keyNames: currentKeys };\n\n const options = {\n onSuccess: () => window.location.reload(),\n onError: error => Toastr.error(error),\n };\n\n bulkDestroyTaxonomies(payload, options);\n };\n\n const handleEdit = values => {\n setInitialValues(values);\n setIsEditTaxonomyPaneOpen(true);\n };\n\n const handleSearch = event => {\n setSearchString(event.target.value);\n const newTaxonomies = getFilteredTaxonomies(\n event.target.value,\n hostTaxonomies\n );\n setFilteredTaxonomies(newTaxonomies);\n };\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) setIsMobileScreen(false);\n else setIsMobileScreen(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n return (\n <Container>\n <Header\n {...{ breadcrumbs }}\n size={isMobileScreen ? \"small\" : \"large\"}\n title={t(\"neetoMolecules.taxonomy.title\")}\n searchProps={{\n onChange: handleSearch,\n value: searchString,\n placeholder: t(\"neetoMolecules.taxonomy.searchTaxonomy\"),\n }}\n />\n <SubHeader\n leftActionBlock={\n <LeftActionBlock\n {...{ selectedRowIds, setCurrentKeys, setIsResetModalOpen }}\n selectedCount={selectedRowIds.length}\n totalCount={Object.entries(filteredTaxonomies).length}\n />\n }\n />\n {isNotEmpty(filteredTaxonomies) ? (\n <TableWrapper>\n <Table\n fixedHeight\n rowSelection\n allowRowClick={false}\n rowData={formatDataForTable(filteredTaxonomies)}\n rowKey={prop(\"keyName\")}\n scroll={{ x: 0 }}\n selectedRowKeys={selectedRowIds}\n tableLayout=\"fixed\"\n columnData={getColumnData(\n handleEdit,\n setCurrentKeys,\n setIsResetModalOpen\n )}\n onRowSelect={handleRowSelect}\n />\n <EditPane\n {...{ initialValues }}\n isOpen={isEditTaxonomyPaneOpen}\n onClose={() => setIsEditTaxonomyPaneOpen(false)}\n />\n <Alert\n isOpen={isResetModalOpen}\n submitButtonLabel={t(\"neetoMolecules.common.actions.proceed\")}\n title={t(\"neetoMolecules.taxonomy.resetAlert.title\")}\n message={\n <Trans\n i18nKey=\"neetoMolecules.taxonomy.resetAlert.message\"\n values={{\n count: currentKeys.length,\n what: t(`taxonomyDefaultLabels.${currentKeys[0]}.singular`),\n }}\n />\n }\n onClose={() => setIsResetModalOpen(false)}\n onSubmit={handleDelete}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData title={t(\"neetoMolecules.taxonomy.noData\")} />\n </div>\n )}\n </Container>\n );\n};\n\nTaxonomy.propTypes = {\n /**\n * To show breadcrumbs. `text` accepts a text string to be shown as the breadcrumb and `link` accepts relative URL path for the breadcrumb.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n};\n\nexport default withTitle(Taxonomy, t(\"neetoMolecules.taxonomy.browserTitle\"));\n"],"names":["LABEL_REJECT_CHARS_REGEX","VALIDATION_SCHEMA","yup","object","shape","singularLabel","string","trim","required","t","pluralLabel","update","_ref","keyName","payload","axios","patch","concat","BASE_API_V1_URL","bulkDestroy","data","taxonomiesApi","useUpdateTaxonomy","options","useMutation","_objectSpread","mutationFn","useBulkDestroyTaxonomies","formatLabel","label","capitalize","formatDataForTable","taxonomies","toPairs","map","_ref2","_slicedToArray","labels","getColumnData","handleEdit","setCurrentKeys","setIsResetModalOpen","title","dataIndex","key","width","render","_","values","menuItems","onClick","React","createElement","className","Typography","style","MoreDropdown","dropdownProps","strategy","dropdownButtonProps","getFilteredTaxonomies","matchString","filteredArray","filter","_ref3","_ref4","value","defaultLabel","valuesToSearch","_toConsumableArray","Object","some","str","toLowerCase","includes","fromPairs","EditPane","initialValues","isOpen","onClose","_useTranslation","useTranslation","initialFocusRef","useRef","_useUpdateTaxonomy","updateTaxonomy","mutate","handleSubmit","setSubmitting","taxonomy","onSuccess","window","location","reload","onError","error","Toastr","onSettled","Pane","Header","weight","entity","toLocaleLowerCase","Form","formikProps","validationSchema","onSubmit","Body","Input","name","ref","rejectCharsRegex","Footer","ActionBlock","cancelButtonProps","disabled","LeftActionBlock","selectedCount","totalCount","selectedRowIds","Menu","Dropdown","MenuItem","Fragment","component","Trans","i18nKey","count","components","span","buttonStyle","Button","Taxonomy","breadcrumbs","_useState","useState","_useState2","isResetModalOpen","_useState3","_useState4","isEditTaxonomyPaneOpen","setIsEditTaxonomyPaneOpen","_useState5","_useState6","setInitialValues","_useState7","_useState8","setSelectedRowIds","_useState9","_useState10","searchString","setSearchString","_useState11","_useState12","currentKeys","_useState13","_useState14","isMobileScreen","setIsMobileScreen","isLargerScreen","innerWidth","_useBulkDestroyTaxono","bulkDestroyTaxonomies","hostTaxonomyKeys","keys","globalProps","hostTaxonomies","pick","_useState15","_useState16","filteredTaxonomies","setFilteredTaxonomies","handleRowSelect","ids","handleDelete","keyNames","handleSearch","event","target","newTaxonomies","useEffect","handleResize","addEventListener","removeEventListener","Container","size","searchProps","onChange","placeholder","SubHeader","leftActionBlock","length","entries","isNotEmpty","TableWrapper","Table","fixedHeight","rowSelection","allowRowClick","rowData","rowKey","prop","scroll","x","selectedRowKeys","tableLayout","columnData","onRowSelect","Alert","submitButtonLabel","message","what","NoData","withTitle"],"mappings":"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"}
|
|
@@ -19,17 +19,12 @@ var timeZoneApi = {
|
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
var useUpdateTimeZone = function useUpdateTimeZone() {
|
|
22
|
-
return (
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
onSuccess: function onSuccess() {
|
|
29
|
-
return window.location.reload();
|
|
30
|
-
}
|
|
31
|
-
})
|
|
32
|
-
);
|
|
22
|
+
return useMutation({
|
|
23
|
+
mutationFn: timeZoneApi.updateTimeZone,
|
|
24
|
+
onSuccess: function onSuccess() {
|
|
25
|
+
return window.location.reload();
|
|
26
|
+
}
|
|
27
|
+
});
|
|
33
28
|
};
|
|
34
29
|
|
|
35
30
|
dayjs.extend(utc);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimezoneMismatchModal.js","sources":["../src/components/TimezoneMismatchModal/apis/time_zone.js","../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../src/components/TimezoneMismatchModal/utils.js","../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n
|
|
1
|
+
{"version":3,"file":"TimezoneMismatchModal.js","sources":["../src/components/TimezoneMismatchModal/apis/time_zone.js","../src/components/TimezoneMismatchModal/useTimeZoneApi.js","../src/components/TimezoneMismatchModal/utils.js","../src/components/TimezoneMismatchModal/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nconst timeZoneUrl = \"api/v1/time_zone\";\n\nconst updateTimeZone = payload => axios.patch(timeZoneUrl, payload);\n\nconst timeZoneApi = { updateTimeZone };\n\nexport default timeZoneApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation({\n mutationFn: timeZoneApi.updateTimeZone,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useUpdateTimeZone };\n","import dayjs from \"dayjs\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport utc from \"dayjs/plugin/utc\";\nimport { globalProps } from \"neetocommons/initializers\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const getBrowserTimeZone = () => dayjs.tz.guess();\n\nexport const getUserTimeZone = () => globalProps.user?.timeZone;\n\nexport const checkIfTwoTimeZonesAreSame = (timeZone1, timeZone2) =>\n // eslint-disable-next-line @bigbinary/neeto/use-standard-date-time-formats\n dayjs().tz(timeZone1).format(\"Z\") === dayjs().tz(timeZone2).format(\"Z\");\n","/* eslint-disable @bigbinary/neeto/use-webpack-alias */\nimport React, { useEffect, useState } from \"react\";\n\nimport { noop } from \"@bigbinary/neeto-cist\";\nimport { Button, Modal, Typography } from \"@bigbinary/neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useUpdateTimeZone } from \"./useTimeZoneApi\";\nimport {\n checkIfTwoTimeZonesAreSame,\n getBrowserTimeZone,\n getUserTimeZone,\n} from \"./utils\";\n\nconst TimezoneMismatchModal = ({ isOpen = false, onClose = noop }) => {\n const { t } = useTranslation();\n const [isTimezoneModalOpen, setIsTimezoneModalOpen] = useState(false);\n const { isPending, mutate: updateTimeZone } = useUpdateTimeZone();\n const isUserAndBrowserTimeZoneSame = checkIfTwoTimeZonesAreSame(\n getUserTimeZone(),\n getBrowserTimeZone()\n );\n\n const handleUpdateTimeZone = () => {\n const payload = { timeZone: getBrowserTimeZone() };\n\n updateTimeZone(payload, {\n onSuccess: () => {\n setIsTimezoneModalOpen(false);\n onClose();\n },\n });\n };\n\n const handleCancel = () => {\n setIsTimezoneModalOpen(false);\n onClose();\n };\n\n useEffect(() => {\n if (!(process.env.RAILS_ENV !== \"heroku\")) return;\n setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);\n }, []);\n\n return (\n <Modal\n closeOnOutsideClick={false}\n isOpen={isTimezoneModalOpen || isOpen}\n size=\"large\"\n onClose={handleCancel}\n >\n <Modal.Header>\n <Typography style=\"h2\" weight=\"normal\">\n {t(\"neetoMolecules.alert.timezone.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <span className=\"flex flex-col space-y-4\">\n <Typography component=\"span\" style=\"body2\">\n {t(\"neetoMolecules.alert.timezone.message\", {\n entity: globalProps.appName,\n })}\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.userTimezone\"\n values={{ entity: getUserTimeZone() }}\n />\n </Typography>\n <Typography component=\"span\" style=\"h4\">\n <Trans\n i18nKey=\"neetoMolecules.alert.timezone.browserTimezone\"\n values={{ entity: getBrowserTimeZone() }}\n />\n </Typography>\n </span>\n </Modal.Body>\n <Modal.Footer className=\"space-x-2\">\n <Button\n data-testid=\"update-timezone-button\"\n disabled={isPending}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isPending}\n style=\"primary\"\n onClick={handleUpdateTimeZone}\n />\n <Button\n label={t(\"neetoMolecules.common.actions.cancel\")}\n style=\"text\"\n onClick={handleCancel}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nTimezoneMismatchModal.propTypes = {\n /**\n * Boolean value to toggle the modal.\n */\n isOpen: PropTypes.bool,\n /**\n * The function that's called after the modal is closed.\n */\n onClose: PropTypes.func,\n};\n\nexport default TimezoneMismatchModal;\n"],"names":["timeZoneUrl","updateTimeZone","payload","axios","patch","timeZoneApi","useUpdateTimeZone","useMutation","mutationFn","onSuccess","window","location","reload","dayjs","extend","utc","timezone","getBrowserTimeZone","tz","guess","getUserTimeZone","_globalProps$user","globalProps","user","timeZone","checkIfTwoTimeZonesAreSame","timeZone1","timeZone2","format","TimezoneMismatchModal","_ref","_ref$isOpen","isOpen","_ref$onClose","onClose","noop","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isTimezoneModalOpen","setIsTimezoneModalOpen","_useUpdateTimeZone","isPending","mutate","isUserAndBrowserTimeZoneSame","handleUpdateTimeZone","handleCancel","useEffect","process","env","RAILS_ENV","React","createElement","Modal","closeOnOutsideClick","size","Header","Typography","style","weight","Body","className","component","entity","appName","Trans","i18nKey","values","Footer","Button","disabled","label","loading","onClick"],"mappings":"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"}
|