@bigbinary/neeto-molecules 5.2.10 → 5.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/v2/Settings.js +1 -1
- package/dist/cjs/v2/Settings.js.map +1 -1
- package/dist/v2/Settings.js +1 -1
- package/dist/v2/Settings.js.map +1 -1
- package/package.json +1 -1
- package/src/translations/ar.json +2 -1
- package/src/translations/bg.json +2 -1
- package/src/translations/ca.json +2 -1
- package/src/translations/cs.json +2 -1
- package/src/translations/da.json +2 -1
- package/src/translations/de.json +2 -1
- package/src/translations/es-MX.json +2 -1
- package/src/translations/es.json +2 -1
- package/src/translations/et.json +2 -1
- package/src/translations/fi.json +2 -1
- package/src/translations/fil.json +2 -1
- package/src/translations/fr.json +2 -1
- package/src/translations/he.json +2 -1
- package/src/translations/hi.json +2 -1
- package/src/translations/hr.json +2 -1
- package/src/translations/hu.json +2 -1
- package/src/translations/id.json +2 -1
- package/src/translations/it.json +2 -1
- package/src/translations/ja.json +2 -1
- package/src/translations/ko.json +2 -1
- package/src/translations/nl.json +2 -1
- package/src/translations/pl.json +2 -1
- package/src/translations/pt-BR.json +2 -1
- package/src/translations/pt.json +2 -1
- package/src/translations/ro.json +2 -1
- package/src/translations/ru.json +2 -1
- package/src/translations/sk.json +2 -1
- package/src/translations/sl.json +2 -1
- package/src/translations/sv.json +2 -1
- package/src/translations/th.json +2 -1
- package/src/translations/tr.json +2 -1
- package/src/translations/uk.json +2 -1
- package/src/translations/vi.json +2 -1
- package/src/translations/zh-CN.json +2 -1
- package/src/translations/zh-TW.json +2 -1
package/dist/cjs/v2/Settings.js
CHANGED
|
@@ -120,7 +120,7 @@ var Item$1 = function Item(_ref) {
|
|
|
120
120
|
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
121
121
|
className: "mb-2.5 flex items-center gap-3",
|
|
122
122
|
children: [Icon && /*#__PURE__*/jsxRuntime.jsx(Icon, {
|
|
123
|
-
className: "text-muted-foreground",
|
|
123
|
+
className: "text-muted-foreground shrink-0",
|
|
124
124
|
size: 24
|
|
125
125
|
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
126
126
|
asChild: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","sources":["../../../src/v2/components/Settings/constants.js","../../../src/v2/components/Settings/IntegrationItem.jsx","../../../src/v2/components/Settings/Item.jsx","../../../src/v2/components/Settings/Category.jsx","../../../src/v2/components/Settings/utils.js","../../../src/v2/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\", \"tReady\"];\n","import { memo } from \"react\";\n\nimport { Badge, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst IntegrationItem = ({\n icon: Icon = null,\n description,\n label,\n path,\n href,\n isConnected,\n isMobileOrTablet = false,\n className = \"\",\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const commonProps = {\n \"data-testid\": `${hyphenate(label).replace(/\\./g, \"-\")}-integration-card`,\n className: classnames(\n \"relative flex cursor-pointer flex-col items-start gap-3 rounded-lg border border-border px-6 py-6 no-underline outline-none transition-shadow duration-300 ease-in-out md:py-8 lg:flex-row xl:gap-4\",\n \"hover:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] hover:[&_[data-settings-heading]]:text-primary\",\n \"active:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] active:[&_[data-settings-heading]]:text-primary\",\n \"focus:border-primary focus:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus:[&_[data-settings-heading]]:text-primary\",\n \"focus-visible:border-primary focus-visible:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus-visible:[&_[data-settings-heading]]:text-primary\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n {Icon && (\n <div className=\"border-border mt-0.5 flex shrink-0 items-center justify-center rounded-lg border p-1.5 shadow-sm xl:p-2.5\">\n <Icon\n data-testid={`${joinHyphenCase(label)}-integration-icon`}\n size={isMobileOrTablet ? 26 : 32}\n />\n </div>\n )}\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n <Typography\n className=\"flex flex-wrap items-center gap-2\"\n data-settings-heading=\"\"\n data-testid=\"settings-item-heading\"\n variant=\"h5\"\n weight=\"semibold\"\n >\n {label}\n {isConnected && (\n <Badge data-testid=\"integration-status-tag\" variant=\"green\">\n {t(\"neetoMolecules.integrationCard.connected\")}\n </Badge>\n )}\n </Typography>\n <Typography\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n </div>\n </LinkElement>\n );\n};\n\nIntegrationItem.propTypes = {\n /**\n * The icon component to display. Accepts lucide-react icons or brand logos.\n */\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n /**\n * A description of the integration.\n */\n description: PropTypes.string,\n /**\n * The label text for the integration item.\n */\n label: PropTypes.string.isRequired,\n /**\n * The internal route path for the integration item link.\n */\n path: PropTypes.string,\n /**\n * The external URL for the integration item link.\n */\n href: PropTypes.string,\n /**\n * Whether the integration is currently connected.\n */\n isConnected: PropTypes.bool,\n /**\n * Whether the current viewport is mobile or tablet size.\n */\n isMobileOrTablet: PropTypes.bool,\n /**\n * Additional CSS classes for the link element.\n */\n className: PropTypes.string,\n};\n\nexport default memo(IntegrationItem);\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n href,\n dataTestid,\n className = \"\",\n children,\n ...otherProps\n}) => {\n const commonProps = {\n \"data-testid\": dataTestid,\n className: classnames(\n \"group flex cursor-pointer flex-col gap-y-4 rounded-lg border border-border p-6 no-underline outline-none transition-shadow duration-300 ease-in-out\",\n \"hover:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] hover:[&_[data-settings-heading]]:text-primary\",\n \"active:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] active:[&_[data-settings-heading]]:text-primary\",\n \"focus:border-primary focus:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus:[&_[data-settings-heading]]:text-primary\",\n \"focus-visible:border-primary focus-visible:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus-visible:[&_[data-settings-heading]]:text-primary\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n <div className=\"mb-2.5 flex items-center gap-3\">\n {Icon && <Icon className=\"text-muted-foreground\" size={24} />}\n <Typography asChild variant=\"h5\" weight=\"semibold\">\n <span data-settings-heading=\"\" data-testid=\"settings-item-heading\">\n {label}\n </span>\n </Typography>\n </div>\n <Typography\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n </div>\n {children && (\n <div className=\"border-border border-t pt-3\">{children}</div>\n )}\n </LinkElement>\n );\n};\n\nItem.propTypes = {\n /**\n * The label text for the settings item.\n */\n label: PropTypes.string.isRequired,\n /**\n * A description of the settings item.\n */\n description: PropTypes.string,\n /**\n * The icon component to display. Accepts lucide-react icons.\n */\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n /**\n * The internal route path for the settings item link.\n */\n path: PropTypes.string,\n /**\n * The external URL for the settings item link.\n */\n href: PropTypes.string,\n /**\n * A custom data-testid attribute for the link element.\n */\n dataTestid: PropTypes.string,\n /**\n * Additional CSS classes for the link element.\n */\n className: PropTypes.string,\n /**\n * Optional children rendered below the description, separated by a border.\n */\n children: PropTypes.node,\n};\n\nexport default memo(Item);\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/v2/react-utils\";\n\nimport IntegrationItem from \"./IntegrationItem\";\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const { isSize } = useBreakpoints();\n const SettingsCard = isIntegration ? IntegrationItem : Item;\n const isMobileOrTablet = isSize(\"mobile\") || isSize(\"tablet\");\n\n const isLabelPresent = isPresent(label);\n\n return (\n <div\n {...{ id }}\n className={classnames(\"flex flex-col\", { \"mb-7\": isLabelPresent })}\n >\n {isLabelPresent && (\n <Typography asChild variant=\"h4\" weight=\"semibold\">\n <h2 className=\"mt-2 mb-4\" data-testid=\"settings-category-heading\">\n {label}\n </h2>\n </Typography>\n )}\n <div\n className={classnames(\n \"grid grid-cols-1 gap-3 py-1 md:grid-cols-2 lg:grid-cols-2 lg:gap-4\",\n {\n \"xl:grid-cols-2 2xl:grid-cols-3\": isIntegration,\n \"xl:grid-cols-3 2xl:grid-cols-4\": !isIntegration,\n }\n )}\n >\n {items.map(item => (\n <SettingsCard\n key={item.label}\n {...item}\n {...(isIntegration && { isMobileOrTablet })}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import { useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport useQueryParams from \"neetocommons/v2/react-utils/useQueryParams\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nimport Header from \"../Header\";\n\nconst Settings = ({\n isTitleHidden = false,\n isSearchHidden = false,\n title,\n headerProps = {},\n categories = [],\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n const isHeaderVisible = !isSearchHidden || !isTitleHidden;\n\n const headerTitle = title ?? t(\"neetoMolecules.settingsPage.title\");\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classnames(\n \"flex h-dvh grow flex-col items-start justify-start overflow-y-auto px-5 md:px-10\",\n { \"h-auto overflow-y-auto\": isTitleHidden },\n className\n )}\n >\n {isHeaderVisible && (\n <Header\n className={classnames({ \"min-h-0 pt-8 pb-4\": isTitleHidden })}\n title={!isTitleHidden && headerTitle}\n searchProps={\n isSearchHidden\n ? null\n : {\n className: \"w-72\",\n placeholder: t(\n \"neetoMolecules.settingsPage.placeholder.search\"\n ),\n }\n }\n {...headerProps}\n />\n )}\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <div className=\"text-muted-foreground flex flex-col items-center gap-2\">\n <p className=\"text-lg font-medium\">\n {t(\"neetoMolecules.settingsPage.noData\")}\n </p>\n </div>\n </div>\n ) : (\n <div className=\"w-full\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: PropTypes.bool,\n /**\n * This can be used to customize the title.\n */\n title: PropTypes.string,\n /**\n * Whether to hide the search bar or not.\n */\n isSearchHidden: PropTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: PropTypes.array,\n /**\n * Additional classes to be added to the container.\n */\n className: PropTypes.string,\n /**\n * Props to be passed to the header component.\n */\n headerProps: PropTypes.object,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","IntegrationItem","_ref","_ref$icon","icon","Icon","description","label","path","href","isConnected","_ref$isMobileOrTablet","isMobileOrTablet","_ref$className","className","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","commonProps","_objectSpread","concat","hyphenate","replace","classnames","omit","LinkElement","Link","linkProps","to","_jsxs","children","_jsx","joinHyphenCase","size","Typography","variant","weight","Badge","memo","Item","dataTestid","asChild","Category","items","id","isIntegration","_useBreakpoints","useBreakpoints","isSize","SettingsCard","isLabelPresent","isPresent","map","item","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_ref$isSearchHidden","isSearchHidden","title","_ref$headerProps","headerProps","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","isHeaderVisible","headerTitle","useEffect","Header","searchProps","placeholder","isEmpty","_createElement","key"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Settings.js","sources":["../../../src/v2/components/Settings/constants.js","../../../src/v2/components/Settings/IntegrationItem.jsx","../../../src/v2/components/Settings/Item.jsx","../../../src/v2/components/Settings/Category.jsx","../../../src/v2/components/Settings/utils.js","../../../src/v2/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\", \"tReady\"];\n","import { memo } from \"react\";\n\nimport { Badge, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst IntegrationItem = ({\n icon: Icon = null,\n description,\n label,\n path,\n href,\n isConnected,\n isMobileOrTablet = false,\n className = \"\",\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const commonProps = {\n \"data-testid\": `${hyphenate(label).replace(/\\./g, \"-\")}-integration-card`,\n className: classnames(\n \"relative flex cursor-pointer flex-col items-start gap-3 rounded-lg border border-border px-6 py-6 no-underline outline-none transition-shadow duration-300 ease-in-out md:py-8 lg:flex-row xl:gap-4\",\n \"hover:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] hover:[&_[data-settings-heading]]:text-primary\",\n \"active:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] active:[&_[data-settings-heading]]:text-primary\",\n \"focus:border-primary focus:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus:[&_[data-settings-heading]]:text-primary\",\n \"focus-visible:border-primary focus-visible:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus-visible:[&_[data-settings-heading]]:text-primary\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n {Icon && (\n <div className=\"border-border mt-0.5 flex shrink-0 items-center justify-center rounded-lg border p-1.5 shadow-sm xl:p-2.5\">\n <Icon\n data-testid={`${joinHyphenCase(label)}-integration-icon`}\n size={isMobileOrTablet ? 26 : 32}\n />\n </div>\n )}\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n <Typography\n className=\"flex flex-wrap items-center gap-2\"\n data-settings-heading=\"\"\n data-testid=\"settings-item-heading\"\n variant=\"h5\"\n weight=\"semibold\"\n >\n {label}\n {isConnected && (\n <Badge data-testid=\"integration-status-tag\" variant=\"green\">\n {t(\"neetoMolecules.integrationCard.connected\")}\n </Badge>\n )}\n </Typography>\n <Typography\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n </div>\n </LinkElement>\n );\n};\n\nIntegrationItem.propTypes = {\n /**\n * The icon component to display. Accepts lucide-react icons or brand logos.\n */\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n /**\n * A description of the integration.\n */\n description: PropTypes.string,\n /**\n * The label text for the integration item.\n */\n label: PropTypes.string.isRequired,\n /**\n * The internal route path for the integration item link.\n */\n path: PropTypes.string,\n /**\n * The external URL for the integration item link.\n */\n href: PropTypes.string,\n /**\n * Whether the integration is currently connected.\n */\n isConnected: PropTypes.bool,\n /**\n * Whether the current viewport is mobile or tablet size.\n */\n isMobileOrTablet: PropTypes.bool,\n /**\n * Additional CSS classes for the link element.\n */\n className: PropTypes.string,\n};\n\nexport default memo(IntegrationItem);\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n href,\n dataTestid,\n className = \"\",\n children,\n ...otherProps\n}) => {\n const commonProps = {\n \"data-testid\": dataTestid,\n className: classnames(\n \"group flex cursor-pointer flex-col gap-y-4 rounded-lg border border-border p-6 no-underline outline-none transition-shadow duration-300 ease-in-out\",\n \"hover:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] hover:[&_[data-settings-heading]]:text-primary\",\n \"active:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] active:[&_[data-settings-heading]]:text-primary\",\n \"focus:border-primary focus:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus:[&_[data-settings-heading]]:text-primary\",\n \"focus-visible:border-primary focus-visible:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus-visible:[&_[data-settings-heading]]:text-primary\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n <div className=\"mb-2.5 flex items-center gap-3\">\n {Icon && (\n <Icon className=\"text-muted-foreground shrink-0\" size={24} />\n )}\n <Typography asChild variant=\"h5\" weight=\"semibold\">\n <span data-settings-heading=\"\" data-testid=\"settings-item-heading\">\n {label}\n </span>\n </Typography>\n </div>\n <Typography\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n </div>\n {children && (\n <div className=\"border-border border-t pt-3\">{children}</div>\n )}\n </LinkElement>\n );\n};\n\nItem.propTypes = {\n /**\n * The label text for the settings item.\n */\n label: PropTypes.string.isRequired,\n /**\n * A description of the settings item.\n */\n description: PropTypes.string,\n /**\n * The icon component to display. Accepts lucide-react icons.\n */\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n /**\n * The internal route path for the settings item link.\n */\n path: PropTypes.string,\n /**\n * The external URL for the settings item link.\n */\n href: PropTypes.string,\n /**\n * A custom data-testid attribute for the link element.\n */\n dataTestid: PropTypes.string,\n /**\n * Additional CSS classes for the link element.\n */\n className: PropTypes.string,\n /**\n * Optional children rendered below the description, separated by a border.\n */\n children: PropTypes.node,\n};\n\nexport default memo(Item);\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/v2/react-utils\";\n\nimport IntegrationItem from \"./IntegrationItem\";\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const { isSize } = useBreakpoints();\n const SettingsCard = isIntegration ? IntegrationItem : Item;\n const isMobileOrTablet = isSize(\"mobile\") || isSize(\"tablet\");\n\n const isLabelPresent = isPresent(label);\n\n return (\n <div\n {...{ id }}\n className={classnames(\"flex flex-col\", { \"mb-7\": isLabelPresent })}\n >\n {isLabelPresent && (\n <Typography asChild variant=\"h4\" weight=\"semibold\">\n <h2 className=\"mt-2 mb-4\" data-testid=\"settings-category-heading\">\n {label}\n </h2>\n </Typography>\n )}\n <div\n className={classnames(\n \"grid grid-cols-1 gap-3 py-1 md:grid-cols-2 lg:grid-cols-2 lg:gap-4\",\n {\n \"xl:grid-cols-2 2xl:grid-cols-3\": isIntegration,\n \"xl:grid-cols-3 2xl:grid-cols-4\": !isIntegration,\n }\n )}\n >\n {items.map(item => (\n <SettingsCard\n key={item.label}\n {...item}\n {...(isIntegration && { isMobileOrTablet })}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import { useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport useQueryParams from \"neetocommons/v2/react-utils/useQueryParams\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nimport Header from \"../Header\";\n\nconst Settings = ({\n isTitleHidden = false,\n isSearchHidden = false,\n title,\n headerProps = {},\n categories = [],\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n const isHeaderVisible = !isSearchHidden || !isTitleHidden;\n\n const headerTitle = title ?? t(\"neetoMolecules.settingsPage.title\");\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classnames(\n \"flex h-dvh grow flex-col items-start justify-start overflow-y-auto px-5 md:px-10\",\n { \"h-auto overflow-y-auto\": isTitleHidden },\n className\n )}\n >\n {isHeaderVisible && (\n <Header\n className={classnames({ \"min-h-0 pt-8 pb-4\": isTitleHidden })}\n title={!isTitleHidden && headerTitle}\n searchProps={\n isSearchHidden\n ? null\n : {\n className: \"w-72\",\n placeholder: t(\n \"neetoMolecules.settingsPage.placeholder.search\"\n ),\n }\n }\n {...headerProps}\n />\n )}\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <div className=\"text-muted-foreground flex flex-col items-center gap-2\">\n <p className=\"text-lg font-medium\">\n {t(\"neetoMolecules.settingsPage.noData\")}\n </p>\n </div>\n </div>\n ) : (\n <div className=\"w-full\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: PropTypes.bool,\n /**\n * This can be used to customize the title.\n */\n title: PropTypes.string,\n /**\n * Whether to hide the search bar or not.\n */\n isSearchHidden: PropTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: PropTypes.array,\n /**\n * Additional classes to be added to the container.\n */\n className: PropTypes.string,\n /**\n * Props to be passed to the header component.\n */\n headerProps: PropTypes.object,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","IntegrationItem","_ref","_ref$icon","icon","Icon","description","label","path","href","isConnected","_ref$isMobileOrTablet","isMobileOrTablet","_ref$className","className","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","commonProps","_objectSpread","concat","hyphenate","replace","classnames","omit","LinkElement","Link","linkProps","to","_jsxs","children","_jsx","joinHyphenCase","size","Typography","variant","weight","Badge","memo","Item","dataTestid","asChild","Category","items","id","isIntegration","_useBreakpoints","useBreakpoints","isSize","SettingsCard","isLabelPresent","isPresent","map","item","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_ref$isSearchHidden","isSearchHidden","title","_ref$headerProps","headerProps","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","isHeaderVisible","headerTitle","useEffect","Header","searchProps","placeholder","isEmpty","_createElement","key"],"mappings":"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"}
|
package/dist/v2/Settings.js
CHANGED
|
@@ -118,7 +118,7 @@ var Item = function Item(_ref) {
|
|
|
118
118
|
children: [/*#__PURE__*/jsxs("div", {
|
|
119
119
|
className: "mb-2.5 flex items-center gap-3",
|
|
120
120
|
children: [Icon && /*#__PURE__*/jsx(Icon, {
|
|
121
|
-
className: "text-muted-foreground",
|
|
121
|
+
className: "text-muted-foreground shrink-0",
|
|
122
122
|
size: 24
|
|
123
123
|
}), /*#__PURE__*/jsx(Typography, {
|
|
124
124
|
asChild: true,
|
package/dist/v2/Settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","sources":["../../src/v2/components/Settings/constants.js","../../src/v2/components/Settings/IntegrationItem.jsx","../../src/v2/components/Settings/Item.jsx","../../src/v2/components/Settings/Category.jsx","../../src/v2/components/Settings/utils.js","../../src/v2/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\", \"tReady\"];\n","import { memo } from \"react\";\n\nimport { Badge, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst IntegrationItem = ({\n icon: Icon = null,\n description,\n label,\n path,\n href,\n isConnected,\n isMobileOrTablet = false,\n className = \"\",\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const commonProps = {\n \"data-testid\": `${hyphenate(label).replace(/\\./g, \"-\")}-integration-card`,\n className: classnames(\n \"relative flex cursor-pointer flex-col items-start gap-3 rounded-lg border border-border px-6 py-6 no-underline outline-none transition-shadow duration-300 ease-in-out md:py-8 lg:flex-row xl:gap-4\",\n \"hover:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] hover:[&_[data-settings-heading]]:text-primary\",\n \"active:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] active:[&_[data-settings-heading]]:text-primary\",\n \"focus:border-primary focus:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus:[&_[data-settings-heading]]:text-primary\",\n \"focus-visible:border-primary focus-visible:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus-visible:[&_[data-settings-heading]]:text-primary\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n {Icon && (\n <div className=\"border-border mt-0.5 flex shrink-0 items-center justify-center rounded-lg border p-1.5 shadow-sm xl:p-2.5\">\n <Icon\n data-testid={`${joinHyphenCase(label)}-integration-icon`}\n size={isMobileOrTablet ? 26 : 32}\n />\n </div>\n )}\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n <Typography\n className=\"flex flex-wrap items-center gap-2\"\n data-settings-heading=\"\"\n data-testid=\"settings-item-heading\"\n variant=\"h5\"\n weight=\"semibold\"\n >\n {label}\n {isConnected && (\n <Badge data-testid=\"integration-status-tag\" variant=\"green\">\n {t(\"neetoMolecules.integrationCard.connected\")}\n </Badge>\n )}\n </Typography>\n <Typography\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n </div>\n </LinkElement>\n );\n};\n\nIntegrationItem.propTypes = {\n /**\n * The icon component to display. Accepts lucide-react icons or brand logos.\n */\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n /**\n * A description of the integration.\n */\n description: PropTypes.string,\n /**\n * The label text for the integration item.\n */\n label: PropTypes.string.isRequired,\n /**\n * The internal route path for the integration item link.\n */\n path: PropTypes.string,\n /**\n * The external URL for the integration item link.\n */\n href: PropTypes.string,\n /**\n * Whether the integration is currently connected.\n */\n isConnected: PropTypes.bool,\n /**\n * Whether the current viewport is mobile or tablet size.\n */\n isMobileOrTablet: PropTypes.bool,\n /**\n * Additional CSS classes for the link element.\n */\n className: PropTypes.string,\n};\n\nexport default memo(IntegrationItem);\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n href,\n dataTestid,\n className = \"\",\n children,\n ...otherProps\n}) => {\n const commonProps = {\n \"data-testid\": dataTestid,\n className: classnames(\n \"group flex cursor-pointer flex-col gap-y-4 rounded-lg border border-border p-6 no-underline outline-none transition-shadow duration-300 ease-in-out\",\n \"hover:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] hover:[&_[data-settings-heading]]:text-primary\",\n \"active:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] active:[&_[data-settings-heading]]:text-primary\",\n \"focus:border-primary focus:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus:[&_[data-settings-heading]]:text-primary\",\n \"focus-visible:border-primary focus-visible:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus-visible:[&_[data-settings-heading]]:text-primary\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n <div className=\"mb-2.5 flex items-center gap-3\">\n {Icon && <Icon className=\"text-muted-foreground\" size={24} />}\n <Typography asChild variant=\"h5\" weight=\"semibold\">\n <span data-settings-heading=\"\" data-testid=\"settings-item-heading\">\n {label}\n </span>\n </Typography>\n </div>\n <Typography\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n </div>\n {children && (\n <div className=\"border-border border-t pt-3\">{children}</div>\n )}\n </LinkElement>\n );\n};\n\nItem.propTypes = {\n /**\n * The label text for the settings item.\n */\n label: PropTypes.string.isRequired,\n /**\n * A description of the settings item.\n */\n description: PropTypes.string,\n /**\n * The icon component to display. Accepts lucide-react icons.\n */\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n /**\n * The internal route path for the settings item link.\n */\n path: PropTypes.string,\n /**\n * The external URL for the settings item link.\n */\n href: PropTypes.string,\n /**\n * A custom data-testid attribute for the link element.\n */\n dataTestid: PropTypes.string,\n /**\n * Additional CSS classes for the link element.\n */\n className: PropTypes.string,\n /**\n * Optional children rendered below the description, separated by a border.\n */\n children: PropTypes.node,\n};\n\nexport default memo(Item);\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/v2/react-utils\";\n\nimport IntegrationItem from \"./IntegrationItem\";\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const { isSize } = useBreakpoints();\n const SettingsCard = isIntegration ? IntegrationItem : Item;\n const isMobileOrTablet = isSize(\"mobile\") || isSize(\"tablet\");\n\n const isLabelPresent = isPresent(label);\n\n return (\n <div\n {...{ id }}\n className={classnames(\"flex flex-col\", { \"mb-7\": isLabelPresent })}\n >\n {isLabelPresent && (\n <Typography asChild variant=\"h4\" weight=\"semibold\">\n <h2 className=\"mt-2 mb-4\" data-testid=\"settings-category-heading\">\n {label}\n </h2>\n </Typography>\n )}\n <div\n className={classnames(\n \"grid grid-cols-1 gap-3 py-1 md:grid-cols-2 lg:grid-cols-2 lg:gap-4\",\n {\n \"xl:grid-cols-2 2xl:grid-cols-3\": isIntegration,\n \"xl:grid-cols-3 2xl:grid-cols-4\": !isIntegration,\n }\n )}\n >\n {items.map(item => (\n <SettingsCard\n key={item.label}\n {...item}\n {...(isIntegration && { isMobileOrTablet })}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import { useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport useQueryParams from \"neetocommons/v2/react-utils/useQueryParams\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nimport Header from \"../Header\";\n\nconst Settings = ({\n isTitleHidden = false,\n isSearchHidden = false,\n title,\n headerProps = {},\n categories = [],\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n const isHeaderVisible = !isSearchHidden || !isTitleHidden;\n\n const headerTitle = title ?? t(\"neetoMolecules.settingsPage.title\");\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classnames(\n \"flex h-dvh grow flex-col items-start justify-start overflow-y-auto px-5 md:px-10\",\n { \"h-auto overflow-y-auto\": isTitleHidden },\n className\n )}\n >\n {isHeaderVisible && (\n <Header\n className={classnames({ \"min-h-0 pt-8 pb-4\": isTitleHidden })}\n title={!isTitleHidden && headerTitle}\n searchProps={\n isSearchHidden\n ? null\n : {\n className: \"w-72\",\n placeholder: t(\n \"neetoMolecules.settingsPage.placeholder.search\"\n ),\n }\n }\n {...headerProps}\n />\n )}\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <div className=\"text-muted-foreground flex flex-col items-center gap-2\">\n <p className=\"text-lg font-medium\">\n {t(\"neetoMolecules.settingsPage.noData\")}\n </p>\n </div>\n </div>\n ) : (\n <div className=\"w-full\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: PropTypes.bool,\n /**\n * This can be used to customize the title.\n */\n title: PropTypes.string,\n /**\n * Whether to hide the search bar or not.\n */\n isSearchHidden: PropTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: PropTypes.array,\n /**\n * Additional classes to be added to the container.\n */\n className: PropTypes.string,\n /**\n * Props to be passed to the header component.\n */\n headerProps: PropTypes.object,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","IntegrationItem","_ref","_ref$icon","icon","Icon","description","label","path","href","isConnected","_ref$isMobileOrTablet","isMobileOrTablet","_ref$className","className","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","commonProps","_objectSpread","concat","hyphenate","replace","classnames","omit","LinkElement","Link","linkProps","to","_jsxs","children","_jsx","joinHyphenCase","size","Typography","variant","weight","Badge","memo","Item","dataTestid","asChild","Category","items","id","isIntegration","_useBreakpoints","useBreakpoints","isSize","SettingsCard","isLabelPresent","isPresent","map","item","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_ref$isSearchHidden","isSearchHidden","title","_ref$headerProps","headerProps","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","isHeaderVisible","headerTitle","useEffect","Header","searchProps","placeholder","isEmpty","_createElement","key"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Settings.js","sources":["../../src/v2/components/Settings/constants.js","../../src/v2/components/Settings/IntegrationItem.jsx","../../src/v2/components/Settings/Item.jsx","../../src/v2/components/Settings/Category.jsx","../../src/v2/components/Settings/utils.js","../../src/v2/components/Settings/index.jsx"],"sourcesContent":["export const UNSUPPORTED_LINK_PROPS = [\"staticContext\", \"tReady\"];\n","import { memo } from \"react\";\n\nimport { Badge, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst IntegrationItem = ({\n icon: Icon = null,\n description,\n label,\n path,\n href,\n isConnected,\n isMobileOrTablet = false,\n className = \"\",\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n const commonProps = {\n \"data-testid\": `${hyphenate(label).replace(/\\./g, \"-\")}-integration-card`,\n className: classnames(\n \"relative flex cursor-pointer flex-col items-start gap-3 rounded-lg border border-border px-6 py-6 no-underline outline-none transition-shadow duration-300 ease-in-out md:py-8 lg:flex-row xl:gap-4\",\n \"hover:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] hover:[&_[data-settings-heading]]:text-primary\",\n \"active:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] active:[&_[data-settings-heading]]:text-primary\",\n \"focus:border-primary focus:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus:[&_[data-settings-heading]]:text-primary\",\n \"focus-visible:border-primary focus-visible:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus-visible:[&_[data-settings-heading]]:text-primary\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n {Icon && (\n <div className=\"border-border mt-0.5 flex shrink-0 items-center justify-center rounded-lg border p-1.5 shadow-sm xl:p-2.5\">\n <Icon\n data-testid={`${joinHyphenCase(label)}-integration-icon`}\n size={isMobileOrTablet ? 26 : 32}\n />\n </div>\n )}\n <div className=\"flex min-w-0 flex-1 flex-col gap-1\">\n <Typography\n className=\"flex flex-wrap items-center gap-2\"\n data-settings-heading=\"\"\n data-testid=\"settings-item-heading\"\n variant=\"h5\"\n weight=\"semibold\"\n >\n {label}\n {isConnected && (\n <Badge data-testid=\"integration-status-tag\" variant=\"green\">\n {t(\"neetoMolecules.integrationCard.connected\")}\n </Badge>\n )}\n </Typography>\n <Typography\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n </div>\n </LinkElement>\n );\n};\n\nIntegrationItem.propTypes = {\n /**\n * The icon component to display. Accepts lucide-react icons or brand logos.\n */\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n /**\n * A description of the integration.\n */\n description: PropTypes.string,\n /**\n * The label text for the integration item.\n */\n label: PropTypes.string.isRequired,\n /**\n * The internal route path for the integration item link.\n */\n path: PropTypes.string,\n /**\n * The external URL for the integration item link.\n */\n href: PropTypes.string,\n /**\n * Whether the integration is currently connected.\n */\n isConnected: PropTypes.bool,\n /**\n * Whether the current viewport is mobile or tablet size.\n */\n isMobileOrTablet: PropTypes.bool,\n /**\n * Additional CSS classes for the link element.\n */\n className: PropTypes.string,\n};\n\nexport default memo(IntegrationItem);\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils/general\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\nimport { Link } from \"react-router-dom\";\n\nimport { UNSUPPORTED_LINK_PROPS } from \"./constants\";\n\nconst Item = ({\n label,\n description,\n icon: Icon = null,\n path,\n href,\n dataTestid,\n className = \"\",\n children,\n ...otherProps\n}) => {\n const commonProps = {\n \"data-testid\": dataTestid,\n className: classnames(\n \"group flex cursor-pointer flex-col gap-y-4 rounded-lg border border-border p-6 no-underline outline-none transition-shadow duration-300 ease-in-out\",\n \"hover:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] hover:[&_[data-settings-heading]]:text-primary\",\n \"active:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] active:[&_[data-settings-heading]]:text-primary\",\n \"focus:border-primary focus:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus:[&_[data-settings-heading]]:text-primary\",\n \"focus-visible:border-primary focus-visible:shadow-[0px_0px_9.2px_0px_rgba(29,33,59,0.12)] focus-visible:[&_[data-settings-heading]]:text-primary\",\n className\n ),\n ...omit(UNSUPPORTED_LINK_PROPS, otherProps),\n };\n\n const LinkElement = href ? \"a\" : Link;\n const linkProps = href\n ? { href, ...commonProps }\n : { to: path, ...commonProps };\n\n return (\n <LinkElement {...linkProps}>\n <div data-testid={`settings-item-${joinHyphenCase(label)}`}>\n <div className=\"mb-2.5 flex items-center gap-3\">\n {Icon && (\n <Icon className=\"text-muted-foreground shrink-0\" size={24} />\n )}\n <Typography asChild variant=\"h5\" weight=\"semibold\">\n <span data-settings-heading=\"\" data-testid=\"settings-item-heading\">\n {label}\n </span>\n </Typography>\n </div>\n <Typography\n className=\"text-muted-foreground\"\n data-testid=\"settings-item-description\"\n variant=\"body2\"\n >\n {description}\n </Typography>\n </div>\n {children && (\n <div className=\"border-border border-t pt-3\">{children}</div>\n )}\n </LinkElement>\n );\n};\n\nItem.propTypes = {\n /**\n * The label text for the settings item.\n */\n label: PropTypes.string.isRequired,\n /**\n * A description of the settings item.\n */\n description: PropTypes.string,\n /**\n * The icon component to display. Accepts lucide-react icons.\n */\n icon: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n PropTypes.object,\n ]),\n /**\n * The internal route path for the settings item link.\n */\n path: PropTypes.string,\n /**\n * The external URL for the settings item link.\n */\n href: PropTypes.string,\n /**\n * A custom data-testid attribute for the link element.\n */\n dataTestid: PropTypes.string,\n /**\n * Additional CSS classes for the link element.\n */\n className: PropTypes.string,\n /**\n * Optional children rendered below the description, separated by a border.\n */\n children: PropTypes.node,\n};\n\nexport default memo(Item);\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/v2/react-utils\";\n\nimport IntegrationItem from \"./IntegrationItem\";\nimport Item from \"./Item\";\n\nconst Category = ({ items, label, id, isIntegration }) => {\n const { isSize } = useBreakpoints();\n const SettingsCard = isIntegration ? IntegrationItem : Item;\n const isMobileOrTablet = isSize(\"mobile\") || isSize(\"tablet\");\n\n const isLabelPresent = isPresent(label);\n\n return (\n <div\n {...{ id }}\n className={classnames(\"flex flex-col\", { \"mb-7\": isLabelPresent })}\n >\n {isLabelPresent && (\n <Typography asChild variant=\"h4\" weight=\"semibold\">\n <h2 className=\"mt-2 mb-4\" data-testid=\"settings-category-heading\">\n {label}\n </h2>\n </Typography>\n )}\n <div\n className={classnames(\n \"grid grid-cols-1 gap-3 py-1 md:grid-cols-2 lg:grid-cols-2 lg:gap-4\",\n {\n \"xl:grid-cols-2 2xl:grid-cols-3\": isIntegration,\n \"xl:grid-cols-3 2xl:grid-cols-4\": !isIntegration,\n }\n )}\n >\n {items.map(item => (\n <SettingsCard\n key={item.label}\n {...item}\n {...(isIntegration && { isMobileOrTablet })}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport default Category;\n","import { filterBy, isNotEmpty } from \"neetocist\";\n\nconst isTextMatching = (label, searchTerm) =>\n label.toLowerCase().includes(searchTerm.trim().toLowerCase());\n\nexport const scrollIntoSettingCategory = activeCategory => {\n document.getElementById(activeCategory)?.scrollIntoView({\n behavior: \"smooth\",\n });\n};\n\nexport const filterCategories = ({ categories = [], searchTerm = \"\" }) => {\n const isSearchTermBlank = !searchTerm.trim();\n\n const filteredCategories = isSearchTermBlank\n ? categories\n : categories.map(category => ({\n ...category,\n items: filterBy(\n ({ label, description }) =>\n isTextMatching(label, searchTerm) ||\n isTextMatching(description, searchTerm),\n category.items\n ),\n }));\n\n return filterBy({ items: isNotEmpty }, filteredCategories);\n};\n","import { useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport useQueryParams from \"neetocommons/v2/react-utils/useQueryParams\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Category from \"./Category\";\nimport { filterCategories, scrollIntoSettingCategory } from \"./utils\";\n\nimport Header from \"../Header\";\n\nconst Settings = ({\n isTitleHidden = false,\n isSearchHidden = false,\n title,\n headerProps = {},\n categories = [],\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { category: categoryParam, searchTerm = \"\" } = useQueryParams();\n\n const filteredCategories = filterCategories({ categories, searchTerm });\n\n const isHeaderVisible = !isSearchHidden || !isTitleHidden;\n\n const headerTitle = title ?? t(\"neetoMolecules.settingsPage.title\");\n\n useEffect(() => {\n scrollIntoSettingCategory(categoryParam);\n }, [categoryParam]);\n\n return (\n <div\n className={classnames(\n \"flex h-dvh grow flex-col items-start justify-start overflow-y-auto px-5 md:px-10\",\n { \"h-auto overflow-y-auto\": isTitleHidden },\n className\n )}\n >\n {isHeaderVisible && (\n <Header\n className={classnames({ \"min-h-0 pt-8 pb-4\": isTitleHidden })}\n title={!isTitleHidden && headerTitle}\n searchProps={\n isSearchHidden\n ? null\n : {\n className: \"w-72\",\n placeholder: t(\n \"neetoMolecules.settingsPage.placeholder.search\"\n ),\n }\n }\n {...headerProps}\n />\n )}\n {isEmpty(filteredCategories) ? (\n <div\n className=\"flex h-full w-full flex-grow items-center justify-center\"\n data-testid=\"settings-no-data\"\n >\n <div className=\"text-muted-foreground flex flex-col items-center gap-2\">\n <p className=\"text-lg font-medium\">\n {t(\"neetoMolecules.settingsPage.noData\")}\n </p>\n </div>\n </div>\n ) : (\n <div className=\"w-full\">\n {filteredCategories.map(({ id, label, items, isIntegration }) => (\n <Category {...{ id, isIntegration, items, label }} key={id} />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n /**\n * Whether to hide the title or not.\n */\n isTitleHidden: PropTypes.bool,\n /**\n * This can be used to customize the title.\n */\n title: PropTypes.string,\n /**\n * Whether to hide the search bar or not.\n */\n isSearchHidden: PropTypes.bool,\n /**\n * An array of setting categories to be displayed.\n */\n categories: PropTypes.array,\n /**\n * Additional classes to be added to the container.\n */\n className: PropTypes.string,\n /**\n * Props to be passed to the header component.\n */\n headerProps: PropTypes.object,\n};\n\nexport default Settings;\n"],"names":["UNSUPPORTED_LINK_PROPS","IntegrationItem","_ref","_ref$icon","icon","Icon","description","label","path","href","isConnected","_ref$isMobileOrTablet","isMobileOrTablet","_ref$className","className","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","commonProps","_objectSpread","concat","hyphenate","replace","classnames","omit","LinkElement","Link","linkProps","to","_jsxs","children","_jsx","joinHyphenCase","size","Typography","variant","weight","Badge","memo","Item","dataTestid","asChild","Category","items","id","isIntegration","_useBreakpoints","useBreakpoints","isSize","SettingsCard","isLabelPresent","isPresent","map","item","isTextMatching","searchTerm","toLowerCase","includes","trim","scrollIntoSettingCategory","activeCategory","_document$getElementB","document","getElementById","scrollIntoView","behavior","filterCategories","_ref$categories","categories","_ref$searchTerm","isSearchTermBlank","filteredCategories","category","filterBy","_ref2","isNotEmpty","Settings","_ref$isTitleHidden","isTitleHidden","_ref$isSearchHidden","isSearchHidden","title","_ref$headerProps","headerProps","_useQueryParams","useQueryParams","categoryParam","_useQueryParams$searc","isHeaderVisible","headerTitle","useEffect","Header","searchProps","placeholder","isEmpty","_createElement","key"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-molecules",
|
|
3
|
-
"version": "5.2.
|
|
3
|
+
"version": "5.2.11",
|
|
4
4
|
"description": "A package of reusable molecular components for neeto products.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-molecules.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
package/src/translations/ar.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "عنوان الوثيقة",
|
|
907
907
|
"thumbnailImage": "الصورة المصغرة",
|
|
908
908
|
"delete": "حذف",
|
|
909
|
-
"uploadThumbnailImage": "إضافة صورة مصغرة"
|
|
909
|
+
"uploadThumbnailImage": "إضافة صورة مصغرة",
|
|
910
|
+
"thumbnailOptions": "خيارات الصورة المصغرة"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "يقبل فقط ملفات CSV مع عمود 'البريد الإلكتروني'",
|
package/src/translations/bg.json
CHANGED
|
@@ -232,7 +232,8 @@
|
|
|
232
232
|
"title": "Заглавие на документа",
|
|
233
233
|
"thumbnailImage": "Миниатюрно изображение",
|
|
234
234
|
"delete": "Изтрий",
|
|
235
|
-
"uploadThumbnailImage": "Добавете миниатюра"
|
|
235
|
+
"uploadThumbnailImage": "Добавете миниатюра",
|
|
236
|
+
"thumbnailOptions": "Опции за миниатюри"
|
|
236
237
|
},
|
|
237
238
|
"sendToFields": {
|
|
238
239
|
"uploadCsvTooltip": "Приема само CSV файлове с колона 'имейл'",
|
package/src/translations/ca.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Títol del document",
|
|
907
907
|
"thumbnailImage": "Imatge en miniatura",
|
|
908
908
|
"delete": "Esborrar",
|
|
909
|
-
"uploadThumbnailImage": "Afegir miniatura"
|
|
909
|
+
"uploadThumbnailImage": "Afegir miniatura",
|
|
910
|
+
"thumbnailOptions": "Opcions de miniatures"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Accepta només fitxers CSV amb una columna 'email'",
|
package/src/translations/cs.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Název dokumentu",
|
|
907
907
|
"thumbnailImage": "Náhledový obrázek",
|
|
908
908
|
"delete": "Smazat",
|
|
909
|
-
"uploadThumbnailImage": "Přidat náhled"
|
|
909
|
+
"uploadThumbnailImage": "Přidat náhled",
|
|
910
|
+
"thumbnailOptions": "Možnosti miniatur"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Akceptuje pouze CSV soubory s 'e-mail' sloupcem",
|
package/src/translations/da.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Dokumenttitel",
|
|
907
907
|
"thumbnailImage": "Thumbnail billede",
|
|
908
908
|
"delete": "Slet",
|
|
909
|
-
"uploadThumbnailImage": "Tilføj miniaturebillede"
|
|
909
|
+
"uploadThumbnailImage": "Tilføj miniaturebillede",
|
|
910
|
+
"thumbnailOptions": "Thumbnailmuligheder"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Accepterer kun CSV-filer med en 'e-mail' kolonne",
|
package/src/translations/de.json
CHANGED
|
@@ -744,7 +744,8 @@
|
|
|
744
744
|
"title": "Dokumenttitel",
|
|
745
745
|
"thumbnailImage": "Vorschaubild",
|
|
746
746
|
"delete": "Löschen",
|
|
747
|
-
"uploadThumbnailImage": "Vorschaubild hinzufügen"
|
|
747
|
+
"uploadThumbnailImage": "Vorschaubild hinzufügen",
|
|
748
|
+
"thumbnailOptions": "Thumbnail-Optionen"
|
|
748
749
|
},
|
|
749
750
|
"sendToFields": {
|
|
750
751
|
"uploadCsvTooltip": "Akzeptiert nur CSV-Dateien mit einer 'E-Mail'-Spalte",
|
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Título del documento",
|
|
907
907
|
"thumbnailImage": "Imagen en miniatura",
|
|
908
908
|
"delete": "Eliminar",
|
|
909
|
-
"uploadThumbnailImage": "Agregar miniatura"
|
|
909
|
+
"uploadThumbnailImage": "Agregar miniatura",
|
|
910
|
+
"thumbnailOptions": "Opciones de miniatura"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Solo acepta archivos CSV con una columna 'email'",
|
package/src/translations/es.json
CHANGED
|
@@ -744,7 +744,8 @@
|
|
|
744
744
|
"title": "Título del documento",
|
|
745
745
|
"thumbnailImage": "Imagen en miniatura",
|
|
746
746
|
"delete": "Eliminar",
|
|
747
|
-
"uploadThumbnailImage": "Agregar miniatura"
|
|
747
|
+
"uploadThumbnailImage": "Agregar miniatura",
|
|
748
|
+
"thumbnailOptions": "Opciones de miniatura"
|
|
748
749
|
},
|
|
749
750
|
"sendToFields": {
|
|
750
751
|
"uploadCsvTooltip": "Solo se aceptan archivos CSV con una columna 'correo electrónico'",
|
package/src/translations/et.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Dokumendi pealkiri",
|
|
907
907
|
"thumbnailImage": "Mikropilt",
|
|
908
908
|
"delete": "Kustuta",
|
|
909
|
-
"uploadThumbnailImage": "Lisa mikropilt"
|
|
909
|
+
"uploadThumbnailImage": "Lisa mikropilt",
|
|
910
|
+
"thumbnailOptions": "Miniatuurivalikud"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Ainult CSV faile, millel on 'e-kiri' veerg",
|
package/src/translations/fi.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Demon otsikko",
|
|
907
907
|
"thumbnailImage": "Pienoiskuva",
|
|
908
908
|
"delete": "Poista",
|
|
909
|
-
"uploadThumbnailImage": "Lisää pienoiskuva"
|
|
909
|
+
"uploadThumbnailImage": "Lisää pienoiskuva",
|
|
910
|
+
"thumbnailOptions": "Pienennysasetukset"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Hyväksyy vain CSV-tiedostot, joissa on 'sähköposti' sarake",
|
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Pamagat ng dokumento",
|
|
907
907
|
"thumbnailImage": "Thumbnail image",
|
|
908
908
|
"delete": "Tanggalin",
|
|
909
|
-
"uploadThumbnailImage": "Magdagdag ng thumbnail"
|
|
909
|
+
"uploadThumbnailImage": "Magdagdag ng thumbnail",
|
|
910
|
+
"thumbnailOptions": "Mga opsyon sa thumbnail"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Tumatanggap lamang ng mga CSV file na may column na 'email'",
|
package/src/translations/fr.json
CHANGED
|
@@ -744,7 +744,8 @@
|
|
|
744
744
|
"title": "Titre du document",
|
|
745
745
|
"thumbnailImage": "Image miniature",
|
|
746
746
|
"delete": "Supprimer",
|
|
747
|
-
"uploadThumbnailImage": "Ajouter une miniature"
|
|
747
|
+
"uploadThumbnailImage": "Ajouter une miniature",
|
|
748
|
+
"thumbnailOptions": "Options de vignettes"
|
|
748
749
|
},
|
|
749
750
|
"sendToFields": {
|
|
750
751
|
"uploadCsvTooltip": "N’accepte que les fichiers CSV avec une colonne 'email'",
|
package/src/translations/he.json
CHANGED
|
@@ -736,7 +736,8 @@
|
|
|
736
736
|
"title": "שם המסמך",
|
|
737
737
|
"thumbnailImage": "תמונת תצוגה מקדימה",
|
|
738
738
|
"delete": "מחק",
|
|
739
|
-
"uploadThumbnailImage": "הוסף תמונת תצוגה מקדימה"
|
|
739
|
+
"uploadThumbnailImage": "הוסף תמונת תצוגה מקדימה",
|
|
740
|
+
"thumbnailOptions": "אפשרויות תמונת ממוזערת"
|
|
740
741
|
},
|
|
741
742
|
"sendToFields": {
|
|
742
743
|
"uploadCsvTooltip": "מקבלים רק קבצי CSV עם עמודת 'דוא\"ל'",
|
package/src/translations/hi.json
CHANGED
|
@@ -232,7 +232,8 @@
|
|
|
232
232
|
"title": "दस्तावेज़ शीर्षक",
|
|
233
233
|
"thumbnailImage": "थंबनेल इमेज",
|
|
234
234
|
"delete": "हटाएँ",
|
|
235
|
-
"uploadThumbnailImage": "थंबनेल जोड़ें"
|
|
235
|
+
"uploadThumbnailImage": "थंबनेल जोड़ें",
|
|
236
|
+
"thumbnailOptions": "थंबनेल विकल्प"
|
|
236
237
|
},
|
|
237
238
|
"sendToFields": {
|
|
238
239
|
"uploadCsvTooltip": "केवल 'ईमेल' कॉलम वाले CSV फ़ाइलों को स्वीकार करता है",
|
package/src/translations/hr.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Naslov dokumenta",
|
|
907
907
|
"thumbnailImage": "Sličica",
|
|
908
908
|
"delete": "Izbriši",
|
|
909
|
-
"uploadThumbnailImage": "Dodaj sličicu"
|
|
909
|
+
"uploadThumbnailImage": "Dodaj sličicu",
|
|
910
|
+
"thumbnailOptions": "Mogućnosti sličica"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Prihvaća samo CSV datoteke s 'email' kolonom",
|
package/src/translations/hu.json
CHANGED
|
@@ -733,7 +733,8 @@
|
|
|
733
733
|
"title": "Dokumentum címe",
|
|
734
734
|
"thumbnailImage": "Kis kép",
|
|
735
735
|
"delete": "Törlés",
|
|
736
|
-
"uploadThumbnailImage": "Kis kép hozzáadása"
|
|
736
|
+
"uploadThumbnailImage": "Kis kép hozzáadása",
|
|
737
|
+
"thumbnailOptions": "Miniatűr lehetőségek"
|
|
737
738
|
},
|
|
738
739
|
"sendToFields": {
|
|
739
740
|
"uploadCsvTooltip": "Csak e-mail oszloppal rendelkező CSV fájlokat fogad el",
|
package/src/translations/id.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Judul dokumen",
|
|
907
907
|
"thumbnailImage": "Gambar thumbnail",
|
|
908
908
|
"delete": "Hapus",
|
|
909
|
-
"uploadThumbnailImage": "Tambahkan thumbnail"
|
|
909
|
+
"uploadThumbnailImage": "Tambahkan thumbnail",
|
|
910
|
+
"thumbnailOptions": "Opsi thumbnail"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Hanya menerima file CSV dengan kolom 'email'",
|
package/src/translations/it.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Titolo del documento",
|
|
907
907
|
"thumbnailImage": "Immagine in miniatura",
|
|
908
908
|
"delete": "Elimina",
|
|
909
|
-
"uploadThumbnailImage": "Aggiungi miniatura"
|
|
909
|
+
"uploadThumbnailImage": "Aggiungi miniatura",
|
|
910
|
+
"thumbnailOptions": "Opzioni miniatura"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Accetta solo file CSV con una colonna 'email'",
|
package/src/translations/ja.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "ドキュメントタイトル",
|
|
907
907
|
"thumbnailImage": "サムネイル画像",
|
|
908
908
|
"delete": "削除",
|
|
909
|
-
"uploadThumbnailImage": "サムネイルを追加"
|
|
909
|
+
"uploadThumbnailImage": "サムネイルを追加",
|
|
910
|
+
"thumbnailOptions": "サムネイルオプション"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "'email'列を含むCSVファイルのみを受け付けます",
|
package/src/translations/ko.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "문서 제목",
|
|
907
907
|
"thumbnailImage": "썸네일 이미지",
|
|
908
908
|
"delete": "삭제",
|
|
909
|
-
"uploadThumbnailImage": "썸네일 추가"
|
|
909
|
+
"uploadThumbnailImage": "썸네일 추가",
|
|
910
|
+
"thumbnailOptions": "썸네일 옵션"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "'이메일' 열이 있는 CSV 파일만 허용됩니다.",
|
package/src/translations/nl.json
CHANGED
|
@@ -744,7 +744,8 @@
|
|
|
744
744
|
"title": "Documenttitel",
|
|
745
745
|
"thumbnailImage": "Miniatuurafbeelding",
|
|
746
746
|
"delete": "Verwijderen",
|
|
747
|
-
"uploadThumbnailImage": "Miniatuur toevoegen"
|
|
747
|
+
"uploadThumbnailImage": "Miniatuur toevoegen",
|
|
748
|
+
"thumbnailOptions": "Miniatuur opties"
|
|
748
749
|
},
|
|
749
750
|
"sendToFields": {
|
|
750
751
|
"uploadCsvTooltip": "Accepteert alleen CSV-bestanden met een 'e-mail'-kolom",
|
package/src/translations/pl.json
CHANGED
|
@@ -744,7 +744,8 @@
|
|
|
744
744
|
"title": "Tytuł dokumentu",
|
|
745
745
|
"thumbnailImage": "Miniatura obrazu",
|
|
746
746
|
"delete": "Usuń",
|
|
747
|
-
"uploadThumbnailImage": "Dodaj miniaturę"
|
|
747
|
+
"uploadThumbnailImage": "Dodaj miniaturę",
|
|
748
|
+
"thumbnailOptions": "Opcje miniatur"
|
|
748
749
|
},
|
|
749
750
|
"sendToFields": {
|
|
750
751
|
"uploadCsvTooltip": "Akceptuje tylko pliki CSV z kolumną 'email'",
|
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Título do documento",
|
|
907
907
|
"thumbnailImage": "Imagem em miniatura",
|
|
908
908
|
"delete": "Excluir",
|
|
909
|
-
"uploadThumbnailImage": "Adicionar miniatura"
|
|
909
|
+
"uploadThumbnailImage": "Adicionar miniatura",
|
|
910
|
+
"thumbnailOptions": "Opções de miniatura"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Aceita apenas arquivos CSV com uma coluna 'email'",
|
package/src/translations/pt.json
CHANGED
|
@@ -744,7 +744,8 @@
|
|
|
744
744
|
"title": "Título do documento",
|
|
745
745
|
"thumbnailImage": "Imagem em miniatura",
|
|
746
746
|
"delete": "Deletar",
|
|
747
|
-
"uploadThumbnailImage": "Adicionar miniatura"
|
|
747
|
+
"uploadThumbnailImage": "Adicionar miniatura",
|
|
748
|
+
"thumbnailOptions": "Opções de miniatura"
|
|
748
749
|
},
|
|
749
750
|
"sendToFields": {
|
|
750
751
|
"uploadCsvTooltip": "Aceita apenas arquivos CSV com uma coluna 'email'",
|
package/src/translations/ro.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Titlul documentului",
|
|
907
907
|
"thumbnailImage": "Imagine miniatură",
|
|
908
908
|
"delete": "Șterge",
|
|
909
|
-
"uploadThumbnailImage": "Adăugați miniatură"
|
|
909
|
+
"uploadThumbnailImage": "Adăugați miniatură",
|
|
910
|
+
"thumbnailOptions": "Opțiuni miniatură"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Acceptă doar fișiere CSV cu o coloană 'email'",
|
package/src/translations/ru.json
CHANGED
|
@@ -900,7 +900,8 @@
|
|
|
900
900
|
"title": "Название документа",
|
|
901
901
|
"thumbnailImage": "Миниатюра",
|
|
902
902
|
"delete": "Удалить",
|
|
903
|
-
"uploadThumbnailImage": "Добавить миниатюру"
|
|
903
|
+
"uploadThumbnailImage": "Добавить миниатюру",
|
|
904
|
+
"thumbnailOptions": "Настройки миниатюр"
|
|
904
905
|
},
|
|
905
906
|
"sendToFields": {
|
|
906
907
|
"uploadCsvTooltip": "Принимаются только файлы CSV с колонкой 'email'",
|
package/src/translations/sk.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Názov dokumentu",
|
|
907
907
|
"thumbnailImage": "Obrázok náhľadu",
|
|
908
908
|
"delete": "Odstrániť",
|
|
909
|
-
"uploadThumbnailImage": "Pridať náhľad"
|
|
909
|
+
"uploadThumbnailImage": "Pridať náhľad",
|
|
910
|
+
"thumbnailOptions": "Možnosti miniatury"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Prijíma iba CSV súbory s 'email' stĺpcom",
|
package/src/translations/sl.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Naslov dokumenta",
|
|
907
907
|
"thumbnailImage": "Slika sličice",
|
|
908
908
|
"delete": "Izbriši",
|
|
909
|
-
"uploadThumbnailImage": "Dodaj sličico"
|
|
909
|
+
"uploadThumbnailImage": "Dodaj sličico",
|
|
910
|
+
"thumbnailOptions": "Možnosti miniatur"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Sprejema le CSV datoteke z kolono 'email'",
|
package/src/translations/sv.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Dokumenttitel",
|
|
907
907
|
"thumbnailImage": "Miniatyrbild",
|
|
908
908
|
"delete": "Ta bort",
|
|
909
|
-
"uploadThumbnailImage": "Lägg till miniatyr"
|
|
909
|
+
"uploadThumbnailImage": "Lägg till miniatyr",
|
|
910
|
+
"thumbnailOptions": "Thumbnailalternativ"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Accepterar endast CSV-filer med en 'e-post'-kolumn",
|
package/src/translations/th.json
CHANGED
|
@@ -313,7 +313,8 @@
|
|
|
313
313
|
"title": "ชื่อเอกสาร",
|
|
314
314
|
"thumbnailImage": "รูปภาพขนาดย่อ",
|
|
315
315
|
"delete": "ลบ",
|
|
316
|
-
"uploadThumbnailImage": "เพิ่มขนาดย่อ"
|
|
316
|
+
"uploadThumbnailImage": "เพิ่มขนาดย่อ",
|
|
317
|
+
"thumbnailOptions": "ตัวเลือกภาพขนาดย่อ"
|
|
317
318
|
},
|
|
318
319
|
"sendToFields": {
|
|
319
320
|
"uploadCsvTooltip": "ยอมรับเฉพาะไฟล์ CSV ที่มีคอลัมน์ 'อีเมล'",
|
package/src/translations/tr.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Belge başlığı",
|
|
907
907
|
"thumbnailImage": "Küçük resim",
|
|
908
908
|
"delete": "Sil",
|
|
909
|
-
"uploadThumbnailImage": "Küçük resmi ekle"
|
|
909
|
+
"uploadThumbnailImage": "Küçük resmi ekle",
|
|
910
|
+
"thumbnailOptions": "Küçük resim seçenekleri"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "'e-posta' sütununa sahip yalnızca CSV dosyalarını kabul eder",
|
package/src/translations/uk.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Назва документа",
|
|
907
907
|
"thumbnailImage": "Мініатюра",
|
|
908
908
|
"delete": "Видалити",
|
|
909
|
-
"uploadThumbnailImage": "Додати мініатюру"
|
|
909
|
+
"uploadThumbnailImage": "Додати мініатюру",
|
|
910
|
+
"thumbnailOptions": "Параметри ескізів"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Приймаються лише CSV-файли з колонкою 'електронна пошта'",
|
package/src/translations/vi.json
CHANGED
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "Tiêu đề tài liệu",
|
|
907
907
|
"thumbnailImage": "Hình ảnh thu nhỏ",
|
|
908
908
|
"delete": "Xóa",
|
|
909
|
-
"uploadThumbnailImage": "Thêm hình thu nhỏ"
|
|
909
|
+
"uploadThumbnailImage": "Thêm hình thu nhỏ",
|
|
910
|
+
"thumbnailOptions": "Tùy chọn thu nhỏ"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "Chỉ chấp nhận các tệp CSV có cột 'email'",
|
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "文档标题",
|
|
907
907
|
"thumbnailImage": "缩略图",
|
|
908
908
|
"delete": "删除",
|
|
909
|
-
"uploadThumbnailImage": "添加缩略图"
|
|
909
|
+
"uploadThumbnailImage": "添加缩略图",
|
|
910
|
+
"thumbnailOptions": "缩略图选项"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "仅接受包含 '电子邮件' 列的 CSV 文件",
|
|
@@ -906,7 +906,8 @@
|
|
|
906
906
|
"title": "文檔標題",
|
|
907
907
|
"thumbnailImage": "縮略圖",
|
|
908
908
|
"delete": "刪除",
|
|
909
|
-
"uploadThumbnailImage": "添加縮略圖"
|
|
909
|
+
"uploadThumbnailImage": "添加縮略圖",
|
|
910
|
+
"thumbnailOptions": "縮略圖選項"
|
|
910
911
|
},
|
|
911
912
|
"sendToFields": {
|
|
912
913
|
"uploadCsvTooltip": "僅接受包含 '電子郵件' 列的 CSV 檔案",
|