@bigbinary/neeto-molecules 4.0.13 → 4.0.16

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.
Files changed (56) hide show
  1. package/dist/{Chevron-4o5U32u5.js → Chevron-DEQtNhrI.js} +4 -3
  2. package/dist/Chevron-DEQtNhrI.js.map +1 -0
  3. package/dist/ConfigurePageSidebar.js +1 -1
  4. package/dist/KeyboardShortcuts.js +6 -1
  5. package/dist/KeyboardShortcuts.js.map +1 -1
  6. package/dist/ShareViaLink.js +13 -4
  7. package/dist/ShareViaLink.js.map +1 -1
  8. package/dist/Sidebar.js +200 -7
  9. package/dist/Sidebar.js.map +1 -1
  10. package/dist/cjs/{Chevron-DprQPqED.js → Chevron-u-rD2gAf.js} +4 -2
  11. package/dist/cjs/Chevron-u-rD2gAf.js.map +1 -0
  12. package/dist/cjs/ConfigurePageSidebar.js +1 -1
  13. package/dist/cjs/KeyboardShortcuts.js +6 -1
  14. package/dist/cjs/KeyboardShortcuts.js.map +1 -1
  15. package/dist/cjs/ShareViaLink.js +13 -4
  16. package/dist/cjs/ShareViaLink.js.map +1 -1
  17. package/dist/cjs/Sidebar.js +198 -5
  18. package/dist/cjs/Sidebar.js.map +1 -1
  19. package/package.json +3 -3
  20. package/src/translations/ar.json +4 -1
  21. package/src/translations/bg.json +10 -1
  22. package/src/translations/ca.json +4 -1
  23. package/src/translations/cs.json +4 -1
  24. package/src/translations/da.json +4 -1
  25. package/src/translations/de.json +4 -1
  26. package/src/translations/en.json +3 -0
  27. package/src/translations/es-MX.json +4 -1
  28. package/src/translations/es.json +4 -1
  29. package/src/translations/et.json +4 -1
  30. package/src/translations/fi.json +4 -1
  31. package/src/translations/fil.json +4 -1
  32. package/src/translations/fr.json +4 -1
  33. package/src/translations/hi.json +10 -1
  34. package/src/translations/hr.json +4 -1
  35. package/src/translations/id.json +4 -1
  36. package/src/translations/it.json +4 -1
  37. package/src/translations/ja.json +4 -1
  38. package/src/translations/ko.json +4 -1
  39. package/src/translations/nl.json +4 -1
  40. package/src/translations/pl.json +4 -1
  41. package/src/translations/pt-BR.json +4 -1
  42. package/src/translations/pt.json +4 -1
  43. package/src/translations/ro.json +4 -1
  44. package/src/translations/ru.json +4 -1
  45. package/src/translations/sk.json +4 -1
  46. package/src/translations/sl.json +4 -1
  47. package/src/translations/sv.json +4 -1
  48. package/src/translations/th.json +4 -1
  49. package/src/translations/tr.json +4 -1
  50. package/src/translations/uk.json +752 -1
  51. package/src/translations/vi.json +4 -1
  52. package/src/translations/zh-CN.json +4 -1
  53. package/src/translations/zh-TW.json +4 -1
  54. package/types/Sidebar.d.ts +1 -0
  55. package/dist/Chevron-4o5U32u5.js.map +0 -1
  56. package/dist/cjs/Chevron-DprQPqED.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ShareViaLink.js","sources":["../../src/components/ShareViaLink/ExpiryNotice.jsx","../../src/components/ShareViaLink/utils.js","../../src/components/ShareViaLink/constants.js","../../src/components/ShareViaLink/EditURL.jsx","../../src/components/ShareViaLink/RegenerateURL.jsx","../../src/components/ShareViaLink/Link.jsx","../../src/components/ShareViaLink/Card.jsx","../../src/components/ShareViaLink/ShareBlock.jsx","../../src/components/ShareViaLink/MainPanel.jsx","../../node_modules/qrcode.react/lib/esm/index.js","../../src/components/ShareViaLink/QRCode.jsx","../../src/components/ShareViaLink/SocialMedia.jsx","../../src/components/ShareViaLink/index.jsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ExpiryNotice = ({ expiryConfiguration }) => {\n const { t } = useTranslation();\n const { daysBeforeExpiry } = expiryConfiguration;\n\n let notice = t(\"neetoMolecules.shareViaLink.expiryNotice.daysRemaining\", {\n count: daysBeforeExpiry,\n });\n if (daysBeforeExpiry < 1) {\n notice = t(\"neetoMolecules.shareViaLink.expiryNotice.expiresToday\");\n }\n\n if (daysBeforeExpiry <= 0) {\n notice = t(\"neetoMolecules.shareViaLink.expiryNotice.expired\");\n }\n\n return (\n <Typography\n data-testid=\"expiry-notice\"\n lineHeight=\"normal\"\n style=\"body3\"\n className={classNames(\"ml-1\", {\n \"neeto-ui-text-error-800\": daysBeforeExpiry <= 1,\n \"neeto-ui-text-gray-700\": daysBeforeExpiry > 1,\n })}\n >\n {notice}\n </Typography>\n );\n};\n\nexport default ExpiryNotice;\n","import { buildUrl } from \"neetocommons/utils/general\";\n\nexport const facebookShareLink = ({ url }) =>\n buildUrl(\"https://www.facebook.com/sharer/sharer.php\", { u: url });\n\nexport const linkedInShareLink = ({ url, title }) =>\n buildUrl(\"https://www.linkedin.com/sharing/share-offsite\", {\n mini: true,\n text: `${title} ${url}`,\n });\n\nexport const twitterShareLink = ({ url, title }) =>\n buildUrl(\"http://twitter.com/share\", { text: title, url });\n\nexport const downloadCanvas = (canvas, options = {}) => {\n const { name = \"image\", extension = \"png\" } = options;\n\n const canvasUrl = canvas.toDataURL(`image/${extension}`);\n const element = document.createElement(\"a\");\n element.href = canvasUrl;\n element.download = `${name}.${extension}`;\n element.click();\n element.remove();\n};\n\nexport const copyCanvasToClipboard = async (canvas, handleDownloadQRCode) => {\n if (!canvas) return;\n\n try {\n const blob = await new Promise(resolve => canvas.toBlob(resolve));\n if (!blob) return;\n\n const clipboardItem = new ClipboardItem({ [blob.type]: blob });\n navigator.clipboard.write([clipboardItem]);\n } catch {\n handleDownloadQRCode();\n }\n};\n\nexport const getPathname = url => new URL(url).pathname.slice(1);\n\nexport const getPrefixFromUrl = url => `${new URL(url).origin}/`;\n\nexport const truncatePrefix = (inputElement, prefixText) => {\n const parentElement = inputElement.parentElement;\n const prefixElement = parentElement.querySelector(\".neeto-ui-input__prefix\");\n\n const { fontSize } = getComputedStyle(inputElement);\n const averageCharWidth = parseFloat(fontSize) * 0.6;\n\n const requiredInputWidth = inputElement.value.length * averageCharWidth;\n const prefixWidth = parentElement.offsetWidth - requiredInputWidth;\n\n const maxPrefixChars = Math.max(\n Math.floor(prefixWidth / averageCharWidth),\n 5\n );\n\n prefixElement.textContent =\n maxPrefixChars < prefixText.length\n ? `...${prefixText.slice(-maxPrefixChars)}`\n : prefixText;\n};\n","import { t } from \"i18next\";\nimport { Facebook, Linkedin, Twitter } from \"neetoicons\";\nimport * as yup from \"yup\";\n\nimport {\n facebookShareLink,\n twitterShareLink,\n linkedInShareLink,\n} from \"./utils\";\n\nexport const SOCIAL_MEDIA_OPTIONS = {\n FACEBOOK: {\n label: t(\"neetoMolecules.shareViaLink.socialMediaShare.facebook\"),\n icon: Facebook,\n generateShareUrl: facebookShareLink,\n },\n LINKEDIN: {\n label: t(\"neetoMolecules.shareViaLink.socialMediaShare.linkedIn\"),\n icon: Linkedin,\n generateShareUrl: linkedInShareLink,\n },\n TWITTER: {\n label: t(\"neetoMolecules.shareViaLink.socialMediaShare.twitter\"),\n icon: Twitter,\n generateShareUrl: twitterShareLink,\n },\n};\n\nexport const PATH_VALIDATION_SCHEMA = yup.object().shape({\n path: yup\n .string()\n .required(t(\"neetoMolecules.shareViaLink.editUrl.validationError\"))\n .matches(\n /^[A-Za-z0-9]([\\w/-])*$/,\n t(\"neetoMolecules.shareViaLink.editUrl.validationError\")\n ),\n});\n","import { useCallback, useEffect, useRef } from \"react\";\n\nimport { Form, Formik } from \"formik\";\nimport { Typography, Pane } from \"neetoui\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PATH_VALIDATION_SCHEMA } from \"./constants\";\nimport \"./edit-url.scss\";\nimport { getPathname, getPrefixFromUrl, truncatePrefix } from \"./utils\";\n\nconst { Header, Body, Footer } = Pane;\n\nconst EditURL = ({\n editUrlProps,\n isOpen,\n onClose,\n url,\n isLoading,\n handleEdit,\n}) => {\n const { t } = useTranslation();\n\n const focusRef = useRef(null);\n const prevIsLoadingRef = useRef(isLoading);\n\n const prefixText = editUrlProps?.prefix || getPrefixFromUrl(url);\n\n const observerRef = useRef(\n new ResizeObserver(([entry]) =>\n requestAnimationFrame(() => truncatePrefix(entry.target, prefixText))\n )\n );\n\n const inputRef = useCallback(inputElement => {\n focusRef.current = inputElement;\n\n inputElement\n ? observerRef.current.observe(inputElement)\n : observerRef.current.disconnect();\n }, []);\n\n useEffect(() => {\n if (prevIsLoadingRef.current && !isLoading) onClose();\n\n prevIsLoadingRef.current = isLoading;\n }, [isLoading]);\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n data-testid=\"edit-url-modal\"\n initialFocusRef={focusRef}\n size=\"large\"\n >\n <Header>\n <Typography lineHeight=\"normal\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.shareViaLink.editUrl.title\")}\n </Typography>\n </Header>\n <Formik\n enableReinitialize\n initialValues={{ path: editUrlProps?.editablePath || getPathname(url) }}\n validationSchema={PATH_VALIDATION_SCHEMA}\n onSubmit={({ path }) => handleEdit(path)}\n >\n {({ isSubmitting, dirty }) => (\n <Form>\n <Body className=\"flex flex-col gap-y-6\">\n <Input\n className=\"no-padding w-full flex-grow-0\"\n data-testid=\"edit-url-input\"\n label={t(\"neetoMolecules.shareViaLink.editUrl.inputLabel\")}\n maxLength={editUrlProps?.maxLength}\n name=\"path\"\n prefix={prefixText}\n ref={inputRef}\n />\n <Typography\n className=\"neeto-ui-text-gray-700\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.shareViaLink.editUrl.description\")}\n </Typography>\n </Body>\n <Footer className=\"flex items-center gap-x-2\">\n <ActionBlock\n className=\"flex items-center gap-x-2\"\n cancelButtonProps={{\n onClick: onClose,\n disabled: isSubmitting,\n \"data-testid\": \"edit-url-cancel-button\",\n }}\n submitButtonProps={{\n disabled: isSubmitting || !dirty,\n loading: isLoading,\n \"data-testid\": \"edit-url-confirm-button\",\n }}\n />\n </Footer>\n </Form>\n )}\n </Formik>\n </Pane>\n );\n};\n\nexport default EditURL;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Help } from \"neetoicons\";\nimport { Typography, Modal, Button, Input, Select, DatePicker } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst RegenerateURL = ({\n isOpen,\n onClose,\n url,\n isLoading,\n handleRegenerate,\n regenerateConfig = { expiresInOptions: [], helpUrl: null },\n}) => {\n const { t } = useTranslation();\n\n const prevIsLoadingRef = useRef(isLoading);\n const regenerateStrategy = isPresent(regenerateConfig?.expiresInOptions)\n ? \"expiryBased\"\n : \"basic\";\n\n const defaultExpiresInOption = regenerateConfig?.expiresInOptions?.[0]?.value;\n const [selectedExpiresInOption, setSelectedExpiresInOption] = useState(\n defaultExpiresInOption\n );\n\n const defaultExpiresOnDate = dayjs().add(10, \"day\").toDate();\n const [selectedExpiresOnDate, setSelectedExpiresOnDate] =\n useState(defaultExpiresOnDate);\n\n const isSelectedExpiresInOptionNever = selectedExpiresInOption === \"never\";\n const isSelectedExpiresInOptionCustom = selectedExpiresInOption === \"custom\";\n\n const isSelectedExpiresInOptionValidNumberOfDays =\n isPresent(selectedExpiresInOption) &&\n !isSelectedExpiresInOptionCustom &&\n !isSelectedExpiresInOptionNever;\n\n const isValidExpiryConfig =\n isSelectedExpiresInOptionNever ||\n (isSelectedExpiresInOptionCustom && isPresent(selectedExpiresOnDate)) ||\n isSelectedExpiresInOptionValidNumberOfDays;\n\n const expiryConfigPayload = isSelectedExpiresInOptionValidNumberOfDays\n ? { expiresInDays: selectedExpiresInOption }\n : { expiresOnDate: selectedExpiresOnDate };\n\n const onSubmit = () =>\n regenerateStrategy === \"basic\" || isSelectedExpiresInOptionNever\n ? handleRegenerate()\n : handleRegenerate({ payload: expiryConfigPayload });\n\n useEffect(() => {\n if (prevIsLoadingRef.current && !isLoading) onClose();\n\n prevIsLoadingRef.current = isLoading;\n }, [isLoading]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n setSelectedExpiresInOption(defaultExpiresInOption);\n setSelectedExpiresOnDate(defaultExpiresOnDate);\n }, [isOpen]);\n\n return (\n <Modal\n {...{ isOpen, onClose }}\n data-testid=\"regenerate-url-modal\"\n size={regenerateStrategy === \"basic\" ? \"medium\" : \"large\"}\n >\n <Modal.Header>\n <Typography lineHeight=\"normal\" style=\"h2\" weight=\"semibold\">\n {regenerateStrategy === \"expiryBased\"\n ? t(\n \"neetoMolecules.shareViaLink.regenerateUrl.titleForExpiryBasedRegeneration\"\n )\n : t(\"neetoMolecules.shareViaLink.regenerateUrl.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <div className=\"flex w-full flex-col gap-y-6\">\n {regenerateStrategy === \"basic\" && (\n <Input\n disabled\n label={t(\"neetoMolecules.shareViaLink.regenerateUrl.inputLabel\")}\n value={url}\n />\n )}\n {regenerateStrategy === \"expiryBased\" && (\n <div className=\"flex flex-row gap-2\">\n <Select\n data-testid=\"expires-in-select\"\n defaultValue={regenerateConfig.expiresInOptions?.[0]}\n options={regenerateConfig.expiresInOptions}\n className={classNames({\n \"w-1/2\": isSelectedExpiresInOptionCustom,\n \"w-full\": !isSelectedExpiresInOptionCustom,\n })}\n label={t(\n \"neetoMolecules.shareViaLink.regenerateUrl.expiresInLabel\"\n )}\n labelProps={{\n helpIconProps: isPresent(regenerateConfig?.helpUrl) && {\n icon: Help,\n className:\n \"cursor-pointer opacity-75 hover:opacity-100 transition-opacity duration-300 ease-in-out\",\n popoverProps: {\n title: t(\n \"neetoMolecules.shareViaLink.regenerateUrl.expiresInHelpTitle\"\n ),\n helpLinkProps: {\n label: t(\n \"neetoMolecules.shareViaLink.regenerateUrl.helpLinkLabel\"\n ),\n href: regenerateConfig?.helpUrl,\n target: \"_blank\",\n },\n },\n },\n }}\n onChange={option => setSelectedExpiresInOption(option.value)}\n />\n {isSelectedExpiresInOptionCustom && (\n <DatePicker\n data-testid=\"expires-on-date-picker\"\n dateFormat={globalProps?.user?.dateFormat ?? undefined}\n disabledDate={d => !d || d.isBefore(dayjs())}\n getPopupContainer={prop(\"parentNode\")}\n picker=\"date\"\n type=\"date\"\n value={selectedExpiresOnDate}\n label={t(\n \"neetoMolecules.shareViaLink.regenerateUrl.expiresOnLabel\"\n )}\n onChange={setSelectedExpiresOnDate}\n />\n )}\n </div>\n )}\n <Typography\n className=\"neeto-ui-text-gray-700\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.shareViaLink.regenerateUrl.description\")}\n </Typography>\n </div>\n </Modal.Body>\n <Modal.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-cy=\"regenerate-url-confirm-button\"\n data-testid=\"regenerate-url-confirm-button\"\n loading={isLoading}\n disabled={\n regenerateStrategy === \"expiryBased\" && !isValidExpiryConfig\n }\n label={t(\n \"neetoMolecules.shareViaLink.regenerateUrl.submitButtonLabel\"\n )}\n onClick={onSubmit}\n />\n <Button\n data-cy=\"regenerate-url-cancel-button\"\n data-testid=\"regenerate-url-cancel-button\"\n style=\"text\"\n label={t(\n \"neetoMolecules.shareViaLink.regenerateUrl.cancelButtonLabel\"\n )}\n onClick={onClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default RegenerateURL;\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { ExternalLink } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nimport EditURL from \"./EditURL\";\nimport RegenerateURL from \"./RegenerateURL\";\n\nconst Link = ({\n editUrlProps,\n enabledOptions,\n entityName,\n handleEdit,\n handleRegenerate,\n isLoading,\n previewUrl,\n url,\n}) => {\n const [isRegenerateURLModalOpen, setIsRegenerateURLModalOpen] =\n useState(false);\n const [isEditURLModalOpen, setIsEditURLModalOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const { isSize } = useBreakpoints();\n const isMobile = isSize(\"mobile\");\n\n const isDropdownEnabled = enabledOptions.regenerate || enabledOptions.edit;\n\n return (\n <div\n className=\"flex flex-col gap-y-4\"\n data-cy=\"link-block\"\n data-testid=\"link-block\"\n >\n <div className=\"flex items-center gap-1 sm:gap-2\">\n <div\n className=\"neeto-ui-rounded-md neeto-ui-border-gray-300 neeto-ui-bg-gray-50 relative flex min-w-0 flex-grow items-center truncate border leading-none\"\n data-cy=\"nui-input-field\"\n >\n <div className=\"relative min-w-0 flex-grow truncate p-2 leading-none\">\n {url}\n </div>\n <CopyToClipboardButton\n className=\"rounded-l-none\"\n data-cy=\"link-copy-button\"\n data-testid=\"link-copy-button\"\n label={!isMobile ? t(\"neetoMolecules.shareViaLink.copyLink\") : null}\n value={url}\n />\n </div>\n <div className=\"flex flex-shrink-0 items-center gap-1 sm:gap-2\">\n <Button\n data-cy=\"preview-button\"\n data-testid=\"preview-button\"\n href={previewUrl || url}\n icon={ExternalLink}\n style=\"secondary\"\n target=\"_blank\"\n tooltipProps={{\n content: t(\"neetoMolecules.shareViaLink.view\", {\n entity: entityName,\n }),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n />\n {isDropdownEnabled && (\n <>\n <MoreDropdown\n menuItems={[\n {\n isVisible:\n enabledOptions.regenerate ||\n isPresent(enabledOptions.regenerate),\n \"data-testid\": \"regenerate-url-button\",\n \"data-cy\": \"regenerate-url-button\",\n onClick: () => setIsRegenerateURLModalOpen(true),\n label: t(\"neetoMolecules.shareViaLink.regenerateUrl.title\"),\n key: \"regenerate-url-option\",\n },\n {\n isVisible: enabledOptions.edit,\n \"data-testid\": \"edit-url-button\",\n \"data-cy\": \"edit-url-button\",\n onClick: () => setIsEditURLModalOpen(true),\n label: t(\"neetoMolecules.shareViaLink.editUrl.title\"),\n key: \"edit-url-option\",\n },\n ]}\n />\n <RegenerateURL\n {...{ handleRegenerate, isLoading, url }}\n isOpen={isRegenerateURLModalOpen}\n regenerateConfig={enabledOptions.regenerate}\n onClose={() => setIsRegenerateURLModalOpen(false)}\n />\n <EditURL\n {...{ editUrlProps, handleEdit, isLoading, url }}\n isOpen={isEditURLModalOpen}\n onClose={() => setIsEditURLModalOpen(false)}\n />\n </>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default Link;\n","import { isPresent, noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { Link } from \"react-router-dom\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nconst Card = ({\n title,\n link,\n description,\n Icon,\n onClick = noop,\n helpPopoverProps,\n ...otherProps\n}) => {\n const Component = isPresent(link) ? Link : \"div\";\n\n return (\n <Component\n {...{ onClick }}\n className=\"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-molecules-share-landing__card flex cursor-pointer flex-col gap-3 border p-3\"\n to={link}\n {...otherProps}\n >\n <div className=\"flex items-center gap-2\">\n {Icon && (\n <Icon className=\"neeto-ui-text-gray-500 flex-shrink-0\" size={24} />\n )}\n <Typography\n className=\"neeto-molecules-share-landing__card-title min-w-0 flex-grow break-words\"\n style=\"h4\"\n >\n {title}\n {helpPopoverProps && (\n <>\n {\" \"}\n <HelpPopover {...helpPopoverProps} />\n </>\n )}\n </Typography>\n </div>\n {description && (\n <Typography\n className=\"neeto-molecules-share-landing__card-desc break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n </Component>\n );\n};\n\nexport default Card;\n","import classNames from \"classnames\";\nimport { isNotEmpty, isNotPresent, isPresent } from \"neetocist\";\nimport { Share, QrCode } from \"neetoicons\";\nimport { __, includes } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Card from \"./Card\";\n\nconst ShareBlock = ({\n moreOptions,\n disableShareSocialMedia,\n disableQRDownload,\n socialMediaProps,\n qrCodeProps,\n entity,\n urls,\n}) => {\n const location = useLocation();\n const history = useHistory();\n\n const { t } = useTranslation();\n\n const handleNavigate = subPath => {\n // eslint-disable-next-line @bigbinary/neeto/use-common-routes\n history.push(`${location.pathname}/${subPath}`);\n };\n\n const hasMoreOptions = isPresent(moreOptions);\n\n return (\n <div\n className={classNames(\n \"grid grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-3\",\n {\n \"neeto-ui-border-gray-200 mt-8 border-t pt-8\": isNotEmpty(urls),\n }\n )}\n >\n {hasMoreOptions &&\n moreOptions\n .filter(\n ({ permissions }) =>\n isNotPresent(permissions) ||\n globalProps.permissions.some(includes(__, permissions))\n )\n .map(\n ({\n title,\n link,\n icon: Icon,\n onClick,\n dataCy,\n description,\n helpPopoverProps,\n }) => (\n <Card\n {...{\n Icon,\n description,\n helpPopoverProps,\n link,\n onClick,\n title,\n }}\n data-cy={dataCy}\n data-testid={dataCy}\n key={link}\n />\n )\n )}\n {!disableShareSocialMedia && (\n <Card\n Icon={Share}\n data-cy=\"social-share-card\"\n data-testid=\"social-share-card\"\n description={\n socialMediaProps?.cardDescription ||\n t(\"neetoMolecules.shareViaLink.socialMediaShare.description\")\n }\n title={\n socialMediaProps?.cardTitle ||\n t(\"neetoMolecules.shareViaLink.socialMediaShare.title\")\n }\n onClick={() => handleNavigate(\"social-media\")}\n />\n )}\n {!disableQRDownload && entity && (\n <Card\n Icon={QrCode}\n data-cy=\"qr-code-card\"\n data-testid=\"qr-code-card\"\n description={\n qrCodeProps?.cardDescription ||\n t(\"neetoMolecules.shareViaLink.qrCode.description\")\n }\n title={\n qrCodeProps?.cardTitle ||\n t(\"neetoMolecules.shareViaLink.qrCode.title\")\n }\n onClick={() => handleNavigate(\"qrcode\")}\n />\n )}\n </div>\n );\n};\n\nexport default ShareBlock;\n","import classnames from \"classnames\";\nimport { isNotEmpty, isPresent, noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\n\nimport ExpiryNotice from \"./ExpiryNotice\";\nimport LinkBlock from \"./Link\";\nimport ShareBlock from \"./ShareBlock\";\n\nconst MainPanel = ({\n title,\n description,\n qrCodeProps,\n socialMediaProps,\n isLoading = false,\n enabledOptions = { regenerate: false, edit: false },\n urls = [],\n entity,\n entityName,\n handleEdit = noop,\n handleRegenerate = noop,\n moreOptions,\n disableShareSocialMedia = false,\n disableQRDownload = false,\n publicLinkExpiryConfiguration = {},\n customTopContent,\n customBottomContent,\n}) => {\n const { t } = useTranslation();\n\n const shouldShowShareBlock =\n !disableQRDownload || !disableShareSocialMedia || isPresent(moreOptions);\n\n return (\n <Container className=\"neeto-ui-bg-gray-100 neeto-molecule-share-landing-page\">\n <div className=\"mx-auto w-full max-w-5xl py-10\">\n {customTopContent}\n <Typography\n data-cy=\"share-your-meeting-heading\"\n lineHeight=\"tight\"\n style=\"h2\"\n className={classnames({\n \"mb-2\": isPresent(description),\n \"mb-6\": !isPresent(description),\n })}\n >\n {title ||\n t(\"neetoMolecules.shareViaLink.title\", {\n productName: globalProps.appName,\n })}\n </Typography>\n {description && (\n <Typography\n className=\"mb-6\"\n data-cy=\"share-your-meeting-heading\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n {description}\n </Typography>\n )}\n <div\n className=\"neeto-ui-rounded-lg neeto-ui-bg-white p-6 sm:p-8\"\n data-testid=\"share-via-link\"\n >\n {isNotEmpty(urls) && (\n <div className=\"flex flex-col gap-y-1\">\n <div className=\"inline-flex max-w-full flex-col gap-y-4\">\n {urls?.map(urlOption => (\n <LinkBlock\n {...{\n enabledOptions,\n entityName,\n handleEdit,\n handleRegenerate,\n isLoading,\n }}\n editUrlProps={omit([\"url\"], urlOption)}\n key={urlOption.url}\n previewUrl={urlOption.previewUrl}\n url={urlOption.url}\n />\n ))}\n </div>\n {isPresent(publicLinkExpiryConfiguration) && (\n <ExpiryNotice\n expiryConfiguration={publicLinkExpiryConfiguration}\n />\n )}\n </div>\n )}\n {shouldShowShareBlock && (\n <ShareBlock\n {...{\n disableQRDownload,\n disableShareSocialMedia,\n entity,\n moreOptions,\n qrCodeProps,\n socialMediaProps,\n urls,\n }}\n url={urls[0]?.url}\n />\n )}\n </div>\n {customBottomContent}\n </div>\n </Container>\n );\n};\n\nexport default MainPanel;\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\n\n// src/index.tsx\nimport React, { useRef, useEffect, useState } from \"react\";\n\n// src/third-party/qrcodegen/index.ts\n/**\n * @license QR Code generator library (TypeScript)\n * Copyright (c) Project Nayuki.\n * SPDX-License-Identifier: MIT\n */\nvar qrcodegen;\n((qrcodegen2) => {\n const _QrCode = class {\n constructor(version, errorCorrectionLevel, dataCodewords, msk) {\n this.version = version;\n this.errorCorrectionLevel = errorCorrectionLevel;\n this.modules = [];\n this.isFunction = [];\n if (version < _QrCode.MIN_VERSION || version > _QrCode.MAX_VERSION)\n throw new RangeError(\"Version value out of range\");\n if (msk < -1 || msk > 7)\n throw new RangeError(\"Mask value out of range\");\n this.size = version * 4 + 17;\n let row = [];\n for (let i = 0; i < this.size; i++)\n row.push(false);\n for (let i = 0; i < this.size; i++) {\n this.modules.push(row.slice());\n this.isFunction.push(row.slice());\n }\n this.drawFunctionPatterns();\n const allCodewords = this.addEccAndInterleave(dataCodewords);\n this.drawCodewords(allCodewords);\n if (msk == -1) {\n let minPenalty = 1e9;\n for (let i = 0; i < 8; i++) {\n this.applyMask(i);\n this.drawFormatBits(i);\n const penalty = this.getPenaltyScore();\n if (penalty < minPenalty) {\n msk = i;\n minPenalty = penalty;\n }\n this.applyMask(i);\n }\n }\n assert(0 <= msk && msk <= 7);\n this.mask = msk;\n this.applyMask(msk);\n this.drawFormatBits(msk);\n this.isFunction = [];\n }\n static encodeText(text, ecl) {\n const segs = qrcodegen2.QrSegment.makeSegments(text);\n return _QrCode.encodeSegments(segs, ecl);\n }\n static encodeBinary(data, ecl) {\n const seg = qrcodegen2.QrSegment.makeBytes(data);\n return _QrCode.encodeSegments([seg], ecl);\n }\n static encodeSegments(segs, ecl, minVersion = 1, maxVersion = 40, mask = -1, boostEcl = true) {\n if (!(_QrCode.MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= _QrCode.MAX_VERSION) || mask < -1 || mask > 7)\n throw new RangeError(\"Invalid value\");\n let version;\n let dataUsedBits;\n for (version = minVersion; ; version++) {\n const dataCapacityBits2 = _QrCode.getNumDataCodewords(version, ecl) * 8;\n const usedBits = QrSegment.getTotalBits(segs, version);\n if (usedBits <= dataCapacityBits2) {\n dataUsedBits = usedBits;\n break;\n }\n if (version >= maxVersion)\n throw new RangeError(\"Data too long\");\n }\n for (const newEcl of [_QrCode.Ecc.MEDIUM, _QrCode.Ecc.QUARTILE, _QrCode.Ecc.HIGH]) {\n if (boostEcl && dataUsedBits <= _QrCode.getNumDataCodewords(version, newEcl) * 8)\n ecl = newEcl;\n }\n let bb = [];\n for (const seg of segs) {\n appendBits(seg.mode.modeBits, 4, bb);\n appendBits(seg.numChars, seg.mode.numCharCountBits(version), bb);\n for (const b of seg.getData())\n bb.push(b);\n }\n assert(bb.length == dataUsedBits);\n const dataCapacityBits = _QrCode.getNumDataCodewords(version, ecl) * 8;\n assert(bb.length <= dataCapacityBits);\n appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);\n appendBits(0, (8 - bb.length % 8) % 8, bb);\n assert(bb.length % 8 == 0);\n for (let padByte = 236; bb.length < dataCapacityBits; padByte ^= 236 ^ 17)\n appendBits(padByte, 8, bb);\n let dataCodewords = [];\n while (dataCodewords.length * 8 < bb.length)\n dataCodewords.push(0);\n bb.forEach((b, i) => dataCodewords[i >>> 3] |= b << 7 - (i & 7));\n return new _QrCode(version, ecl, dataCodewords, mask);\n }\n getModule(x, y) {\n return 0 <= x && x < this.size && 0 <= y && y < this.size && this.modules[y][x];\n }\n getModules() {\n return this.modules;\n }\n drawFunctionPatterns() {\n for (let i = 0; i < this.size; i++) {\n this.setFunctionModule(6, i, i % 2 == 0);\n this.setFunctionModule(i, 6, i % 2 == 0);\n }\n this.drawFinderPattern(3, 3);\n this.drawFinderPattern(this.size - 4, 3);\n this.drawFinderPattern(3, this.size - 4);\n const alignPatPos = this.getAlignmentPatternPositions();\n const numAlign = alignPatPos.length;\n for (let i = 0; i < numAlign; i++) {\n for (let j = 0; j < numAlign; j++) {\n if (!(i == 0 && j == 0 || i == 0 && j == numAlign - 1 || i == numAlign - 1 && j == 0))\n this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);\n }\n }\n this.drawFormatBits(0);\n this.drawVersion();\n }\n drawFormatBits(mask) {\n const data = this.errorCorrectionLevel.formatBits << 3 | mask;\n let rem = data;\n for (let i = 0; i < 10; i++)\n rem = rem << 1 ^ (rem >>> 9) * 1335;\n const bits = (data << 10 | rem) ^ 21522;\n assert(bits >>> 15 == 0);\n for (let i = 0; i <= 5; i++)\n this.setFunctionModule(8, i, getBit(bits, i));\n this.setFunctionModule(8, 7, getBit(bits, 6));\n this.setFunctionModule(8, 8, getBit(bits, 7));\n this.setFunctionModule(7, 8, getBit(bits, 8));\n for (let i = 9; i < 15; i++)\n this.setFunctionModule(14 - i, 8, getBit(bits, i));\n for (let i = 0; i < 8; i++)\n this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));\n for (let i = 8; i < 15; i++)\n this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));\n this.setFunctionModule(8, this.size - 8, true);\n }\n drawVersion() {\n if (this.version < 7)\n return;\n let rem = this.version;\n for (let i = 0; i < 12; i++)\n rem = rem << 1 ^ (rem >>> 11) * 7973;\n const bits = this.version << 12 | rem;\n assert(bits >>> 18 == 0);\n for (let i = 0; i < 18; i++) {\n const color = getBit(bits, i);\n const a = this.size - 11 + i % 3;\n const b = Math.floor(i / 3);\n this.setFunctionModule(a, b, color);\n this.setFunctionModule(b, a, color);\n }\n }\n drawFinderPattern(x, y) {\n for (let dy = -4; dy <= 4; dy++) {\n for (let dx = -4; dx <= 4; dx++) {\n const dist = Math.max(Math.abs(dx), Math.abs(dy));\n const xx = x + dx;\n const yy = y + dy;\n if (0 <= xx && xx < this.size && 0 <= yy && yy < this.size)\n this.setFunctionModule(xx, yy, dist != 2 && dist != 4);\n }\n }\n }\n drawAlignmentPattern(x, y) {\n for (let dy = -2; dy <= 2; dy++) {\n for (let dx = -2; dx <= 2; dx++)\n this.setFunctionModule(x + dx, y + dy, Math.max(Math.abs(dx), Math.abs(dy)) != 1);\n }\n }\n setFunctionModule(x, y, isDark) {\n this.modules[y][x] = isDark;\n this.isFunction[y][x] = true;\n }\n addEccAndInterleave(data) {\n const ver = this.version;\n const ecl = this.errorCorrectionLevel;\n if (data.length != _QrCode.getNumDataCodewords(ver, ecl))\n throw new RangeError(\"Invalid argument\");\n const numBlocks = _QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n const blockEccLen = _QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver];\n const rawCodewords = Math.floor(_QrCode.getNumRawDataModules(ver) / 8);\n const numShortBlocks = numBlocks - rawCodewords % numBlocks;\n const shortBlockLen = Math.floor(rawCodewords / numBlocks);\n let blocks = [];\n const rsDiv = _QrCode.reedSolomonComputeDivisor(blockEccLen);\n for (let i = 0, k = 0; i < numBlocks; i++) {\n let dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));\n k += dat.length;\n const ecc = _QrCode.reedSolomonComputeRemainder(dat, rsDiv);\n if (i < numShortBlocks)\n dat.push(0);\n blocks.push(dat.concat(ecc));\n }\n let result = [];\n for (let i = 0; i < blocks[0].length; i++) {\n blocks.forEach((block, j) => {\n if (i != shortBlockLen - blockEccLen || j >= numShortBlocks)\n result.push(block[i]);\n });\n }\n assert(result.length == rawCodewords);\n return result;\n }\n drawCodewords(data) {\n if (data.length != Math.floor(_QrCode.getNumRawDataModules(this.version) / 8))\n throw new RangeError(\"Invalid argument\");\n let i = 0;\n for (let right = this.size - 1; right >= 1; right -= 2) {\n if (right == 6)\n right = 5;\n for (let vert = 0; vert < this.size; vert++) {\n for (let j = 0; j < 2; j++) {\n const x = right - j;\n const upward = (right + 1 & 2) == 0;\n const y = upward ? this.size - 1 - vert : vert;\n if (!this.isFunction[y][x] && i < data.length * 8) {\n this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));\n i++;\n }\n }\n }\n }\n assert(i == data.length * 8);\n }\n applyMask(mask) {\n if (mask < 0 || mask > 7)\n throw new RangeError(\"Mask value out of range\");\n for (let y = 0; y < this.size; y++) {\n for (let x = 0; x < this.size; x++) {\n let invert;\n switch (mask) {\n case 0:\n invert = (x + y) % 2 == 0;\n break;\n case 1:\n invert = y % 2 == 0;\n break;\n case 2:\n invert = x % 3 == 0;\n break;\n case 3:\n invert = (x + y) % 3 == 0;\n break;\n case 4:\n invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 == 0;\n break;\n case 5:\n invert = x * y % 2 + x * y % 3 == 0;\n break;\n case 6:\n invert = (x * y % 2 + x * y % 3) % 2 == 0;\n break;\n case 7:\n invert = ((x + y) % 2 + x * y % 3) % 2 == 0;\n break;\n default:\n throw new Error(\"Unreachable\");\n }\n if (!this.isFunction[y][x] && invert)\n this.modules[y][x] = !this.modules[y][x];\n }\n }\n }\n getPenaltyScore() {\n let result = 0;\n for (let y = 0; y < this.size; y++) {\n let runColor = false;\n let runX = 0;\n let runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let x = 0; x < this.size; x++) {\n if (this.modules[y][x] == runColor) {\n runX++;\n if (runX == 5)\n result += _QrCode.PENALTY_N1;\n else if (runX > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runX, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * _QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runX = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * _QrCode.PENALTY_N3;\n }\n for (let x = 0; x < this.size; x++) {\n let runColor = false;\n let runY = 0;\n let runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let y = 0; y < this.size; y++) {\n if (this.modules[y][x] == runColor) {\n runY++;\n if (runY == 5)\n result += _QrCode.PENALTY_N1;\n else if (runY > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runY, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * _QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runY = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * _QrCode.PENALTY_N3;\n }\n for (let y = 0; y < this.size - 1; y++) {\n for (let x = 0; x < this.size - 1; x++) {\n const color = this.modules[y][x];\n if (color == this.modules[y][x + 1] && color == this.modules[y + 1][x] && color == this.modules[y + 1][x + 1])\n result += _QrCode.PENALTY_N2;\n }\n }\n let dark = 0;\n for (const row of this.modules)\n dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark);\n const total = this.size * this.size;\n const k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;\n assert(0 <= k && k <= 9);\n result += k * _QrCode.PENALTY_N4;\n assert(0 <= result && result <= 2568888);\n return result;\n }\n getAlignmentPatternPositions() {\n if (this.version == 1)\n return [];\n else {\n const numAlign = Math.floor(this.version / 7) + 2;\n const step = this.version == 32 ? 26 : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2;\n let result = [6];\n for (let pos = this.size - 7; result.length < numAlign; pos -= step)\n result.splice(1, 0, pos);\n return result;\n }\n }\n static getNumRawDataModules(ver) {\n if (ver < _QrCode.MIN_VERSION || ver > _QrCode.MAX_VERSION)\n throw new RangeError(\"Version number out of range\");\n let result = (16 * ver + 128) * ver + 64;\n if (ver >= 2) {\n const numAlign = Math.floor(ver / 7) + 2;\n result -= (25 * numAlign - 10) * numAlign - 55;\n if (ver >= 7)\n result -= 36;\n }\n assert(208 <= result && result <= 29648);\n return result;\n }\n static getNumDataCodewords(ver, ecl) {\n return Math.floor(_QrCode.getNumRawDataModules(ver) / 8) - _QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver] * _QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n }\n static reedSolomonComputeDivisor(degree) {\n if (degree < 1 || degree > 255)\n throw new RangeError(\"Degree out of range\");\n let result = [];\n for (let i = 0; i < degree - 1; i++)\n result.push(0);\n result.push(1);\n let root = 1;\n for (let i = 0; i < degree; i++) {\n for (let j = 0; j < result.length; j++) {\n result[j] = _QrCode.reedSolomonMultiply(result[j], root);\n if (j + 1 < result.length)\n result[j] ^= result[j + 1];\n }\n root = _QrCode.reedSolomonMultiply(root, 2);\n }\n return result;\n }\n static reedSolomonComputeRemainder(data, divisor) {\n let result = divisor.map((_) => 0);\n for (const b of data) {\n const factor = b ^ result.shift();\n result.push(0);\n divisor.forEach((coef, i) => result[i] ^= _QrCode.reedSolomonMultiply(coef, factor));\n }\n return result;\n }\n static reedSolomonMultiply(x, y) {\n if (x >>> 8 != 0 || y >>> 8 != 0)\n throw new RangeError(\"Byte out of range\");\n let z = 0;\n for (let i = 7; i >= 0; i--) {\n z = z << 1 ^ (z >>> 7) * 285;\n z ^= (y >>> i & 1) * x;\n }\n assert(z >>> 8 == 0);\n return z;\n }\n finderPenaltyCountPatterns(runHistory) {\n const n = runHistory[1];\n assert(n <= this.size * 3);\n const core = n > 0 && runHistory[2] == n && runHistory[3] == n * 3 && runHistory[4] == n && runHistory[5] == n;\n return (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0) + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);\n }\n finderPenaltyTerminateAndCount(currentRunColor, currentRunLength, runHistory) {\n if (currentRunColor) {\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n currentRunLength = 0;\n }\n currentRunLength += this.size;\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n return this.finderPenaltyCountPatterns(runHistory);\n }\n finderPenaltyAddHistory(currentRunLength, runHistory) {\n if (runHistory[0] == 0)\n currentRunLength += this.size;\n runHistory.pop();\n runHistory.unshift(currentRunLength);\n }\n };\n let QrCode = _QrCode;\n QrCode.MIN_VERSION = 1;\n QrCode.MAX_VERSION = 40;\n QrCode.PENALTY_N1 = 3;\n QrCode.PENALTY_N2 = 3;\n QrCode.PENALTY_N3 = 40;\n QrCode.PENALTY_N4 = 10;\n QrCode.ECC_CODEWORDS_PER_BLOCK = [\n [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28],\n [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]\n ];\n QrCode.NUM_ERROR_CORRECTION_BLOCKS = [\n [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25],\n [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49],\n [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68],\n [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81]\n ];\n qrcodegen2.QrCode = QrCode;\n function appendBits(val, len, bb) {\n if (len < 0 || len > 31 || val >>> len != 0)\n throw new RangeError(\"Value out of range\");\n for (let i = len - 1; i >= 0; i--)\n bb.push(val >>> i & 1);\n }\n function getBit(x, i) {\n return (x >>> i & 1) != 0;\n }\n function assert(cond) {\n if (!cond)\n throw new Error(\"Assertion error\");\n }\n const _QrSegment = class {\n constructor(mode, numChars, bitData) {\n this.mode = mode;\n this.numChars = numChars;\n this.bitData = bitData;\n if (numChars < 0)\n throw new RangeError(\"Invalid argument\");\n this.bitData = bitData.slice();\n }\n static makeBytes(data) {\n let bb = [];\n for (const b of data)\n appendBits(b, 8, bb);\n return new _QrSegment(_QrSegment.Mode.BYTE, data.length, bb);\n }\n static makeNumeric(digits) {\n if (!_QrSegment.isNumeric(digits))\n throw new RangeError(\"String contains non-numeric characters\");\n let bb = [];\n for (let i = 0; i < digits.length; ) {\n const n = Math.min(digits.length - i, 3);\n appendBits(parseInt(digits.substr(i, n), 10), n * 3 + 1, bb);\n i += n;\n }\n return new _QrSegment(_QrSegment.Mode.NUMERIC, digits.length, bb);\n }\n static makeAlphanumeric(text) {\n if (!_QrSegment.isAlphanumeric(text))\n throw new RangeError(\"String contains unencodable characters in alphanumeric mode\");\n let bb = [];\n let i;\n for (i = 0; i + 2 <= text.length; i += 2) {\n let temp = _QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;\n temp += _QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));\n appendBits(temp, 11, bb);\n }\n if (i < text.length)\n appendBits(_QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);\n return new _QrSegment(_QrSegment.Mode.ALPHANUMERIC, text.length, bb);\n }\n static makeSegments(text) {\n if (text == \"\")\n return [];\n else if (_QrSegment.isNumeric(text))\n return [_QrSegment.makeNumeric(text)];\n else if (_QrSegment.isAlphanumeric(text))\n return [_QrSegment.makeAlphanumeric(text)];\n else\n return [_QrSegment.makeBytes(_QrSegment.toUtf8ByteArray(text))];\n }\n static makeEci(assignVal) {\n let bb = [];\n if (assignVal < 0)\n throw new RangeError(\"ECI assignment value out of range\");\n else if (assignVal < 1 << 7)\n appendBits(assignVal, 8, bb);\n else if (assignVal < 1 << 14) {\n appendBits(2, 2, bb);\n appendBits(assignVal, 14, bb);\n } else if (assignVal < 1e6) {\n appendBits(6, 3, bb);\n appendBits(assignVal, 21, bb);\n } else\n throw new RangeError(\"ECI assignment value out of range\");\n return new _QrSegment(_QrSegment.Mode.ECI, 0, bb);\n }\n static isNumeric(text) {\n return _QrSegment.NUMERIC_REGEX.test(text);\n }\n static isAlphanumeric(text) {\n return _QrSegment.ALPHANUMERIC_REGEX.test(text);\n }\n getData() {\n return this.bitData.slice();\n }\n static getTotalBits(segs, version) {\n let result = 0;\n for (const seg of segs) {\n const ccbits = seg.mode.numCharCountBits(version);\n if (seg.numChars >= 1 << ccbits)\n return Infinity;\n result += 4 + ccbits + seg.bitData.length;\n }\n return result;\n }\n static toUtf8ByteArray(str) {\n str = encodeURI(str);\n let result = [];\n for (let i = 0; i < str.length; i++) {\n if (str.charAt(i) != \"%\")\n result.push(str.charCodeAt(i));\n else {\n result.push(parseInt(str.substr(i + 1, 2), 16));\n i += 2;\n }\n }\n return result;\n }\n };\n let QrSegment = _QrSegment;\n QrSegment.NUMERIC_REGEX = /^[0-9]*$/;\n QrSegment.ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+.\\/:-]*$/;\n QrSegment.ALPHANUMERIC_CHARSET = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\";\n qrcodegen2.QrSegment = QrSegment;\n})(qrcodegen || (qrcodegen = {}));\n((qrcodegen2) => {\n let QrCode;\n ((QrCode2) => {\n const _Ecc = class {\n constructor(ordinal, formatBits) {\n this.ordinal = ordinal;\n this.formatBits = formatBits;\n }\n };\n let Ecc = _Ecc;\n Ecc.LOW = new _Ecc(0, 1);\n Ecc.MEDIUM = new _Ecc(1, 0);\n Ecc.QUARTILE = new _Ecc(2, 3);\n Ecc.HIGH = new _Ecc(3, 2);\n QrCode2.Ecc = Ecc;\n })(QrCode = qrcodegen2.QrCode || (qrcodegen2.QrCode = {}));\n})(qrcodegen || (qrcodegen = {}));\n((qrcodegen2) => {\n let QrSegment;\n ((QrSegment2) => {\n const _Mode = class {\n constructor(modeBits, numBitsCharCount) {\n this.modeBits = modeBits;\n this.numBitsCharCount = numBitsCharCount;\n }\n numCharCountBits(ver) {\n return this.numBitsCharCount[Math.floor((ver + 7) / 17)];\n }\n };\n let Mode = _Mode;\n Mode.NUMERIC = new _Mode(1, [10, 12, 14]);\n Mode.ALPHANUMERIC = new _Mode(2, [9, 11, 13]);\n Mode.BYTE = new _Mode(4, [8, 16, 16]);\n Mode.KANJI = new _Mode(8, [8, 10, 12]);\n Mode.ECI = new _Mode(7, [0, 0, 0]);\n QrSegment2.Mode = Mode;\n })(QrSegment = qrcodegen2.QrSegment || (qrcodegen2.QrSegment = {}));\n})(qrcodegen || (qrcodegen = {}));\nvar qrcodegen_default = qrcodegen;\n\n// src/index.tsx\n/**\n * @license qrcode.react\n * Copyright (c) Paul O'Shannessy\n * SPDX-License-Identifier: ISC\n */\nvar ERROR_LEVEL_MAP = {\n L: qrcodegen_default.QrCode.Ecc.LOW,\n M: qrcodegen_default.QrCode.Ecc.MEDIUM,\n Q: qrcodegen_default.QrCode.Ecc.QUARTILE,\n H: qrcodegen_default.QrCode.Ecc.HIGH\n};\nvar DEFAULT_SIZE = 128;\nvar DEFAULT_LEVEL = \"L\";\nvar DEFAULT_BGCOLOR = \"#FFFFFF\";\nvar DEFAULT_FGCOLOR = \"#000000\";\nvar DEFAULT_INCLUDEMARGIN = false;\nvar MARGIN_SIZE = 4;\nvar DEFAULT_IMG_SCALE = 0.1;\nfunction generatePath(modules, margin = 0) {\n const ops = [];\n modules.forEach(function(row, y) {\n let start = null;\n row.forEach(function(cell, x) {\n if (!cell && start !== null) {\n ops.push(`M${start + margin} ${y + margin}h${x - start}v1H${start + margin}z`);\n start = null;\n return;\n }\n if (x === row.length - 1) {\n if (!cell) {\n return;\n }\n if (start === null) {\n ops.push(`M${x + margin},${y + margin} h1v1H${x + margin}z`);\n } else {\n ops.push(`M${start + margin},${y + margin} h${x + 1 - start}v1H${start + margin}z`);\n }\n return;\n }\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join(\"\");\n}\nfunction excavateModules(modules, excavation) {\n return modules.slice().map((row, y) => {\n if (y < excavation.y || y >= excavation.y + excavation.h) {\n return row;\n }\n return row.map((cell, x) => {\n if (x < excavation.x || x >= excavation.x + excavation.w) {\n return cell;\n }\n return false;\n });\n });\n}\nfunction getImageSettings(cells, size, includeMargin, imageSettings) {\n if (imageSettings == null) {\n return null;\n }\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const defaultSize = Math.floor(size * DEFAULT_IMG_SCALE);\n const scale = numCells / size;\n const w = (imageSettings.width || defaultSize) * scale;\n const h = (imageSettings.height || defaultSize) * scale;\n const x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;\n const y = imageSettings.y == null ? cells.length / 2 - h / 2 : imageSettings.y * scale;\n let excavation = null;\n if (imageSettings.excavate) {\n let floorX = Math.floor(x);\n let floorY = Math.floor(y);\n let ceilW = Math.ceil(w + x - floorX);\n let ceilH = Math.ceil(h + y - floorY);\n excavation = { x: floorX, y: floorY, w: ceilW, h: ceilH };\n }\n return { x, y, h, w, excavation };\n}\nvar SUPPORTS_PATH2D = function() {\n try {\n new Path2D().addPath(new Path2D());\n } catch (e) {\n return false;\n }\n return true;\n}();\nfunction QRCodeCanvas(props) {\n const _a = props, {\n value,\n size = DEFAULT_SIZE,\n level = DEFAULT_LEVEL,\n bgColor = DEFAULT_BGCOLOR,\n fgColor = DEFAULT_FGCOLOR,\n includeMargin = DEFAULT_INCLUDEMARGIN,\n style,\n imageSettings\n } = _a, otherProps = __objRest(_a, [\n \"value\",\n \"size\",\n \"level\",\n \"bgColor\",\n \"fgColor\",\n \"includeMargin\",\n \"style\",\n \"imageSettings\"\n ]);\n const imgSrc = imageSettings == null ? void 0 : imageSettings.src;\n const _canvas = useRef(null);\n const _image = useRef(null);\n const [isImgLoaded, setIsImageLoaded] = useState(false);\n useEffect(() => {\n if (_canvas.current != null) {\n const canvas = _canvas.current;\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) {\n return;\n }\n let cells = qrcodegen_default.QrCode.encodeText(value, ERROR_LEVEL_MAP[level]).getModules();\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const calculatedImageSettings = getImageSettings(cells, size, includeMargin, imageSettings);\n const image = _image.current;\n const haveImageToRender = calculatedImageSettings != null && image !== null && image.complete && image.naturalHeight !== 0 && image.naturalWidth !== 0;\n if (haveImageToRender) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n }\n const pixelRatio = window.devicePixelRatio || 1;\n canvas.height = canvas.width = size * pixelRatio;\n const scale = size / numCells * pixelRatio;\n ctx.scale(scale, scale);\n ctx.fillStyle = bgColor;\n ctx.fillRect(0, 0, numCells, numCells);\n ctx.fillStyle = fgColor;\n if (SUPPORTS_PATH2D) {\n ctx.fill(new Path2D(generatePath(cells, margin)));\n } else {\n cells.forEach(function(row, rdx) {\n row.forEach(function(cell, cdx) {\n if (cell) {\n ctx.fillRect(cdx + margin, rdx + margin, 1, 1);\n }\n });\n });\n }\n if (haveImageToRender) {\n ctx.drawImage(image, calculatedImageSettings.x + margin, calculatedImageSettings.y + margin, calculatedImageSettings.w, calculatedImageSettings.h);\n }\n }\n });\n useEffect(() => {\n setIsImageLoaded(false);\n }, [imgSrc]);\n const canvasStyle = __spreadValues({ height: size, width: size }, style);\n let img = null;\n if (imgSrc != null) {\n img = /* @__PURE__ */ React.createElement(\"img\", {\n src: imgSrc,\n key: imgSrc,\n style: { display: \"none\" },\n onLoad: () => {\n setIsImageLoaded(true);\n },\n ref: _image\n });\n }\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"canvas\", __spreadValues({\n style: canvasStyle,\n height: size,\n width: size,\n ref: _canvas\n }, otherProps)), img);\n}\nfunction QRCodeSVG(props) {\n const _a = props, {\n value,\n size = DEFAULT_SIZE,\n level = DEFAULT_LEVEL,\n bgColor = DEFAULT_BGCOLOR,\n fgColor = DEFAULT_FGCOLOR,\n includeMargin = DEFAULT_INCLUDEMARGIN,\n imageSettings\n } = _a, otherProps = __objRest(_a, [\n \"value\",\n \"size\",\n \"level\",\n \"bgColor\",\n \"fgColor\",\n \"includeMargin\",\n \"imageSettings\"\n ]);\n let cells = qrcodegen_default.QrCode.encodeText(value, ERROR_LEVEL_MAP[level]).getModules();\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const calculatedImageSettings = getImageSettings(cells, size, includeMargin, imageSettings);\n let image = null;\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n image = /* @__PURE__ */ React.createElement(\"image\", {\n xlinkHref: imageSettings.src,\n height: calculatedImageSettings.h,\n width: calculatedImageSettings.w,\n x: calculatedImageSettings.x + margin,\n y: calculatedImageSettings.y + margin,\n preserveAspectRatio: \"none\"\n });\n }\n const fgPath = generatePath(cells, margin);\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n height: size,\n width: size,\n viewBox: `0 0 ${numCells} ${numCells}`\n }, otherProps), /* @__PURE__ */ React.createElement(\"path\", {\n fill: bgColor,\n d: `M0,0 h${numCells}v${numCells}H0z`,\n shapeRendering: \"crispEdges\"\n }), /* @__PURE__ */ React.createElement(\"path\", {\n fill: fgColor,\n d: fgPath,\n shapeRendering: \"crispEdges\"\n }), image);\n}\nvar QRCode = (props) => {\n const _a = props, { renderAs } = _a, otherProps = __objRest(_a, [\"renderAs\"]);\n if (renderAs === \"svg\") {\n return /* @__PURE__ */ React.createElement(QRCodeSVG, __spreadValues({}, otherProps));\n }\n return /* @__PURE__ */ React.createElement(QRCodeCanvas, __spreadValues({}, otherProps));\n};\nexport {\n QRCodeCanvas,\n QRCodeSVG,\n QRCode as default\n};\n","import { slugify } from \"neetocist\";\nimport { LeftArrow } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport QRCodeImage from \"qrcode.react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CardLayout from \"components/CardLayout\";\nimport Container from \"components/Container\";\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport Header from \"components/Header\";\n\nimport { copyCanvasToClipboard, downloadCanvas } from \"./utils\";\n\nconst QRCode = ({ entity, qrCodeProps, url, shareUrl }) => {\n const { t } = useTranslation();\n\n if (!entity) return null;\n\n const { id, name } = entity;\n const canvasId = `qrcode-share-${id}`;\n\n const handleDownloadQRCode = () => {\n const canvas = document.getElementById(canvasId);\n if (canvas) downloadCanvas(canvas, { name: slugify(name) });\n };\n\n const handleCopyQRCode = () => {\n const canvas = document.getElementById(canvasId);\n if (canvas) copyCanvasToClipboard(canvas, handleDownloadQRCode);\n };\n\n const title =\n qrCodeProps?.pageTitle ||\n qrCodeProps?.cardTitle ||\n t(\"neetoMolecules.shareViaLink.qrCode.title\");\n\n const description =\n qrCodeProps?.pageDescription ||\n qrCodeProps?.cardDescription ||\n t(\"neetoMolecules.shareViaLink.qrCode.description\");\n\n return (\n <Container className=\"neeto-molecules-embed-qr-code-landing-page py-8\">\n <Button\n className=\"mb-4\"\n data-cy=\"back-button\"\n data-testid=\"back-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.productEmbed.backToShare\")}\n size=\"small\"\n style=\"link\"\n to={shareUrl}\n />\n <Header\n className=\"py-0\"\n title={t(\"neetoMolecules.shareViaLink.qrCode.title\")}\n />\n <CardLayout\n {...{ description, title }}\n actionBlock={\n <div className=\"flex flex-wrap items-center gap-3\">\n <Button\n data-cy=\"qr-code-download-button\"\n data-testid=\"qr-code-download-button\"\n label={t(\"neetoMolecules.shareViaLink.qrCode.download\")}\n style=\"primary\"\n onClick={handleDownloadQRCode}\n />\n <CopyToClipboardButton\n data-cy=\"qr-code-copy-button\"\n data-testid=\"qr-code-copy-button\"\n label={t(\"neetoMolecules.shareViaLink.qrCode.copy\")}\n style=\"secondary\"\n onClick={handleCopyQRCode}\n />\n </div>\n }\n >\n <QRCodeImage\n className=\"mt-6 cursor-pointer\"\n data-cy=\"qr-code-image\"\n data-testid=\"qr-code-image\"\n id={canvasId}\n size={160}\n style={{ width: 160, height: 160 }}\n value={url}\n onClick={handleDownloadQRCode}\n />\n </CardLayout>\n </Container>\n );\n};\n\nexport default QRCode;\n","import { LeftArrow } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CardLayout from \"components/CardLayout\";\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport { SOCIAL_MEDIA_OPTIONS } from \"./constants\";\n\nconst SocialMedia = ({ socialMediaProps, url, shareUrl }) => {\n const { t } = useTranslation();\n\n const title =\n socialMediaProps?.pageTitle ||\n socialMediaProps?.cardTitle ||\n t(\"neetoMolecules.shareViaLink.socialMediaShare.title\");\n\n const description =\n socialMediaProps?.pageDescription ||\n socialMediaProps?.cardDescription ||\n t(\"neetoMolecules.shareViaLink.socialMediaShare.description\");\n\n return (\n <Container className=\"neeto-molecules-social-share-landing-page py-8\">\n <Button\n className=\"mb-4\"\n data-cy=\"back-button\"\n data-testid=\"back-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.productEmbed.backToShare\")}\n size=\"small\"\n style=\"link\"\n to={shareUrl}\n />\n <Header\n className=\"py-0\"\n title={t(\"neetoMolecules.shareViaLink.socialMediaShare.title\")}\n />\n <CardLayout\n {...{ description, title }}\n actionBlock={\n <div className=\"flex flex-wrap items-center gap-3\">\n {Object.entries(SOCIAL_MEDIA_OPTIONS).map(\n ([key, { label, icon: Icon, generateShareUrl }]) => (\n <Button\n {...{ label }}\n data-cy={`social-media-button-${key}`}\n data-testid={`social-media-button-${key}`}\n icon={Icon}\n iconPosition=\"right\"\n key={key}\n rel=\"noopener noreferrer\"\n style=\"tertiary\"\n target=\"_blank\"\n href={generateShareUrl({\n url,\n title: socialMediaProps?.postTitle,\n })}\n >\n <Icon size={24} />\n </Button>\n )\n )}\n </div>\n }\n />\n </Container>\n );\n};\n\nexport default SocialMedia;\n","/* eslint-disable @bigbinary/neeto/use-common-routes */\nimport { toLabelAndValue, isPresent, noop } from \"neetocist\";\nimport PrivateRoute from \"neetocommons/react-utils/PrivateRoute\";\nimport PropTypes from \"prop-types\";\nimport { Route, Switch, useRouteMatch } from \"react-router-dom\";\n\nimport ErrorPage from \"components/ErrorPage\";\n\nimport MainPanel from \"./MainPanel\";\nimport QRCode from \"./QRCode\";\nimport \"./share-via-link.scss\";\nimport SocialMedia from \"./SocialMedia\";\n\nconst ShareViaLink = ({\n title,\n description,\n isLoading = false,\n enabledOptions = { regenerate: false, edit: false },\n urls = [],\n entity,\n entityName,\n handleEdit = noop,\n handleRegenerate = noop,\n disableShareSocialMedia = false,\n disableQRDownload = false,\n socialMediaProps,\n qrCodeProps,\n moreOptions,\n publicLinkExpiryConfiguration = {},\n customTopContent,\n customBottomContent,\n}) => {\n const { path: sharePath, url: shareUrl } = useRouteMatch();\n\n return (\n <Switch>\n <Route\n exact\n path={sharePath}\n render={() => (\n <MainPanel\n {...{\n customBottomContent,\n customTopContent,\n description,\n disableQRDownload,\n disableShareSocialMedia,\n enabledOptions,\n entity,\n entityName,\n handleEdit,\n handleRegenerate,\n isLoading,\n moreOptions,\n publicLinkExpiryConfiguration,\n qrCodeProps,\n socialMediaProps,\n title,\n urls,\n }}\n />\n )}\n />\n <Route\n exact\n path={`${sharePath}/qrcode`}\n render={() => (\n <QRCode {...{ entity, qrCodeProps, shareUrl }} url={urls[0]?.url} />\n )}\n />\n <Route\n exact\n path={`${sharePath}/social-media`}\n render={() => (\n <SocialMedia {...{ shareUrl, socialMediaProps }} url={urls[0]?.url} />\n )}\n />\n {isPresent(moreOptions) &&\n moreOptions.map(({ link, element, path, permissions }) => {\n if (!link && !path) return null;\n\n return (\n <PrivateRoute\n {...{ permissions }}\n exact\n component={() => element}\n key={link}\n path={path || link}\n />\n );\n })}\n <Route component={ErrorPage} path=\"*\" />\n </Switch>\n );\n};\n\nShareViaLink.propTypes = {\n /**\n * The title of the share via link component.\n */\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * The description of the share via link component.\n */\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * The custom content to be shown in the top of the share panel.\n */\n customTopContent: PropTypes.element,\n /**\n * The custom content to be shown in the bottom of the share panel.\n */\n customBottomContent: PropTypes.element,\n /**\n * The boolean value to check if the link is being regenerated or updated.\n */\n isLoading: PropTypes.bool,\n /**\n * An object which accepts two boolean values that decide if the dropdown options are hidden or not. If both are false, then the dropdown is hidden as well.\n */\n enabledOptions: PropTypes.shape({\n regenerate:\n PropTypes.bool ||\n PropTypes.shape({\n expiresInOptions: PropTypes.arrayOf(toLabelAndValue(PropTypes.string)),\n }),\n edit: PropTypes.bool,\n }),\n /**\n * The entity object for which the link is being shared.\n */\n entity: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n }),\n /**\n * The type of the entity for which the link is being shared.\n */\n entityName: PropTypes.string,\n /**\n * The function that is called when the Edit URL form is submitted. It returns the updated URL value.\n */\n handleEdit: PropTypes.func,\n /**\n * The function which makes the API call to regenerate the url.\n */\n handleRegenerate: PropTypes.func,\n /**\n * To customize the social media card and its dedicated page.\n */\n socialMediaProps: PropTypes.shape({\n cardTitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n cardDescription: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n pageTitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n pageDescription: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n postTitle: PropTypes.string,\n }),\n /**\n * To customize the QR code card and its dedicated page.\n */\n qrCodeProps: PropTypes.shape({\n cardTitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n cardDescription: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n pageTitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n pageDescription: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n }),\n /**\n * The props that are passed to the edit URL field. `prefix` and `editablePath` decide\n * which part of the URL is to be added in the prefix and which part is editable. Default values are taken from `url`.\n * `maxLength` decides if the entered URL should be limited to specified number of characters.\n * `previewUrl` will be used for previewing the entity (optional).\n */\n urls: PropTypes.arrayOf(\n PropTypes.shape({\n prefix: PropTypes.string,\n editablePath: PropTypes.string,\n maxLength: PropTypes.number,\n url: PropTypes.string,\n previewUrl: PropTypes.string,\n })\n ),\n /**\n * To share using alternative options\n */\n moreOptions: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n link: PropTypes.string,\n path: PropTypes.string,\n icon: PropTypes.elementType,\n onClick: PropTypes.func,\n dataCy: PropTypes.string,\n element: PropTypes.element,\n subtitleProps: PropTypes.shape({\n subtitle: PropTypes.string,\n dataCy: PropTypes.string,\n link: PropTypes.string,\n onClick: PropTypes.func,\n }),\n })\n ),\n /**\n * To disable share social media section.\n */\n disableShareSocialMedia: PropTypes.bool,\n /**\n * To disable QR code download section.\n */\n disableQRDownload: PropTypes.bool,\n};\n\nexport default ShareViaLink;\n"],"names":["ExpiryNotice","_ref","expiryConfiguration","_useTranslation","useTranslation","t","daysBeforeExpiry","notice","count","_jsx","Typography","lineHeight","style","className","classNames","children","facebookShareLink","url","buildUrl","u","linkedInShareLink","_ref2","title","mini","text","concat","twitterShareLink","_ref3","downloadCanvas","canvas","options","arguments","length","undefined","_options$name","name","_options$extension","extension","canvasUrl","toDataURL","element","document","createElement","href","download","click","remove","copyCanvasToClipboard","_ref4","_asyncToGenerator","_regeneratorRuntime","mark","_callee","handleDownloadQRCode","blob","clipboardItem","wrap","_callee$","_context","prev","next","abrupt","Promise","resolve","toBlob","sent","ClipboardItem","_defineProperty","type","navigator","clipboard","write","t0","stop","_x","_x2","apply","getPathname","URL","pathname","slice","getPrefixFromUrl","origin","truncatePrefix","inputElement","prefixText","parentElement","prefixElement","querySelector","_getComputedStyle","getComputedStyle","fontSize","averageCharWidth","parseFloat","requiredInputWidth","value","prefixWidth","offsetWidth","maxPrefixChars","Math","max","floor","textContent","SOCIAL_MEDIA_OPTIONS","FACEBOOK","label","icon","Facebook","generateShareUrl","LINKEDIN","Linkedin","TWITTER","Twitter","PATH_VALIDATION_SCHEMA","yup","object","shape","path","string","required","matches","Header","Pane","Body","Footer","EditURL","editUrlProps","isOpen","onClose","isLoading","handleEdit","focusRef","useRef","prevIsLoadingRef","prefix","observerRef","ResizeObserver","_slicedToArray","entry","requestAnimationFrame","target","inputRef","useCallback","current","observe","disconnect","useEffect","_jsxs","initialFocusRef","size","weight","Formik","enableReinitialize","initialValues","editablePath","validationSchema","onSubmit","_ref5","isSubmitting","dirty","Form","Input","maxLength","ref","ActionBlock","cancelButtonProps","onClick","disabled","submitButtonProps","loading","RegenerateURL","_regenerateConfig$exp","_regenerateConfig$exp2","_globalProps$user$dat","_globalProps","handleRegenerate","_ref$regenerateConfig","regenerateConfig","expiresInOptions","helpUrl","regenerateStrategy","isPresent","defaultExpiresInOption","_useState","useState","_useState2","selectedExpiresInOption","setSelectedExpiresInOption","defaultExpiresOnDate","dayjs","add","toDate","_useState3","_useState4","selectedExpiresOnDate","setSelectedExpiresOnDate","isSelectedExpiresInOptionNever","isSelectedExpiresInOptionCustom","isSelectedExpiresInOptionValidNumberOfDays","isValidExpiryConfig","expiryConfigPayload","expiresInDays","expiresOnDate","payload","Modal","Select","defaultValue","labelProps","helpIconProps","Help","popoverProps","helpLinkProps","onChange","option","DatePicker","dateFormat","globalProps","user","disabledDate","d","isBefore","getPopupContainer","prop","picker","Button","Link","enabledOptions","entityName","previewUrl","isRegenerateURLModalOpen","setIsRegenerateURLModalOpen","isEditURLModalOpen","setIsEditURLModalOpen","_useBreakpoints","useBreakpoints","isSize","isMobile","isDropdownEnabled","regenerate","edit","CopyToClipboardButton","ExternalLink","tooltipProps","content","entity","position","touch","_Fragment","MoreDropdown","menuItems","isVisible","key","Card","link","description","Icon","_ref$onClick","noop","helpPopoverProps","otherProps","_objectWithoutProperties","_excluded","Component","_objectSpread","to","HelpPopover","ShareBlock","moreOptions","disableShareSocialMedia","disableQRDownload","socialMediaProps","qrCodeProps","urls","location","useLocation","history","useHistory","handleNavigate","subPath","push","hasMoreOptions","isNotEmpty","filter","permissions","isNotPresent","some","includes","__","map","dataCy","_createElement","Share","cardDescription","cardTitle","QrCode","MainPanel","_urls$","_ref$isLoading","_ref$enabledOptions","_ref$urls","_ref$handleEdit","_ref$handleRegenerate","_ref$disableShareSoci","_ref$disableQRDownloa","_ref$publicLinkExpiry","publicLinkExpiryConfiguration","customTopContent","customBottomContent","shouldShowShareBlock","Container","classnames","productName","appName","urlOption","LinkBlock","omit","QRCode","shareUrl","id","canvasId","getElementById","slugify","handleCopyQRCode","pageTitle","pageDescription","LeftArrow","iconPosition","CardLayout","actionBlock","QRCodeImage","width","height","SocialMedia","Object","entries","_ref3$","rel","postTitle","ShareViaLink","_useRouteMatch","useRouteMatch","sharePath","Switch","Route","exact","render","_urls$2","PrivateRoute","component","ErrorPage"],"mappings":"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AE,CAAC;AACxK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACxK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACxK,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,2BAA2B,GAAG;AACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACjJ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC1J,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC7J,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAA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","x_google_ignoreList":[9]}
