@bigbinary/neeto-molecules 1.19.10 → 1.19.12
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/README.md +0 -2
- package/dist/Breadcrumbs.js +1 -1
- package/dist/Builder.js +5 -1
- package/dist/Builder.js.map +1 -1
- package/dist/CalendarView.js +8 -2
- package/dist/CalendarView.js.map +1 -1
- package/dist/{Chevron-c639aa31.js → Chevron-fe44fbdd.js} +2 -2
- package/dist/{Chevron-c639aa31.js.map → Chevron-fe44fbdd.js.map} +1 -1
- package/dist/Codeblock.js +1 -1
- package/dist/Columns.js +6 -2
- package/dist/Columns.js.map +1 -1
- package/dist/ConfigurePageSidebar.js +3 -2
- package/dist/ConfigurePageSidebar.js.map +1 -1
- package/dist/ConfirmationModal.js +5 -2
- package/dist/ConfirmationModal.js.map +1 -1
- package/dist/CopyToClipboardButton.js +1 -1
- package/dist/Currency.js +2 -2
- package/dist/CustomDomain.js +13 -3
- package/dist/CustomDomain.js.map +1 -1
- package/dist/CustomDomainDashboard.js +16 -4
- package/dist/CustomDomainDashboard.js.map +1 -1
- package/dist/DateFormat.js +2 -1
- package/dist/DateFormat.js.map +1 -1
- package/dist/DateRangeFilter.js +2 -1
- package/dist/DateRangeFilter.js.map +1 -1
- package/dist/DeleteArchiveModal.js +4 -1
- package/dist/DeleteArchiveModal.js.map +1 -1
- package/dist/DocumentEditor.js +2 -2
- package/dist/DownloadMobileAppCallout.js +1 -1
- package/dist/DynamicVariables.js +2 -1
- package/dist/DynamicVariables.js.map +1 -1
- package/dist/EmailForm.js +16 -4
- package/dist/EmailForm.js.map +1 -1
- package/dist/EmailPreview.js +11 -8
- package/dist/EmailPreview.js.map +1 -1
- package/dist/EmojiPicker.js +1 -1
- package/dist/EmojiReactions.js +2 -1
- package/dist/EmojiReactions.js.map +1 -1
- package/dist/ErrorPage.js +2 -1
- package/dist/ErrorPage.js.map +1 -1
- package/dist/FloatingActionMenu.js +8 -1
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/Header.js +5 -1
- package/dist/Header.js.map +1 -1
- package/dist/HelpPopover.js +3 -1
- package/dist/HelpPopover.js.map +1 -1
- package/dist/IconPicker.js +6 -1
- package/dist/IconPicker.js.map +1 -1
- package/dist/InlineInput.js +2 -1
- package/dist/InlineInput.js.map +1 -1
- package/dist/Insights.js +6 -1
- package/dist/Insights.js.map +1 -1
- package/dist/IntegrationCard.js +6 -1
- package/dist/IntegrationCard.js.map +1 -1
- package/dist/IntegrationDisconnectAlert.js +1 -1
- package/dist/IntegrationWalkthroughModal.js +3 -1
- package/dist/IntegrationWalkthroughModal.js.map +1 -1
- package/dist/IpRestriction.js +10 -2
- package/dist/IpRestriction.js.map +1 -1
- package/dist/KeyboardShortcuts.js +3 -1
- package/dist/KeyboardShortcuts.js.map +1 -1
- package/dist/LoginPage.js +5 -2
- package/dist/LoginPage.js.map +1 -1
- package/dist/MadeWith.js +2 -2
- package/dist/MadeWith.js.map +1 -1
- package/dist/MenuBar.js +3 -1
- package/dist/MenuBar.js.map +1 -1
- package/dist/Metadata.js +2 -1
- package/dist/Metadata.js.map +1 -1
- package/dist/MoreDropdown.js +3 -1
- package/dist/MoreDropdown.js.map +1 -1
- package/dist/NavigationHeader.js +6 -1
- package/dist/NavigationHeader.js.map +1 -1
- package/dist/NeetoWidget.js +11 -2
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/Onboarding.js +3 -1
- package/dist/Onboarding.js.map +1 -1
- package/dist/OptionFields.js +5 -1
- package/dist/OptionFields.js.map +1 -1
- package/dist/PageLoader.js +1 -1
- package/dist/PhoneNumber.js +4 -1
- package/dist/PhoneNumber.js.map +1 -1
- package/dist/ProductEmbed.js +11 -1
- package/dist/ProductEmbed.js.map +1 -1
- package/dist/PublishBlock.js +3 -1
- package/dist/PublishBlock.js.map +1 -1
- package/dist/PublishYourItem.js +1 -1
- package/dist/Rename.js +5 -1
- package/dist/Rename.js.map +1 -1
- package/dist/ResponsiveDevicePicker.js +1 -1
- package/dist/Schedule.js +8 -2
- package/dist/Schedule.js.map +1 -1
- package/dist/Search.js +1 -1
- package/dist/SendToFields.js +6 -2
- package/dist/SendToFields.js.map +1 -1
- package/dist/Settings.js +7 -1
- package/dist/Settings.js.map +1 -1
- package/dist/ShareRecordingPane.js +7 -1
- package/dist/ShareRecordingPane.js.map +1 -1
- package/dist/ShareViaEmail.js +14 -2
- package/dist/ShareViaEmail.js.map +1 -1
- package/dist/ShareViaLink.js +9 -2
- package/dist/ShareViaLink.js.map +1 -1
- package/dist/Sidebar.js +3 -2
- package/dist/Sidebar.js.map +1 -1
- package/dist/StickyRibbonsContainer.js +1 -1
- package/dist/SubHeader.js +7 -2
- package/dist/SubHeader.js.map +1 -1
- package/dist/SuffixedInput.js +2 -2
- package/dist/Taxonomy.js +16 -3
- package/dist/Taxonomy.js.map +1 -1
- package/dist/TimeFormat.js +2 -1
- package/dist/TimeFormat.js.map +1 -1
- package/dist/TimezoneMismatchModal.js +3 -1
- package/dist/TimezoneMismatchModal.js.map +1 -1
- package/dist/ToggleFeatureCard.js +6 -2
- package/dist/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/Breadcrumbs.js +3 -2
- package/dist/cjs/Breadcrumbs.js.map +1 -1
- package/dist/cjs/Builder.js +21 -14
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/CalendarView.js +22 -12
- package/dist/cjs/CalendarView.js.map +1 -1
- package/dist/cjs/{Chevron-5fe59f57.js → Chevron-37ef38ee.js} +6 -5
- package/dist/cjs/{Chevron-5fe59f57.js.map → Chevron-37ef38ee.js.map} +1 -1
- package/dist/cjs/Codeblock.js +1 -1
- package/dist/cjs/Columns.js +6 -2
- package/dist/cjs/Columns.js.map +1 -1
- package/dist/cjs/ConfigurePageSidebar.js +5 -3
- package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
- package/dist/cjs/ConfirmationModal.js +17 -9
- package/dist/cjs/ConfirmationModal.js.map +1 -1
- package/dist/cjs/CopyToClipboardButton.js +3 -2
- package/dist/cjs/CopyToClipboardButton.js.map +1 -1
- package/dist/cjs/Currency.js +6 -4
- package/dist/cjs/Currency.js.map +1 -1
- package/dist/cjs/CustomDomain.js +19 -6
- package/dist/cjs/CustomDomain.js.map +1 -1
- package/dist/cjs/CustomDomainDashboard.js +25 -9
- package/dist/cjs/CustomDomainDashboard.js.map +1 -1
- package/dist/cjs/DateFormat.js +6 -3
- package/dist/cjs/DateFormat.js.map +1 -1
- package/dist/cjs/DateRangeFilter.js +6 -3
- package/dist/cjs/DateRangeFilter.js.map +1 -1
- package/dist/cjs/DeleteArchiveModal.js +15 -8
- package/dist/cjs/DeleteArchiveModal.js.map +1 -1
- package/dist/cjs/DocumentEditor.js +6 -4
- package/dist/cjs/DocumentEditor.js.map +1 -1
- package/dist/cjs/DownloadMobileAppCallout.js +3 -2
- package/dist/cjs/DownloadMobileAppCallout.js.map +1 -1
- package/dist/cjs/DynamicVariables.js +7 -4
- package/dist/cjs/DynamicVariables.js.map +1 -1
- package/dist/cjs/EmailForm.js +32 -13
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/EmailPreview.js +20 -15
- package/dist/cjs/EmailPreview.js.map +1 -1
- package/dist/cjs/EmojiPicker.js +3 -2
- package/dist/cjs/EmojiPicker.js.map +1 -1
- package/dist/cjs/EmojiReactions.js +6 -3
- package/dist/cjs/EmojiReactions.js.map +1 -1
- package/dist/cjs/ErrorPage.js +8 -5
- package/dist/cjs/ErrorPage.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +40 -27
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/Header.js +7 -2
- package/dist/cjs/Header.js.map +1 -1
- package/dist/cjs/HelpPopover.js +11 -6
- package/dist/cjs/HelpPopover.js.map +1 -1
- package/dist/cjs/IconPicker.js +20 -9
- package/dist/cjs/IconPicker.js.map +1 -1
- package/dist/cjs/InlineInput.js +7 -4
- package/dist/cjs/InlineInput.js.map +1 -1
- package/dist/cjs/Insights.js +18 -11
- package/dist/cjs/Insights.js.map +1 -1
- package/dist/cjs/IntegrationCard.js +18 -8
- package/dist/cjs/IntegrationCard.js.map +1 -1
- package/dist/cjs/IntegrationDisconnectAlert.js +3 -2
- package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -1
- package/dist/cjs/IntegrationWalkthroughModal.js +10 -5
- package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -1
- package/dist/cjs/IpRestriction.js +43 -25
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/KeyboardShortcuts.js +13 -8
- package/dist/cjs/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/LoginPage.js +21 -13
- package/dist/cjs/LoginPage.js.map +1 -1
- package/dist/cjs/MadeWith.js +2 -2
- package/dist/cjs/MadeWith.js.map +1 -1
- package/dist/cjs/MenuBar.js +15 -10
- package/dist/cjs/MenuBar.js.map +1 -1
- package/dist/cjs/Metadata.js +10 -7
- package/dist/cjs/Metadata.js.map +1 -1
- package/dist/cjs/MoreDropdown.js +14 -9
- package/dist/cjs/MoreDropdown.js.map +1 -1
- package/dist/cjs/NavigationHeader.js +10 -3
- package/dist/cjs/NavigationHeader.js.map +1 -1
- package/dist/cjs/NeetoWidget.js +52 -32
- package/dist/cjs/NeetoWidget.js.map +1 -1
- package/dist/cjs/Onboarding.js +16 -11
- package/dist/cjs/Onboarding.js.map +1 -1
- package/dist/cjs/OptionFields.js +25 -16
- package/dist/cjs/OptionFields.js.map +1 -1
- package/dist/cjs/PageLoader.js +3 -2
- package/dist/cjs/PageLoader.js.map +1 -1
- package/dist/cjs/PhoneNumber.js +13 -6
- package/dist/cjs/PhoneNumber.js.map +1 -1
- package/dist/cjs/ProductEmbed.js +53 -32
- package/dist/cjs/ProductEmbed.js.map +1 -1
- package/dist/cjs/PublishBlock.js +12 -7
- package/dist/cjs/PublishBlock.js.map +1 -1
- package/dist/cjs/PublishYourItem.js +4 -3
- package/dist/cjs/PublishYourItem.js.map +1 -1
- package/dist/cjs/Rename.js +12 -5
- package/dist/cjs/Rename.js.map +1 -1
- package/dist/cjs/ResponsiveDevicePicker.js +3 -2
- package/dist/cjs/ResponsiveDevicePicker.js.map +1 -1
- package/dist/cjs/Schedule.js +37 -23
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/Search.js +3 -2
- package/dist/cjs/Search.js.map +1 -1
- package/dist/cjs/SendToFields.js +30 -20
- package/dist/cjs/SendToFields.js.map +1 -1
- package/dist/cjs/Settings.js +15 -6
- package/dist/cjs/Settings.js.map +1 -1
- package/dist/cjs/ShareRecordingPane.js +21 -9
- package/dist/cjs/ShareRecordingPane.js.map +1 -1
- package/dist/cjs/ShareViaEmail.js +35 -15
- package/dist/cjs/ShareViaEmail.js.map +1 -1
- package/dist/cjs/ShareViaLink.js +37 -23
- package/dist/cjs/ShareViaLink.js.map +1 -1
- package/dist/cjs/Sidebar.js +7 -4
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/StickyRibbonsContainer.js +3 -2
- package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
- package/dist/cjs/SubHeader.js +11 -5
- package/dist/cjs/SubHeader.js.map +1 -1
- package/dist/cjs/SuffixedInput.js +4 -3
- package/dist/cjs/SuffixedInput.js.map +1 -1
- package/dist/cjs/Taxonomy.js +44 -21
- package/dist/cjs/Taxonomy.js.map +1 -1
- package/dist/cjs/TimeFormat.js +2 -1
- package/dist/cjs/TimeFormat.js.map +1 -1
- package/dist/cjs/TimezoneMismatchModal.js +15 -10
- package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
- package/dist/cjs/ToggleFeatureCard.js +22 -12
- package/dist/cjs/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/{index-9b0c3047.js → index-5189db17.js} +36 -20
- package/dist/cjs/{index-9b0c3047.js.map → index-5189db17.js.map} +1 -1
- package/dist/cjs/{useColumns-9978cf70.js → useColumns-5660bfea.js} +19 -10
- package/dist/cjs/{useColumns-9978cf70.js.map → useColumns-5660bfea.js.map} +1 -1
- package/dist/{index-8fd0cad5.js → index-e29acf27.js} +10 -3
- package/dist/{index-8fd0cad5.js.map → index-e29acf27.js.map} +1 -1
- package/dist/{useColumns-751e9192.js → useColumns-cec6e827.js} +6 -2
- package/dist/{useColumns-751e9192.js.map → useColumns-cec6e827.js.map} +1 -1
- package/package.json +24 -3
- package/src/translations/en.json +0 -84
- package/dist/Security.js +0 -341
- package/dist/Security.js.map +0 -1
- package/dist/ThemeSidebar.js +0 -1410
- package/dist/ThemeSidebar.js.map +0 -1
- package/dist/cjs/Security.js +0 -372
- package/dist/cjs/Security.js.map +0 -1
- package/dist/cjs/ThemeSidebar.js +0 -1443
- package/dist/cjs/ThemeSidebar.js.map +0 -1
- package/types/Security.d.ts +0 -35
- package/types/themeSidebar.d.ts +0 -80
|
@@ -6,14 +6,14 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
8
8
|
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
9
|
-
var
|
|
9
|
+
var Input = require('@bigbinary/neetoui/formik/Input');
|
|
10
10
|
var ramda = require('ramda');
|
|
11
11
|
var CopyToClipboardButton = require('./CopyToClipboardButton.js');
|
|
12
12
|
var injectCss = require('./inject-css-80a5faa3.js');
|
|
13
13
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
14
14
|
require('classnames');
|
|
15
15
|
require('@bigbinary/neeto-commons-frontend/utils/general');
|
|
16
|
-
require('@bigbinary/neetoui');
|
|
16
|
+
require('@bigbinary/neetoui/Button');
|
|
17
17
|
require('react-i18next');
|
|
18
18
|
|
|
19
19
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -22,6 +22,7 @@ var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
|
|
|
22
22
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
23
23
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
24
24
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
25
|
+
var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
|
|
25
26
|
|
|
26
27
|
var INPUT_FIELD_MIN_WIDTH = 60;
|
|
27
28
|
|
|
@@ -67,7 +68,7 @@ var SuffixedInput = function SuffixedInput(_ref) {
|
|
|
67
68
|
ref: placeholderRef
|
|
68
69
|
}, value || placeholder), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
69
70
|
className: "inline-flex max-w-full items-end gap-2"
|
|
70
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
71
|
+
}, /*#__PURE__*/React__default["default"].createElement(Input__default["default"], _extends__default["default"]({}, _objectSpread({
|
|
71
72
|
label: label,
|
|
72
73
|
name: name,
|
|
73
74
|
placeholder: placeholder
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuffixedInput.js","sources":["../../src/components/SuffixedInput/constants.js","../../src/components/SuffixedInput/index.jsx"],"sourcesContent":["export const INPUT_FIELD_MIN_WIDTH = 60;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport { Info } from \"neetoicons\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { INPUT_FIELD_MIN_WIDTH } from \"./constants\";\nimport \"./suffixed-input.scss\";\n\nconst SuffixedInput = ({\n placeholder,\n helpUrl,\n helpIconTooltipContent,\n label,\n value,\n getInputRef,\n suffix,\n isCopyToClipboardEnabled = false,\n name = \"email\",\n inputProps = {},\n}) => {\n const [initialInputWidth, setInitialInputWidth] = useState(\n INPUT_FIELD_MIN_WIDTH\n );\n const inputRef = useRef(null);\n const placeholderRef = useRef(null);\n\n const setInputRef = ref => {\n inputRef.current = ref;\n getInputRef?.(ref);\n };\n\n useEffect(() => {\n //To handle the input width on initial render.\n const placeholderSpanWidth = placeholderRef.current?.offsetWidth;\n setInitialInputWidth(placeholderSpanWidth);\n }, []);\n\n return (\n <>\n <span // Dummy element to calculate the width to be set for the input. Do not remove.\n className=\"pointer-events-none invisible absolute pl-2\"\n ref={placeholderRef}\n >\n {value || placeholder}\n </span>\n <div className=\"inline-flex max-w-full items-end gap-2\">\n <Input\n {...{ label, name, placeholder, ...inputProps }}\n className=\"nm-suffixed-input-field\"\n ref={setInputRef}\n type=\"text\"\n labelProps={{\n helpIconProps: isPresent(helpUrl) && {\n icon: Info,\n className:\n \"cursor-pointer opacity-75 hover:opacity-100 transition-opacity duration-300 ease-in-out\",\n onClick: () => window.open(helpUrl, \"_blank\"),\n tooltipProps: {\n content: helpIconTooltipContent,\n position: \"right\",\n disabled: isNotPresent(helpUrl),\n },\n },\n }}\n style={{\n minWidth: isEmpty(value) ? INPUT_FIELD_MIN_WIDTH : 0,\n width: placeholderRef.current?.offsetWidth ?? initialInputWidth, // Additional 2px to act as a buffer.\n }}\n suffix={\n // Added onClick to focus the input even when the suffix part is clicked.\n <span onClick={() => inputRef.current?.focus()}>{suffix}</span>\n }\n />\n {isCopyToClipboardEnabled && (\n <CopyToClipboardButton\n disabled={isEmpty(value)}\n style=\"text\"\n value={`${value}${suffix}`}\n />\n )}\n </div>\n </>\n );\n};\n\nSuffixedInput.propTypes = {\n /**\n * Placeholder of the input field.\n */\n placeholder: PropTypes.string,\n /**\n * A help icon will be displayed next to the label if helpUrl is present. On clicking the icon will take the user to the URL.\n */\n helpUrl: PropTypes.string,\n /**\n * Text to be displayed inside the tooltip of the help icon.\n */\n helpIconTooltipContent: PropTypes.string,\n /**\n * Label of the input field.\n */\n label: PropTypes.string,\n /**\n * The value entered by the user, eg: email.\n */\n value: PropTypes.string,\n /**\n * A method to get the ref of the input field.\n */\n getInputRef: PropTypes.func,\n /**\n * Domain name to be rendered next to the input field.\n */\n suffix: PropTypes.string,\n /**\n * Whether to show the copy to clipboard button.\n */\n isCopyToClipboardEnabled: PropTypes.bool,\n /**\n * Formik field name of the input field.\n */\n name: PropTypes.string,\n /**\n * This will be passed down to the `Input` component.\n */\n inputProps: PropTypes.object,\n};\n\nexport default SuffixedInput;\n"],"names":["INPUT_FIELD_MIN_WIDTH","SuffixedInput","_ref","_placeholderRef$curre2","_placeholderRef$curre3","placeholder","helpUrl","helpIconTooltipContent","label","value","getInputRef","suffix","_ref$isCopyToClipboar","isCopyToClipboardEnabled","_ref$name","name","_ref$inputProps","inputProps","_useState","useState","_useState2","_slicedToArray","initialInputWidth","setInitialInputWidth","inputRef","useRef","placeholderRef","setInputRef","ref","current","useEffect","_placeholderRef$curre","placeholderSpanWidth","offsetWidth","React","createElement","Fragment","className","Input","_extends","_objectSpread","type","labelProps","helpIconProps","isPresent","icon","Info","onClick","window","open","tooltipProps","content","position","disabled","isNotPresent","style","minWidth","isEmpty","width","_inputRef$current","focus","CopyToClipboardButton","concat"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SuffixedInput.js","sources":["../../src/components/SuffixedInput/constants.js","../../src/components/SuffixedInput/index.jsx"],"sourcesContent":["export const INPUT_FIELD_MIN_WIDTH = 60;\n","import React, { useEffect, useRef, useState } from \"react\";\n\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport { Info } from \"neetoicons\";\nimport { Input } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\n\nimport { INPUT_FIELD_MIN_WIDTH } from \"./constants\";\nimport \"./suffixed-input.scss\";\n\nconst SuffixedInput = ({\n placeholder,\n helpUrl,\n helpIconTooltipContent,\n label,\n value,\n getInputRef,\n suffix,\n isCopyToClipboardEnabled = false,\n name = \"email\",\n inputProps = {},\n}) => {\n const [initialInputWidth, setInitialInputWidth] = useState(\n INPUT_FIELD_MIN_WIDTH\n );\n const inputRef = useRef(null);\n const placeholderRef = useRef(null);\n\n const setInputRef = ref => {\n inputRef.current = ref;\n getInputRef?.(ref);\n };\n\n useEffect(() => {\n //To handle the input width on initial render.\n const placeholderSpanWidth = placeholderRef.current?.offsetWidth;\n setInitialInputWidth(placeholderSpanWidth);\n }, []);\n\n return (\n <>\n <span // Dummy element to calculate the width to be set for the input. Do not remove.\n className=\"pointer-events-none invisible absolute pl-2\"\n ref={placeholderRef}\n >\n {value || placeholder}\n </span>\n <div className=\"inline-flex max-w-full items-end gap-2\">\n <Input\n {...{ label, name, placeholder, ...inputProps }}\n className=\"nm-suffixed-input-field\"\n ref={setInputRef}\n type=\"text\"\n labelProps={{\n helpIconProps: isPresent(helpUrl) && {\n icon: Info,\n className:\n \"cursor-pointer opacity-75 hover:opacity-100 transition-opacity duration-300 ease-in-out\",\n onClick: () => window.open(helpUrl, \"_blank\"),\n tooltipProps: {\n content: helpIconTooltipContent,\n position: \"right\",\n disabled: isNotPresent(helpUrl),\n },\n },\n }}\n style={{\n minWidth: isEmpty(value) ? INPUT_FIELD_MIN_WIDTH : 0,\n width: placeholderRef.current?.offsetWidth ?? initialInputWidth, // Additional 2px to act as a buffer.\n }}\n suffix={\n // Added onClick to focus the input even when the suffix part is clicked.\n <span onClick={() => inputRef.current?.focus()}>{suffix}</span>\n }\n />\n {isCopyToClipboardEnabled && (\n <CopyToClipboardButton\n disabled={isEmpty(value)}\n style=\"text\"\n value={`${value}${suffix}`}\n />\n )}\n </div>\n </>\n );\n};\n\nSuffixedInput.propTypes = {\n /**\n * Placeholder of the input field.\n */\n placeholder: PropTypes.string,\n /**\n * A help icon will be displayed next to the label if helpUrl is present. On clicking the icon will take the user to the URL.\n */\n helpUrl: PropTypes.string,\n /**\n * Text to be displayed inside the tooltip of the help icon.\n */\n helpIconTooltipContent: PropTypes.string,\n /**\n * Label of the input field.\n */\n label: PropTypes.string,\n /**\n * The value entered by the user, eg: email.\n */\n value: PropTypes.string,\n /**\n * A method to get the ref of the input field.\n */\n getInputRef: PropTypes.func,\n /**\n * Domain name to be rendered next to the input field.\n */\n suffix: PropTypes.string,\n /**\n * Whether to show the copy to clipboard button.\n */\n isCopyToClipboardEnabled: PropTypes.bool,\n /**\n * Formik field name of the input field.\n */\n name: PropTypes.string,\n /**\n * This will be passed down to the `Input` component.\n */\n inputProps: PropTypes.object,\n};\n\nexport default SuffixedInput;\n"],"names":["INPUT_FIELD_MIN_WIDTH","SuffixedInput","_ref","_placeholderRef$curre2","_placeholderRef$curre3","placeholder","helpUrl","helpIconTooltipContent","label","value","getInputRef","suffix","_ref$isCopyToClipboar","isCopyToClipboardEnabled","_ref$name","name","_ref$inputProps","inputProps","_useState","useState","_useState2","_slicedToArray","initialInputWidth","setInitialInputWidth","inputRef","useRef","placeholderRef","setInputRef","ref","current","useEffect","_placeholderRef$curre","placeholderSpanWidth","offsetWidth","React","createElement","Fragment","className","Input","_extends","_objectSpread","type","labelProps","helpIconProps","isPresent","icon","Info","onClick","window","open","tooltipProps","content","position","disabled","isNotPresent","style","minWidth","isEmpty","width","_inputRef$current","focus","CopyToClipboardButton","concat"],"mappings":"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"}
|
package/dist/cjs/Taxonomy.js
CHANGED
|
@@ -6,20 +6,28 @@ var i18next = require('i18next');
|
|
|
6
6
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
7
7
|
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
8
8
|
var withTitle = require('@bigbinary/neeto-commons-frontend/react-utils/withTitle');
|
|
9
|
-
var
|
|
9
|
+
var Alert = require('@bigbinary/neetoui/Alert');
|
|
10
|
+
var NoData = require('@bigbinary/neetoui/NoData');
|
|
11
|
+
var Table = require('@bigbinary/neetoui/Table');
|
|
12
|
+
var Toastr = require('@bigbinary/neetoui/Toastr');
|
|
10
13
|
var ramda = require('ramda');
|
|
11
14
|
var reactI18next = require('react-i18next');
|
|
12
15
|
var Container = require('./Container.js');
|
|
13
16
|
var Header = require('./Header.js');
|
|
14
17
|
var SubHeader = require('./SubHeader.js');
|
|
15
18
|
var TableWrapper = require('./TableWrapper.js');
|
|
16
|
-
var
|
|
19
|
+
var Pane = require('@bigbinary/neetoui/Pane');
|
|
20
|
+
var Typography = require('@bigbinary/neetoui/Typography');
|
|
21
|
+
var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
22
|
+
var Form = require('@bigbinary/neetoui/formik/Form');
|
|
23
|
+
var Input = require('@bigbinary/neetoui/formik/Input');
|
|
17
24
|
var yup = require('yup');
|
|
18
25
|
var reactQuery = require('react-query');
|
|
19
26
|
var axios = require('axios');
|
|
20
27
|
var constants = require('@bigbinary/neeto-commons-frontend/constants');
|
|
21
28
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
22
29
|
var MoreDropdown = require('./MoreDropdown.js');
|
|
30
|
+
var Dropdown = require('@bigbinary/neetoui/Dropdown');
|
|
23
31
|
require('classnames');
|
|
24
32
|
require('./index-248c4f4c.js');
|
|
25
33
|
require('./inject-css-80a5faa3.js');
|
|
@@ -34,8 +42,13 @@ require('@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce');
|
|
|
34
42
|
require('@bigbinary/neeto-commons-frontend/react-utils/useQueryParams');
|
|
35
43
|
require('@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect');
|
|
36
44
|
require('@bigbinary/neeto-icons');
|
|
45
|
+
require('@bigbinary/neetoui/Input');
|
|
37
46
|
require('@bigbinary/neeto-commons-frontend/utils');
|
|
38
|
-
require('
|
|
47
|
+
require('@bigbinary/neetoui/Button');
|
|
48
|
+
require('@bigbinary/neetoui/Tooltip');
|
|
49
|
+
require('./useColumns-5660bfea.js');
|
|
50
|
+
require('@bigbinary/neetoui/Checkbox');
|
|
51
|
+
require('@bigbinary/neetoui/Label');
|
|
39
52
|
require('zustand');
|
|
40
53
|
require('zustand/middleware');
|
|
41
54
|
require('@bigbinary/neeto-filters-frontend');
|
|
@@ -63,9 +76,19 @@ function _interopNamespace(e) {
|
|
|
63
76
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
64
77
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
65
78
|
var withTitle__default = /*#__PURE__*/_interopDefaultLegacy(withTitle);
|
|
79
|
+
var Alert__default = /*#__PURE__*/_interopDefaultLegacy(Alert);
|
|
80
|
+
var NoData__default = /*#__PURE__*/_interopDefaultLegacy(NoData);
|
|
81
|
+
var Table__default = /*#__PURE__*/_interopDefaultLegacy(Table);
|
|
82
|
+
var Toastr__default = /*#__PURE__*/_interopDefaultLegacy(Toastr);
|
|
83
|
+
var Pane__default = /*#__PURE__*/_interopDefaultLegacy(Pane);
|
|
84
|
+
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
85
|
+
var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
|
|
86
|
+
var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
|
|
87
|
+
var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
|
|
66
88
|
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
67
89
|
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
68
90
|
var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
|
|
91
|
+
var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
|
|
69
92
|
|
|
70
93
|
var LABEL_REJECT_CHARS_REGEX = /[^a-zA-Z\d\s_-]+/;
|
|
71
94
|
var VALIDATION_SCHEMA = yup__namespace.object().shape({
|
|
@@ -133,7 +156,7 @@ var getColumnData = function getColumnData(handleEdit, setCurrentKeys, setIsRese
|
|
|
133
156
|
}];
|
|
134
157
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
135
158
|
className: "flex items-center justify-between gap-x-3"
|
|
136
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
159
|
+
}, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
137
160
|
style: "body2"
|
|
138
161
|
}, i18next.t("taxonomyDefaultLabels.".concat(values.keyName, ".singular"))), /*#__PURE__*/React__default["default"].createElement(MoreDropdown, {
|
|
139
162
|
dropdownProps: {
|
|
@@ -197,7 +220,7 @@ var EditPane = function EditPane(_ref) {
|
|
|
197
220
|
return window.location.reload();
|
|
198
221
|
},
|
|
199
222
|
onError: function onError(error) {
|
|
200
|
-
return
|
|
223
|
+
return Toastr__default["default"].error(error);
|
|
201
224
|
},
|
|
202
225
|
onSettled: function onSettled() {
|
|
203
226
|
return setSubmitting(false);
|
|
@@ -208,25 +231,25 @@ var EditPane = function EditPane(_ref) {
|
|
|
208
231
|
payload: payload
|
|
209
232
|
}, options);
|
|
210
233
|
};
|
|
211
|
-
return /*#__PURE__*/React__default["default"].createElement(
|
|
234
|
+
return /*#__PURE__*/React__default["default"].createElement(Pane__default["default"], {
|
|
212
235
|
initialFocusRef: initialFocusRef,
|
|
213
236
|
isOpen: isOpen,
|
|
214
237
|
onClose: onClose,
|
|
215
238
|
"data-testid": "taxonomy-edit-pane"
|
|
216
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
239
|
+
}, /*#__PURE__*/React__default["default"].createElement(Pane__default["default"].Header, null, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
217
240
|
style: "h2",
|
|
218
241
|
weight: "semibold"
|
|
219
242
|
}, t("neetoMolecules.taxonomy.editPane.title", {
|
|
220
243
|
entity: t("taxonomyDefaultLabels.".concat(initialValues.keyName, ".singular")).toLocaleLowerCase()
|
|
221
|
-
}))), /*#__PURE__*/React__default["default"].createElement(
|
|
244
|
+
}))), /*#__PURE__*/React__default["default"].createElement(Form__default["default"], {
|
|
222
245
|
formikProps: {
|
|
223
246
|
initialValues: initialValues,
|
|
224
247
|
validationSchema: VALIDATION_SCHEMA,
|
|
225
248
|
onSubmit: handleSubmit
|
|
226
249
|
}
|
|
227
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
250
|
+
}, /*#__PURE__*/React__default["default"].createElement(Pane__default["default"].Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
228
251
|
className: "w-full space-y-6"
|
|
229
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
252
|
+
}, /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
|
|
230
253
|
required: true,
|
|
231
254
|
className: "w-full",
|
|
232
255
|
"data-cy": "taxonomy-singular-input-field",
|
|
@@ -235,7 +258,7 @@ var EditPane = function EditPane(_ref) {
|
|
|
235
258
|
name: "singularLabel",
|
|
236
259
|
ref: initialFocusRef,
|
|
237
260
|
rejectCharsRegex: LABEL_REJECT_CHARS_REGEX
|
|
238
|
-
}), /*#__PURE__*/React__default["default"].createElement(
|
|
261
|
+
}), /*#__PURE__*/React__default["default"].createElement(Input__default["default"], {
|
|
239
262
|
required: true,
|
|
240
263
|
className: "w-full",
|
|
241
264
|
"data-cy": "taxonomy-plural-input-field",
|
|
@@ -243,7 +266,7 @@ var EditPane = function EditPane(_ref) {
|
|
|
243
266
|
label: t("neetoMolecules.taxonomy.pluralLabel"),
|
|
244
267
|
name: "pluralLabel",
|
|
245
268
|
rejectCharsRegex: LABEL_REJECT_CHARS_REGEX
|
|
246
|
-
}))), /*#__PURE__*/React__default["default"].createElement(
|
|
269
|
+
}))), /*#__PURE__*/React__default["default"].createElement(Pane__default["default"].Footer, null, /*#__PURE__*/React__default["default"].createElement(ActionBlock__default["default"], {
|
|
247
270
|
cancelButtonProps: {
|
|
248
271
|
onClick: onClose,
|
|
249
272
|
disabled: false
|
|
@@ -258,9 +281,9 @@ var LeftActionBlock = function LeftActionBlock(_ref) {
|
|
|
258
281
|
setIsResetModalOpen = _ref.setIsResetModalOpen,
|
|
259
282
|
setCurrentKeys = _ref.setCurrentKeys,
|
|
260
283
|
selectedRowIds = _ref.selectedRowIds;
|
|
261
|
-
var Menu =
|
|
262
|
-
MenuItem =
|
|
263
|
-
return !!totalCount && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, selectedCount > 0 ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(
|
|
284
|
+
var Menu = Dropdown__default["default"].Menu,
|
|
285
|
+
MenuItem = Dropdown__default["default"].MenuItem;
|
|
286
|
+
return !!totalCount && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, selectedCount > 0 ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
264
287
|
className: "mr-4 font-semibold",
|
|
265
288
|
component: "h4",
|
|
266
289
|
"data-cy": "item-count"
|
|
@@ -275,7 +298,7 @@ var LeftActionBlock = function LeftActionBlock(_ref) {
|
|
|
275
298
|
className: "neeto-ui-text-gray-600"
|
|
276
299
|
})
|
|
277
300
|
}
|
|
278
|
-
})), /*#__PURE__*/React__default["default"].createElement(
|
|
301
|
+
})), /*#__PURE__*/React__default["default"].createElement(Dropdown__default["default"], {
|
|
279
302
|
buttonStyle: "secondary",
|
|
280
303
|
label: i18next.t("neetoMolecules.taxonomy.actionBlock.takeAction")
|
|
281
304
|
}, /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
|
|
@@ -284,7 +307,7 @@ var LeftActionBlock = function LeftActionBlock(_ref) {
|
|
|
284
307
|
setCurrentKeys(selectedRowIds);
|
|
285
308
|
setIsResetModalOpen(true);
|
|
286
309
|
}
|
|
287
|
-
}, i18next.t("neetoMolecules.common.actions.resetToDefaults"))))) : /*#__PURE__*/React__default["default"].createElement(
|
|
310
|
+
}, i18next.t("neetoMolecules.common.actions.resetToDefaults"))))) : /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
288
311
|
className: "mr-4 font-semibold",
|
|
289
312
|
component: "h4",
|
|
290
313
|
"data-cy": "item-count"
|
|
@@ -346,7 +369,7 @@ var Taxonomy = function Taxonomy(_ref) {
|
|
|
346
369
|
return window.location.reload();
|
|
347
370
|
},
|
|
348
371
|
onError: function onError(error) {
|
|
349
|
-
return
|
|
372
|
+
return Toastr__default["default"].error(error);
|
|
350
373
|
}
|
|
351
374
|
};
|
|
352
375
|
bulkDestroyTaxonomies(payload, options);
|
|
@@ -386,7 +409,7 @@ var Taxonomy = function Taxonomy(_ref) {
|
|
|
386
409
|
selectedCount: selectedRowIds.length,
|
|
387
410
|
totalCount: Object.entries(filteredTaxonomies).length
|
|
388
411
|
})
|
|
389
|
-
}), neetoCist.isNotEmpty(filteredTaxonomies) ? /*#__PURE__*/React__default["default"].createElement(TableWrapper, null, /*#__PURE__*/React__default["default"].createElement(
|
|
412
|
+
}), neetoCist.isNotEmpty(filteredTaxonomies) ? /*#__PURE__*/React__default["default"].createElement(TableWrapper, null, /*#__PURE__*/React__default["default"].createElement(Table__default["default"], {
|
|
390
413
|
fixedHeight: true,
|
|
391
414
|
rowSelection: true,
|
|
392
415
|
allowRowClick: false,
|
|
@@ -405,7 +428,7 @@ var Taxonomy = function Taxonomy(_ref) {
|
|
|
405
428
|
onClose: function onClose() {
|
|
406
429
|
return setIsEditTaxonomyPaneOpen(false);
|
|
407
430
|
}
|
|
408
|
-
}), /*#__PURE__*/React__default["default"].createElement(
|
|
431
|
+
}), /*#__PURE__*/React__default["default"].createElement(Alert__default["default"], {
|
|
409
432
|
isOpen: isResetModalOpen,
|
|
410
433
|
submitButtonLabel: i18next.t("neetoMolecules.common.actions.proceed"),
|
|
411
434
|
title: i18next.t("neetoMolecules.taxonomy.resetAlert.title"),
|
|
@@ -422,7 +445,7 @@ var Taxonomy = function Taxonomy(_ref) {
|
|
|
422
445
|
onSubmit: handleDelete
|
|
423
446
|
})) : /*#__PURE__*/React__default["default"].createElement("div", {
|
|
424
447
|
className: "flex h-full w-full items-center justify-center"
|
|
425
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
448
|
+
}, /*#__PURE__*/React__default["default"].createElement(NoData__default["default"], {
|
|
426
449
|
title: i18next.t("neetoMolecules.taxonomy.noData")
|
|
427
450
|
})));
|
|
428
451
|
};
|
package/dist/cjs/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 \"react-query\";\n\nimport taxonomiesApi from \"./api\";\n\nconst useUpdateTaxonomy = options => useMutation(taxonomiesApi.update, options);\n\nconst useBulkDestroyTaxonomies = options =>\n useMutation(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","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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"}
|
|
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 \"react-query\";\n\nimport taxonomiesApi from \"./api\";\n\nconst useUpdateTaxonomy = options => useMutation(taxonomiesApi.update, options);\n\nconst useBulkDestroyTaxonomies = options =>\n useMutation(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","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,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AAClDC,EAAAA,aAAa,EAAEH,cAAG,CACfI,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,CAAC,oEAAoE,CACxE,CAAC;AACHC,EAAAA,WAAW,EAAER,cAAG,CACbI,MAAM,EAAE,CACRC,IAAI,EAAE,CACNC,QAAQ,CACPC,SAAC,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,yBAAK,CAACC,KAAK,CAAA,EAAA,CAAAC,MAAA,CAAIC,yBAAe,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,yBAAK,CAAO,QAAA,CAAA,CAAA,EAAA,CAAAE,MAAA,CAAIC,yBAAe,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,OAAIC,sBAAW,CAACH,aAAa,CAACV,MAAM,EAAEY,OAAO,CAAC,CAAA;AAAA,CAAA,CAAA;AAE/E,IAAME,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGF,OAAO,EAAA;AAAA,EAAA,OACtCC,sBAAW,CAACH,aAAa,CAACF,WAAW,EAAEI,OAAO,CAAC,CAAA;AAAA,CAAA;;ACE1C,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAA;AAAA,EAAA,OAAIC,oBAAU,CAACD,KAAK,CAACpB,IAAI,EAAE,CAAC,CAAA;AAAA,CAAA,CAAA;AAErD,IAAMsB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,UAAU,EAAA;EAAA,OAC1CC,aAAO,CAACD,UAAU,CAAC,CAACE,GAAG,CAAC,UAAApB,IAAA,EAAA;AAAA,IAAA,IAAAqB,KAAA,GAAAC,kCAAA,CAAAtB,IAAA,EAAA,CAAA,CAAA;AAAEC,MAAAA,OAAO,GAAAoB,KAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,MAAM,GAAAF,KAAA,CAAA,CAAA,CAAA,CAAA;IAAA,OAAO;AAC9CpB,MAAAA,OAAO,EAAPA,OAAO;AACPR,MAAAA,aAAa,EAAE8B,MAAM,CAAC,UAAU,CAAC;MACjCzB,WAAW,EAAEyB,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,EAAE/B,SAAC,CAAC,sCAAsC,CAAC;AAChDgC,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,EAAElB,SAAC,CAAC,oCAAoC,CAAC;QAC9CuC,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,EAAElB,SAAC,CAAC,+CAA+C,CAAC;QACzDuC,OAAO,EAAE,SAAAA,OAAAA,GAAM;AACbV,UAAAA,cAAc,CAAC,CAACQ,MAAM,CAACjC,OAAO,CAAC,CAAC,CAAA;UAChC0B,mBAAmB,CAAC,IAAI,CAAC,CAAA;AAC3B,SAAA;AACF,OAAC,CACF,CAAA;MAED,oBACEU,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,2CAAA;AAA2C,OAAA,eACxDF,yBAAA,CAAAC,aAAA,CAACE,8BAAU,EAAA;AAACC,QAAAA,KAAK,EAAC,OAAA;AAAO,OAAA,EACtB5C,SAAC,CAAA,wBAAA,CAAAQ,MAAA,CAA0B6B,MAAM,CAACjC,OAAO,EAAW,WAAA,CAAA,CAC3C,CAAC,eACboC,yBAAA,CAAAC,aAAA,CAACI,YAAY,EAAA;AACXC,QAAAA,aAAa,EAAE;AAAEC,UAAAA,QAAQ,EAAE,OAAA;SAAU;AACrCC,QAAAA,mBAAmB,EAAE;AACnB,UAAA,aAAa,EAAAxC,oBAAAA,CAAAA,MAAA,CAAuB6B,MAAM,CAACjC,OAAO,CAAA;SAClD;AACIkC,QAAAA,SAAS,EAATA,SAAAA;AAAS,OAChB,CACE,CAAC,CAAA;AAEV,KAAA;AACF,GAAC,EACD;AACEP,IAAAA,KAAK,EAAE/B,SAAC,CAAC,uCAAuC,CAAC;AACjDgC,IAAAA,SAAS,EAAE,eAAe;AAC1BC,IAAAA,GAAG,EAAE,eAAe;AACpBC,IAAAA,KAAK,EAAE,GAAA;AACT,GAAC,EACD;AACEH,IAAAA,KAAK,EAAE/B,SAAC,CAAC,qCAAqC,CAAC;AAC/CgC,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,aAAO,CAACD,UAAU,CAAC,CAAC+B,MAAM,CAAC,UAAAC,KAAA,EAAkB;AAAA,IAAA,IAAAC,KAAA,GAAA7B,kCAAA,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,GAAGxD,SAAC,CAAA,wBAAA,CAAAQ,MAAA,CAA0ByB,GAAG,cAAW,CAAC,CAAA;AAC/D,IAAA,IAAMwB,cAAc,GAAA,CAAID,YAAY,CAAA,CAAAhD,MAAA,CAAAkD,sCAAA,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,eAAS,CAACb,aAAa,CAAC,CAAA;AACjC,CAAC;;AC5ED,IAAMc,QAAQ,GAAG,SAAXA,QAAQA,CAAA9D,IAAA,EAA2C;AAAA,EAAA,IAArC+D,aAAa,GAAA/D,IAAA,CAAb+D,aAAa;IAAEC,MAAM,GAAAhE,IAAA,CAANgE,MAAM;IAAEC,OAAO,GAAAjE,IAAA,CAAPiE,OAAO,CAAA;AAChD,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtBtE,CAAC,GAAAqE,eAAA,CAADrE,CAAC,CAAA;AACT,EAAA,IAAMuE,eAAe,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;AAEpC,EAAA,IAAAC,kBAAA,GAAmC5D,iBAAiB,EAAE;IAAtC6D,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,IAAQzE,OAAO,GAAiCiC,MAAM,CAA9CjC,OAAO;MAAER,aAAa,GAAkByC,MAAM,CAArCzC,aAAa;MAAEK,WAAW,GAAKoC,MAAM,CAAtBpC,WAAW,CAAA;AAE3C,IAAA,IAAMI,OAAO,GAAG;AACdyE,MAAAA,QAAQ,EAAE;AACR1E,QAAAA,OAAO,EAAPA,OAAO;AACPR,QAAAA,aAAa,EAAEqB,WAAW,CAACrB,aAAa,CAAC;QACzCK,WAAW,EAAEgB,WAAW,CAAChB,WAAW,CAAA;AACtC,OAAA;KACD,CAAA;AAED,IAAA,IAAMa,OAAO,GAAG;MACdiE,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,0BAAM,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;AAAEtE,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,OAAO,EAAPA,OAAAA;KAAS,EAAES,OAAO,CAAC,CAAA;GAC9C,CAAA;AAED,EAAA,oBACE0B,yBAAA,CAAAC,aAAA,CAAC8C,wBAAI,EAAA;AACGhB,IAAAA,eAAe,EAAfA,eAAe;AAAEJ,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;IACtC,aAAY,EAAA,oBAAA;AAAoB,GAAA,eAEhC5B,yBAAA,CAAAC,aAAA,CAAC8C,wBAAI,CAACC,MAAM,EAAA,IAAA,eACVhD,yBAAA,CAAAC,aAAA,CAACE,8BAAU,EAAA;AAACC,IAAAA,KAAK,EAAC,IAAI;AAAC6C,IAAAA,MAAM,EAAC,UAAA;GAC3BzF,EAAAA,CAAC,CAAC,wCAAwC,EAAE;AAC3C0F,IAAAA,MAAM,EAAE1F,CAAC,CAAAQ,wBAAAA,CAAAA,MAAA,CACkB0D,aAAa,CAAC9D,OAAO,EAChD,WAAA,CAAA,CAAC,CAACuF,iBAAiB,EAAC;GACrB,CACS,CACD,CAAC,eACdnD,yBAAA,CAAAC,aAAA,CAACmD,wBAAI,EAAA;AACHC,IAAAA,WAAW,EAAE;AACX3B,MAAAA,aAAa,EAAbA,aAAa;AACb4B,MAAAA,gBAAgB,EAAEtG,iBAAiB;AACnCuG,MAAAA,QAAQ,EAAEnB,YAAAA;AACZ,KAAA;GAEApC,eAAAA,yBAAA,CAAAC,aAAA,CAAC8C,wBAAI,CAACS,IAAI,EAAA,IAAA,eACRxD,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,kBAAA;AAAkB,GAAA,eAC/BF,yBAAA,CAAAC,aAAA,CAACwD,yBAAK,EAAA;IACJlG,QAAQ,EAAA,IAAA;AACR2C,IAAAA,SAAS,EAAC,QAAQ;AAClB,IAAA,SAAA,EAAQ,+BAA+B;AACvC,IAAA,aAAA,EAAY,+BAA+B;AAC3CxB,IAAAA,KAAK,EAAElB,CAAC,CAAC,uCAAuC,CAAE;AAClDkG,IAAAA,IAAI,EAAC,eAAe;AACpBC,IAAAA,GAAG,EAAE5B,eAAgB;AACrB6B,IAAAA,gBAAgB,EAAE7G,wBAAAA;AAAyB,GAC5C,CAAC,eACFiD,yBAAA,CAAAC,aAAA,CAACwD,yBAAK,EAAA;IACJlG,QAAQ,EAAA,IAAA;AACR2C,IAAAA,SAAS,EAAC,QAAQ;AAClB,IAAA,SAAA,EAAQ,6BAA6B;AACrC,IAAA,aAAA,EAAY,6BAA6B;AACzCxB,IAAAA,KAAK,EAAElB,CAAC,CAAC,qCAAqC,CAAE;AAChDkG,IAAAA,IAAI,EAAC,aAAa;AAClBE,IAAAA,gBAAgB,EAAE7G,wBAAAA;AAAyB,GAC5C,CACE,CACI,CAAC,eACZiD,yBAAA,CAAAC,aAAA,CAAC8C,wBAAI,CAACc,MAAM,EACV7D,IAAAA,eAAAA,yBAAA,CAAAC,aAAA,CAAC6D,+BAAW,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,CAAAtG,IAAA,EAMf;AAAA,EAAA,IALJuG,aAAa,GAAAvG,IAAA,CAAbuG,aAAa;IACbC,UAAU,GAAAxG,IAAA,CAAVwG,UAAU;IACV7E,mBAAmB,GAAA3B,IAAA,CAAnB2B,mBAAmB;IACnBD,cAAc,GAAA1B,IAAA,CAAd0B,cAAc;IACd+E,cAAc,GAAAzG,IAAA,CAAdyG,cAAc,CAAA;AAEd,EAAA,IAAQC,IAAI,GAAeC,4BAAQ,CAA3BD,IAAI;IAAEE,QAAQ,GAAKD,4BAAQ,CAArBC,QAAQ,CAAA;AAEtB,EAAA,OACE,CAAC,CAACJ,UAAU,iBACVnE,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAwE,QAAA,EAAA,IAAA,EACGN,aAAa,GAAG,CAAC,gBAChBlE,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAwE,QAAA,EAAA,IAAA,eACExE,yBAAA,CAAAC,aAAA,CAACE,8BAAU,EAAA;AACTD,IAAAA,SAAS,EAAC,oBAAoB;AAC9BuE,IAAAA,SAAS,EAAC,IAAI;IACd,SAAQ,EAAA,YAAA;AAAY,GAAA,eAEpBzE,yBAAA,CAAAC,aAAA,CAACyE,kBAAK,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,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMC,QAAAA,SAAS,EAAC,wBAAA;OAA0B,CAAA;AAClD,KAAA;AAAE,GACH,CACS,CAAC,eACbF,yBAAA,CAAAC,aAAA,CAACqE,4BAAQ,EAAA;AACPS,IAAAA,WAAW,EAAC,WAAW;IACvBrG,KAAK,EAAElB,SAAC,CAAC,gDAAgD,CAAA;AAAE,GAAA,eAE3DwC,yBAAA,CAAAC,aAAA,CAACoE,IAAI,EAAA,IAAA,eACHrE,yBAAA,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,EAED9B,SAAC,CAAC,+CAA+C,CACnC,CACb,CACE,CACV,CAAC,gBAEHwC,yBAAA,CAAAC,aAAA,CAACE,8BAAU,EAAA;AACTD,IAAAA,SAAS,EAAC,oBAAoB;AAC9BuE,IAAAA,SAAS,EAAC,IAAI;IACd,SAAQ,EAAA,YAAA;GAEPjH,EAAAA,SAAC,CAAC,uDAAuD,EAAE;AAC1DoH,IAAAA,KAAK,EAAET,UAAAA;GACR,CACS,CAEd,CACH,CAAA;AAEL,CAAC;;ACvCD,IAAMc,QAAQ,GAAG,SAAXA,QAAQA,CAAAtH,IAAA,EAAwB;AAAA,EAAA,IAAlBuH,WAAW,GAAAvH,IAAA,CAAXuH,WAAW,CAAA;AAC7B,EAAA,IAAAC,SAAA,GAAgDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAApG,kCAAA,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,cAAQ,CAAC,KAAK,CAAC;IAAAI,UAAA,GAAAvG,kCAAA,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,cAAQ,CAAC,EAAE,CAAC;IAAAQ,UAAA,GAAA3G,kCAAA,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,cAAQ,CAAC,EAAE,CAAC;IAAAW,UAAA,GAAA9G,kCAAA,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,cAAQ,CAAC,EAAE,CAAC;IAAAc,WAAA,GAAAjH,kCAAA,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,cAAQ,CAAC,EAAE,CAAC;IAAAkB,WAAA,GAAArH,kCAAA,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,cAAQ,CAAC,KAAK,CAAC;IAAAqB,WAAA,GAAAxH,kCAAA,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,UAAI,CAACC,wBAAW,CAACrI,UAAU,CAAC,CAAA;AACrD,EAAA,IAAMsI,cAAc,GAAGC,UAAI,CAACJ,gBAAgB,EAAEnI,uBAAU,CAAC,CAAA;AAEzD,EAAA,IAAAwI,WAAA,GAAoDjC,cAAQ,CAAC+B,cAAc,CAAC;IAAAG,WAAA,GAAArI,kCAAA,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,IAAM9J,OAAO,GAAG;AAAE+J,MAAAA,QAAQ,EAAErB,WAAAA;KAAa,CAAA;AAEzC,IAAA,IAAMjI,OAAO,GAAG;MACdiE,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,0BAAM,CAACD,KAAK,CAACA,KAAK,CAAC,CAAA;AAAA,OAAA;KACtC,CAAA;AAEDmE,IAAAA,qBAAqB,CAAClJ,OAAO,EAAES,OAAO,CAAC,CAAA;GACxC,CAAA;AAED,EAAA,IAAMc,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,eAAS,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,yBAAA,CAAAC,aAAA,CAACoI,SAAS,qBACRrI,yBAAA,CAAAC,aAAA,CAAC+C,MAAM,EAAA;AACCkC,IAAAA,WAAW,EAAXA,WAAW;AACjBoD,IAAAA,IAAI,EAAE5B,cAAc,GAAG,OAAO,GAAG,OAAQ;AACzCnH,IAAAA,KAAK,EAAE/B,SAAC,CAAC,+BAA+B,CAAE;AAC1C+K,IAAAA,WAAW,EAAE;AACXC,MAAAA,QAAQ,EAAEX,YAAY;AACtB9G,MAAAA,KAAK,EAAEoF,YAAY;MACnBsC,WAAW,EAAEjL,SAAC,CAAC,wCAAwC,CAAA;AACzD,KAAA;AAAE,GACH,CAAC,eACFwC,yBAAA,CAAAC,aAAA,CAACyI,SAAS,EAAA;AACRC,IAAAA,eAAe,eACb3I,yBAAA,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,oBAAU,CAACvB,kBAAkB,CAAC,gBAC7BvH,yBAAA,CAAAC,aAAA,CAAC8I,YAAY,EAAA,IAAA,eACX/I,yBAAA,CAAAC,aAAA,CAAC+I,yBAAK,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,UAAI,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,yBAAA,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,yBAAA,CAAAC,aAAA,CAAC4J,yBAAK,EAAA;AACJlI,IAAAA,MAAM,EAAE2D,gBAAiB;AACzBwE,IAAAA,iBAAiB,EAAEtM,SAAC,CAAC,uCAAuC,CAAE;AAC9D+B,IAAAA,KAAK,EAAE/B,SAAC,CAAC,0CAA0C,CAAE;AACrDuM,IAAAA,OAAO,eACL/J,yBAAA,CAAAC,aAAA,CAACyE,kBAAK,EAAA;AACJC,MAAAA,OAAO,EAAC,4CAA4C;AACpD9E,MAAAA,MAAM,EAAE;QACN+E,KAAK,EAAE2B,WAAW,CAACqC,MAAM;QACzBoB,IAAI,EAAExM,SAAC,CAAAQ,wBAAAA,CAAAA,MAAA,CAA0BuI,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,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,gDAAA;AAAgD,GAAA,eAC7DF,yBAAA,CAAAC,aAAA,CAACgK,0BAAM,EAAA;IAAC1K,KAAK,EAAE/B,SAAC,CAAC,gCAAgC,CAAA;GAAI,CAClD,CAEE,CAAC,CAAA;AAEhB,CAAC,CAAA;AAcD,YAAe0M,6BAAS,CAACjF,QAAQ,EAAEzH,SAAC,CAAC,sCAAsC,CAAC,CAAC;;;;"}
|
package/dist/cjs/TimeFormat.js
CHANGED
|
@@ -6,7 +6,8 @@ require('react');
|
|
|
6
6
|
require('@bigbinary/neeto-cist');
|
|
7
7
|
require('@bigbinary/neeto-commons-frontend/react-utils/useTimer');
|
|
8
8
|
require('@bigbinary/neeto-commons-frontend/utils/datetime');
|
|
9
|
-
require('@bigbinary/neetoui');
|
|
9
|
+
require('@bigbinary/neetoui/Tooltip');
|
|
10
|
+
require('@bigbinary/neetoui/Typography');
|
|
10
11
|
require('ramda');
|
|
11
12
|
|
|
12
13
|
var TimeFormat = DateFormat;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeFormat.js","sources":["../../src/components/TimeFormat.js"],"sourcesContent":["import DateFormat from \"components/DateFormat\";\n\nconst TimeFormat = DateFormat;\n\nexport default TimeFormat;\n"],"names":["TimeFormat","DateFormat"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TimeFormat.js","sources":["../../src/components/TimeFormat.js"],"sourcesContent":["import DateFormat from \"components/DateFormat\";\n\nconst TimeFormat = DateFormat;\n\nexport default TimeFormat;\n"],"names":["TimeFormat","DateFormat"],"mappings":";;;;;;;;;;;;AAEMA,IAAAA,UAAU,GAAGC;;;;"}
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
|
-
var
|
|
6
|
+
var Button = require('@bigbinary/neetoui/Button');
|
|
7
|
+
var Modal = require('@bigbinary/neetoui/Modal');
|
|
8
|
+
var Typography = require('@bigbinary/neetoui/Typography');
|
|
7
9
|
var reactI18next = require('react-i18next');
|
|
8
10
|
var reactQuery = require('react-query');
|
|
9
11
|
var axios = require('axios');
|
|
@@ -16,6 +18,9 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
16
18
|
|
|
17
19
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
18
20
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
21
|
+
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
22
|
+
var Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal);
|
|
23
|
+
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
19
24
|
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
20
25
|
var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs);
|
|
21
26
|
var timezone__default = /*#__PURE__*/_interopDefaultLegacy(timezone);
|
|
@@ -87,22 +92,22 @@ var TimezoneMismatchModal = function TimezoneMismatchModal(_ref) {
|
|
|
87
92
|
if (!(process.env.RAILS_ENV !== "heroku")) return;
|
|
88
93
|
setIsTimezoneModalOpen(!isUserAndBrowserTimeZoneSame);
|
|
89
94
|
}, []);
|
|
90
|
-
return /*#__PURE__*/React__default["default"].createElement(
|
|
95
|
+
return /*#__PURE__*/React__default["default"].createElement(Modal__default["default"], {
|
|
91
96
|
closeOnOutsideClick: false,
|
|
92
97
|
isOpen: isTimezoneModalOpen || isOpen,
|
|
93
98
|
size: "large",
|
|
94
99
|
onClose: handleCancel
|
|
95
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
100
|
+
}, /*#__PURE__*/React__default["default"].createElement(Modal__default["default"].Header, null, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
96
101
|
style: "h2",
|
|
97
102
|
weight: "normal"
|
|
98
|
-
}, t("neetoMolecules.alert.timezone.title"))), /*#__PURE__*/React__default["default"].createElement(
|
|
103
|
+
}, t("neetoMolecules.alert.timezone.title"))), /*#__PURE__*/React__default["default"].createElement(Modal__default["default"].Body, null, /*#__PURE__*/React__default["default"].createElement("span", {
|
|
99
104
|
className: "flex flex-col space-y-4"
|
|
100
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
105
|
+
}, /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
101
106
|
component: "span",
|
|
102
107
|
style: "body2"
|
|
103
108
|
}, t("neetoMolecules.alert.timezone.message", {
|
|
104
109
|
entity: globalProps.appName
|
|
105
|
-
})), /*#__PURE__*/React__default["default"].createElement(
|
|
110
|
+
})), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
106
111
|
component: "span",
|
|
107
112
|
style: "h4"
|
|
108
113
|
}, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
@@ -110,7 +115,7 @@ var TimezoneMismatchModal = function TimezoneMismatchModal(_ref) {
|
|
|
110
115
|
values: {
|
|
111
116
|
entity: getUserTimeZone()
|
|
112
117
|
}
|
|
113
|
-
})), /*#__PURE__*/React__default["default"].createElement(
|
|
118
|
+
})), /*#__PURE__*/React__default["default"].createElement(Typography__default["default"], {
|
|
114
119
|
component: "span",
|
|
115
120
|
style: "h4"
|
|
116
121
|
}, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
|
|
@@ -118,16 +123,16 @@ var TimezoneMismatchModal = function TimezoneMismatchModal(_ref) {
|
|
|
118
123
|
values: {
|
|
119
124
|
entity: getBrowserTimeZone()
|
|
120
125
|
}
|
|
121
|
-
})))), /*#__PURE__*/React__default["default"].createElement(
|
|
126
|
+
})))), /*#__PURE__*/React__default["default"].createElement(Modal__default["default"].Footer, {
|
|
122
127
|
className: "space-x-2"
|
|
123
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
128
|
+
}, /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
|
124
129
|
"data-testid": "update-timezone-button",
|
|
125
130
|
disabled: isLoading,
|
|
126
131
|
label: t("neetoMolecules.alert.timezone.updateProfile"),
|
|
127
132
|
loading: isLoading,
|
|
128
133
|
style: "primary",
|
|
129
134
|
onClick: handleUpdateTimeZone
|
|
130
|
-
}), /*#__PURE__*/React__default["default"].createElement(
|
|
135
|
+
}), /*#__PURE__*/React__default["default"].createElement(Button__default["default"], {
|
|
131
136
|
label: t("neetoMolecules.common.actions.cancel"),
|
|
132
137
|
style: "text",
|
|
133
138
|
onClick: handleCancel
|
|
@@ -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 \"react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation(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 { isLoading, 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={isLoading}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isLoading}\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","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","isLoading","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":"
|
|
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 \"react-query\";\n\nimport timeZoneApi from \"./apis/time_zone\";\n\nconst useUpdateTimeZone = () =>\n useMutation(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 { isLoading, 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={isLoading}\n label={t(\"neetoMolecules.alert.timezone.updateProfile\")}\n loading={isLoading}\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","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","isLoading","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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"}
|