@bigbinary/neeto-molecules 1.15.16-beta → 1.15.17
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/Builder.js +22 -90
- package/dist/Builder.js.map +1 -1
- package/dist/CustomDomain.js +1 -1
- package/dist/CustomDomainDashboard.js +1 -1
- package/dist/EmailForm.js +4 -10
- package/dist/EmailForm.js.map +1 -1
- package/dist/HelpPopover.js +14 -14
- package/dist/HelpPopover.js.map +1 -1
- package/dist/MoreDropdown.js +19 -10
- package/dist/MoreDropdown.js.map +1 -1
- package/dist/Schedule.js +1 -1
- package/dist/cjs/Builder.js +22 -90
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/CustomDomain.js +1 -1
- package/dist/cjs/CustomDomainDashboard.js +1 -1
- package/dist/cjs/EmailForm.js +4 -10
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/HelpPopover.js +12 -12
- package/dist/cjs/HelpPopover.js.map +1 -1
- package/dist/cjs/MoreDropdown.js +20 -10
- package/dist/cjs/MoreDropdown.js.map +1 -1
- package/dist/cjs/Schedule.js +1 -1
- package/dist/cjs/{index-cd140b32.js → index-35629600.js} +1 -1
- package/dist/cjs/{index-cd140b32.js.map → index-35629600.js.map} +1 -1
- package/dist/{index-46f9dbca.js → index-2fe27725.js} +1 -1
- package/dist/{index-46f9dbca.js.map → index-2fe27725.js.map} +1 -1
- package/package.json +1 -1
- package/src/translations/en.json +2 -1
- package/types/Builder.d.ts +2 -8
- package/types/MoreDropdown.d.ts +4 -1
- package/dist/AdaptiveInput.js +0 -84
- package/dist/AdaptiveInput.js.map +0 -1
- package/dist/cjs/AdaptiveInput.js +0 -94
- package/dist/cjs/AdaptiveInput.js.map +0 -1
- package/types/AdaptiveInput.d.ts +0 -51
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailForm.js","sources":["../../src/components/EmailForm/constants.js","../../src/components/EmailForm/contexts/EmailForm.js","../../src/components/EmailForm/ReplyToField.jsx","../../src/components/EmailForm/SendToField.jsx","../../src/components/EmailForm/SubjectField.jsx","../../src/components/EmailForm/EmailForm.jsx","../../src/components/EmailForm/utils.js","../../src/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const SEND_TO_FIELD_VALIDATION = yup.object({\n sendTo: yup\n .array()\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .nullable(),\n});\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport React from \"react\";\n\nconst EmailFormContext = React.createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n});\n\nexport { EmailFormContext };\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Select, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ReplyToField = ({ replyToOptions }) => {\n const { t } = useTranslation();\n\n const isDropdownField = isNotEmpty(replyToOptions);\n\n const { setFieldValue } = useFormikContext();\n\n if (isDropdownField) {\n return (\n <Select\n isClearable\n className=\"w-full\"\n data-testid=\"replyToOptions\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n options={replyToOptions}\n labelProps={{\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n }}\n onChange={data => setFieldValue(\"replyTo\", data?.value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n autoFocus\n required\n className=\"w-full\"\n data-testid=\"replyToInput\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.emailPlaceholder\")}\n size=\"large\"\n labelProps={{\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n }}\n />\n );\n};\n\nexport default ReplyToField;\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\n\nimport SendToFields from \"components/SendToFields\";\n\nconst SendToField = withT(({ t }) => (\n <SendToFields\n showCcBccButton\n showUploadCsvButton\n bccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.bCc\"),\n name: \"sendToBcc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n ccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.cc\"),\n name: \"sendToCc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n emailInputProps={{\n id: \"sendTo\",\n name: \"sendTo\",\n label: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n required: true,\n }}\n />\n));\n\nexport default SendToField;\n","import React, { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Input, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"components/DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${slug}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <>\n <Input\n {...{ error, name, required }}\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n size=\"large\"\n value={text}\n suffix={\n <DynamicVariables\n variables={subjectVariables}\n dropdownProps={{\n className: \"neeto-ui-dropdown__popup overflow-y-auto\",\n buttonSize: \"small\",\n }}\n onVariableClick={tagClickHandler}\n />\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n <Typography\n className=\"neeto-ui-text-gray-600 mt-2\"\n data-cy=\"subject-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n components={{ span: <span className=\"font-semibold\" /> }}\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"subject\" }}\n />\n </Typography>\n </>\n );\n};\n\nexport default SubjectField;\n","import React, { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Typography } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n isLoading,\n replyToOptions = [],\n sendToOptions = [],\n isUpdating = false,\n showFields = true,\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { showSendToField, showSendToAsRadio, showReplyToField } =\n useContext(EmailFormContext);\n\n const { setFieldValue, dirty } = useFormikContext();\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-testid=\"email-form\"\n className={classnames(\"flex flex-1 flex-col items-start gap-2\", {\n [className]: className,\n })}\n >\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-6\">\n <Field name=\"subject\">\n {({ field: { value }, meta: { error } }) => (\n <div className=\"w-full\">\n <SubjectField\n {...{ subjectVariables }}\n required\n error={t(error)}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n {showSendToRadioField && (\n <Radio\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToOptions.map(({ label, value }) => (\n <Radio.Item {...{ label, value }} key={value} />\n ))}\n </Radio>\n )}\n {showSendToTextField && <SendToField />}\n {showReplyToField && <ReplyToField {...{ replyToOptions }} />}\n <div className=\"w-full\">\n <FormikEditor\n isMenuCollapsible\n required\n addons={EDITOR_ADDONS}\n data-cy=\"message-input-field\"\n id=\"form_message\"\n label={t(\"neetoMolecules.emailForm.labels.message\")}\n name=\"message\"\n variables={messageVariables}\n />\n <Typography\n className=\"neeto-ui-text-gray-500 mt-2\"\n data-cy=\"message-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"message\" }}\n components={{\n span: <span className=\"font-semibold\" />,\n }}\n />\n </Typography>\n </div>\n </div>\n )}\n <ActionBlock\n className=\"mt-6 w-full justify-start\"\n cancelButtonProps={{\n disabled: false,\n onClick: handleCancel,\n className: \"ml-3\",\n }}\n submitButtonProps={{\n loading: isLoading,\n disabled: !dirty || isUpdating,\n }}\n />\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n};\n\nexport default EmailForm;\n","import {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n SEND_TO_FIELD_VALIDATION,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio ? SEND_TO_ID_FIELD_VALIDATION : SEND_TO_FIELD_VALIDATION\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n return schema.shape(customValidations);\n};\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport { INITIAL_FORM_VALUES } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport { getValidationSchema } from \"./utils\";\n\nconst EmailFormProvider = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema: customValidations = {},\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n}) => (\n <div data-testid=\"email-form-provider\">\n <EmailFormContext.Provider\n value={{ showSendToField, showSendToAsRadio, showReplyToField }}\n >\n <Form\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n }),\n initialValues: {\n ...initialValues,\n replyTo: initialValues.replyTo || globalProps.user.email,\n },\n onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","SEND_TO_FIELD_VALIDATION","array","min","entity","emails","every","prop","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","React","createContext","showSendToField","showSendToAsRadio","showReplyToField","ReplyToField","_ref","replyToOptions","_useTranslation","useTranslation","isDropdownField","isNotEmpty","_useFormikContext","useFormikContext","setFieldValue","createElement","Select","isClearable","className","label","name","options","labelProps","helpIconProps","_defineProperty","content","onChange","data","_data$value","Input","autoFocus","placeholder","size","SendToField","withT","SendToFields","showCcBccButton","showUploadCsvButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","_ref2","slug","key","textAreaElement","document","querySelector","concat","splitIndex","selectionEnd","length","updatedSubject","slice","join","Fragment","suffix","DynamicVariables","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","Typography","style","Trans","components","span","i18nKey","values","type","EmailForm","_ref$messageVariables","messageVariables","handleCancel","isLoading","_ref$replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$showFields","showFields","_ref$className","_useContext","useContext","dirty","showSendToRadioField","showSendToTextField","classnames","Field","field","meta","Radio","map","_ref3","Item","FormikEditor","isMenuCollapsible","addons","ActionBlock","cancelButtonProps","disabled","onClick","submitButtonProps","loading","getValidationSchema","customValidations","schema","clone","shape","EmailFormProvider","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","children","formikProps","_ref$validationSchema","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","Provider","Form","_objectSpread","enableReinitialize","globalProps","user"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmailForm.js","sources":["../../src/components/EmailForm/constants.js","../../src/components/EmailForm/contexts/EmailForm.js","../../src/components/EmailForm/ReplyToField.jsx","../../src/components/EmailForm/SendToField.jsx","../../src/components/EmailForm/SubjectField.jsx","../../src/components/EmailForm/EmailForm.jsx","../../src/components/EmailForm/utils.js","../../src/components/EmailForm/EmailFormProvider.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { isEditorEmpty } from \"neetoeditor\";\nimport { prop } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const INITIAL_FORM_VALUES = {\n sendTo: [],\n sendToId: \"\",\n sendToCc: [],\n sendToBcc: [],\n replyTo: \"\",\n showCopyEmails: false,\n subject: \"\",\n message: \"\",\n};\n\nexport const EMAIL_FORM_VALIDATION_SCHEMA = yup.object({\n subject: yup\n .string()\n .required(t(\"neetoMolecules.emailForm.errors.subjectRequired\")),\n message: yup\n .string()\n .test(\n \"message\",\n t(\"neetoMolecules.emailForm.errors.messageRequired\"),\n value => !isEditorEmpty(value)\n ),\n});\n\nexport const SEND_TO_FIELD_VALIDATION = yup.object({\n sendTo: yup\n .array()\n .min(\n 1,\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.sendToEmailAddress\"),\n })\n )\n .test(\n \"all-emails-valid\",\n t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"),\n emails => emails?.every(prop(\"valid\"))\n )\n .nullable(),\n});\n\nexport const SEND_TO_ID_FIELD_VALIDATION = yup.object({\n sendToId: yup.string().required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n })\n ),\n});\n\nexport const REPLY_TO_FIELD_VALIDATION = yup.object({\n replyTo: yup\n .string()\n .nullable()\n .email(t(\"neetoMolecules.emailForm.errors.invalidEmailAddress\"))\n .required(\n t(\"neetoMolecules.emailForm.errors.required\", {\n entity: t(\"neetoMolecules.emailForm.fields.replyToEmailAddress\"),\n })\n ),\n});\n\nexport const EDITOR_ADDONS = [\n \"highlight\",\n \"emoji\",\n \"code-block\",\n \"block-quote\",\n \"image-upload\",\n \"divider\",\n \"video-embed\",\n];\n\nexport const ALLOWED_FILE_PICKER_TYPES = [\".csv\"];\n","/* eslint-disable @bigbinary/neeto/use-zustand-for-global-state-management */\nimport React from \"react\";\n\nconst EmailFormContext = React.createContext({\n showSendToField: false,\n showSendToAsRadio: false,\n showReplyToField: false,\n});\n\nexport { EmailFormContext };\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { Select, Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ReplyToField = ({ replyToOptions }) => {\n const { t } = useTranslation();\n\n const isDropdownField = isNotEmpty(replyToOptions);\n\n const { setFieldValue } = useFormikContext();\n\n if (isDropdownField) {\n return (\n <Select\n isClearable\n className=\"w-full\"\n data-testid=\"replyToOptions\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n options={replyToOptions}\n labelProps={{\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n }}\n onChange={data => setFieldValue(\"replyTo\", data?.value ?? \"\")}\n />\n );\n }\n\n return (\n <Input\n autoFocus\n required\n className=\"w-full\"\n data-testid=\"replyToInput\"\n label={t(\"neetoMolecules.emailForm.labels.replyTo\")}\n name=\"replyTo\"\n placeholder={t(\"neetoMolecules.emailForm.placeholders.emailPlaceholder\")}\n size=\"large\"\n labelProps={{\n helpIconProps: {\n [\"data-testid\"]: \"reply-to-tooltip\",\n tooltipProps: {\n content: t(\"neetoMolecules.emailForm.tooltips.replyTo\"),\n },\n },\n }}\n />\n );\n};\n\nexport default ReplyToField;\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\n\nimport SendToFields from \"components/SendToFields\";\n\nconst SendToField = withT(({ t }) => (\n <SendToFields\n showCcBccButton\n showUploadCsvButton\n bccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.bCc\"),\n name: \"sendToBcc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n ccInputProps={{\n label: t(\"neetoMolecules.emailForm.labels.cc\"),\n name: \"sendToCc\",\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n }}\n emailInputProps={{\n id: \"sendTo\",\n name: \"sendTo\",\n label: t(\"neetoMolecules.emailForm.labels.sendTo\"),\n placeholder: t(\n \"neetoMolecules.emailForm.placeholders.commaSeparatedEmails\"\n ),\n required: true,\n }}\n />\n));\n\nexport default SendToField;\n","import React, { useState } from \"react\";\n\nimport { withEventTargetValue } from \"neetocommons/utils/general\";\nimport { Input, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport DynamicVariables from \"components/DynamicVariables\";\n\nconst SubjectField = ({\n name,\n text,\n updateText,\n subjectVariables = [],\n error,\n required = false,\n}) => {\n const [isFieldFocusedOnce, setIsFieldFocusedOnce] = useState(false);\n\n const { t } = useTranslation();\n\n const tagClickHandler = ({ key: slug }) => {\n const textAreaElement = document.querySelector(`textarea[name=${name}]`);\n const splitIndex =\n isFieldFocusedOnce && textAreaElement\n ? textAreaElement.selectionEnd\n : text.length;\n\n const updatedSubject = [\n text.slice(0, splitIndex),\n ` {{${slug}}}`,\n text.slice(splitIndex),\n ].join(\"\");\n updateText(updatedSubject);\n };\n\n return (\n <>\n <Input\n {...{ error, name, required }}\n label={t(\"neetoMolecules.emailForm.labels.subject\")}\n size=\"large\"\n value={text}\n suffix={\n <DynamicVariables\n variables={subjectVariables}\n dropdownProps={{\n className: \"neeto-ui-dropdown__popup overflow-y-auto\",\n buttonSize: \"small\",\n }}\n onVariableClick={tagClickHandler}\n />\n }\n onChange={withEventTargetValue(updateText)}\n onFocus={() => setIsFieldFocusedOnce(true)}\n />\n <Typography\n className=\"neeto-ui-text-gray-600 mt-2\"\n data-cy=\"subject-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n components={{ span: <span className=\"font-semibold\" /> }}\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"subject\" }}\n />\n </Typography>\n </>\n );\n};\n\nexport default SubjectField;\n","import React, { useContext } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Field, useFormikContext } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { FormikEditor } from \"neetoeditor\";\nimport { Typography } from \"neetoui\";\nimport { ActionBlock, Radio } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { EDITOR_ADDONS } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport ReplyToField from \"./ReplyToField\";\nimport SendToField from \"./SendToField\";\nimport SubjectField from \"./SubjectField\";\n\nconst EmailForm = ({\n messageVariables = [],\n subjectVariables = [],\n handleCancel,\n isLoading,\n replyToOptions = [],\n sendToOptions = [],\n isUpdating = false,\n showFields = true,\n className = \"\",\n}) => {\n const { t } = useTranslation();\n\n const { showSendToField, showSendToAsRadio, showReplyToField } =\n useContext(EmailFormContext);\n\n const { setFieldValue } = useFormikContext();\n const showSendToRadioField =\n showSendToField && showSendToAsRadio && isNotEmpty(sendToOptions);\n\n const showSendToTextField = showSendToField && !showSendToRadioField;\n\n return (\n <div\n data-testid=\"email-form\"\n className={classnames(\"flex flex-1 flex-col items-start gap-2\", {\n [className]: className,\n })}\n >\n {showFields && (\n <div className=\"flex w-full flex-col items-start justify-start gap-6\">\n <Field name=\"subject\">\n {({ field: { value }, meta: { error } }) => (\n <div className=\"w-full\">\n <SubjectField\n {...{ subjectVariables }}\n required\n error={t(error)}\n name=\"subject\"\n text={value}\n updateText={text => setFieldValue(\"subject\", text)}\n />\n </div>\n )}\n </Field>\n {showSendToRadioField && (\n <Radio\n data-testid=\"send-to-id\"\n label={t(\"neetoMolecules.emailForm.labels.sendTo\")}\n labelProps={{ required: true }}\n name=\"sendToId\"\n >\n {sendToOptions.map(({ label, value }) => (\n <Radio.Item {...{ label, value }} key={value} />\n ))}\n </Radio>\n )}\n {showSendToTextField && <SendToField />}\n {showReplyToField && <ReplyToField {...{ replyToOptions }} />}\n <div className=\"w-full\">\n <FormikEditor\n isMenuCollapsible\n required\n addons={EDITOR_ADDONS}\n data-cy=\"message-input-field\"\n id=\"form_message\"\n label={t(\"neetoMolecules.emailForm.labels.message\")}\n name=\"message\"\n variables={messageVariables}\n />\n <Typography\n className=\"neeto-ui-text-gray-500 mt-2\"\n data-cy=\"message-input-variable-label\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoMolecules.emailForm.helpText\"\n values={{ type: \"message\" }}\n components={{\n span: <span className=\"font-semibold\" />,\n }}\n />\n </Typography>\n </div>\n </div>\n )}\n <ActionBlock\n cancelButtonProps={{ onClick: handleCancel }}\n className=\"mt-6 w-full justify-start\"\n isSubmitting={isLoading || isUpdating}\n />\n </div>\n );\n};\n\nEmailForm.propTypes = {\n /**\n * This is an array of objects used for templating within the message field. Each object in the array has a **label** and a **key**.\n */\n messageVariables: PropTypes.array,\n /**\n * This is an array of objects used for templating within the subject field. Each object in the array has a **label** and a **key**.\n */\n subjectVariables: PropTypes.array,\n /**\n * This function that gets triggered when the 'Cancel' button is clicked.\n */\n handleCancel: PropTypes.func,\n /**\n * This Boolean value, when set to true, triggers the display of a loading indicator on the 'Save changes' button.\"\n */\n isLoading: PropTypes.bool,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Reply To' field into a dropdown menu with given options. Without this prop, 'Reply To' will be a text input field.\n */\n replyToOptions: PropTypes.array,\n /**\n * An array of objects, with each object having **label** and **value** properties. This prop transforms the 'Send To' field into a radio group with given options. Without this prop, 'Send To' will be a multi email input field.\n */\n sendToOptions: PropTypes.array,\n /**\n * A Boolean flag indicating whether an update operation is currently in progress. When set to `true`, the 'Save changes' button is disabled.\n */\n isUpdating: PropTypes.bool,\n /**\n * To provide additional classnames to the button.\n */\n className: PropTypes.string,\n};\n\nexport default EmailForm;\n","import {\n EMAIL_FORM_VALIDATION_SCHEMA,\n REPLY_TO_FIELD_VALIDATION,\n SEND_TO_FIELD_VALIDATION,\n SEND_TO_ID_FIELD_VALIDATION,\n} from \"./constants\";\n\nexport const getValidationSchema = ({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n}) => {\n let schema = EMAIL_FORM_VALIDATION_SCHEMA.clone();\n\n if (showSendToField) {\n schema = schema.concat(\n showSendToAsRadio ? SEND_TO_ID_FIELD_VALIDATION : SEND_TO_FIELD_VALIDATION\n );\n }\n\n if (showReplyToField) schema = schema.concat(REPLY_TO_FIELD_VALIDATION);\n\n return schema.shape(customValidations);\n};\n","import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Form } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport { INITIAL_FORM_VALUES } from \"./constants\";\nimport { EmailFormContext } from \"./contexts/EmailForm\";\nimport { getValidationSchema } from \"./utils\";\n\nconst EmailFormProvider = ({\n onSubmit = noop,\n initialValues = INITIAL_FORM_VALUES,\n children,\n formikProps,\n validationSchema: customValidations = {},\n showSendToField = false,\n showReplyToField = false,\n showSendToAsRadio = false,\n}) => (\n <div data-testid=\"email-form-provider\">\n <EmailFormContext.Provider\n value={{ showSendToField, showSendToAsRadio, showReplyToField }}\n >\n <Form\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema({\n showSendToField,\n showReplyToField,\n showSendToAsRadio,\n customValidations,\n }),\n initialValues: {\n ...initialValues,\n replyTo: initialValues.replyTo || globalProps.user.email,\n },\n onSubmit,\n ...formikProps,\n }}\n >\n {children}\n </Form>\n </EmailFormContext.Provider>\n </div>\n);\n\nEmailFormProvider.propTypes = {\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be displayed or not.\n */\n showSendToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**replyTo**' field should be displayed or not.\n */\n showReplyToField: PropTypes.bool,\n /**\n * A Boolean value that determines whether the '**sendTo**' field should be radio type or not.\n */\n showSendToAsRadio: PropTypes.bool,\n /**\n * A function that will be triggered with input values when the 'Save changes' button is clicked.\n */\n onSubmit: PropTypes.func,\n /**\n * These are the predefined values that populate the form fields when the form is first rendered.\n */\n initialValues: PropTypes.shape({\n sendTo: PropTypes.array,\n sendToId: PropTypes.string,\n sendToCc: PropTypes.array,\n sendToBcc: PropTypes.array,\n replyTo: PropTypes.string,\n showCopyEmails: PropTypes.bool,\n subject: PropTypes.string,\n message: PropTypes.string,\n }),\n /**\n * A prop used for rendering either standard React element or a render prop function.\n */\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n /**\n * A prop that can be used to override the default Formik properties that are set within the component, providing customization flexibility.\n */\n formikProps: PropTypes.object,\n /**\n * A Yup object defining custom form validation rules, which will be merged with the default rules using the concat method.\n */\n validationSchema: PropTypes.object,\n};\n\nexport default EmailFormProvider;\n"],"names":["INITIAL_FORM_VALUES","sendTo","sendToId","sendToCc","sendToBcc","replyTo","showCopyEmails","subject","message","EMAIL_FORM_VALIDATION_SCHEMA","yup","object","string","required","t","test","value","isEditorEmpty","SEND_TO_FIELD_VALIDATION","array","min","entity","emails","every","prop","nullable","SEND_TO_ID_FIELD_VALIDATION","REPLY_TO_FIELD_VALIDATION","email","EDITOR_ADDONS","EmailFormContext","React","createContext","showSendToField","showSendToAsRadio","showReplyToField","ReplyToField","_ref","replyToOptions","_useTranslation","useTranslation","isDropdownField","isNotEmpty","_useFormikContext","useFormikContext","setFieldValue","createElement","Select","isClearable","className","label","name","options","labelProps","helpIconProps","_defineProperty","content","onChange","data","_data$value","Input","autoFocus","placeholder","size","SendToField","withT","SendToFields","showCcBccButton","showUploadCsvButton","bccInputProps","ccInputProps","emailInputProps","id","SubjectField","text","updateText","_ref$subjectVariables","subjectVariables","error","_ref$required","_useState","useState","_useState2","_slicedToArray","isFieldFocusedOnce","setIsFieldFocusedOnce","tagClickHandler","_ref2","slug","key","textAreaElement","document","querySelector","concat","splitIndex","selectionEnd","length","updatedSubject","slice","join","Fragment","suffix","DynamicVariables","variables","dropdownProps","buttonSize","onVariableClick","withEventTargetValue","onFocus","Typography","style","Trans","components","span","i18nKey","values","type","EmailForm","_ref$messageVariables","messageVariables","handleCancel","isLoading","_ref$replyToOptions","_ref$sendToOptions","sendToOptions","_ref$isUpdating","isUpdating","_ref$showFields","showFields","_ref$className","_useContext","useContext","showSendToRadioField","showSendToTextField","classnames","Field","field","meta","Radio","map","_ref3","Item","FormikEditor","isMenuCollapsible","addons","ActionBlock","cancelButtonProps","onClick","isSubmitting","getValidationSchema","customValidations","schema","clone","shape","EmailFormProvider","_ref$onSubmit","onSubmit","noop","_ref$initialValues","initialValues","children","formikProps","_ref$validationSchema","validationSchema","_ref$showSendToField","_ref$showReplyToField","_ref$showSendToAsRadi","Provider","Form","_objectSpread","enableReinitialize","globalProps","user"],"mappings":"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"}
|
package/dist/cjs/HelpPopover.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var defineProperty = require('./defineProperty-886ed289.js');
|
|
4
3
|
var _extends = require('./extends-1b35a664.js');
|
|
4
|
+
var defineProperty = require('./defineProperty-886ed289.js');
|
|
5
5
|
var objectWithoutProperties = require('./objectWithoutProperties-2fed2d7d.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var classnames = require('classnames');
|
|
8
8
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
9
9
|
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
10
10
|
var neetoui = require('@bigbinary/neetoui');
|
|
11
|
+
var reactI18next = require('react-i18next');
|
|
11
12
|
|
|
12
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
14
|
|
|
@@ -34,7 +35,8 @@ var HelpPopover = function HelpPopover(_ref) {
|
|
|
34
35
|
_ref$icon = _ref.icon,
|
|
35
36
|
icon = _ref$icon === void 0 ? neetoIcons.Help : _ref$icon,
|
|
36
37
|
otherProps = objectWithoutProperties._objectWithoutProperties(_ref, _excluded);
|
|
37
|
-
var
|
|
38
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
39
|
+
t = _useTranslation.t;
|
|
38
40
|
var isCompact = neetoCist.isNotPresent(title) && neetoCist.isNotPresent(helpLinkProps);
|
|
39
41
|
var Icon = function Icon() {
|
|
40
42
|
var Component = icon;
|
|
@@ -43,14 +45,7 @@ var HelpPopover = function HelpPopover(_ref) {
|
|
|
43
45
|
size: SIZE[size]
|
|
44
46
|
});
|
|
45
47
|
};
|
|
46
|
-
return /*#__PURE__*/React__default["default"].createElement(
|
|
47
|
-
"data-cy": "help-popover-button",
|
|
48
|
-
"data-testid": "help-popover-button",
|
|
49
|
-
icon: Icon,
|
|
50
|
-
ref: helpIconRef,
|
|
51
|
-
style: "text",
|
|
52
|
-
className: classnames__default["default"]("neeto-molecule-help-popover-trigger neeto-ui-rounded-full bg-transparent p-0", className)
|
|
53
|
-
})), /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, _extends._extends({
|
|
48
|
+
return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, _extends._extends({
|
|
54
49
|
appendTo: function appendTo() {
|
|
55
50
|
return document.body;
|
|
56
51
|
}
|
|
@@ -58,7 +53,6 @@ var HelpPopover = function HelpPopover(_ref) {
|
|
|
58
53
|
interactive: true,
|
|
59
54
|
arrow: isCompact ? undefined : true,
|
|
60
55
|
className: classnames__default["default"](defineProperty._defineProperty({}, "neeto-ui-popover", !isCompact)),
|
|
61
|
-
reference: helpIconRef,
|
|
62
56
|
role: "tooltip",
|
|
63
57
|
theme: isCompact ? "dark" : "light",
|
|
64
58
|
content: /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -74,13 +68,19 @@ var HelpPopover = function HelpPopover(_ref) {
|
|
|
74
68
|
}, description) : description, helpLinkProps && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends._extends({
|
|
75
69
|
className: "neeto-ui-mt-3",
|
|
76
70
|
"data-cy": "help-popover-link-button",
|
|
77
|
-
label: "
|
|
71
|
+
label: t("neetoMolecules.common.viewHelpArticle"),
|
|
78
72
|
size: "small"
|
|
79
73
|
}, helpLinkProps, {
|
|
80
74
|
"data-testid": "help-popover-link-button",
|
|
81
75
|
style: "link",
|
|
82
76
|
target: "_blank"
|
|
83
77
|
})))
|
|
78
|
+
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends._extends({}, otherProps, {
|
|
79
|
+
"data-cy": "help-popover-button",
|
|
80
|
+
"data-testid": "help-popover-button",
|
|
81
|
+
icon: Icon,
|
|
82
|
+
style: "text",
|
|
83
|
+
className: classnames__default["default"]("neeto-molecule-help-popover-trigger neeto-ui-rounded-full bg-transparent p-0", className)
|
|
84
84
|
})));
|
|
85
85
|
};
|
|
86
86
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HelpPopover.js","sources":["../../src/components/HelpPopover/constants.js","../../src/components/HelpPopover/index.jsx"],"sourcesContent":["export const SIZE = { default: 16, large: 20 };\n","import React
|
|
1
|
+
{"version":3,"file":"HelpPopover.js","sources":["../../src/components/HelpPopover/constants.js","../../src/components/HelpPopover/index.jsx"],"sourcesContent":["export const SIZE = { default: 16, large: 20 };\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\nimport { Help } from \"neetoicons\";\nimport { Button, Popover, Tooltip, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SIZE } from \"./constants\";\n\nconst { Title } = Popover;\n\nconst HelpPopover = ({\n title,\n size = \"default\",\n description,\n helpLinkProps,\n popoverProps,\n className,\n iconColor = \"#1f1f1f\",\n icon = Help,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n const isCompact = isNotPresent(title) && isNotPresent(helpLinkProps);\n\n const Icon = () => {\n const Component = icon;\n\n return <Component color={iconColor} size={SIZE[size]} />;\n };\n\n return (\n <Tooltip\n appendTo={() => document.body}\n {...popoverProps}\n interactive\n arrow={isCompact ? undefined : true}\n className={classNames({ [\"neeto-ui-popover\"]: !isCompact })}\n role=\"tooltip\"\n theme={isCompact ? \"dark\" : \"light\"}\n content={\n <div className=\"flex flex-col\">\n {title && (\n <Title\n data-cy=\"help-popover-title\"\n data-testid=\"help-popover-title\"\n >\n {title}\n </Title>\n )}\n {typeof description === \"string\" && !isCompact ? (\n <Typography\n data-cy=\"help-popover-description\"\n data-testid=\"help-popover-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n ) : (\n description\n )}\n {helpLinkProps && (\n <Button\n className=\"neeto-ui-mt-3\"\n data-cy=\"help-popover-link-button\"\n label={t(\"neetoMolecules.common.viewHelpArticle\")}\n size=\"small\"\n {...helpLinkProps}\n data-testid=\"help-popover-link-button\"\n style=\"link\"\n target=\"_blank\"\n />\n )}\n </div>\n }\n >\n <Button\n {...otherProps}\n data-cy=\"help-popover-button\"\n data-testid=\"help-popover-button\"\n icon={Icon}\n style=\"text\"\n className={classNames(\n \"neeto-molecule-help-popover-trigger neeto-ui-rounded-full bg-transparent p-0\",\n className\n )}\n />\n </Tooltip>\n );\n};\n\nHelpPopover.propTypes = {\n /**\n * To set the title of the help popover.\n */\n title: PropTypes.string,\n /**\n * To set the size of the popover help icon.\n */\n size: PropTypes.oneOf([\"default\", \"large\"]),\n /**\n * To set the description of the popover, this can be a string or a custom component.\n */\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n /**\n * To set the props of the help link which is displayed below the description.\n */\n helpLinkProps: PropTypes.object,\n /**\n * To set the props of the popover to customize it further.\n */\n popoverProps: PropTypes.object,\n /**\n * Additional classes passed on to the help button element.\n */\n className: PropTypes.string,\n /**\n * To set the default icon color of the help icon.\n */\n iconColor: PropTypes.string,\n /**\n * To customize the icon of the help popover.\n */\n icon: PropTypes.node,\n};\n\nexport default HelpPopover;\n"],"names":["SIZE","large","Title","Popover","HelpPopover","_ref","title","_ref$size","size","description","helpLinkProps","popoverProps","className","_ref$iconColor","iconColor","_ref$icon","icon","Help","otherProps","_objectWithoutProperties","_excluded","_useTranslation","useTranslation","t","isCompact","isNotPresent","Icon","Component","React","createElement","color","Tooltip","_extends","appendTo","document","body","interactive","arrow","undefined","classNames","_defineProperty","role","theme","content","Typography","lineHeight","style","Button","label","target"],"mappings":"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"}
|
package/dist/cjs/MoreDropdown.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var objectWithoutProperties = require('./objectWithoutProperties-2fed2d7d.js');
|
|
4
3
|
var defineProperty = require('./defineProperty-886ed289.js');
|
|
5
4
|
var _extends = require('./extends-1b35a664.js');
|
|
5
|
+
var objectWithoutProperties = require('./objectWithoutProperties-2fed2d7d.js');
|
|
6
6
|
var React = require('react');
|
|
7
|
+
var classnames = require('classnames');
|
|
7
8
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
8
9
|
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
9
10
|
var neetoui = require('@bigbinary/neetoui');
|
|
@@ -14,6 +15,7 @@ var injectCss = require('./inject-css-80a5faa3.js');
|
|
|
14
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
16
|
|
|
16
17
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
18
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
17
19
|
|
|
18
20
|
var MENU_ITEM_TYPES = {
|
|
19
21
|
menuItem: "menuItem",
|
|
@@ -25,7 +27,7 @@ var DEFAULT_TOOLTIP_PROPS = {
|
|
|
25
27
|
};
|
|
26
28
|
|
|
27
29
|
var _excluded$2 = ["label", "key"],
|
|
28
|
-
_excluded2 = ["isVisible", "key"];
|
|
30
|
+
_excluded2$1 = ["isVisible", "key"];
|
|
29
31
|
var MenuItem$1 = neetoui.Dropdown.MenuItem,
|
|
30
32
|
Menu$1 = neetoui.Dropdown.Menu;
|
|
31
33
|
var Submenu = function Submenu(_ref) {
|
|
@@ -41,7 +43,7 @@ var Submenu = function Submenu(_ref) {
|
|
|
41
43
|
var _ref2$isVisible = _ref2.isVisible,
|
|
42
44
|
isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,
|
|
43
45
|
key = _ref2.key,
|
|
44
|
-
menuItemProps = objectWithoutProperties._objectWithoutProperties(_ref2, _excluded2);
|
|
46
|
+
menuItemProps = objectWithoutProperties._objectWithoutProperties(_ref2, _excluded2$1);
|
|
45
47
|
if (!isVisible) return null;
|
|
46
48
|
return /*#__PURE__*/React__default["default"].createElement(MoreDropdownMenuItem, _extends._extends({
|
|
47
49
|
key: key
|
|
@@ -75,10 +77,11 @@ var MoreDropdownMenuItem = function MoreDropdownMenuItem(_ref) {
|
|
|
75
77
|
}, menuItemProps), label);
|
|
76
78
|
};
|
|
77
79
|
|
|
78
|
-
var css = ".neeto-ui-btn.neeto-ui-btn--icon-only[data-dropdown-button-style=more-dropdown],.neeto-ui-btn.neeto-ui-btn--icon-only[data-testid=column-menu-button]{--neeto-ui-btn-icon-size:20px;--neeto-ui-btn-padding-x:0;--neeto-ui-btn-padding-y:0;height:28px;justify-content:center;width:28px}.neeto-ui-btn.neeto-ui-btn--icon-only.neeto-ui-btn--size-medium[data-dropdown-button-style=more-dropdown],.neeto-ui-btn.neeto-ui-btn--icon-only.neeto-ui-btn--size-medium[data-testid=column-menu-button]{--neeto-ui-btn-icon-size:24px;--neeto-ui-btn-padding-x:0;--neeto-ui-btn-padding-y:0;height:32px;justify-content:center;width:32px}.neeto-ui-btn.neeto-ui-btn--icon-only.neeto-ui-btn--size-large[data-dropdown-button-style=more-dropdown],.neeto-ui-btn.neeto-ui-btn--icon-only.neeto-ui-btn--size-large[data-testid=column-menu-button]{--neeto-ui-btn-icon-size:30px;--neeto-ui-btn-padding-x:0;--neeto-ui-btn-padding-y:0;height:40px;justify-content:center;width:40px}";
|
|
80
|
+
var css = ".neeto-ui-btn.neeto-ui-btn--icon-only[data-dropdown-button-style=more-dropdown],.neeto-ui-btn.neeto-ui-btn--icon-only[data-testid=column-menu-button]{--neeto-ui-btn-icon-size:20px;--neeto-ui-btn-padding-x:0;--neeto-ui-btn-padding-y:0;height:28px;justify-content:center;width:28px}.neeto-ui-btn.neeto-ui-btn--icon-only.neeto-ui-btn--size-medium[data-dropdown-button-style=more-dropdown],.neeto-ui-btn.neeto-ui-btn--icon-only.neeto-ui-btn--size-medium[data-testid=column-menu-button]{--neeto-ui-btn-icon-size:24px;--neeto-ui-btn-padding-x:0;--neeto-ui-btn-padding-y:0;height:32px;justify-content:center;width:32px}.neeto-ui-btn.neeto-ui-btn--icon-only.neeto-ui-btn--size-large[data-dropdown-button-style=more-dropdown],.neeto-ui-btn.neeto-ui-btn--icon-only.neeto-ui-btn--size-large[data-testid=column-menu-button]{--neeto-ui-btn-icon-size:30px;--neeto-ui-btn-padding-x:0;--neeto-ui-btn-padding-y:0;height:40px;justify-content:center;width:40px}.neeto-ui-btn.neeto-molecule-moredropdown--rounded[data-dropdown-button-style=more-dropdown]{border-radius:100%}";
|
|
79
81
|
injectCss.n(css,{});
|
|
80
82
|
|
|
81
|
-
var _excluded = ["
|
|
83
|
+
var _excluded = ["isRounded"],
|
|
84
|
+
_excluded2 = ["isVisible", "key"];
|
|
82
85
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
83
86
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
84
87
|
var Menu = neetoui.Dropdown.Menu;
|
|
@@ -97,6 +100,8 @@ var MoreDropdown = function MoreDropdown(_ref) {
|
|
|
97
100
|
menuItems = _ref$menuItems === void 0 ? [] : _ref$menuItems;
|
|
98
101
|
var _useTranslation = reactI18next.useTranslation(),
|
|
99
102
|
t = _useTranslation.t;
|
|
103
|
+
var isRoundedButton = dropdownButtonProps.isRounded,
|
|
104
|
+
buttonProps = objectWithoutProperties._objectWithoutProperties(dropdownButtonProps, _excluded);
|
|
100
105
|
var tooltipProps = ramda.mergeRight(DEFAULT_TOOLTIP_PROPS, dropdownButtonProps.tooltipProps);
|
|
101
106
|
var targetIcon = isVertical ? neetoIcons.MenuVertical : neetoIcons.MenuHorizontal;
|
|
102
107
|
var isDropdownDisabled = isDisabled || dropdownProps.disabled;
|
|
@@ -109,8 +114,11 @@ var MoreDropdown = function MoreDropdown(_ref) {
|
|
|
109
114
|
icon: targetIcon,
|
|
110
115
|
iconPosition: "right",
|
|
111
116
|
size: "medium",
|
|
112
|
-
style: "text"
|
|
113
|
-
|
|
117
|
+
style: "text",
|
|
118
|
+
className: classnames__default["default"]({
|
|
119
|
+
"neeto-molecule-moredropdown--rounded": isRoundedButton
|
|
120
|
+
})
|
|
121
|
+
}, buttonProps))));
|
|
114
122
|
}
|
|
115
123
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, _extends._extends({
|
|
116
124
|
autoWidth: true,
|
|
@@ -119,18 +127,20 @@ var MoreDropdown = function MoreDropdown(_ref) {
|
|
|
119
127
|
icon: targetIcon,
|
|
120
128
|
buttonProps: _objectSpread({
|
|
121
129
|
"data-dropdown-button-style": "more-dropdown",
|
|
122
|
-
className: "min-h-0 flex-shrink-0",
|
|
130
|
+
className: classnames__default["default"]("min-h-0 flex-shrink-0", {
|
|
131
|
+
"neeto-molecule-moredropdown--rounded": isRoundedButton
|
|
132
|
+
}),
|
|
123
133
|
style: "text",
|
|
124
134
|
tooltipProps: {
|
|
125
135
|
content: t("neetoMolecules.moreDropdown.tooltip"),
|
|
126
136
|
position: "top"
|
|
127
137
|
}
|
|
128
|
-
},
|
|
138
|
+
}, buttonProps)
|
|
129
139
|
}, dropdownProps), /*#__PURE__*/React__default["default"].createElement(Menu, null, menuTopChildren, menuItems.map(function (_ref2) {
|
|
130
140
|
var _ref2$isVisible = _ref2.isVisible,
|
|
131
141
|
isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,
|
|
132
142
|
key = _ref2.key,
|
|
133
|
-
menuItemProps = objectWithoutProperties._objectWithoutProperties(_ref2,
|
|
143
|
+
menuItemProps = objectWithoutProperties._objectWithoutProperties(_ref2, _excluded2);
|
|
134
144
|
if (!isVisible) return null;
|
|
135
145
|
return /*#__PURE__*/React__default["default"].createElement(MoreDropdownMenuItem, _extends._extends({
|
|
136
146
|
key: key !== null && key !== void 0 ? key : neetoCist.hyphenate(menuItemProps.label)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoreDropdown.js","sources":["../../src/components/MoreDropdown/constants.js","../../src/components/MoreDropdown/Submenu.jsx","../../src/components/MoreDropdown/MenuItem.jsx","../../src/components/MoreDropdown/index.jsx"],"sourcesContent":["export const BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n danger: \"danger\",\n danger_text: \"danger-text\",\n text: \"text\",\n link: \"link\",\n};\n\nexport const SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nexport const STRATEGY = { absolute: \"absolute\", fixed: \"fixed\" };\n\nexport const MENU_ITEM_TYPES = {\n menuItem: \"menuItem\",\n divider: \"divider\",\n};\n\nexport const DEFAULT_TOOLTIP_PROPS = {\n disabled: true,\n position: \"bottom\",\n};\n","import React from \"react\";\n\nimport { Dropdown } from \"neetoui\";\n\nimport MoreDropdownMenuItem from \"./MenuItem\";\n\nconst { MenuItem, Menu } = Dropdown;\n\nconst Submenu = ({ label, key, ...menuItemProps }) => (\n <Dropdown\n customTarget={<MenuItem.Button>{label}</MenuItem.Button>}\n key={key}\n position=\"left\"\n trigger=\"hover\"\n {...menuItemProps.dropdownProps}\n >\n <Menu>\n {menuItemProps.menuItems.map(\n ({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return <MoreDropdownMenuItem key={key} {...menuItemProps} />;\n }\n )}\n </Menu>\n </Dropdown>\n);\n\nexport default Submenu;\n","import React from \"react\";\n\nimport { Dropdown } from \"neetoui\";\n\nimport { MENU_ITEM_TYPES } from \"./constants\";\nimport Submenu from \"./Submenu\";\n\nconst { MenuItem, Divider } = Dropdown;\n\nconst MoreDropdownMenuItem = ({\n onClick,\n label,\n type = MENU_ITEM_TYPES.menuItem,\n hasSubItems = false,\n ...menuItemProps\n}) => {\n if (type === MENU_ITEM_TYPES.divider) {\n return <Divider />;\n }\n\n if (hasSubItems) {\n return <Submenu {...{ label, ...menuItemProps }} />;\n }\n\n return (\n <MenuItem.Button {...{ onClick, ...menuItemProps }}>\n {label}\n </MenuItem.Button>\n );\n};\n\nexport default MoreDropdownMenuItem;\n","import React from \"react\";\n\nimport { hyphenate } from \"neetocist\";\nimport { MenuHorizontal, MenuVertical } from \"neetoicons\";\nimport { Button, Dropdown, Tooltip } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n BUTTON_STYLES,\n DEFAULT_TOOLTIP_PROPS,\n MENU_ITEM_TYPES,\n SIZES,\n STRATEGY,\n} from \"./constants\";\nimport MenuItem from \"./MenuItem\";\nimport \"./moredropdown.scss\";\n\nconst { Menu } = Dropdown;\n\nconst MoreDropdown = ({\n dropdownButtonProps = {},\n isVertical = false,\n isDisabled = false,\n dropdownProps = {},\n menuTopChildren,\n menuBottomChildren,\n menuItems = [],\n}) => {\n const { t } = useTranslation();\n\n const tooltipProps = mergeRight(\n DEFAULT_TOOLTIP_PROPS,\n dropdownButtonProps.tooltipProps\n );\n\n const targetIcon = isVertical ? MenuVertical : MenuHorizontal;\n\n const isDropdownDisabled = isDisabled || dropdownProps.disabled;\n if (isDropdownDisabled && !tooltipProps.disabled) {\n return (\n <Tooltip {...tooltipProps}>\n <span>\n <Button\n disabled\n data-cy=\"more-dropdown-button\"\n data-dropdown-button-style=\"more-dropdown\"\n data-testid=\"nui-dropdown-button\"\n icon={targetIcon}\n iconPosition=\"right\"\n size=\"medium\"\n style=\"text\"\n {...dropdownButtonProps}\n />\n </span>\n </Tooltip>\n );\n }\n\n return (\n <Dropdown\n autoWidth\n className=\"flex\"\n disabled={isDisabled}\n icon={targetIcon}\n buttonProps={{\n \"data-dropdown-button-style\": \"more-dropdown\",\n className: \"min-h-0 flex-shrink-0\",\n style: \"text\",\n tooltipProps: {\n content: t(\"neetoMolecules.moreDropdown.tooltip\"),\n position: \"top\",\n },\n ...dropdownButtonProps,\n }}\n {...dropdownProps}\n >\n <Menu>\n {menuTopChildren}\n {menuItems.map(({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(menuItemProps.label)}\n {...menuItemProps}\n />\n );\n })}\n {menuBottomChildren}\n </Menu>\n </Dropdown>\n );\n};\n\nMoreDropdown.propTypes = {\n /*\n * This props will be passed to the target button of the dropdown.\n */\n dropdownButtonProps: PropTypes.shape({\n style: PropTypes.oneOf(Object.values(BUTTON_STYLES)),\n size: PropTypes.oneOf(Object.values(SIZES)),\n iconSize: PropTypes.number,\n disabled: PropTypes.bool,\n }),\n /*\n * Whether to show a MenuVertical icon. By default the icon will be MenuHorizontal.\n */\n isVertical: PropTypes.bool,\n /*\n * Whether the dropdown is disabled or not.\n */\n isDisabled: PropTypes.bool,\n /*\n * This props will be passed to the dropdown.\n */\n dropdownProps: PropTypes.shape({\n strategy: PropTypes.oneOf(Object.values(STRATEGY)),\n }),\n /*\n * This children will be rendered on top of the dropdown menu.\n */\n menuTopChildren: PropTypes.node,\n /*\n * This children will be rendered on bottom of the dropdown menu.\n */\n menuBottomChildren: PropTypes.node,\n /*\n * Menu items inside the dropdown. Each item needs to have a `label`, `onClick` and `key`.\n */\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n key: PropTypes.string,\n type: PropTypes.oneOf(Object.values(MENU_ITEM_TYPES)),\n isVisible: PropTypes.bool,\n hasSubItems: PropTypes.bool,\n dropdownProps: PropTypes.shape({\n position: PropTypes.string,\n trigger: PropTypes.string,\n }),\n })\n ),\n};\n\nexport default MoreDropdown;\n"],"names":["MENU_ITEM_TYPES","menuItem","divider","DEFAULT_TOOLTIP_PROPS","disabled","position","MenuItem","Dropdown","Menu","Submenu","_ref","label","key","menuItemProps","_objectWithoutProperties","_excluded","React","createElement","_extends","customTarget","Button","trigger","dropdownProps","menuItems","map","_ref2","_ref2$isVisible","isVisible","_excluded2","MoreDropdownMenuItem","Divider","onClick","_ref$type","type","_ref$hasSubItems","hasSubItems","_objectSpread","MoreDropdown","_ref$dropdownButtonPr","dropdownButtonProps","_ref$isVertical","isVertical","_ref$isDisabled","isDisabled","_ref$dropdownProps","menuTopChildren","menuBottomChildren","_ref$menuItems","_useTranslation","useTranslation","t","tooltipProps","mergeRight","targetIcon","MenuVertical","MenuHorizontal","isDropdownDisabled","Tooltip","icon","iconPosition","size","style","autoWidth","className","buttonProps","content","hyphenate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MoreDropdown.js","sources":["../../src/components/MoreDropdown/constants.js","../../src/components/MoreDropdown/Submenu.jsx","../../src/components/MoreDropdown/MenuItem.jsx","../../src/components/MoreDropdown/index.jsx"],"sourcesContent":["export const BUTTON_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n tertiary: \"tertiary\",\n danger: \"danger\",\n danger_text: \"danger-text\",\n text: \"text\",\n link: \"link\",\n};\n\nexport const SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nexport const STRATEGY = { absolute: \"absolute\", fixed: \"fixed\" };\n\nexport const MENU_ITEM_TYPES = {\n menuItem: \"menuItem\",\n divider: \"divider\",\n};\n\nexport const DEFAULT_TOOLTIP_PROPS = {\n disabled: true,\n position: \"bottom\",\n};\n","import React from \"react\";\n\nimport { Dropdown } from \"neetoui\";\n\nimport MoreDropdownMenuItem from \"./MenuItem\";\n\nconst { MenuItem, Menu } = Dropdown;\n\nconst Submenu = ({ label, key, ...menuItemProps }) => (\n <Dropdown\n customTarget={<MenuItem.Button>{label}</MenuItem.Button>}\n key={key}\n position=\"left\"\n trigger=\"hover\"\n {...menuItemProps.dropdownProps}\n >\n <Menu>\n {menuItemProps.menuItems.map(\n ({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return <MoreDropdownMenuItem key={key} {...menuItemProps} />;\n }\n )}\n </Menu>\n </Dropdown>\n);\n\nexport default Submenu;\n","import React from \"react\";\n\nimport { Dropdown } from \"neetoui\";\n\nimport { MENU_ITEM_TYPES } from \"./constants\";\nimport Submenu from \"./Submenu\";\n\nconst { MenuItem, Divider } = Dropdown;\n\nconst MoreDropdownMenuItem = ({\n onClick,\n label,\n type = MENU_ITEM_TYPES.menuItem,\n hasSubItems = false,\n ...menuItemProps\n}) => {\n if (type === MENU_ITEM_TYPES.divider) {\n return <Divider />;\n }\n\n if (hasSubItems) {\n return <Submenu {...{ label, ...menuItemProps }} />;\n }\n\n return (\n <MenuItem.Button {...{ onClick, ...menuItemProps }}>\n {label}\n </MenuItem.Button>\n );\n};\n\nexport default MoreDropdownMenuItem;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\nimport { MenuHorizontal, MenuVertical } from \"neetoicons\";\nimport { Button, Dropdown, Tooltip } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n BUTTON_STYLES,\n DEFAULT_TOOLTIP_PROPS,\n MENU_ITEM_TYPES,\n SIZES,\n STRATEGY,\n} from \"./constants\";\nimport MenuItem from \"./MenuItem\";\nimport \"./moredropdown.scss\";\n\nconst { Menu } = Dropdown;\n\nconst MoreDropdown = ({\n dropdownButtonProps = {},\n isVertical = false,\n isDisabled = false,\n dropdownProps = {},\n menuTopChildren,\n menuBottomChildren,\n menuItems = [],\n}) => {\n const { t } = useTranslation();\n\n const { isRounded: isRoundedButton, ...buttonProps } = dropdownButtonProps;\n\n const tooltipProps = mergeRight(\n DEFAULT_TOOLTIP_PROPS,\n dropdownButtonProps.tooltipProps\n );\n\n const targetIcon = isVertical ? MenuVertical : MenuHorizontal;\n\n const isDropdownDisabled = isDisabled || dropdownProps.disabled;\n if (isDropdownDisabled && !tooltipProps.disabled) {\n return (\n <Tooltip {...tooltipProps}>\n <span>\n <Button\n disabled\n data-cy=\"more-dropdown-button\"\n data-dropdown-button-style=\"more-dropdown\"\n data-testid=\"nui-dropdown-button\"\n icon={targetIcon}\n iconPosition=\"right\"\n size=\"medium\"\n style=\"text\"\n className={classnames({\n \"neeto-molecule-moredropdown--rounded\": isRoundedButton,\n })}\n {...buttonProps}\n />\n </span>\n </Tooltip>\n );\n }\n\n return (\n <Dropdown\n autoWidth\n className=\"flex\"\n disabled={isDisabled}\n icon={targetIcon}\n buttonProps={{\n \"data-dropdown-button-style\": \"more-dropdown\",\n className: classnames(\"min-h-0 flex-shrink-0\", {\n \"neeto-molecule-moredropdown--rounded\": isRoundedButton,\n }),\n style: \"text\",\n tooltipProps: {\n content: t(\"neetoMolecules.moreDropdown.tooltip\"),\n position: \"top\",\n },\n ...buttonProps,\n }}\n {...dropdownProps}\n >\n <Menu>\n {menuTopChildren}\n {menuItems.map(({ isVisible = true, key, ...menuItemProps }) => {\n if (!isVisible) return null;\n\n return (\n <MenuItem\n key={key ?? hyphenate(menuItemProps.label)}\n {...menuItemProps}\n />\n );\n })}\n {menuBottomChildren}\n </Menu>\n </Dropdown>\n );\n};\n\nMoreDropdown.propTypes = {\n /*\n * This props will be passed to the target button of the dropdown.\n */\n dropdownButtonProps: PropTypes.shape({\n style: PropTypes.oneOf(Object.values(BUTTON_STYLES)),\n size: PropTypes.oneOf(Object.values(SIZES)),\n iconSize: PropTypes.number,\n disabled: PropTypes.bool,\n isRounded: PropTypes.bool,\n }),\n /*\n * Whether to show a MenuVertical icon. By default the icon will be MenuHorizontal.\n */\n isVertical: PropTypes.bool,\n /*\n * Whether the dropdown is disabled or not.\n */\n isDisabled: PropTypes.bool,\n /*\n * This props will be passed to the dropdown.\n */\n dropdownProps: PropTypes.shape({\n strategy: PropTypes.oneOf(Object.values(STRATEGY)),\n }),\n /*\n * This children will be rendered on top of the dropdown menu.\n */\n menuTopChildren: PropTypes.node,\n /*\n * This children will be rendered on bottom of the dropdown menu.\n */\n menuBottomChildren: PropTypes.node,\n /*\n * Menu items inside the dropdown. Each item needs to have a `label`, `onClick` and `key`.\n */\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n key: PropTypes.string,\n type: PropTypes.oneOf(Object.values(MENU_ITEM_TYPES)),\n isVisible: PropTypes.bool,\n hasSubItems: PropTypes.bool,\n dropdownProps: PropTypes.shape({\n position: PropTypes.string,\n trigger: PropTypes.string,\n }),\n })\n ),\n};\n\nexport default MoreDropdown;\n"],"names":["MENU_ITEM_TYPES","menuItem","divider","DEFAULT_TOOLTIP_PROPS","disabled","position","MenuItem","Dropdown","Menu","Submenu","_ref","label","key","menuItemProps","_objectWithoutProperties","_excluded","React","createElement","_extends","customTarget","Button","trigger","dropdownProps","menuItems","map","_ref2","_ref2$isVisible","isVisible","_excluded2","MoreDropdownMenuItem","Divider","onClick","_ref$type","type","_ref$hasSubItems","hasSubItems","_objectSpread","MoreDropdown","_ref$dropdownButtonPr","dropdownButtonProps","_ref$isVertical","isVertical","_ref$isDisabled","isDisabled","_ref$dropdownProps","menuTopChildren","menuBottomChildren","_ref$menuItems","_useTranslation","useTranslation","t","isRoundedButton","isRounded","buttonProps","tooltipProps","mergeRight","targetIcon","MenuVertical","MenuHorizontal","isDropdownDisabled","Tooltip","icon","iconPosition","size","style","className","classnames","autoWidth","content","hyphenate"],"mappings":"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"}
|
package/dist/cjs/Schedule.js
CHANGED
|
@@ -26,8 +26,8 @@ var toConsumableArray = require('./toConsumableArray-9abb3858.js');
|
|
|
26
26
|
var neetoTeamMembersFrontend = require('@bigbinary/neeto-team-members-frontend');
|
|
27
27
|
var MoreDropdown = require('./MoreDropdown.js');
|
|
28
28
|
var injectCss = require('./inject-css-80a5faa3.js');
|
|
29
|
-
require('./objectWithoutProperties-2fed2d7d.js');
|
|
30
29
|
require('./extends-1b35a664.js');
|
|
30
|
+
require('./objectWithoutProperties-2fed2d7d.js');
|
|
31
31
|
|
|
32
32
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
33
33
|
|
|
@@ -516,4 +516,4 @@ exports.Manage = Manage;
|
|
|
516
516
|
exports.renderColumnData = renderColumnData;
|
|
517
517
|
exports.useDeleteCustomDomain = useDeleteCustomDomain;
|
|
518
518
|
exports.useFetchCustomDomains = useFetchCustomDomains;
|
|
519
|
-
//# sourceMappingURL=index-
|
|
519
|
+
//# sourceMappingURL=index-35629600.js.map
|