1
+ {"version":3,"file":"ShareViaLink.js","sources":["../../src/components/ShareViaLink/ExpiryNotice.jsx","../../src/components/ShareViaLink/utils.js","../../src/components/ShareViaLink/constants.js","../../src/components/ShareViaLink/EditURL.jsx","../../src/components/ShareViaLink/RegenerateURL.jsx","../../src/components/ShareViaLink/Link.jsx","../../src/components/ShareViaLink/Card.jsx","../../src/components/ShareViaLink/ShareBlock.jsx","../../src/components/ShareViaLink/MainPanel.jsx","../../node_modules/qrcode.react/lib/esm/index.js","../../src/components/ShareViaLink/QRCode.jsx","../../src/components/ShareViaLink/SocialMedia.jsx","../../src/components/ShareViaLink/index.jsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ExpiryNotice = ({ expiryConfiguration }) => {\n const { t } = useTranslation();\n const { daysBeforeExpiry } = expiryConfiguration;\n\n let notice = t(\"neetoMolecules.shareViaLink.expiryNotice.daysRemaining\", {\n count: daysBeforeExpiry,\n });\n if (daysBeforeExpiry < 1) {\n notice = t(\"neetoMolecules.shareViaLink.expiryNotice.expiresToday\");\n }\n\n if (daysBeforeExpiry <= 0) {\n notice = t(\"neetoMolecules.shareViaLink.expiryNotice.expired\");\n }\n\n return (\n <Typography\n data-testid=\"expiry-notice\"\n lineHeight=\"normal\"\n style=\"body3\"\n className={classNames(\"ml-1\", {\n \"neeto-ui-text-error-800\": daysBeforeExpiry <= 1,\n \"neeto-ui-text-gray-700\": daysBeforeExpiry > 1,\n })}\n >\n {notice}\n </Typography>\n );\n};\n\nexport default ExpiryNotice;\n","import { buildUrl } from \"neetocommons/utils/general\";\n\nexport const facebookShareLink = ({ url }) =>\n buildUrl(\"https://www.facebook.com/sharer/sharer.php\", { u: url });\n\nexport const linkedInShareLink = ({ url, title }) =>\n buildUrl(\"https://www.linkedin.com/sharing/share-offsite\", {\n mini: true,\n text: `${title} ${url}`,\n });\n\nexport const twitterShareLink = ({ url, title }) =>\n buildUrl(\"http://twitter.com/share\", { text: title, url });\n\nexport const downloadCanvas = (canvas, options = {}) => {\n const { name = \"image\", extension = \"png\" } = options;\n\n const canvasUrl = canvas.toDataURL(`image/${extension}`);\n const element = document.createElement(\"a\");\n element.href = canvasUrl;\n element.download = `${name}.${extension}`;\n element.click();\n element.remove();\n};\n\nexport const copyCanvasToClipboard = async (canvas, handleDownloadQRCode) => {\n if (!canvas) return;\n\n try {\n const blob = await new Promise(resolve => canvas.toBlob(resolve));\n if (!blob) return;\n\n const clipboardItem = new ClipboardItem({ [blob.type]: blob });\n navigator.clipboard.write([clipboardItem]);\n } catch {\n handleDownloadQRCode();\n }\n};\n\nexport const getPathname = url => new URL(url).pathname.slice(1);\n\nexport const getPrefixFromUrl = url => `${new URL(url).origin}/`;\n\nexport const truncatePrefix = (inputElement, prefixText) => {\n const parentElement = inputElement.parentElement;\n const prefixElement = parentElement.querySelector(\".neeto-ui-input__prefix\");\n\n const { fontSize } = getComputedStyle(inputElement);\n const averageCharWidth = parseFloat(fontSize) * 0.6;\n\n const requiredInputWidth = inputElement.value.length * averageCharWidth;\n const prefixWidth = parentElement.offsetWidth - requiredInputWidth;\n\n const maxPrefixChars = Math.max(\n Math.floor(prefixWidth / averageCharWidth),\n 5\n );\n\n prefixElement.textContent =\n maxPrefixChars < prefixText.length\n ? `...${prefixText.slice(-maxPrefixChars)}`\n : prefixText;\n};\n","import { t } from \"i18next\";\nimport { Facebook, Linkedin, Twitter } from \"neetoicons\";\nimport * as yup from \"yup\";\n\nimport {\n facebookShareLink,\n twitterShareLink,\n linkedInShareLink,\n} from \"./utils\";\n\nexport const SOCIAL_MEDIA_OPTIONS = {\n FACEBOOK: {\n label: t(\"neetoMolecules.shareViaLink.socialMediaShare.facebook\"),\n icon: Facebook,\n generateShareUrl: facebookShareLink,\n },\n LINKEDIN: {\n label: t(\"neetoMolecules.shareViaLink.socialMediaShare.linkedIn\"),\n icon: Linkedin,\n generateShareUrl: linkedInShareLink,\n },\n TWITTER: {\n label: t(\"neetoMolecules.shareViaLink.socialMediaShare.twitter\"),\n icon: Twitter,\n generateShareUrl: twitterShareLink,\n },\n};\n\nexport const PATH_VALIDATION_SCHEMA = yup.object().shape({\n path: yup\n .string()\n .required(t(\"neetoMolecules.shareViaLink.editUrl.validationError\"))\n .matches(\n /^[A-Za-z0-9]([\\w/-])*$/,\n t(\"neetoMolecules.shareViaLink.editUrl.validationError\")\n ),\n});\n","import { useCallback, useEffect, useRef } from \"react\";\n\nimport { Form, Formik } from \"formik\";\nimport { Typography, Pane } from \"neetoui\";\nimport { Input, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PATH_VALIDATION_SCHEMA } from \"./constants\";\nimport \"./edit-url.scss\";\nimport { getPathname, getPrefixFromUrl, truncatePrefix } from \"./utils\";\n\nconst { Header, Body, Footer } = Pane;\n\nconst EditURL = ({\n editUrlProps,\n isOpen,\n onClose,\n url,\n isLoading,\n handleEdit,\n}) => {\n const { t } = useTranslation();\n\n const focusRef = useRef(null);\n const prevIsLoadingRef = useRef(isLoading);\n\n const prefixText = editUrlProps?.prefix || getPrefixFromUrl(url);\n\n const observerRef = useRef(\n new ResizeObserver(([entry]) =>\n requestAnimationFrame(() => truncatePrefix(entry.target, prefixText))\n )\n );\n\n const inputRef = useCallback(inputElement => {\n focusRef.current = inputElement;\n\n inputElement\n ? observerRef.current.observe(inputElement)\n : observerRef.current.disconnect();\n }, []);\n\n useEffect(() => {\n if (prevIsLoadingRef.current && !isLoading) onClose();\n\n prevIsLoadingRef.current = isLoading;\n }, [isLoading]);\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n data-testid=\"edit-url-modal\"\n initialFocusRef={focusRef}\n size=\"large\"\n >\n <Header>\n <Typography lineHeight=\"normal\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.shareViaLink.editUrl.title\")}\n </Typography>\n </Header>\n <Formik\n enableReinitialize\n initialValues={{ path: editUrlProps?.editablePath || getPathname(url) }}\n validationSchema={PATH_VALIDATION_SCHEMA}\n onSubmit={({ path }) => handleEdit(path)}\n >\n {({ isSubmitting, dirty }) => (\n <Form>\n <Body className=\"flex flex-col gap-y-6\">\n <Input\n className=\"no-padding w-full flex-grow-0\"\n data-testid=\"edit-url-input\"\n label={t(\"neetoMolecules.shareViaLink.editUrl.inputLabel\")}\n maxLength={editUrlProps?.maxLength}\n name=\"path\"\n prefix={prefixText}\n ref={inputRef}\n />\n <Typography\n className=\"neeto-ui-text-gray-700\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.shareViaLink.editUrl.description\")}\n </Typography>\n </Body>\n <Footer className=\"flex items-center gap-x-2\">\n <ActionBlock\n className=\"flex items-center gap-x-2\"\n cancelButtonProps={{\n onClick: onClose,\n disabled: isSubmitting,\n \"data-testid\": \"edit-url-cancel-button\",\n }}\n submitButtonProps={{\n disabled: isSubmitting || !dirty,\n loading: isLoading,\n \"data-testid\": \"edit-url-confirm-button\",\n }}\n />\n </Footer>\n </Form>\n )}\n </Formik>\n </Pane>\n );\n};\n\nexport default EditURL;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { dayjs } from \"neetocommons/utils\";\nimport { Help } from \"neetoicons\";\nimport { Typography, Modal, Button, Input, Select, DatePicker } from \"neetoui\";\nimport { prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst RegenerateURL = ({\n isOpen,\n onClose,\n url,\n isLoading,\n handleRegenerate,\n regenerateConfig = { expiresInOptions: [], helpUrl: null },\n}) => {\n const { t } = useTranslation();\n\n const prevIsLoadingRef = useRef(isLoading);\n const regenerateStrategy = isPresent(regenerateConfig?.expiresInOptions)\n ? \"expiryBased\"\n : \"basic\";\n\n const defaultExpiresInOption = regenerateConfig?.expiresInOptions?.[0]?.value;\n const [selectedExpiresInOption, setSelectedExpiresInOption] = useState(\n defaultExpiresInOption\n );\n\n const defaultExpiresOnDate = dayjs().add(10, \"day\").toDate();\n const [selectedExpiresOnDate, setSelectedExpiresOnDate] =\n useState(defaultExpiresOnDate);\n\n const isSelectedExpiresInOptionNever = selectedExpiresInOption === \"never\";\n const isSelectedExpiresInOptionCustom = selectedExpiresInOption === \"custom\";\n\n const isSelectedExpiresInOptionValidNumberOfDays =\n isPresent(selectedExpiresInOption) &&\n !isSelectedExpiresInOptionCustom &&\n !isSelectedExpiresInOptionNever;\n\n const isValidExpiryConfig =\n isSelectedExpiresInOptionNever ||\n (isSelectedExpiresInOptionCustom && isPresent(selectedExpiresOnDate)) ||\n isSelectedExpiresInOptionValidNumberOfDays;\n\n const expiryConfigPayload = isSelectedExpiresInOptionValidNumberOfDays\n ? { expiresInDays: selectedExpiresInOption }\n : { expiresOnDate: selectedExpiresOnDate };\n\n const onSubmit = () =>\n regenerateStrategy === \"basic\" || isSelectedExpiresInOptionNever\n ? handleRegenerate()\n : handleRegenerate({ payload: expiryConfigPayload });\n\n useEffect(() => {\n if (prevIsLoadingRef.current && !isLoading) onClose();\n\n prevIsLoadingRef.current = isLoading;\n }, [isLoading]);\n\n useEffect(() => {\n if (!isOpen) return;\n\n setSelectedExpiresInOption(defaultExpiresInOption);\n setSelectedExpiresOnDate(defaultExpiresOnDate);\n }, [isOpen]);\n\n return (\n <Modal\n {...{ isOpen, onClose }}\n data-testid=\"regenerate-url-modal\"\n size={regenerateStrategy === \"basic\" ? \"medium\" : \"large\"}\n >\n <Modal.Header>\n <Typography lineHeight=\"normal\" style=\"h2\" weight=\"semibold\">\n {regenerateStrategy === \"expiryBased\"\n ? t(\n \"neetoMolecules.shareViaLink.regenerateUrl.titleForExpiryBasedRegeneration\"\n )\n : t(\"neetoMolecules.shareViaLink.regenerateUrl.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <div className=\"flex w-full flex-col gap-y-6\">\n {regenerateStrategy === \"basic\" && (\n <Input\n disabled\n label={t(\"neetoMolecules.shareViaLink.regenerateUrl.inputLabel\")}\n value={url}\n />\n )}\n {regenerateStrategy === \"expiryBased\" && (\n <div className=\"flex flex-row gap-2\">\n <Select\n data-testid=\"expires-in-select\"\n defaultValue={regenerateConfig.expiresInOptions?.[0]}\n options={regenerateConfig.expiresInOptions}\n className={classNames({\n \"w-1/2\": isSelectedExpiresInOptionCustom,\n \"w-full\": !isSelectedExpiresInOptionCustom,\n })}\n label={t(\n \"neetoMolecules.shareViaLink.regenerateUrl.expiresInLabel\"\n )}\n labelProps={{\n helpIconProps: isPresent(regenerateConfig?.helpUrl) && {\n icon: Help,\n className:\n \"cursor-pointer opacity-75 hover:opacity-100 transition-opacity duration-300 ease-in-out\",\n popoverProps: {\n title: t(\n \"neetoMolecules.shareViaLink.regenerateUrl.expiresInHelpTitle\"\n ),\n helpLinkProps: {\n label: t(\n \"neetoMolecules.shareViaLink.regenerateUrl.helpLinkLabel\"\n ),\n href: regenerateConfig?.helpUrl,\n target: \"_blank\",\n },\n },\n },\n }}\n onChange={option => setSelectedExpiresInOption(option.value)}\n />\n {isSelectedExpiresInOptionCustom && (\n <DatePicker\n data-testid=\"expires-on-date-picker\"\n dateFormat={globalProps?.user?.dateFormat ?? undefined}\n disabledDate={d => !d || d.isBefore(dayjs())}\n getPopupContainer={prop(\"parentNode\")}\n picker=\"date\"\n type=\"date\"\n value={selectedExpiresOnDate}\n label={t(\n \"neetoMolecules.shareViaLink.regenerateUrl.expiresOnLabel\"\n )}\n onChange={setSelectedExpiresOnDate}\n />\n )}\n </div>\n )}\n <Typography\n className=\"neeto-ui-text-gray-700\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {t(\"neetoMolecules.shareViaLink.regenerateUrl.description\")}\n </Typography>\n </div>\n </Modal.Body>\n <Modal.Footer className=\"flex items-center gap-x-2\">\n <Button\n data-cy=\"regenerate-url-confirm-button\"\n data-testid=\"regenerate-url-confirm-button\"\n loading={isLoading}\n disabled={\n regenerateStrategy === \"expiryBased\" && !isValidExpiryConfig\n }\n label={t(\n \"neetoMolecules.shareViaLink.regenerateUrl.submitButtonLabel\"\n )}\n onClick={onSubmit}\n />\n <Button\n data-cy=\"regenerate-url-cancel-button\"\n data-testid=\"regenerate-url-cancel-button\"\n style=\"text\"\n label={t(\n \"neetoMolecules.shareViaLink.regenerateUrl.cancelButtonLabel\"\n )}\n onClick={onClose}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default RegenerateURL;\n","import { useState } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport useBreakpoints from \"neetocommons/react-utils/useBreakpoints\";\nimport { ExternalLink, Link as LinkIcon } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport MoreDropdown from \"components/MoreDropdown\";\n\nimport EditURL from \"./EditURL\";\nimport RegenerateURL from \"./RegenerateURL\";\n\nconst Link = ({\n editUrlProps,\n enabledOptions,\n entityName,\n handleEdit,\n handleRegenerate,\n isLoading,\n previewUrl,\n url,\n}) => {\n const [isRegenerateURLModalOpen, setIsRegenerateURLModalOpen] =\n useState(false);\n const [isEditURLModalOpen, setIsEditURLModalOpen] = useState(false);\n\n const { t } = useTranslation();\n\n const { isSize } = useBreakpoints();\n const isMobile = isSize(\"mobile\");\n\n const isDropdownEnabled = enabledOptions.regenerate || enabledOptions.edit;\n\n return (\n <div\n className=\"flex flex-col gap-y-4\"\n data-cy=\"link-block\"\n data-testid=\"link-block\"\n >\n <div className=\"flex items-center gap-1 sm:gap-2\">\n <div\n className=\"relative flex min-w-0 flex-grow items-stretch truncate leading-none\"\n data-cy=\"nui-input-field\"\n >\n <div className=\"neeto-ui-rounded-md neeto-ui-border-gray-300 neeto-ui-bg-gray-50 relative flex min-w-0 flex-grow items-center truncate rounded-br-none rounded-tr-none border leading-none\">\n <Button\n className=\"neeto-molecules-share-link-button relative min-w-0 flex-grow flex-row truncate px-2 py-1 leading-none\"\n href={url}\n icon={LinkIcon}\n iconPosition=\"left\"\n label={url}\n style=\"link\"\n target=\"_blank\"\n />\n </div>\n <CopyToClipboardButton\n className=\"rounded-l-none\"\n data-cy=\"link-copy-button\"\n data-testid=\"link-copy-button\"\n label={!isMobile ? t(\"neetoMolecules.shareViaLink.copyLink\") : null}\n value={url}\n />\n </div>\n <div className=\"flex flex-shrink-0 items-center gap-1 sm:gap-2\">\n <Button\n data-cy=\"preview-button\"\n data-testid=\"preview-button\"\n href={previewUrl || url}\n icon={ExternalLink}\n style=\"secondary\"\n target=\"_blank\"\n tooltipProps={{\n content: t(\"neetoMolecules.shareViaLink.view\", {\n entity: entityName,\n }),\n position: \"top\",\n touch: [\"hold\", 500],\n }}\n />\n {isDropdownEnabled && (\n <>\n <MoreDropdown\n menuItems={[\n {\n isVisible:\n enabledOptions.regenerate ||\n isPresent(enabledOptions.regenerate),\n \"data-testid\": \"regenerate-url-button\",\n \"data-cy\": \"regenerate-url-button\",\n onClick: () => setIsRegenerateURLModalOpen(true),\n label: t(\"neetoMolecules.shareViaLink.regenerateUrl.title\"),\n key: \"regenerate-url-option\",\n },\n {\n isVisible: enabledOptions.edit,\n \"data-testid\": \"edit-url-button\",\n \"data-cy\": \"edit-url-button\",\n onClick: () => setIsEditURLModalOpen(true),\n label: t(\"neetoMolecules.shareViaLink.editUrl.title\"),\n key: \"edit-url-option\",\n },\n ]}\n />\n <RegenerateURL\n {...{ handleRegenerate, isLoading, url }}\n isOpen={isRegenerateURLModalOpen}\n regenerateConfig={enabledOptions.regenerate}\n onClose={() => setIsRegenerateURLModalOpen(false)}\n />\n <EditURL\n {...{ editUrlProps, handleEdit, isLoading, url }}\n isOpen={isEditURLModalOpen}\n onClose={() => setIsEditURLModalOpen(false)}\n />\n </>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default Link;\n","import { isPresent, noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { Link } from \"react-router-dom\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nconst Card = ({\n title,\n link,\n description,\n Icon,\n onClick = noop,\n helpPopoverProps,\n ...otherProps\n}) => {\n const Component = isPresent(link) ? Link : \"div\";\n\n return (\n <Component\n {...{ onClick }}\n className=\"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-molecules-share-landing__card flex cursor-pointer flex-col gap-3 border p-3\"\n to={link}\n {...otherProps}\n >\n <div className=\"flex items-center gap-2\">\n {Icon && (\n <Icon className=\"neeto-ui-text-gray-500 flex-shrink-0\" size={24} />\n )}\n <Typography\n className=\"neeto-molecules-share-landing__card-title min-w-0 flex-grow break-words\"\n style=\"h4\"\n >\n {title}\n {helpPopoverProps && (\n <>\n {\" \"}\n <HelpPopover {...helpPopoverProps} />\n </>\n )}\n </Typography>\n </div>\n {description && (\n <Typography\n className=\"neeto-molecules-share-landing__card-desc break-words\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n )}\n </Component>\n );\n};\n\nexport default Card;\n","import classNames from \"classnames\";\nimport { isNotEmpty, isNotPresent, isPresent } from \"neetocist\";\nimport { Share, QrCode } from \"neetoicons\";\nimport { __, includes } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation, useHistory } from \"react-router-dom\";\n\nimport Card from \"./Card\";\n\nconst ShareBlock = ({\n moreOptions,\n disableShareSocialMedia,\n disableQRDownload,\n socialMediaProps,\n qrCodeProps,\n entity,\n urls,\n}) => {\n const location = useLocation();\n const history = useHistory();\n\n const { t } = useTranslation();\n\n const handleNavigate = subPath => {\n // eslint-disable-next-line @bigbinary/neeto/use-common-routes\n history.push(`${location.pathname}/${subPath}`);\n };\n\n const hasMoreOptions = isPresent(moreOptions);\n\n return (\n <div\n className={classNames(\n \"grid grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-3\",\n {\n \"neeto-ui-border-gray-200 mt-8 border-t pt-8\": isNotEmpty(urls),\n }\n )}\n >\n {hasMoreOptions &&\n moreOptions\n .filter(\n ({ permissions }) =>\n isNotPresent(permissions) ||\n globalProps.permissions.some(includes(__, permissions))\n )\n .map(\n ({\n title,\n link,\n icon: Icon,\n onClick,\n dataCy,\n description,\n helpPopoverProps,\n }) => (\n <Card\n {...{\n Icon,\n description,\n helpPopoverProps,\n link,\n onClick,\n title,\n }}\n data-cy={dataCy}\n data-testid={dataCy}\n key={link}\n />\n )\n )}\n {!disableShareSocialMedia && (\n <Card\n Icon={Share}\n data-cy=\"social-share-card\"\n data-testid=\"social-share-card\"\n description={\n socialMediaProps?.cardDescription ||\n t(\"neetoMolecules.shareViaLink.socialMediaShare.description\")\n }\n title={\n socialMediaProps?.cardTitle ||\n t(\"neetoMolecules.shareViaLink.socialMediaShare.title\")\n }\n onClick={() => handleNavigate(\"social-media\")}\n />\n )}\n {!disableQRDownload && entity && (\n <Card\n Icon={QrCode}\n data-cy=\"qr-code-card\"\n data-testid=\"qr-code-card\"\n description={\n qrCodeProps?.cardDescription ||\n t(\"neetoMolecules.shareViaLink.qrCode.description\")\n }\n title={\n qrCodeProps?.cardTitle ||\n t(\"neetoMolecules.shareViaLink.qrCode.title\")\n }\n onClick={() => handleNavigate(\"qrcode\")}\n />\n )}\n </div>\n );\n};\n\nexport default ShareBlock;\n","import classnames from \"classnames\";\nimport { isNotEmpty, isPresent, noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { omit } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\n\nimport ExpiryNotice from \"./ExpiryNotice\";\nimport LinkBlock from \"./Link\";\nimport ShareBlock from \"./ShareBlock\";\n\nconst MainPanel = ({\n title,\n description,\n qrCodeProps,\n socialMediaProps,\n isLoading = false,\n enabledOptions = { regenerate: false, edit: false },\n urls = [],\n entity,\n entityName,\n handleEdit = noop,\n handleRegenerate = noop,\n moreOptions,\n disableShareSocialMedia = false,\n disableQRDownload = false,\n publicLinkExpiryConfiguration = {},\n customTopContent,\n customBottomContent,\n}) => {\n const { t } = useTranslation();\n\n const shouldShowShareBlock =\n !disableQRDownload || !disableShareSocialMedia || isPresent(moreOptions);\n\n return (\n <Container className=\"neeto-ui-bg-gray-100 neeto-molecule-share-landing-page\">\n <div className=\"mx-auto w-full max-w-5xl py-10\">\n {customTopContent}\n <Typography\n data-cy=\"share-your-meeting-heading\"\n lineHeight=\"tight\"\n style=\"h2\"\n className={classnames({\n \"mb-2\": isPresent(description),\n \"mb-6\": !isPresent(description),\n })}\n >\n {title ||\n t(\"neetoMolecules.shareViaLink.title\", {\n productName: globalProps.appName,\n })}\n </Typography>\n {description && (\n <Typography\n className=\"mb-6\"\n data-cy=\"share-your-meeting-heading\"\n lineHeight=\"normal\"\n style=\"body1\"\n >\n {description}\n </Typography>\n )}\n <div\n className=\"neeto-ui-rounded-lg neeto-ui-bg-white p-6 sm:p-8\"\n data-testid=\"share-via-link\"\n >\n {isNotEmpty(urls) && (\n <div className=\"flex flex-col gap-y-1\">\n <div className=\"inline-flex max-w-full flex-col gap-y-4\">\n {urls?.map(urlOption => (\n <LinkBlock\n {...{\n enabledOptions,\n entityName,\n handleEdit,\n handleRegenerate,\n isLoading,\n }}\n editUrlProps={omit([\"url\"], urlOption)}\n key={urlOption.url}\n previewUrl={urlOption.previewUrl}\n url={urlOption.url}\n />\n ))}\n </div>\n {isPresent(publicLinkExpiryConfiguration) && (\n <ExpiryNotice\n expiryConfiguration={publicLinkExpiryConfiguration}\n />\n )}\n </div>\n )}\n {shouldShowShareBlock && (\n <ShareBlock\n {...{\n disableQRDownload,\n disableShareSocialMedia,\n entity,\n moreOptions,\n qrCodeProps,\n socialMediaProps,\n urls,\n }}\n url={urls[0]?.url}\n />\n )}\n </div>\n {customBottomContent}\n </div>\n </Container>\n );\n};\n\nexport default MainPanel;\n","var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\n\n// src/index.tsx\nimport React, { useRef, useEffect, useState } from \"react\";\n\n// src/third-party/qrcodegen/index.ts\n/**\n * @license QR Code generator library (TypeScript)\n * Copyright (c) Project Nayuki.\n * SPDX-License-Identifier: MIT\n */\nvar qrcodegen;\n((qrcodegen2) => {\n const _QrCode = class {\n constructor(version, errorCorrectionLevel, dataCodewords, msk) {\n this.version = version;\n this.errorCorrectionLevel = errorCorrectionLevel;\n this.modules = [];\n this.isFunction = [];\n if (version < _QrCode.MIN_VERSION || version > _QrCode.MAX_VERSION)\n throw new RangeError(\"Version value out of range\");\n if (msk < -1 || msk > 7)\n throw new RangeError(\"Mask value out of range\");\n this.size = version * 4 + 17;\n let row = [];\n for (let i = 0; i < this.size; i++)\n row.push(false);\n for (let i = 0; i < this.size; i++) {\n this.modules.push(row.slice());\n this.isFunction.push(row.slice());\n }\n this.drawFunctionPatterns();\n const allCodewords = this.addEccAndInterleave(dataCodewords);\n this.drawCodewords(allCodewords);\n if (msk == -1) {\n let minPenalty = 1e9;\n for (let i = 0; i < 8; i++) {\n this.applyMask(i);\n this.drawFormatBits(i);\n const penalty = this.getPenaltyScore();\n if (penalty < minPenalty) {\n msk = i;\n minPenalty = penalty;\n }\n this.applyMask(i);\n }\n }\n assert(0 <= msk && msk <= 7);\n this.mask = msk;\n this.applyMask(msk);\n this.drawFormatBits(msk);\n this.isFunction = [];\n }\n static encodeText(text, ecl) {\n const segs = qrcodegen2.QrSegment.makeSegments(text);\n return _QrCode.encodeSegments(segs, ecl);\n }\n static encodeBinary(data, ecl) {\n const seg = qrcodegen2.QrSegment.makeBytes(data);\n return _QrCode.encodeSegments([seg], ecl);\n }\n static encodeSegments(segs, ecl, minVersion = 1, maxVersion = 40, mask = -1, boostEcl = true) {\n if (!(_QrCode.MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= _QrCode.MAX_VERSION) || mask < -1 || mask > 7)\n throw new RangeError(\"Invalid value\");\n let version;\n let dataUsedBits;\n for (version = minVersion; ; version++) {\n const dataCapacityBits2 = _QrCode.getNumDataCodewords(version, ecl) * 8;\n const usedBits = QrSegment.getTotalBits(segs, version);\n if (usedBits <= dataCapacityBits2) {\n dataUsedBits = usedBits;\n break;\n }\n if (version >= maxVersion)\n throw new RangeError(\"Data too long\");\n }\n for (const newEcl of [_QrCode.Ecc.MEDIUM, _QrCode.Ecc.QUARTILE, _QrCode.Ecc.HIGH]) {\n if (boostEcl && dataUsedBits <= _QrCode.getNumDataCodewords(version, newEcl) * 8)\n ecl = newEcl;\n }\n let bb = [];\n for (const seg of segs) {\n appendBits(seg.mode.modeBits, 4, bb);\n appendBits(seg.numChars, seg.mode.numCharCountBits(version), bb);\n for (const b of seg.getData())\n bb.push(b);\n }\n assert(bb.length == dataUsedBits);\n const dataCapacityBits = _QrCode.getNumDataCodewords(version, ecl) * 8;\n assert(bb.length <= dataCapacityBits);\n appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);\n appendBits(0, (8 - bb.length % 8) % 8, bb);\n assert(bb.length % 8 == 0);\n for (let padByte = 236; bb.length < dataCapacityBits; padByte ^= 236 ^ 17)\n appendBits(padByte, 8, bb);\n let dataCodewords = [];\n while (dataCodewords.length * 8 < bb.length)\n dataCodewords.push(0);\n bb.forEach((b, i) => dataCodewords[i >>> 3] |= b << 7 - (i & 7));\n return new _QrCode(version, ecl, dataCodewords, mask);\n }\n getModule(x, y) {\n return 0 <= x && x < this.size && 0 <= y && y < this.size && this.modules[y][x];\n }\n getModules() {\n return this.modules;\n }\n drawFunctionPatterns() {\n for (let i = 0; i < this.size; i++) {\n this.setFunctionModule(6, i, i % 2 == 0);\n this.setFunctionModule(i, 6, i % 2 == 0);\n }\n this.drawFinderPattern(3, 3);\n this.drawFinderPattern(this.size - 4, 3);\n this.drawFinderPattern(3, this.size - 4);\n const alignPatPos = this.getAlignmentPatternPositions();\n const numAlign = alignPatPos.length;\n for (let i = 0; i < numAlign; i++) {\n for (let j = 0; j < numAlign; j++) {\n if (!(i == 0 && j == 0 || i == 0 && j == numAlign - 1 || i == numAlign - 1 && j == 0))\n this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);\n }\n }\n this.drawFormatBits(0);\n this.drawVersion();\n }\n drawFormatBits(mask) {\n const data = this.errorCorrectionLevel.formatBits << 3 | mask;\n let rem = data;\n for (let i = 0; i < 10; i++)\n rem = rem << 1 ^ (rem >>> 9) * 1335;\n const bits = (data << 10 | rem) ^ 21522;\n assert(bits >>> 15 == 0);\n for (let i = 0; i <= 5; i++)\n this.setFunctionModule(8, i, getBit(bits, i));\n this.setFunctionModule(8, 7, getBit(bits, 6));\n this.setFunctionModule(8, 8, getBit(bits, 7));\n this.setFunctionModule(7, 8, getBit(bits, 8));\n for (let i = 9; i < 15; i++)\n this.setFunctionModule(14 - i, 8, getBit(bits, i));\n for (let i = 0; i < 8; i++)\n this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));\n for (let i = 8; i < 15; i++)\n this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));\n this.setFunctionModule(8, this.size - 8, true);\n }\n drawVersion() {\n if (this.version < 7)\n return;\n let rem = this.version;\n for (let i = 0; i < 12; i++)\n rem = rem << 1 ^ (rem >>> 11) * 7973;\n const bits = this.version << 12 | rem;\n assert(bits >>> 18 == 0);\n for (let i = 0; i < 18; i++) {\n const color = getBit(bits, i);\n const a = this.size - 11 + i % 3;\n const b = Math.floor(i / 3);\n this.setFunctionModule(a, b, color);\n this.setFunctionModule(b, a, color);\n }\n }\n drawFinderPattern(x, y) {\n for (let dy = -4; dy <= 4; dy++) {\n for (let dx = -4; dx <= 4; dx++) {\n const dist = Math.max(Math.abs(dx), Math.abs(dy));\n const xx = x + dx;\n const yy = y + dy;\n if (0 <= xx && xx < this.size && 0 <= yy && yy < this.size)\n this.setFunctionModule(xx, yy, dist != 2 && dist != 4);\n }\n }\n }\n drawAlignmentPattern(x, y) {\n for (let dy = -2; dy <= 2; dy++) {\n for (let dx = -2; dx <= 2; dx++)\n this.setFunctionModule(x + dx, y + dy, Math.max(Math.abs(dx), Math.abs(dy)) != 1);\n }\n }\n setFunctionModule(x, y, isDark) {\n this.modules[y][x] = isDark;\n this.isFunction[y][x] = true;\n }\n addEccAndInterleave(data) {\n const ver = this.version;\n const ecl = this.errorCorrectionLevel;\n if (data.length != _QrCode.getNumDataCodewords(ver, ecl))\n throw new RangeError(\"Invalid argument\");\n const numBlocks = _QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n const blockEccLen = _QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver];\n const rawCodewords = Math.floor(_QrCode.getNumRawDataModules(ver) / 8);\n const numShortBlocks = numBlocks - rawCodewords % numBlocks;\n const shortBlockLen = Math.floor(rawCodewords / numBlocks);\n let blocks = [];\n const rsDiv = _QrCode.reedSolomonComputeDivisor(blockEccLen);\n for (let i = 0, k = 0; i < numBlocks; i++) {\n let dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));\n k += dat.length;\n const ecc = _QrCode.reedSolomonComputeRemainder(dat, rsDiv);\n if (i < numShortBlocks)\n dat.push(0);\n blocks.push(dat.concat(ecc));\n }\n let result = [];\n for (let i = 0; i < blocks[0].length; i++) {\n blocks.forEach((block, j) => {\n if (i != shortBlockLen - blockEccLen || j >= numShortBlocks)\n result.push(block[i]);\n });\n }\n assert(result.length == rawCodewords);\n return result;\n }\n drawCodewords(data) {\n if (data.length != Math.floor(_QrCode.getNumRawDataModules(this.version) / 8))\n throw new RangeError(\"Invalid argument\");\n let i = 0;\n for (let right = this.size - 1; right >= 1; right -= 2) {\n if (right == 6)\n right = 5;\n for (let vert = 0; vert < this.size; vert++) {\n for (let j = 0; j < 2; j++) {\n const x = right - j;\n const upward = (right + 1 & 2) == 0;\n const y = upward ? this.size - 1 - vert : vert;\n if (!this.isFunction[y][x] && i < data.length * 8) {\n this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));\n i++;\n }\n }\n }\n }\n assert(i == data.length * 8);\n }\n applyMask(mask) {\n if (mask < 0 || mask > 7)\n throw new RangeError(\"Mask value out of range\");\n for (let y = 0; y < this.size; y++) {\n for (let x = 0; x < this.size; x++) {\n let invert;\n switch (mask) {\n case 0:\n invert = (x + y) % 2 == 0;\n break;\n case 1:\n invert = y % 2 == 0;\n break;\n case 2:\n invert = x % 3 == 0;\n break;\n case 3:\n invert = (x + y) % 3 == 0;\n break;\n case 4:\n invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 == 0;\n break;\n case 5:\n invert = x * y % 2 + x * y % 3 == 0;\n break;\n case 6:\n invert = (x * y % 2 + x * y % 3) % 2 == 0;\n break;\n case 7:\n invert = ((x + y) % 2 + x * y % 3) % 2 == 0;\n break;\n default:\n throw new Error(\"Unreachable\");\n }\n if (!this.isFunction[y][x] && invert)\n this.modules[y][x] = !this.modules[y][x];\n }\n }\n }\n getPenaltyScore() {\n let result = 0;\n for (let y = 0; y < this.size; y++) {\n let runColor = false;\n let runX = 0;\n let runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let x = 0; x < this.size; x++) {\n if (this.modules[y][x] == runColor) {\n runX++;\n if (runX == 5)\n result += _QrCode.PENALTY_N1;\n else if (runX > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runX, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * _QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runX = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * _QrCode.PENALTY_N3;\n }\n for (let x = 0; x < this.size; x++) {\n let runColor = false;\n let runY = 0;\n let runHistory = [0, 0, 0, 0, 0, 0, 0];\n for (let y = 0; y < this.size; y++) {\n if (this.modules[y][x] == runColor) {\n runY++;\n if (runY == 5)\n result += _QrCode.PENALTY_N1;\n else if (runY > 5)\n result++;\n } else {\n this.finderPenaltyAddHistory(runY, runHistory);\n if (!runColor)\n result += this.finderPenaltyCountPatterns(runHistory) * _QrCode.PENALTY_N3;\n runColor = this.modules[y][x];\n runY = 1;\n }\n }\n result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * _QrCode.PENALTY_N3;\n }\n for (let y = 0; y < this.size - 1; y++) {\n for (let x = 0; x < this.size - 1; x++) {\n const color = this.modules[y][x];\n if (color == this.modules[y][x + 1] && color == this.modules[y + 1][x] && color == this.modules[y + 1][x + 1])\n result += _QrCode.PENALTY_N2;\n }\n }\n let dark = 0;\n for (const row of this.modules)\n dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark);\n const total = this.size * this.size;\n const k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;\n assert(0 <= k && k <= 9);\n result += k * _QrCode.PENALTY_N4;\n assert(0 <= result && result <= 2568888);\n return result;\n }\n getAlignmentPatternPositions() {\n if (this.version == 1)\n return [];\n else {\n const numAlign = Math.floor(this.version / 7) + 2;\n const step = this.version == 32 ? 26 : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2;\n let result = [6];\n for (let pos = this.size - 7; result.length < numAlign; pos -= step)\n result.splice(1, 0, pos);\n return result;\n }\n }\n static getNumRawDataModules(ver) {\n if (ver < _QrCode.MIN_VERSION || ver > _QrCode.MAX_VERSION)\n throw new RangeError(\"Version number out of range\");\n let result = (16 * ver + 128) * ver + 64;\n if (ver >= 2) {\n const numAlign = Math.floor(ver / 7) + 2;\n result -= (25 * numAlign - 10) * numAlign - 55;\n if (ver >= 7)\n result -= 36;\n }\n assert(208 <= result && result <= 29648);\n return result;\n }\n static getNumDataCodewords(ver, ecl) {\n return Math.floor(_QrCode.getNumRawDataModules(ver) / 8) - _QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver] * _QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];\n }\n static reedSolomonComputeDivisor(degree) {\n if (degree < 1 || degree > 255)\n throw new RangeError(\"Degree out of range\");\n let result = [];\n for (let i = 0; i < degree - 1; i++)\n result.push(0);\n result.push(1);\n let root = 1;\n for (let i = 0; i < degree; i++) {\n for (let j = 0; j < result.length; j++) {\n result[j] = _QrCode.reedSolomonMultiply(result[j], root);\n if (j + 1 < result.length)\n result[j] ^= result[j + 1];\n }\n root = _QrCode.reedSolomonMultiply(root, 2);\n }\n return result;\n }\n static reedSolomonComputeRemainder(data, divisor) {\n let result = divisor.map((_) => 0);\n for (const b of data) {\n const factor = b ^ result.shift();\n result.push(0);\n divisor.forEach((coef, i) => result[i] ^= _QrCode.reedSolomonMultiply(coef, factor));\n }\n return result;\n }\n static reedSolomonMultiply(x, y) {\n if (x >>> 8 != 0 || y >>> 8 != 0)\n throw new RangeError(\"Byte out of range\");\n let z = 0;\n for (let i = 7; i >= 0; i--) {\n z = z << 1 ^ (z >>> 7) * 285;\n z ^= (y >>> i & 1) * x;\n }\n assert(z >>> 8 == 0);\n return z;\n }\n finderPenaltyCountPatterns(runHistory) {\n const n = runHistory[1];\n assert(n <= this.size * 3);\n const core = n > 0 && runHistory[2] == n && runHistory[3] == n * 3 && runHistory[4] == n && runHistory[5] == n;\n return (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0) + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);\n }\n finderPenaltyTerminateAndCount(currentRunColor, currentRunLength, runHistory) {\n if (currentRunColor) {\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n currentRunLength = 0;\n }\n currentRunLength += this.size;\n this.finderPenaltyAddHistory(currentRunLength, runHistory);\n return this.finderPenaltyCountPatterns(runHistory);\n }\n finderPenaltyAddHistory(currentRunLength, runHistory) {\n if (runHistory[0] == 0)\n currentRunLength += this.size;\n runHistory.pop();\n runHistory.unshift(currentRunLength);\n }\n };\n let QrCode = _QrCode;\n QrCode.MIN_VERSION = 1;\n QrCode.MAX_VERSION = 40;\n QrCode.PENALTY_N1 = 3;\n QrCode.PENALTY_N2 = 3;\n QrCode.PENALTY_N3 = 40;\n QrCode.PENALTY_N4 = 10;\n QrCode.ECC_CODEWORDS_PER_BLOCK = [\n [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28],\n [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]\n ];\n QrCode.NUM_ERROR_CORRECTION_BLOCKS = [\n [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25],\n [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49],\n [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68],\n [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81]\n ];\n qrcodegen2.QrCode = QrCode;\n function appendBits(val, len, bb) {\n if (len < 0 || len > 31 || val >>> len != 0)\n throw new RangeError(\"Value out of range\");\n for (let i = len - 1; i >= 0; i--)\n bb.push(val >>> i & 1);\n }\n function getBit(x, i) {\n return (x >>> i & 1) != 0;\n }\n function assert(cond) {\n if (!cond)\n throw new Error(\"Assertion error\");\n }\n const _QrSegment = class {\n constructor(mode, numChars, bitData) {\n this.mode = mode;\n this.numChars = numChars;\n this.bitData = bitData;\n if (numChars < 0)\n throw new RangeError(\"Invalid argument\");\n this.bitData = bitData.slice();\n }\n static makeBytes(data) {\n let bb = [];\n for (const b of data)\n appendBits(b, 8, bb);\n return new _QrSegment(_QrSegment.Mode.BYTE, data.length, bb);\n }\n static makeNumeric(digits) {\n if (!_QrSegment.isNumeric(digits))\n throw new RangeError(\"String contains non-numeric characters\");\n let bb = [];\n for (let i = 0; i < digits.length; ) {\n const n = Math.min(digits.length - i, 3);\n appendBits(parseInt(digits.substr(i, n), 10), n * 3 + 1, bb);\n i += n;\n }\n return new _QrSegment(_QrSegment.Mode.NUMERIC, digits.length, bb);\n }\n static makeAlphanumeric(text) {\n if (!_QrSegment.isAlphanumeric(text))\n throw new RangeError(\"String contains unencodable characters in alphanumeric mode\");\n let bb = [];\n let i;\n for (i = 0; i + 2 <= text.length; i += 2) {\n let temp = _QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;\n temp += _QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));\n appendBits(temp, 11, bb);\n }\n if (i < text.length)\n appendBits(_QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);\n return new _QrSegment(_QrSegment.Mode.ALPHANUMERIC, text.length, bb);\n }\n static makeSegments(text) {\n if (text == \"\")\n return [];\n else if (_QrSegment.isNumeric(text))\n return [_QrSegment.makeNumeric(text)];\n else if (_QrSegment.isAlphanumeric(text))\n return [_QrSegment.makeAlphanumeric(text)];\n else\n return [_QrSegment.makeBytes(_QrSegment.toUtf8ByteArray(text))];\n }\n static makeEci(assignVal) {\n let bb = [];\n if (assignVal < 0)\n throw new RangeError(\"ECI assignment value out of range\");\n else if (assignVal < 1 << 7)\n appendBits(assignVal, 8, bb);\n else if (assignVal < 1 << 14) {\n appendBits(2, 2, bb);\n appendBits(assignVal, 14, bb);\n } else if (assignVal < 1e6) {\n appendBits(6, 3, bb);\n appendBits(assignVal, 21, bb);\n } else\n throw new RangeError(\"ECI assignment value out of range\");\n return new _QrSegment(_QrSegment.Mode.ECI, 0, bb);\n }\n static isNumeric(text) {\n return _QrSegment.NUMERIC_REGEX.test(text);\n }\n static isAlphanumeric(text) {\n return _QrSegment.ALPHANUMERIC_REGEX.test(text);\n }\n getData() {\n return this.bitData.slice();\n }\n static getTotalBits(segs, version) {\n let result = 0;\n for (const seg of segs) {\n const ccbits = seg.mode.numCharCountBits(version);\n if (seg.numChars >= 1 << ccbits)\n return Infinity;\n result += 4 + ccbits + seg.bitData.length;\n }\n return result;\n }\n static toUtf8ByteArray(str) {\n str = encodeURI(str);\n let result = [];\n for (let i = 0; i < str.length; i++) {\n if (str.charAt(i) != \"%\")\n result.push(str.charCodeAt(i));\n else {\n result.push(parseInt(str.substr(i + 1, 2), 16));\n i += 2;\n }\n }\n return result;\n }\n };\n let QrSegment = _QrSegment;\n QrSegment.NUMERIC_REGEX = /^[0-9]*$/;\n QrSegment.ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+.\\/:-]*$/;\n QrSegment.ALPHANUMERIC_CHARSET = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:\";\n qrcodegen2.QrSegment = QrSegment;\n})(qrcodegen || (qrcodegen = {}));\n((qrcodegen2) => {\n let QrCode;\n ((QrCode2) => {\n const _Ecc = class {\n constructor(ordinal, formatBits) {\n this.ordinal = ordinal;\n this.formatBits = formatBits;\n }\n };\n let Ecc = _Ecc;\n Ecc.LOW = new _Ecc(0, 1);\n Ecc.MEDIUM = new _Ecc(1, 0);\n Ecc.QUARTILE = new _Ecc(2, 3);\n Ecc.HIGH = new _Ecc(3, 2);\n QrCode2.Ecc = Ecc;\n })(QrCode = qrcodegen2.QrCode || (qrcodegen2.QrCode = {}));\n})(qrcodegen || (qrcodegen = {}));\n((qrcodegen2) => {\n let QrSegment;\n ((QrSegment2) => {\n const _Mode = class {\n constructor(modeBits, numBitsCharCount) {\n this.modeBits = modeBits;\n this.numBitsCharCount = numBitsCharCount;\n }\n numCharCountBits(ver) {\n return this.numBitsCharCount[Math.floor((ver + 7) / 17)];\n }\n };\n let Mode = _Mode;\n Mode.NUMERIC = new _Mode(1, [10, 12, 14]);\n Mode.ALPHANUMERIC = new _Mode(2, [9, 11, 13]);\n Mode.BYTE = new _Mode(4, [8, 16, 16]);\n Mode.KANJI = new _Mode(8, [8, 10, 12]);\n Mode.ECI = new _Mode(7, [0, 0, 0]);\n QrSegment2.Mode = Mode;\n })(QrSegment = qrcodegen2.QrSegment || (qrcodegen2.QrSegment = {}));\n})(qrcodegen || (qrcodegen = {}));\nvar qrcodegen_default = qrcodegen;\n\n// src/index.tsx\n/**\n * @license qrcode.react\n * Copyright (c) Paul O'Shannessy\n * SPDX-License-Identifier: ISC\n */\nvar ERROR_LEVEL_MAP = {\n L: qrcodegen_default.QrCode.Ecc.LOW,\n M: qrcodegen_default.QrCode.Ecc.MEDIUM,\n Q: qrcodegen_default.QrCode.Ecc.QUARTILE,\n H: qrcodegen_default.QrCode.Ecc.HIGH\n};\nvar DEFAULT_SIZE = 128;\nvar DEFAULT_LEVEL = \"L\";\nvar DEFAULT_BGCOLOR = \"#FFFFFF\";\nvar DEFAULT_FGCOLOR = \"#000000\";\nvar DEFAULT_INCLUDEMARGIN = false;\nvar MARGIN_SIZE = 4;\nvar DEFAULT_IMG_SCALE = 0.1;\nfunction generatePath(modules, margin = 0) {\n const ops = [];\n modules.forEach(function(row, y) {\n let start = null;\n row.forEach(function(cell, x) {\n if (!cell && start !== null) {\n ops.push(`M${start + margin} ${y + margin}h${x - start}v1H${start + margin}z`);\n start = null;\n return;\n }\n if (x === row.length - 1) {\n if (!cell) {\n return;\n }\n if (start === null) {\n ops.push(`M${x + margin},${y + margin} h1v1H${x + margin}z`);\n } else {\n ops.push(`M${start + margin},${y + margin} h${x + 1 - start}v1H${start + margin}z`);\n }\n return;\n }\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join(\"\");\n}\nfunction excavateModules(modules, excavation) {\n return modules.slice().map((row, y) => {\n if (y < excavation.y || y >= excavation.y + excavation.h) {\n return row;\n }\n return row.map((cell, x) => {\n if (x < excavation.x || x >= excavation.x + excavation.w) {\n return cell;\n }\n return false;\n });\n });\n}\nfunction getImageSettings(cells, size, includeMargin, imageSettings) {\n if (imageSettings == null) {\n return null;\n }\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const defaultSize = Math.floor(size * DEFAULT_IMG_SCALE);\n const scale = numCells / size;\n const w = (imageSettings.width || defaultSize) * scale;\n const h = (imageSettings.height || defaultSize) * scale;\n const x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;\n const y = imageSettings.y == null ? cells.length / 2 - h / 2 : imageSettings.y * scale;\n let excavation = null;\n if (imageSettings.excavate) {\n let floorX = Math.floor(x);\n let floorY = Math.floor(y);\n let ceilW = Math.ceil(w + x - floorX);\n let ceilH = Math.ceil(h + y - floorY);\n excavation = { x: floorX, y: floorY, w: ceilW, h: ceilH };\n }\n return { x, y, h, w, excavation };\n}\nvar SUPPORTS_PATH2D = function() {\n try {\n new Path2D().addPath(new Path2D());\n } catch (e) {\n return false;\n }\n return true;\n}();\nfunction QRCodeCanvas(props) {\n const _a = props, {\n value,\n size = DEFAULT_SIZE,\n level = DEFAULT_LEVEL,\n bgColor = DEFAULT_BGCOLOR,\n fgColor = DEFAULT_FGCOLOR,\n includeMargin = DEFAULT_INCLUDEMARGIN,\n style,\n imageSettings\n } = _a, otherProps = __objRest(_a, [\n \"value\",\n \"size\",\n \"level\",\n \"bgColor\",\n \"fgColor\",\n \"includeMargin\",\n \"style\",\n \"imageSettings\"\n ]);\n const imgSrc = imageSettings == null ? void 0 : imageSettings.src;\n const _canvas = useRef(null);\n const _image = useRef(null);\n const [isImgLoaded, setIsImageLoaded] = useState(false);\n useEffect(() => {\n if (_canvas.current != null) {\n const canvas = _canvas.current;\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) {\n return;\n }\n let cells = qrcodegen_default.QrCode.encodeText(value, ERROR_LEVEL_MAP[level]).getModules();\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const calculatedImageSettings = getImageSettings(cells, size, includeMargin, imageSettings);\n const image = _image.current;\n const haveImageToRender = calculatedImageSettings != null && image !== null && image.complete && image.naturalHeight !== 0 && image.naturalWidth !== 0;\n if (haveImageToRender) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n }\n const pixelRatio = window.devicePixelRatio || 1;\n canvas.height = canvas.width = size * pixelRatio;\n const scale = size / numCells * pixelRatio;\n ctx.scale(scale, scale);\n ctx.fillStyle = bgColor;\n ctx.fillRect(0, 0, numCells, numCells);\n ctx.fillStyle = fgColor;\n if (SUPPORTS_PATH2D) {\n ctx.fill(new Path2D(generatePath(cells, margin)));\n } else {\n cells.forEach(function(row, rdx) {\n row.forEach(function(cell, cdx) {\n if (cell) {\n ctx.fillRect(cdx + margin, rdx + margin, 1, 1);\n }\n });\n });\n }\n if (haveImageToRender) {\n ctx.drawImage(image, calculatedImageSettings.x + margin, calculatedImageSettings.y + margin, calculatedImageSettings.w, calculatedImageSettings.h);\n }\n }\n });\n useEffect(() => {\n setIsImageLoaded(false);\n }, [imgSrc]);\n const canvasStyle = __spreadValues({ height: size, width: size }, style);\n let img = null;\n if (imgSrc != null) {\n img = /* @__PURE__ */ React.createElement(\"img\", {\n src: imgSrc,\n key: imgSrc,\n style: { display: \"none\" },\n onLoad: () => {\n setIsImageLoaded(true);\n },\n ref: _image\n });\n }\n return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"canvas\", __spreadValues({\n style: canvasStyle,\n height: size,\n width: size,\n ref: _canvas\n }, otherProps)), img);\n}\nfunction QRCodeSVG(props) {\n const _a = props, {\n value,\n size = DEFAULT_SIZE,\n level = DEFAULT_LEVEL,\n bgColor = DEFAULT_BGCOLOR,\n fgColor = DEFAULT_FGCOLOR,\n includeMargin = DEFAULT_INCLUDEMARGIN,\n imageSettings\n } = _a, otherProps = __objRest(_a, [\n \"value\",\n \"size\",\n \"level\",\n \"bgColor\",\n \"fgColor\",\n \"includeMargin\",\n \"imageSettings\"\n ]);\n let cells = qrcodegen_default.QrCode.encodeText(value, ERROR_LEVEL_MAP[level]).getModules();\n const margin = includeMargin ? MARGIN_SIZE : 0;\n const numCells = cells.length + margin * 2;\n const calculatedImageSettings = getImageSettings(cells, size, includeMargin, imageSettings);\n let image = null;\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n image = /* @__PURE__ */ React.createElement(\"image\", {\n xlinkHref: imageSettings.src,\n height: calculatedImageSettings.h,\n width: calculatedImageSettings.w,\n x: calculatedImageSettings.x + margin,\n y: calculatedImageSettings.y + margin,\n preserveAspectRatio: \"none\"\n });\n }\n const fgPath = generatePath(cells, margin);\n return /* @__PURE__ */ React.createElement(\"svg\", __spreadValues({\n height: size,\n width: size,\n viewBox: `0 0 ${numCells} ${numCells}`\n }, otherProps), /* @__PURE__ */ React.createElement(\"path\", {\n fill: bgColor,\n d: `M0,0 h${numCells}v${numCells}H0z`,\n shapeRendering: \"crispEdges\"\n }), /* @__PURE__ */ React.createElement(\"path\", {\n fill: fgColor,\n d: fgPath,\n shapeRendering: \"crispEdges\"\n }), image);\n}\nvar QRCode = (props) => {\n const _a = props, { renderAs } = _a, otherProps = __objRest(_a, [\"renderAs\"]);\n if (renderAs === \"svg\") {\n return /* @__PURE__ */ React.createElement(QRCodeSVG, __spreadValues({}, otherProps));\n }\n return /* @__PURE__ */ React.createElement(QRCodeCanvas, __spreadValues({}, otherProps));\n};\nexport {\n QRCodeCanvas,\n QRCodeSVG,\n QRCode as default\n};\n","import { slugify } from \"neetocist\";\nimport { LeftArrow } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport QRCodeImage from \"qrcode.react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CardLayout from \"components/CardLayout\";\nimport Container from \"components/Container\";\nimport CopyToClipboardButton from \"components/CopyToClipboardButton\";\nimport Header from \"components/Header\";\n\nimport { copyCanvasToClipboard, downloadCanvas } from \"./utils\";\n\nconst QRCode = ({ entity, qrCodeProps, url, shareUrl }) => {\n const { t } = useTranslation();\n\n if (!entity) return null;\n\n const { id, name } = entity;\n const canvasId = `qrcode-share-${id}`;\n\n const handleDownloadQRCode = () => {\n const canvas = document.getElementById(canvasId);\n if (canvas) downloadCanvas(canvas, { name: slugify(name) });\n };\n\n const handleCopyQRCode = () => {\n const canvas = document.getElementById(canvasId);\n if (canvas) copyCanvasToClipboard(canvas, handleDownloadQRCode);\n };\n\n const title =\n qrCodeProps?.pageTitle ||\n qrCodeProps?.cardTitle ||\n t(\"neetoMolecules.shareViaLink.qrCode.title\");\n\n const description =\n qrCodeProps?.pageDescription ||\n qrCodeProps?.cardDescription ||\n t(\"neetoMolecules.shareViaLink.qrCode.description\");\n\n return (\n <Container className=\"neeto-molecules-embed-qr-code-landing-page py-8\">\n <Button\n className=\"mb-4\"\n data-cy=\"back-button\"\n data-testid=\"back-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.productEmbed.backToShare\")}\n size=\"small\"\n style=\"link\"\n to={shareUrl}\n />\n <Header\n className=\"py-0\"\n title={t(\"neetoMolecules.shareViaLink.qrCode.title\")}\n />\n <CardLayout\n {...{ description, title }}\n actionBlock={\n <div className=\"flex flex-wrap items-center gap-3\">\n <Button\n data-cy=\"qr-code-download-button\"\n data-testid=\"qr-code-download-button\"\n label={t(\"neetoMolecules.shareViaLink.qrCode.download\")}\n style=\"primary\"\n onClick={handleDownloadQRCode}\n />\n <CopyToClipboardButton\n data-cy=\"qr-code-copy-button\"\n data-testid=\"qr-code-copy-button\"\n label={t(\"neetoMolecules.shareViaLink.qrCode.copy\")}\n style=\"secondary\"\n onClick={handleCopyQRCode}\n />\n </div>\n }\n >\n <QRCodeImage\n className=\"mt-6 cursor-pointer\"\n data-cy=\"qr-code-image\"\n data-testid=\"qr-code-image\"\n id={canvasId}\n size={160}\n style={{ width: 160, height: 160 }}\n value={url}\n onClick={handleDownloadQRCode}\n />\n </CardLayout>\n </Container>\n );\n};\n\nexport default QRCode;\n","import { LeftArrow } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CardLayout from \"components/CardLayout\";\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport { SOCIAL_MEDIA_OPTIONS } from \"./constants\";\n\nconst SocialMedia = ({ socialMediaProps, url, shareUrl }) => {\n const { t } = useTranslation();\n\n const title =\n socialMediaProps?.pageTitle ||\n socialMediaProps?.cardTitle ||\n t(\"neetoMolecules.shareViaLink.socialMediaShare.title\");\n\n const description =\n socialMediaProps?.pageDescription ||\n socialMediaProps?.cardDescription ||\n t(\"neetoMolecules.shareViaLink.socialMediaShare.description\");\n\n return (\n <Container className=\"neeto-molecules-social-share-landing-page py-8\">\n <Button\n className=\"mb-4\"\n data-cy=\"back-button\"\n data-testid=\"back-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.productEmbed.backToShare\")}\n size=\"small\"\n style=\"link\"\n to={shareUrl}\n />\n <Header\n className=\"py-0\"\n title={t(\"neetoMolecules.shareViaLink.socialMediaShare.title\")}\n />\n <CardLayout\n {...{ description, title }}\n actionBlock={\n <div className=\"flex flex-wrap items-center gap-3\">\n {Object.entries(SOCIAL_MEDIA_OPTIONS).map(\n ([key, { label, icon: Icon, generateShareUrl }]) => (\n <Button\n {...{ label }}\n data-cy={`social-media-button-${key}`}\n data-testid={`social-media-button-${key}`}\n icon={Icon}\n iconPosition=\"right\"\n key={key}\n rel=\"noopener noreferrer\"\n style=\"tertiary\"\n target=\"_blank\"\n href={generateShareUrl({\n url,\n title: socialMediaProps?.postTitle,\n })}\n >\n <Icon size={24} />\n </Button>\n )\n )}\n </div>\n }\n />\n </Container>\n );\n};\n\nexport default SocialMedia;\n","/* eslint-disable @bigbinary/neeto/use-common-routes */\nimport { toLabelAndValue, isPresent, noop } from \"neetocist\";\nimport PrivateRoute from \"neetocommons/react-utils/PrivateRoute\";\nimport PropTypes from \"prop-types\";\nimport { Route, Switch, useRouteMatch } from \"react-router-dom\";\n\nimport ErrorPage from \"components/ErrorPage\";\n\nimport MainPanel from \"./MainPanel\";\nimport QRCode from \"./QRCode\";\nimport \"./share-via-link.scss\";\nimport SocialMedia from \"./SocialMedia\";\n\nconst ShareViaLink = ({\n title,\n description,\n isLoading = false,\n enabledOptions = { regenerate: false, edit: false },\n urls = [],\n entity,\n entityName,\n handleEdit = noop,\n handleRegenerate = noop,\n disableShareSocialMedia = false,\n disableQRDownload = false,\n socialMediaProps,\n qrCodeProps,\n moreOptions,\n publicLinkExpiryConfiguration = {},\n customTopContent,\n customBottomContent,\n}) => {\n const { path: sharePath, url: shareUrl } = useRouteMatch();\n\n return (\n <Switch>\n <Route\n exact\n path={sharePath}\n render={() => (\n <MainPanel\n {...{\n customBottomContent,\n customTopContent,\n description,\n disableQRDownload,\n disableShareSocialMedia,\n enabledOptions,\n entity,\n entityName,\n handleEdit,\n handleRegenerate,\n isLoading,\n moreOptions,\n publicLinkExpiryConfiguration,\n qrCodeProps,\n socialMediaProps,\n title,\n urls,\n }}\n />\n )}\n />\n <Route\n exact\n path={`${sharePath}/qrcode`}\n render={() => (\n <QRCode {...{ entity, qrCodeProps, shareUrl }} url={urls[0]?.url} />\n )}\n />\n <Route\n exact\n path={`${sharePath}/social-media`}\n render={() => (\n <SocialMedia {...{ shareUrl, socialMediaProps }} url={urls[0]?.url} />\n )}\n />\n {isPresent(moreOptions) &&\n moreOptions.map(({ link, element, path, permissions }) => {\n if (!link && !path) return null;\n\n return (\n <PrivateRoute\n {...{ permissions }}\n exact\n component={() => element}\n key={link}\n path={path || link}\n />\n );\n })}\n <Route component={ErrorPage} path=\"*\" />\n </Switch>\n );\n};\n\nShareViaLink.propTypes = {\n /**\n * The title of the share via link component.\n */\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * The description of the share via link component.\n */\n description: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n /**\n * The custom content to be shown in the top of the share panel.\n */\n customTopContent: PropTypes.element,\n /**\n * The custom content to be shown in the bottom of the share panel.\n */\n customBottomContent: PropTypes.element,\n /**\n * The boolean value to check if the link is being regenerated or updated.\n */\n isLoading: PropTypes.bool,\n /**\n * An object which accepts two boolean values that decide if the dropdown options are hidden or not. If both are false, then the dropdown is hidden as well.\n */\n enabledOptions: PropTypes.shape({\n regenerate:\n PropTypes.bool ||\n PropTypes.shape({\n expiresInOptions: PropTypes.arrayOf(toLabelAndValue(PropTypes.string)),\n }),\n edit: PropTypes.bool,\n }),\n /**\n * The entity object for which the link is being shared.\n */\n entity: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n }),\n /**\n * The type of the entity for which the link is being shared.\n */\n entityName: PropTypes.string,\n /**\n * The function that is called when the Edit URL form is submitted. It returns the updated URL value.\n */\n handleEdit: PropTypes.func,\n /**\n * The function which makes the API call to regenerate the url.\n */\n handleRegenerate: PropTypes.func,\n /**\n * To customize the social media card and its dedicated page.\n */\n socialMediaProps: PropTypes.shape({\n cardTitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n cardDescription: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n pageTitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n pageDescription: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n postTitle: PropTypes.string,\n }),\n /**\n * To customize the QR code card and its dedicated page.\n */\n qrCodeProps: PropTypes.shape({\n cardTitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n cardDescription: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n pageTitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n pageDescription: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n }),\n /**\n * The props that are passed to the edit URL field. `prefix` and `editablePath` decide\n * which part of the URL is to be added in the prefix and which part is editable. Default values are taken from `url`.\n * `maxLength` decides if the entered URL should be limited to specified number of characters.\n * `previewUrl` will be used for previewing the entity (optional).\n */\n urls: PropTypes.arrayOf(\n PropTypes.shape({\n prefix: PropTypes.string,\n editablePath: PropTypes.string,\n maxLength: PropTypes.number,\n url: PropTypes.string,\n previewUrl: PropTypes.string,\n })\n ),\n /**\n * To share using alternative options\n */\n moreOptions: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n link: PropTypes.string,\n path: PropTypes.string,\n icon: PropTypes.elementType,\n onClick: PropTypes.func,\n dataCy: PropTypes.string,\n element: PropTypes.element,\n subtitleProps: PropTypes.shape({\n subtitle: PropTypes.string,\n dataCy: PropTypes.string,\n link: PropTypes.string,\n onClick: PropTypes.func,\n }),\n })\n ),\n /**\n * To disable share social media section.\n */\n disableShareSocialMedia: PropTypes.bool,\n /**\n * To disable QR code download section.\n */\n disableQRDownload: PropTypes.bool,\n};\n\nexport default ShareViaLink;\n"],"names":["ExpiryNotice","_ref","expiryConfiguration","_useTranslation","useTranslation","t","daysBeforeExpiry","notice","count","_jsx","Typography","lineHeight","style","className","classNames","children","facebookShareLink","url","buildUrl","u","linkedInShareLink","_ref2","title","mini","text","concat","twitterShareLink","_ref3","downloadCanvas","canvas","options","arguments","length","undefined","_options$name","name","_options$extension","extension","canvasUrl","toDataURL","element","document","createElement","href","download","click","remove","copyCanvasToClipboard","_ref4","_asyncToGenerator","_regeneratorRuntime","mark","_callee","handleDownloadQRCode","blob","clipboardItem","wrap","_callee$","_context","prev","next","abrupt","Promise","resolve","toBlob","sent","ClipboardItem","_defineProperty","type","navigator","clipboard","write","t0","stop","_x","_x2","apply","getPathname","URL","pathname","slice","getPrefixFromUrl","origin","truncatePrefix","inputElement","prefixText","parentElement","prefixElement","querySelector","_getComputedStyle","getComputedStyle","fontSize","averageCharWidth","parseFloat","requiredInputWidth","value","prefixWidth","offsetWidth","maxPrefixChars","Math","max","floor","textContent","SOCIAL_MEDIA_OPTIONS","FACEBOOK","label","icon","Facebook","generateShareUrl","LINKEDIN","Linkedin","TWITTER","Twitter","PATH_VALIDATION_SCHEMA","yup","object","shape","path","string","required","matches","Header","Pane","Body","Footer","EditURL","editUrlProps","isOpen","onClose","isLoading","handleEdit","focusRef","useRef","prevIsLoadingRef","prefix","observerRef","ResizeObserver","_slicedToArray","entry","requestAnimationFrame","target","inputRef","useCallback","current","observe","disconnect","useEffect","_jsxs","initialFocusRef","size","weight","Formik","enableReinitialize","initialValues","editablePath","validationSchema","onSubmit","_ref5","isSubmitting","dirty","Form","Input","maxLength","ref","ActionBlock","cancelButtonProps","onClick","disabled","submitButtonProps","loading","RegenerateURL","_regenerateConfig$exp","_regenerateConfig$exp2","_globalProps$user$dat","_globalProps","handleRegenerate","_ref$regenerateConfig","regenerateConfig","expiresInOptions","helpUrl","regenerateStrategy","isPresent","defaultExpiresInOption","_useState","useState","_useState2","selectedExpiresInOption","setSelectedExpiresInOption","defaultExpiresOnDate","dayjs","add","toDate","_useState3","_useState4","selectedExpiresOnDate","setSelectedExpiresOnDate","isSelectedExpiresInOptionNever","isSelectedExpiresInOptionCustom","isSelectedExpiresInOptionValidNumberOfDays","isValidExpiryConfig","expiryConfigPayload","expiresInDays","expiresOnDate","payload","Modal","Select","defaultValue","labelProps","helpIconProps","Help","popoverProps","helpLinkProps","onChange","option","DatePicker","dateFormat","globalProps","user","disabledDate","d","isBefore","getPopupContainer","prop","picker","Button","Link","enabledOptions","entityName","previewUrl","isRegenerateURLModalOpen","setIsRegenerateURLModalOpen","isEditURLModalOpen","setIsEditURLModalOpen","_useBreakpoints","useBreakpoints","isSize","isMobile","isDropdownEnabled","regenerate","edit","LinkIcon","iconPosition","CopyToClipboardButton","ExternalLink","tooltipProps","content","entity","position","touch","_Fragment","MoreDropdown","menuItems","isVisible","key","Card","link","description","Icon","_ref$onClick","noop","helpPopoverProps","otherProps","_objectWithoutProperties","_excluded","Component","_objectSpread","to","HelpPopover","ShareBlock","moreOptions","disableShareSocialMedia","disableQRDownload","socialMediaProps","qrCodeProps","urls","location","useLocation","history","useHistory","handleNavigate","subPath","push","hasMoreOptions","isNotEmpty","filter","permissions","isNotPresent","some","includes","__","map","dataCy","_createElement","Share","cardDescription","cardTitle","QrCode","MainPanel","_urls$","_ref$isLoading","_ref$enabledOptions","_ref$urls","_ref$handleEdit","_ref$handleRegenerate","_ref$disableShareSoci","_ref$disableQRDownloa","_ref$publicLinkExpiry","publicLinkExpiryConfiguration","customTopContent","customBottomContent","shouldShowShareBlock","Container","classnames","productName","appName","urlOption","LinkBlock","omit","QRCode","shareUrl","id","canvasId","getElementById","slugify","handleCopyQRCode","pageTitle","pageDescription","LeftArrow","CardLayout","actionBlock","QRCodeImage","width","height","SocialMedia","Object","entries","_ref3$","rel","postTitle","ShareViaLink","_useRouteMatch","useRouteMatch","sharePath","Switch","Route","exact","render","_urls$2","PrivateRoute","component","ErrorPage"],"mappings":"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AAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACxK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACxK,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACxK,GAAG,CAAC;AACJ,EAAE,MAAM,CAAC,2BAA2B,GAAG;AACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACjJ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC1J,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAA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","x_google_ignoreList":[9]}