@bigbinary/neeto-molecules 3.15.25 → 3.15.26

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ShareViaLink.js","sources":["../../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","../../node_modules/qrcode.react/lib/esm/index.js","../../src/components/ShareViaLink/QRCode.jsx","../../src/components/ShareViaLink/Subtitle.jsx","../../src/components/ShareViaLink/ShareBlock.jsx","../../src/components/ShareViaLink/index.jsx"],"sourcesContent":["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 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=\"space-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=\"space-x-2\">\n <ActionBlock\n className=\"flex items-center space-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 } from \"react\";\n\nimport { Typography, Modal, Button, Input } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst RegenerateURL = ({\n isOpen,\n onClose,\n url,\n isLoading,\n handleRegenerate,\n}) => {\n const { t } = useTranslation();\n\n const prevIsLoadingRef = useRef(isLoading);\n\n useEffect(() => {\n if (prevIsLoadingRef.current && !isLoading) onClose();\n\n prevIsLoadingRef.current = isLoading;\n }, [isLoading]);\n\n return (\n <Modal {...{ isOpen, onClose }} data-testid=\"regenerate-url-modal\">\n <Modal.Header>\n <Typography lineHeight=\"normal\" style=\"h2\" weight=\"semibold\">\n {t(\"neetoMolecules.shareViaLink.regenerateUrl.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <div className=\"w-full space-y-6\">\n <Input\n disabled\n label={t(\"neetoMolecules.shareViaLink.regenerateUrl.inputLabel\")}\n value={url}\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=\"space-x-2\">\n <Button\n data-cy=\"regenerate-url-confirm-button\"\n data-testid=\"regenerate-url-confirm-button\"\n loading={isLoading}\n label={t(\n \"neetoMolecules.shareViaLink.regenerateUrl.submitButtonLabel\"\n )}\n onClick={handleRegenerate}\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 { 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 isDropdownEnabled = enabledOptions.regenerate || enabledOptions.edit;\n\n return (\n <div className=\"space-y-4\" data-cy=\"link-block\" data-testid=\"link-block\">\n <div className=\"flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-1\">\n <div\n className=\"neeto-ui-rounded-md neeto-ui-border-gray-200 relative min-w-0 flex-grow truncate border p-2 leading-none\"\n data-cy=\"nui-input-field\"\n >\n {url}\n </div>\n <div className=\"flex w-full flex-shrink-0 items-center gap-1 sm:w-auto\">\n <CopyToClipboardButton\n data-cy=\"link-copy-button\"\n data-testid=\"link-copy-button\"\n label={t(\"neetoMolecules.shareViaLink.copyLink\")}\n value={url}\n />\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: 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 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","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 { Button, Typography } from \"neetoui\";\nimport QRCodeImage from \"qrcode.react\";\nimport { Trans } from \"react-i18next\";\n\nimport { downloadCanvas } from \"./utils\";\n\nconst QRCode = ({ entity, url }) => {\n if (!entity) return null;\n\n const { id, name } = entity;\n const canvasId = `qrcode-share-${id}`;\n\n const handleDownload = () => {\n const canvas = document.getElementById(canvasId);\n if (canvas) downloadCanvas(canvas, { name: slugify(name) });\n };\n\n return (\n <div\n className=\"neeto-ui-border-gray-200 flex flex-col justify-start space-y-2 border-t py-3 pl-8 sm:space-y-4 sm:border-l sm:py-2 sm:pl-6\"\n data-cy=\"qr-download-block\"\n data-testid=\"qr-download-block\"\n >\n <Typography lineHeight=\"normal\" style=\"body2\" weight=\"medium\">\n <Trans\n i18nKey=\"neetoMolecules.shareViaLink.socialMediaShare.qrCodeInfo\"\n components={{\n button: (\n <Button\n data-cy=\"qr-code-download-button\"\n data-testid=\"qr-code-download-button\"\n style=\"link\"\n onClick={handleDownload}\n />\n ),\n }}\n />\n </Typography>\n <QRCodeImage\n className=\"cursor-pointer\"\n data-cy=\"qr-code-image\"\n data-testid={canvasId}\n id={canvasId}\n size={256}\n style={{ width: 80, height: 80 }}\n value={url}\n onClick={handleDownload}\n />\n </div>\n );\n};\n\nexport default QRCode;\n","import classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { Link } from \"react-router-dom\";\n\nconst Subtitle = ({ link, dataCy, onClick, subtitle }) => {\n const Component = isPresent(link) ? Link : \"div\";\n\n return (\n <Component\n data-cy={dataCy}\n to={link}\n onClick={event => {\n event.preventDefault();\n onClick?.(event);\n }}\n >\n <Typography\n style=\"body3\"\n weight=\"medium\"\n className={classNames(\"break-words\", {\n \"neeto-ui-text-accent-800\": isPresent(onClick) || isPresent(link),\n })}\n >\n {subtitle}\n </Typography>\n </Component>\n );\n};\n\nexport default Subtitle;\n","import classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { SOCIAL_MEDIA_OPTIONS } from \"./constants\";\nimport QRCode from \"./QRCode\";\nimport Subtitle from \"./Subtitle\";\n\nconst ShareBlock = ({\n entity,\n postTitle,\n url,\n moreOptions,\n disableShareSocialMedia,\n disableQRDownload,\n}) => {\n const { t } = useTranslation();\n\n const socialMediaButtonClasses =\n \"neeto-ui-bg-gray-200 hover:neeto-ui-bg-gray-300 flex h-10 w-10 cursor-pointer items-center justify-center neeto-ui-rounded-md transition-colors duration-300 ease-in-out\";\n\n const hasMoreOptions = isPresent(moreOptions);\n\n return (\n <div className=\"flex flex-col divide-y sm:flex-row sm:gap-6 sm:divide-x sm:divide-y-0\">\n {hasMoreOptions && (\n <div className=\"max-w-md divide-y\">\n {moreOptions.map(\n (\n { title, link, icon: Icon, onClick, dataCy, subtitleProps },\n index\n ) => {\n const Component = isPresent(link) ? Link : \"div\";\n\n return (\n <Component\n {...{ onClick }}\n data-cy={dataCy}\n key={link}\n to={link}\n className={classnames(\n \"neeto-ui-border-gray-200 flex cursor-pointer items-center gap-x-2 border-t py-3\",\n { \"border-none\": index === 0 }\n )}\n >\n <div className=\"flex flex-row gap-2\">\n <Icon\n className=\"neeto-ui-text-gray-500 flex-shrink-0\"\n size={24}\n />\n <div className=\"flex flex-col gap-1\">\n <Typography\n className=\"group-hover:underline\"\n style=\"body2\"\n weight=\"medium\"\n >\n {title}\n </Typography>\n {subtitleProps && <Subtitle {...subtitleProps} />}\n </div>\n </div>\n </Component>\n );\n }\n )}\n </div>\n )}\n {!disableShareSocialMedia && (\n <div\n data-cy=\"social-media-block\"\n data-testid=\"social-media-block\"\n className={classnames(\n \"neeto-ui-border-gray-200 space-y-2 border-t py-3 sm:space-y-4 sm:border-l sm:py-2\",\n { \"pl-8 sm:pl-6\": hasMoreOptions }\n )}\n >\n <Typography\n className=\"neeto-ui-text-gray-800\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.shareViaLink.socialMediaShare.title\")}\n </Typography>\n <div className=\"flex gap-4\">\n {Object.entries(SOCIAL_MEDIA_OPTIONS).map(\n ([key, { label, icon: Icon, generateShareUrl }]) => (\n <a\n className={socialMediaButtonClasses}\n data-cy={`social-media-button-${key}`}\n data-testid={`social-media-button-${key}`}\n href={generateShareUrl({ url, title: postTitle })}\n key={key}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n title={label}\n >\n <Icon size={24} />\n </a>\n )\n )}\n </div>\n </div>\n )}\n {!disableQRDownload && <QRCode {...{ entity, url }} />}\n </div>\n );\n};\n\nexport default ShareBlock;\n","import { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\n\nimport LinkBlock from \"./Link\";\nimport ShareBlock from \"./ShareBlock\";\n\nconst ShareViaLink = ({\n isLoading = false,\n enabledOptions = { regenerate: false, edit: false },\n urls = [],\n entity,\n entityName,\n handleEdit = noop,\n handleRegenerate = noop,\n socialMediaPostTitle,\n moreOptions,\n isOtherShareOptionsEnabled = true,\n disableShareSocialMedia = false,\n disableQRDownload = false,\n}) => (\n <div\n className=\"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white col-span-2 space-y-4 border p-6 sm:p-8\"\n data-testid=\"share-via-link\"\n >\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 {isOtherShareOptionsEnabled && (\n <ShareBlock\n {...{\n disableQRDownload,\n disableShareSocialMedia,\n entity,\n moreOptions,\n }}\n postTitle={socialMediaPostTitle}\n url={urls[0].url}\n />\n )}\n </div>\n);\n\nShareViaLink.propTypes = {\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: PropTypes.bool,\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 * The title of the social media post.\n */\n socialMediaPostTitle: PropTypes.string,\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 icon: PropTypes.elementType,\n onClick: PropTypes.func,\n dataCy: PropTypes.string,\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 show the extra share options\n */\n isOtherShareOptionsEnabled: PropTypes.bool,\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":["facebookShareLink","_ref","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","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","t","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","_useTranslation","useTranslation","focusRef","useRef","prevIsLoadingRef","prefix","observerRef","ResizeObserver","_slicedToArray","entry","requestAnimationFrame","target","inputRef","useCallback","current","observe","disconnect","useEffect","_jsxs","initialFocusRef","size","children","_jsx","Typography","lineHeight","style","weight","Formik","enableReinitialize","initialValues","editablePath","validationSchema","onSubmit","_ref4","_ref5","isSubmitting","dirty","Form","className","Input","maxLength","ref","ActionBlock","cancelButtonProps","onClick","disabled","submitButtonProps","loading","RegenerateURL","handleRegenerate","Modal","Button","Link","enabledOptions","entityName","previewUrl","_useState","useState","_useState2","isRegenerateURLModalOpen","setIsRegenerateURLModalOpen","_useState3","_useState4","isEditURLModalOpen","setIsEditURLModalOpen","isDropdownEnabled","regenerate","edit","CopyToClipboardButton","ExternalLink","tooltipProps","content","entity","position","touch","_Fragment","MoreDropdown","menuItems","isVisible","key","QRCode","id","canvasId","handleDownload","getElementById","slugify","Trans","i18nKey","components","button","QRCodeImage","width","height","Subtitle","link","dataCy","subtitle","Component","isPresent","to","event","preventDefault","classNames","ShareBlock","postTitle","moreOptions","disableShareSocialMedia","disableQRDownload","socialMediaButtonClasses","hasMoreOptions","map","index","Icon","subtitleProps","_createElement","classnames","_objectSpread","Object","entries","_ref4$","rel","ShareViaLink","_ref$isLoading","_ref$enabledOptions","_ref$urls","urls","_ref$handleEdit","noop","_ref$handleRegenerate","socialMediaPostTitle","_ref$isOtherShareOpti","isOtherShareOptionsEnabled","_ref$disableShareSoci","_ref$disableQRDownloa","urlOption","LinkBlock","omit"],"mappings":"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AE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,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;AACvK,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,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE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","x_google_ignoreList":[5]}
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","../../node_modules/qrcode.react/lib/esm/index.js","../../src/components/ShareViaLink/QRCode.jsx","../../src/components/ShareViaLink/Subtitle.jsx","../../src/components/ShareViaLink/ShareBlock.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=\"body2\"\n className={classNames({\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 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=\"space-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=\"space-x-2\">\n <ActionBlock\n className=\"flex items-center space-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 { Typography, Modal, Button, Input, Select, DatePicker } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst RegenerateURL = ({\n isOpen,\n onClose,\n url,\n isLoading,\n handleRegenerate,\n regenerateConfig = { expiresInOptions: [] },\n}) => {\n const { t } = useTranslation();\n\n const prevIsLoadingRef = useRef(isLoading);\n const regenerateStrategy = isPresent(regenerateConfig?.expiresInOptions)\n ? \"expiryBased\"\n : \"basic\";\n\n const [selectedExpiresInOption, setSelectedExpiresInOption] = useState(\n regenerateConfig?.expiresInOptions?.[0]?.value\n );\n\n const [selectedExpiresOnDate, setSelectedExpiresOnDate] = useState(\n dayjs().add(10, \"day\").toDate()\n );\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 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 {t(\"neetoMolecules.shareViaLink.regenerateUrl.title\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <div className=\"w-full space-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 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 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=\"space-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 { 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 isDropdownEnabled = enabledOptions.regenerate || enabledOptions.edit;\n\n return (\n <div className=\"space-y-4\" data-cy=\"link-block\" data-testid=\"link-block\">\n <div className=\"flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-1\">\n <div\n className=\"neeto-ui-rounded-md neeto-ui-border-gray-200 relative min-w-0 flex-grow truncate border p-2 leading-none\"\n data-cy=\"nui-input-field\"\n >\n {url}\n </div>\n <div className=\"flex w-full flex-shrink-0 items-center gap-1 sm:w-auto\">\n <CopyToClipboardButton\n data-cy=\"link-copy-button\"\n data-testid=\"link-copy-button\"\n label={t(\"neetoMolecules.shareViaLink.copyLink\")}\n value={url}\n />\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","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 { Button, Typography } from \"neetoui\";\nimport QRCodeImage from \"qrcode.react\";\nimport { Trans } from \"react-i18next\";\n\nimport { downloadCanvas } from \"./utils\";\n\nconst QRCode = ({ entity, url }) => {\n if (!entity) return null;\n\n const { id, name } = entity;\n const canvasId = `qrcode-share-${id}`;\n\n const handleDownload = () => {\n const canvas = document.getElementById(canvasId);\n if (canvas) downloadCanvas(canvas, { name: slugify(name) });\n };\n\n return (\n <div\n className=\"neeto-ui-border-gray-200 flex flex-col justify-start space-y-2 border-t py-3 pl-8 sm:space-y-4 sm:border-l sm:py-2 sm:pl-6\"\n data-cy=\"qr-download-block\"\n data-testid=\"qr-download-block\"\n >\n <Typography lineHeight=\"normal\" style=\"body2\" weight=\"medium\">\n <Trans\n i18nKey=\"neetoMolecules.shareViaLink.socialMediaShare.qrCodeInfo\"\n components={{\n button: (\n <Button\n data-cy=\"qr-code-download-button\"\n data-testid=\"qr-code-download-button\"\n style=\"link\"\n onClick={handleDownload}\n />\n ),\n }}\n />\n </Typography>\n <QRCodeImage\n className=\"cursor-pointer\"\n data-cy=\"qr-code-image\"\n data-testid={canvasId}\n id={canvasId}\n size={256}\n style={{ width: 80, height: 80 }}\n value={url}\n onClick={handleDownload}\n />\n </div>\n );\n};\n\nexport default QRCode;\n","import classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { Link } from \"react-router-dom\";\n\nconst Subtitle = ({ link, dataCy, onClick, subtitle }) => {\n const Component = isPresent(link) ? Link : \"div\";\n\n return (\n <Component\n data-cy={dataCy}\n to={link}\n onClick={event => {\n event.preventDefault();\n onClick?.(event);\n }}\n >\n <Typography\n style=\"body3\"\n weight=\"medium\"\n className={classNames(\"break-words\", {\n \"neeto-ui-text-accent-800\": isPresent(onClick) || isPresent(link),\n })}\n >\n {subtitle}\n </Typography>\n </Component>\n );\n};\n\nexport default Subtitle;\n","import classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\n\nimport { SOCIAL_MEDIA_OPTIONS } from \"./constants\";\nimport QRCode from \"./QRCode\";\nimport Subtitle from \"./Subtitle\";\n\nconst ShareBlock = ({\n entity,\n postTitle,\n url,\n moreOptions,\n disableShareSocialMedia,\n disableQRDownload,\n}) => {\n const { t } = useTranslation();\n\n const socialMediaButtonClasses =\n \"neeto-ui-bg-gray-200 hover:neeto-ui-bg-gray-300 flex h-10 w-10 cursor-pointer items-center justify-center neeto-ui-rounded-md transition-colors duration-300 ease-in-out\";\n\n const hasMoreOptions = isPresent(moreOptions);\n\n return (\n <div className=\"flex flex-col divide-y sm:flex-row sm:gap-6 sm:divide-x sm:divide-y-0\">\n {hasMoreOptions && (\n <div className=\"max-w-md divide-y\">\n {moreOptions.map(\n (\n { title, link, icon: Icon, onClick, dataCy, subtitleProps },\n index\n ) => {\n const Component = isPresent(link) ? Link : \"div\";\n\n return (\n <Component\n {...{ onClick }}\n data-cy={dataCy}\n key={link}\n to={link}\n className={classnames(\n \"neeto-ui-border-gray-200 flex cursor-pointer items-center gap-x-2 border-t py-3\",\n { \"border-none\": index === 0 }\n )}\n >\n <div className=\"flex flex-row gap-2\">\n <Icon\n className=\"neeto-ui-text-gray-500 flex-shrink-0\"\n size={24}\n />\n <div className=\"flex flex-col gap-1\">\n <Typography\n className=\"group-hover:underline\"\n style=\"body2\"\n weight=\"medium\"\n >\n {title}\n </Typography>\n {subtitleProps && <Subtitle {...subtitleProps} />}\n </div>\n </div>\n </Component>\n );\n }\n )}\n </div>\n )}\n {!disableShareSocialMedia && (\n <div\n data-cy=\"social-media-block\"\n data-testid=\"social-media-block\"\n className={classnames(\n \"neeto-ui-border-gray-200 space-y-2 border-t py-3 sm:space-y-4 sm:border-l sm:py-2\",\n { \"pl-8 sm:pl-6\": hasMoreOptions }\n )}\n >\n <Typography\n className=\"neeto-ui-text-gray-800\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"medium\"\n >\n {t(\"neetoMolecules.shareViaLink.socialMediaShare.title\")}\n </Typography>\n <div className=\"flex gap-4\">\n {Object.entries(SOCIAL_MEDIA_OPTIONS).map(\n ([key, { label, icon: Icon, generateShareUrl }]) => (\n <a\n className={socialMediaButtonClasses}\n data-cy={`social-media-button-${key}`}\n data-testid={`social-media-button-${key}`}\n href={generateShareUrl({ url, title: postTitle })}\n key={key}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n title={label}\n >\n <Icon size={24} />\n </a>\n )\n )}\n </div>\n </div>\n )}\n {!disableQRDownload && <QRCode {...{ entity, url }} />}\n </div>\n );\n};\n\nexport default ShareBlock;\n","import { toLabelAndValue, noop, isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { omit } from \"ramda\";\n\nimport ExpiryNotice from \"./ExpiryNotice\";\nimport LinkBlock from \"./Link\";\nimport ShareBlock from \"./ShareBlock\";\n\nconst ShareViaLink = ({\n isLoading = false,\n enabledOptions = { regenerate: false, edit: false },\n urls = [],\n entity,\n entityName,\n handleEdit = noop,\n handleRegenerate = noop,\n socialMediaPostTitle,\n moreOptions,\n isOtherShareOptionsEnabled = true,\n disableShareSocialMedia = false,\n disableQRDownload = false,\n publicLinkExpiryConfiguration = {},\n}) => (\n <div\n className=\"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white col-span-2 space-y-4 border p-6 sm:p-8\"\n data-testid=\"share-via-link\"\n >\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 {isPresent(publicLinkExpiryConfiguration) && (\n <ExpiryNotice expiryConfiguration={publicLinkExpiryConfiguration} />\n )}\n {isOtherShareOptionsEnabled && (\n <ShareBlock\n {...{\n disableQRDownload,\n disableShareSocialMedia,\n entity,\n moreOptions,\n }}\n postTitle={socialMediaPostTitle}\n url={urls[0].url}\n />\n )}\n </div>\n);\n\nShareViaLink.propTypes = {\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 * The title of the social media post.\n */\n socialMediaPostTitle: PropTypes.string,\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 icon: PropTypes.elementType,\n onClick: PropTypes.func,\n dataCy: PropTypes.string,\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 show the extra share options\n */\n isOtherShareOptionsEnabled: PropTypes.bool,\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","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","_ref4","_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","regenerateStrategy","isPresent","_useState","useState","_useState2","selectedExpiresInOption","setSelectedExpiresInOption","_useState3","dayjs","add","toDate","_useState4","selectedExpiresOnDate","setSelectedExpiresOnDate","isSelectedExpiresInOptionNever","isSelectedExpiresInOptionCustom","isSelectedExpiresInOptionValidNumberOfDays","isValidExpiryConfig","expiryConfigPayload","expiresInDays","expiresOnDate","payload","Modal","Select","defaultValue","onChange","option","DatePicker","dateFormat","globalProps","user","disabledDate","d","isBefore","picker","type","Button","Link","enabledOptions","entityName","previewUrl","isRegenerateURLModalOpen","setIsRegenerateURLModalOpen","isEditURLModalOpen","setIsEditURLModalOpen","isDropdownEnabled","regenerate","edit","CopyToClipboardButton","ExternalLink","tooltipProps","content","entity","position","touch","_Fragment","MoreDropdown","menuItems","isVisible","key","QRCode","id","canvasId","handleDownload","getElementById","slugify","Trans","i18nKey","components","button","QRCodeImage","width","height","Subtitle","link","dataCy","subtitle","Component","to","event","preventDefault","ShareBlock","postTitle","moreOptions","disableShareSocialMedia","disableQRDownload","socialMediaButtonClasses","hasMoreOptions","map","index","Icon","subtitleProps","_createElement","classnames","_objectSpread","Object","entries","_ref4$","rel","ShareViaLink","_ref$isLoading","_ref$enabledOptions","_ref$urls","urls","_ref$handleEdit","noop","_ref$handleRegenerate","socialMediaPostTitle","_ref$isOtherShareOpti","isOtherShareOptionsEnabled","_ref$disableShareSoci","_ref$disableQRDownloa","_ref$publicLinkExpiry","publicLinkExpiryConfiguration","urlOption","LinkBlock","omit"],"mappings":"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,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,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,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,E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","x_google_ignoreList":[6]}