quail-ui 0.2.74 → 0.2.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/icons/QIconArrowUpRight.vue","../src/components/icons/QIconArrowLeft.vue","../src/components/icons/QIconArrowRight.vue","../src/components/icons/QIconBatteryMid.vue","../src/components/icons/QIconBatteryFull.vue","../src/components/icons/QIconCamera.vue","../src/components/icons/QIconCheckCircle.vue","../src/components/icons/QIconChevronDown.vue","../src/components/icons/QIconChevronUp.vue","../src/components/icons/QIconCommunity.vue","../src/components/icons/QIconCopy.vue","../src/components/icons/QIconCode.vue","../src/components/icons/QIconDesktop.vue","../src/components/icons/QIconDocumentation.vue","../src/components/icons/QIconDownloadCloud.vue","../src/components/icons/QIconEcosystem.vue","../src/components/icons/QIconFaceFrown.vue","../src/components/icons/QIconFeather.vue","../src/components/icons/QIconFilter.vue","../src/components/icons/QIconHelp.vue","../src/components/icons/QIconImage.vue","../src/components/icons/QIconInfoSquare.vue","../src/components/icons/QIconLinkBroken.vue","../src/components/icons/QIconLogout.vue","../src/components/icons/QIconMagicWand.vue","../src/components/icons/QIconMail.vue","../src/components/icons/QIconMenu.vue","../src/components/icons/QIconMobile.vue","../src/components/icons/QIconMoonStar.vue","../src/components/icons/QIconPencil.vue","../src/components/icons/QIconPlus.vue","../src/components/icons/QIconQuail.vue","../src/components/icons/QIconSearch.vue","../src/components/icons/QIconSun.vue","../src/components/icons/QIconTooling.vue","../src/components/icons/QIconTrash.vue","../src/components/icons/QIconUnsplash.vue","../src/components/icons/QIconUserCircle.vue","../src/components/icons/QIconZapSquare.vue","../src/components/icons/QIconBitcoinCircle.vue","../src/components/icons/QIconDollarCircle.vue","../src/components/icons/QIconBold.vue","../src/components/icons/QIconItalic.vue","../src/components/icons/QIconExpand.vue","../src/components/icons/QIconFileLock.vue","../src/components/icons/QIconHead.vue","../src/components/icons/QIconLink.vue","../src/components/icons/QIconOrderedList.vue","../src/components/icons/QIconQuote.vue","../src/components/icons/QIconStrikeThrough.vue","../src/components/icons/QIconUnorderedList.vue","../src/components/icons/QIconBookOpen.vue","../src/components/icons/QIconCheckHeart.vue","../src/components/icons/QIconCompass.vue","../src/components/icons/QIconClockRewind.vue","../src/components/icons/QIconMessageChatSquare.vue","../src/components/icons/QIconPaperclip.vue","../src/components/icons/QIconPin.vue","../src/components/icons/QIconSettings.vue","../src/components/icons/QIconShoppingBag.vue","../src/components/icons/QIconUsers.vue","../src/components/icons/QIconDataflow.vue","../src/components/icons/QIconFaceHappy.vue","../src/components/icons/QIconMessageSquare.vue","../src/components/icons/QIconShareSquare.vue","../src/components/icons/QIconArrowUp.vue","../src/components/icons/QIconArrowDown.vue","../src/components/icons/QIconQrCode.vue","../src/components/icons/QIconRefresh.vue","../src/components/icons/QIconWallet.vue","../src/components/icons/QIconCheckVerified.vue","../src/components/icons/QIconFlash.vue","../src/components/icons/QIconInbox.vue","../src/components/icons/QIconKeyboard.vue","../src/components/icons/QIconSpeedoMeter.vue","../src/components/icons/QIconInfoCircle.vue","../src/components/icons/QIconKey.vue","../src/components/icons/QIconFingerprint.vue","../src/components/icons/QIconFingerprintLock.vue","../src/components/icons/QIconMusicNote.vue","../src/components/icons/QIconPuzzle.vue","../src/components/icons/QIconVideo.vue","../src/components/icons/QIconCloseCircle.vue","../src/components/icons/QIconEditorDelete.vue","../src/components/icons/QIconLayoutRight.vue","../src/components/icons/QIconStars.vue","../src/components/icons/QIconMarkdown.vue","../src/components/icons/QIconChevronDownDouble.vue","../src/components/icons/QIconChevronUpDouble.vue","../src/components/icons/QIconCpuChip.vue","../src/components/icons/QIconEmail.vue","../src/components/icons/QIconGrid.vue","../src/components/icons/QIconPasscode.vue","../src/components/icons/QIconStickerCircle.vue","../src/components/icons/QIconColorTelegram.vue","../src/components/icons/QIconColorFeed.vue","../src/components/icons/QIconColorTwitter.vue","../src/components/icons/QIconColorFacebook.vue","../src/components/icons/QIconColorLinkedin.vue","../src/components/icons/QIconColorHackernews.vue","../src/components/icons/QIconColorDiscord.vue","../src/components/icons/QIconColorLine.vue","../src/components/icons/QIconColorBluesky.vue","../src/components/icons/QIconColorMastodon.vue","../src/components/icons/QIconColorShare.vue","../src/components/icons/QIconColorGithub.vue","../src/components/icons/QIconColorSteam.vue","../src/components/icons/QIconColorInstagram.vue","../node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/dayjs.min.js","../src/components/common/QDatetimePicker.vue","../src/composables/useUtil.ts","../src/components/common/QDialog.vue","../src/components/common/QFence.vue","../src/components/common/QLoading.vue","../src/components/common/QMenu.vue","../src/components/common/QSwitch.vue","../src/components/common/QTextFieldWithButton.vue","../src/util.ts","../src/components/common/QDropdownMenu.vue","../src/components/common/QPagination.vue","../src/components/common/QProgress.vue","../src/components/common/QLanguageSelector.vue","../src/components/common/QPackCover.vue","../src/utils/index.ts","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/can-promise.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/utils.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/error-correction-level.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/bit-buffer.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/bit-matrix.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/alignment-pattern.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/finder-pattern.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/mask-pattern.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/error-correction-code.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/galois-field.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/polynomial.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/reed-solomon-encoder.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/version-check.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/regex.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/mode.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/version.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/format-info.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/numeric-data.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/alphanumeric-data.js","../node_modules/.pnpm/encode-utf8@1.0.3/node_modules/encode-utf8/index.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/byte-data.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/kanji-data.js","../node_modules/.pnpm/dijkstrajs@1.0.3/node_modules/dijkstrajs/dijkstra.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/segments.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/qrcode.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/renderer/utils.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/renderer/canvas.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/renderer/svg-tag.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/browser.js","../src/components/common/QShare.vue","../src/components/common/QAvatar.vue","../src/components/common/QDropdownMenuWithTextField.vue","../src/components/common/QButton.vue","../src/components/common/QTabs.vue","../src/components/common/QInput.vue","../src/components/common/QSearchInput.vue","../src/components/common/QToggleButton.vue","../src/components/common/QTextarea.vue","../src/index.ts"],"sourcesContent":["<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 18L18 6M18 6H10M18 6V14\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script lang=\"ts\">\nexport default {\n name: 'QIconArrowUpRight',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M19 12H5M5 12L12 19M5 12L12 5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script lang=\"ts\">\nexport default {\n name: 'QIconArrowLeft',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 12H19M19 12L12 5M19 12L12 19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script lang=\"ts\">\nexport default {\n name: 'QIconArrowRight',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6.5 10V14M10.5 10V14M22 13V11M6.8 18H14.2C15.8802 18 16.7202 18 17.362 17.673C17.9265 17.3854 18.3854 16.9265 18.673 16.362C19 15.7202 19 14.8802 19 13.2V10.8C19 9.11984 19 8.27976 18.673 7.63803C18.3854 7.07354 17.9265 6.6146 17.362 6.32698C16.7202 6 15.8802 6 14.2 6H6.8C5.11984 6 4.27976 6 3.63803 6.32698C3.07354 6.6146 2.6146 7.07354 2.32698 7.63803C2 8.27976 2 9.11984 2 10.8V13.2C2 14.8802 2 15.7202 2.32698 16.362C2.6146 16.9265 3.07354 17.3854 3.63803 17.673C4.27976 18 5.11984 18 6.8 18Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconBatteryMid',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6.5 10V14M10.5 10V14M14.5 10V14M22 13V11M6.8 18H14.2C15.8802 18 16.7202 18 17.362 17.673C17.9265 17.3854 18.3854 16.9265 18.673 16.362C19 15.7202 19 14.8802 19 13.2V10.8C19 9.11984 19 8.27976 18.673 7.63803C18.3854 7.07354 17.9265 6.6146 17.362 6.32698C16.7202 6 15.8802 6 14.2 6H6.8C5.11984 6 4.27976 6 3.63803 6.32698C3.07354 6.6146 2.6146 7.07354 2.32698 7.63803C2 8.27976 2 9.11984 2 10.8V13.2C2 14.8802 2 15.7202 2.32698 16.362C2.6146 16.9265 3.07354 17.3854 3.63803 17.673C4.27976 18 5.11984 18 6.8 18Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconBatteryFull',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2 8.37722C2 8.0269 2 7.85174 2.01462 7.70421C2.1556 6.28127 3.28127 5.1556 4.70421 5.01462C4.85174 5 5.03636 5 5.40558 5C5.54785 5 5.61899 5 5.67939 4.99634C6.45061 4.94963 7.12595 4.46288 7.41414 3.746C7.43671 3.68986 7.45781 3.62657 7.5 3.5C7.54219 3.37343 7.56329 3.31014 7.58586 3.254C7.87405 2.53712 8.54939 2.05037 9.32061 2.00366C9.38101 2 9.44772 2 9.58114 2H14.4189C14.5523 2 14.619 2 14.6794 2.00366C15.4506 2.05037 16.126 2.53712 16.4141 3.254C16.4367 3.31014 16.4578 3.37343 16.5 3.5C16.5422 3.62657 16.5633 3.68986 16.5859 3.746C16.874 4.46288 17.5494 4.94963 18.3206 4.99634C18.381 5 18.4521 5 18.5944 5C18.9636 5 19.1483 5 19.2958 5.01462C20.7187 5.1556 21.8444 6.28127 21.9854 7.70421C22 7.85174 22 8.0269 22 8.37722V16.2C22 17.8802 22 18.7202 21.673 19.362C21.3854 19.9265 20.9265 20.3854 20.362 20.673C19.7202 21 18.8802 21 17.2 21H6.8C5.11984 21 4.27976 21 3.63803 20.673C3.07354 20.3854 2.6146 19.9265 2.32698 19.362C2 18.7202 2 17.8802 2 16.2V8.37722Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16.5C14.2091 16.5 16 14.7091 16 12.5C16 10.2909 14.2091 8.5 12 8.5C9.79086 8.5 8 10.2909 8 12.5C8 14.7091 9.79086 16.5 12 16.5Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCamera',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7.5 12L10.5 15L16.5 9M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCheckCircle',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconChevronDown',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 15L12 9L6 15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconChevronUp',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M10 15L6.92474 18.1137C6.49579 18.548 6.28131 18.7652 6.09695 18.7805C5.93701 18.7938 5.78042 18.7295 5.67596 18.6076C5.55556 18.4672 5.55556 18.162 5.55556 17.5515V15.9916C5.55556 15.444 5.10707 15.0477 4.5652 14.9683V14.9683C3.25374 14.7762 2.22378 13.7463 2.03168 12.4348C2 12.2186 2 11.9605 2 11.4444V6.8C2 5.11984 2 4.27976 2.32698 3.63803C2.6146 3.07354 3.07354 2.6146 3.63803 2.32698C4.27976 2 5.11984 2 6.8 2H14.2C15.8802 2 16.7202 2 17.362 2.32698C17.9265 2.6146 18.3854 3.07354 18.673 3.63803C19 4.27976 19 5.11984 19 6.8V11M19 22L16.8236 20.4869C16.5177 20.2742 16.3647 20.1678 16.1982 20.0924C16.0504 20.0255 15.8951 19.9768 15.7356 19.9474C15.5558 19.9143 15.3695 19.9143 14.9969 19.9143H13.2C12.0799 19.9143 11.5198 19.9143 11.092 19.6963C10.7157 19.5046 10.4097 19.1986 10.218 18.8223C10 18.3944 10 17.8344 10 16.7143V14.2C10 13.0799 10 12.5198 10.218 12.092C10.4097 11.7157 10.7157 11.4097 11.092 11.218C11.5198 11 12.0799 11 13.2 11H18.8C19.9201 11 20.4802 11 20.908 11.218C21.2843 11.4097 21.5903 11.7157 21.782 12.092C22 12.5198 22 13.0799 22 14.2V16.9143C22 17.8462 22 18.3121 21.8478 18.6797C21.6448 19.1697 21.2554 19.5591 20.7654 19.762C20.3978 19.9143 19.9319 19.9143 19 19.9143V22Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconCommunity',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 15C4.06812 15 3.60218 15 3.23463 14.8478C2.74458 14.6448 2.35523 14.2554 2.15224 13.7654C2 13.3978 2 12.9319 2 12V5.2C2 4.0799 2 3.51984 2.21799 3.09202C2.40973 2.71569 2.71569 2.40973 3.09202 2.21799C3.51984 2 4.0799 2 5.2 2H12C12.9319 2 13.3978 2 13.7654 2.15224C14.2554 2.35523 14.6448 2.74458 14.8478 3.23463C15 3.60218 15 4.06812 15 5M12.2 22H18.8C19.9201 22 20.4802 22 20.908 21.782C21.2843 21.5903 21.5903 21.2843 21.782 20.908C22 20.4802 22 19.9201 22 18.8V12.2C22 11.0799 22 10.5198 21.782 10.092C21.5903 9.71569 21.2843 9.40973 20.908 9.21799C20.4802 9 19.9201 9 18.8 9H12.2C11.0799 9 10.5198 9 10.092 9.21799C9.71569 9.40973 9.40973 9.71569 9.21799 10.092C9 10.5198 9 11.0799 9 12.2V18.8C9 19.9201 9 20.4802 9.21799 20.908C9.40973 21.2843 9.71569 21.5903 10.092 21.782C10.5198 22 11.0799 22 12.2 22Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCopy',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17 17L22 12L17 7M7 7L2 12L7 17M14 3L10 21\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCode',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 21H16M12 17V21M6.8 17H17.2C18.8802 17 19.7202 17 20.362 16.673C20.9265 16.3854 21.3854 15.9265 21.673 15.362C22 14.7202 22 13.8802 22 12.2V7.8C22 6.11984 22 5.27976 21.673 4.63803C21.3854 4.07354 20.9265 3.6146 20.362 3.32698C19.7202 3 18.8802 3 17.2 3H6.8C5.11984 3 4.27976 3 3.63803 3.32698C3.07354 3.6146 2.6146 4.07354 2.32698 4.63803C2 5.27976 2 6.11984 2 7.8V12.2C2 13.8802 2 14.7202 2.32698 15.362C2.6146 15.9265 3.07354 16.3854 3.63803 16.673C4.27976 17 5.11984 17 6.8 17Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconDesktop',\n};\n</script>","<template>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"17\" fill=\"currentColor\">\n <path\n d=\"M11 2.253a1 1 0 1 0-2 0h2zm-2 13a1 1 0 1 0 2 0H9zm.447-12.167a1 1 0 1 0 1.107-1.666L9.447 3.086zM1 2.253L.447 1.42A1 1 0 0 0 0 2.253h1zm0 13H0a1 1 0 0 0 1.553.833L1 15.253zm8.447.833a1 1 0 1 0 1.107-1.666l-1.107 1.666zm0-14.666a1 1 0 1 0 1.107 1.666L9.447 1.42zM19 2.253h1a1 1 0 0 0-.447-.833L19 2.253zm0 13l-.553.833A1 1 0 0 0 20 15.253h-1zm-9.553-.833a1 1 0 1 0 1.107 1.666L9.447 14.42zM9 2.253v13h2v-13H9zm1.553-.833C9.203.523 7.42 0 5.5 0v2c1.572 0 2.961.431 3.947 1.086l1.107-1.666zM5.5 0C3.58 0 1.797.523.447 1.42l1.107 1.666C2.539 2.431 3.928 2 5.5 2V0zM0 2.253v13h2v-13H0zm1.553 13.833C2.539 15.431 3.928 15 5.5 15v-2c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM5.5 15c1.572 0 2.961.431 3.947 1.086l1.107-1.666C9.203 13.523 7.42 13 5.5 13v2zm5.053-11.914C11.539 2.431 12.928 2 14.5 2V0c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM14.5 2c1.573 0 2.961.431 3.947 1.086l1.107-1.666C18.203.523 16.421 0 14.5 0v2zm3.5.253v13h2v-13h-2zm1.553 12.167C18.203 13.523 16.421 13 14.5 13v2c1.573 0 2.961.431 3.947 1.086l1.107-1.666zM14.5 13c-1.92 0-3.703.523-5.053 1.42l1.107 1.666C11.539 15.431 12.928 15 14.5 15v-2z\"\n />\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconDocumentation',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M4 16.2422C2.79401 15.435 2 14.0602 2 12.5C2 10.1564 3.79151 8.23129 6.07974 8.01937C6.54781 5.17213 9.02024 3 12 3C14.9798 3 17.4522 5.17213 17.9203 8.01937C20.2085 8.23129 22 10.1564 22 12.5C22 14.0602 21.206 15.435 20 16.2422M8 17L12 21M12 21L16 17M12 21V12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconDownloadCloud',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9.75 20.7501L11.223 21.5684C11.5066 21.726 11.6484 21.8047 11.7986 21.8356C11.9315 21.863 12.0685 21.863 12.2015 21.8356C12.3516 21.8047 12.4934 21.726 12.777 21.5684L14.25 20.7501M5.25 18.2501L3.82297 17.4573C3.52346 17.2909 3.37368 17.2077 3.26463 17.0893C3.16816 16.9847 3.09515 16.8606 3.05048 16.7254C3 16.5726 3 16.4013 3 16.0586V14.5001M3 9.50009V7.94153C3 7.59889 3 7.42757 3.05048 7.27477C3.09515 7.13959 3.16816 7.01551 3.26463 6.91082C3.37368 6.79248 3.52345 6.70928 3.82297 6.54288L5.25 5.75009M9.75 3.25008L11.223 2.43177C11.5066 2.27421 11.6484 2.19543 11.7986 2.16454C11.9315 2.13721 12.0685 2.13721 12.2015 2.16454C12.3516 2.19543 12.4934 2.27421 12.777 2.43177L14.25 3.25008M18.75 5.75008L20.177 6.54288C20.4766 6.70928 20.6263 6.79248 20.7354 6.91082C20.8318 7.01551 20.9049 7.13959 20.9495 7.27477C21 7.42757 21 7.59889 21 7.94153V9.50008M21 14.5001V16.0586C21 16.4013 21 16.5726 20.9495 16.7254C20.9049 16.8606 20.8318 16.9847 20.7354 17.0893C20.6263 17.2077 20.4766 17.2909 20.177 17.4573L18.75 18.2501M9.75 10.7501L12 12.0001M12 12.0001L14.25 10.7501M12 12.0001V14.5001M3 7.00008L5.25 8.25008M18.75 8.25008L21 7.00008M12 19.5001V22.0001\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconEcosystem',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 16C16 16 14.5 14 12 14C9.5 14 8 16 8 16M15 9H15.01M9 9H9.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM15.5 9C15.5 9.27614 15.2761 9.5 15 9.5C14.7239 9.5 14.5 9.27614 14.5 9C14.5 8.72386 14.7239 8.5 15 8.5C15.2761 8.5 15.5 8.72386 15.5 9ZM9.5 9C9.5 9.27614 9.27614 9.5 9 9.5C8.72386 9.5 8.5 9.27614 8.5 9C8.5 8.72386 8.72386 8.5 9 8.5C9.27614 8.5 9.5 8.72386 9.5 9Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFaceFrown',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 8.00007L2 22.0001M18 15.0001H9M6.6 19.0001H13.3373C13.5818 19.0001 13.7041 19.0001 13.8192 18.9724C13.9213 18.9479 14.0188 18.9075 14.1083 18.8527C14.2092 18.7909 14.2957 18.7044 14.4686 18.5314L19.5 13.5001C19.739 13.2611 19.8584 13.1416 19.9546 13.0358C22.0348 10.7474 22.0348 7.25275 19.9546 4.9643C19.8584 4.85851 19.739 4.73903 19.5 4.50007C19.261 4.26111 19.1416 4.14163 19.0358 4.04547C16.7473 1.96531 13.2527 1.96531 10.9642 4.04547C10.8584 4.14163 10.739 4.26111 10.5 4.50007L5.46863 9.53144C5.29568 9.70439 5.2092 9.79087 5.14736 9.89179C5.09253 9.98126 5.05213 10.0788 5.02763 10.1808C5 10.2959 5 10.4182 5 10.6628V17.4001C5 17.9601 5 18.2401 5.10899 18.4541C5.20487 18.6422 5.35785 18.7952 5.54601 18.8911C5.75992 19.0001 6.03995 19.0001 6.6 19.0001Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFeather',\n};\n</script>","\n<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2 4.6C2 4.03995 2 3.75992 2.10899 3.54601C2.20487 3.35785 2.35785 3.20487 2.54601 3.10899C2.75992 3 3.03995 3 3.6 3H20.4C20.9601 3 21.2401 3 21.454 3.10899C21.6422 3.20487 21.7951 3.35785 21.891 3.54601C22 3.75992 22 4.03995 22 4.6V5.26939C22 5.53819 22 5.67259 21.9672 5.79756C21.938 5.90831 21.8901 6.01323 21.8255 6.10776C21.7526 6.21443 21.651 6.30245 21.4479 6.4785L15.0521 12.0215C14.849 12.1975 14.7474 12.2856 14.6745 12.3922C14.6099 12.4868 14.562 12.5917 14.5328 12.7024C14.5 12.8274 14.5 12.9618 14.5 13.2306V18.4584C14.5 18.6539 14.5 18.7517 14.4685 18.8363C14.4406 18.911 14.3953 18.9779 14.3363 19.0315C14.2695 19.0922 14.1787 19.1285 13.9971 19.2012L10.5971 20.5612C10.2296 20.7082 10.0458 20.7817 9.89827 20.751C9.76927 20.7242 9.65605 20.6476 9.58325 20.5377C9.5 20.4122 9.5 20.2142 9.5 19.8184V13.2306C9.5 12.9618 9.5 12.8274 9.46715 12.7024C9.43805 12.5917 9.39014 12.4868 9.32551 12.3922C9.25258 12.2856 9.15102 12.1975 8.94789 12.0215L2.55211 6.4785C2.34898 6.30245 2.24742 6.21443 2.17449 6.10776C2.10986 6.01323 2.06195 5.90831 2.03285 5.79756C2 5.67259 2 5.53819 2 5.26939V4.6Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFilter',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M9.09 9C9.3251 8.33167 9.78915 7.76811 10.4 7.40913C11.0108 7.05016 11.7289 6.91894 12.4272 7.03871C13.1255 7.15849 13.7588 7.52152 14.2151 8.06353C14.6713 8.60553 14.9211 9.29152 14.92 10C14.92 12 11.92 13 11.92 13M12 17H12.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconHelp',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4.27209 20.7279L10.8686 14.1314C11.2646 13.7354 11.4627 13.5373 11.691 13.4632C11.8918 13.3979 12.1082 13.3979 12.309 13.4632C12.5373 13.5373 12.7354 13.7354 13.1314 14.1314L19.6839 20.6839M14 15L16.8686 12.1314C17.2646 11.7354 17.4627 11.5373 17.691 11.4632C17.8918 11.3979 18.1082 11.3979 18.309 11.4632C18.5373 11.5373 18.7354 11.7354 19.1314 12.1314L22 15M10 9C10 10.1046 9.10457 11 8 11C6.89543 11 6 10.1046 6 9C6 7.89543 6.89543 7 8 7C9.10457 7 10 7.89543 10 9ZM6.8 21H17.2C18.8802 21 19.7202 21 20.362 20.673C20.9265 20.3854 21.3854 19.9265 21.673 19.362C22 18.7202 22 17.8802 22 16.2V7.8C22 6.11984 22 5.27976 21.673 4.63803C21.3854 4.07354 20.9265 3.6146 20.362 3.32698C19.7202 3 18.8802 3 17.2 3H6.8C5.11984 3 4.27976 3 3.63803 3.32698C3.07354 3.6146 2.6146 4.07354 2.32698 4.63803C2 5.27976 2 6.11984 2 7.8V16.2C2 17.8802 2 18.7202 2.32698 19.362C2.6146 19.9265 3.07354 20.3854 3.63803 20.673C4.27976 21 5.11984 21 6.8 21Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconImage',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 16V12M12 8H12.01M7.8 21H16.2C17.8802 21 18.7202 21 19.362 20.673C19.9265 20.3854 20.3854 19.9265 20.673 19.362C21 18.7202 21 17.8802 21 16.2V7.8C21 6.11984 21 5.27976 20.673 4.63803C20.3854 4.07354 19.9265 3.6146 19.362 3.32698C18.7202 3 17.8802 3 16.2 3H7.8C6.11984 3 5.27976 3 4.63803 3.32698C4.07354 3.6146 3.6146 4.07354 3.32698 4.63803C3 5.27976 3 6.11984 3 7.8V16.2C3 17.8802 3 18.7202 3.32698 19.362C3.6146 19.9265 4.07354 20.3854 4.63803 20.673C5.27976 21 6.11984 21 7.8 21Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconInfoSquare',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.5 15.5L15.5 8.49998M9 4V2M15 20V22M4 9H2M20 15H22M4.91421 4.91421L3.5 3.5M19.0858 19.0857L20.5 20.4999M12 17.6568L9.87871 19.7781C8.31662 21.3402 5.78396 21.3402 4.22186 19.7781C2.65976 18.216 2.65976 15.6833 4.22186 14.1212L6.34318 11.9999M17.6569 11.9999L19.7782 9.87859C21.3403 8.31649 21.3403 5.78383 19.7782 4.22174C18.2161 2.65964 15.6835 2.65964 14.1214 4.22174L12 6.34306\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconLinkBroken',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M18 8L22 12M22 12L18 16M22 12H9M15 4.20404C13.7252 3.43827 12.2452 3 10.6667 3C5.8802 3 2 7.02944 2 12C2 16.9706 5.8802 21 10.6667 21C12.2452 21 13.7252 20.5617 15 19.796\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconLogout',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M13.0001 14L10.0001 11M15.0104 3.5V2M18.9498 5.06066L20.0104 4M18.9498 13L20.0104 14.0607M11.0104 5.06066L9.94979 4M20.5104 9H22.0104M6.13146 20.8686L15.3687 11.6314C15.7647 11.2354 15.9627 11.0373 16.0369 10.809C16.1022 10.6082 16.1022 10.3918 16.0369 10.191C15.9627 9.96265 15.7647 9.76465 15.3687 9.36863L14.6315 8.63137C14.2354 8.23535 14.0374 8.03735 13.8091 7.96316C13.6083 7.8979 13.3919 7.8979 13.1911 7.96316C12.9627 8.03735 12.7647 8.23535 12.3687 8.63137L3.13146 17.8686C2.73545 18.2646 2.53744 18.4627 2.46325 18.691C2.39799 18.8918 2.39799 19.1082 2.46325 19.309C2.53744 19.5373 2.73545 19.7354 3.13146 20.1314L3.86872 20.8686C4.26474 21.2646 4.46275 21.4627 4.69108 21.5368C4.89192 21.6021 5.10827 21.6021 5.30911 21.5368C5.53744 21.4627 5.73545 21.2646 6.13146 20.8686Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMagicWand',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M21.5 18L14.8571 12M9.14286 12L2.50003 18M2 7L10.1649 12.7154C10.8261 13.1783 11.1567 13.4097 11.5163 13.4993C11.8339 13.5785 12.1661 13.5785 12.4837 13.4993C12.8433 13.4097 13.1739 13.1783 13.8351 12.7154L22 7M6.8 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H6.8C5.11984 4 4.27976 4 3.63803 4.32698C3.07354 4.6146 2.6146 5.07354 2.32698 5.63803C2 6.27976 2 7.11984 2 8.8V15.2C2 16.8802 2 17.7202 2.32698 18.362C2.6146 18.9265 3.07354 19.3854 3.63803 19.673C4.27976 20 5.11984 20 6.8 20Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMail',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M3 12H21M3 6H21M3 18H15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMenu',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 2V3.4C15 3.96005 15 4.24008 14.891 4.45399C14.7951 4.64215 14.6422 4.79513 14.454 4.89101C14.2401 5 13.9601 5 13.4 5H10.6C10.0399 5 9.75992 5 9.54601 4.89101C9.35785 4.79513 9.20487 4.64215 9.10899 4.45399C9 4.24008 9 3.96005 9 3.4V2M8.2 22H15.8C16.9201 22 17.4802 22 17.908 21.782C18.2843 21.5903 18.5903 21.2843 18.782 20.908C19 20.4802 19 19.9201 19 18.8V5.2C19 4.07989 19 3.51984 18.782 3.09202C18.5903 2.71569 18.2843 2.40973 17.908 2.21799C17.4802 2 16.9201 2 15.8 2H8.2C7.0799 2 6.51984 2 6.09202 2.21799C5.71569 2.40973 5.40973 2.71569 5.21799 3.09202C5 3.51984 5 4.0799 5 5.2V18.8C5 19.9201 5 20.4802 5.21799 20.908C5.40973 21.2843 5.71569 21.5903 6.09202 21.782C6.51984 22 7.07989 22 8.2 22Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMobile',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 2L18.6178 3.23558C18.8833 3.76656 19.016 4.03205 19.1934 4.26211C19.3507 4.46626 19.5337 4.64927 19.7379 4.80664C19.9679 4.98397 20.2334 5.11672 20.7644 5.38221L22 6L20.7644 6.61779C20.2334 6.88328 19.9679 7.01603 19.7379 7.19336C19.5337 7.35073 19.3507 7.53374 19.1934 7.73789C19.016 7.96795 18.8833 8.23344 18.6178 8.76442L18 10L17.3822 8.76442C17.1167 8.23344 16.984 7.96795 16.8066 7.73789C16.6493 7.53374 16.4663 7.35073 16.2621 7.19336C16.0321 7.01603 15.7666 6.88328 15.2356 6.61779L14 6L15.2356 5.38221C15.7666 5.11672 16.0321 4.98397 16.2621 4.80664C16.4663 4.64927 16.6493 4.46626 16.8066 4.26211C16.984 4.03205 17.1167 3.76656 17.3822 3.23558L18 2Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M21 13.3893C19.689 15.689 17.2145 17.2395 14.3779 17.2395C10.1711 17.2395 6.76075 13.8292 6.76075 9.62233C6.76075 6.78554 8.31149 4.31094 10.6115 3C5.77979 3.45812 2 7.52692 2 12.4785C2 17.7371 6.26292 22 11.5215 22C16.4729 22 20.5415 18.2206 21 13.3893Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMoonStar',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2.5 21.4998L8.04927 19.3655C8.40421 19.229 8.58168 19.1607 8.74772 19.0716C8.8952 18.9924 9.0358 18.901 9.16804 18.7984C9.31692 18.6829 9.45137 18.5484 9.72028 18.2795L21 6.99982C22.1046 5.89525 22.1046 4.10438 21 2.99981C19.8955 1.89525 18.1046 1.89524 17 2.99981L5.72028 14.2795C5.45138 14.5484 5.31692 14.6829 5.20139 14.8318C5.09877 14.964 5.0074 15.1046 4.92823 15.2521C4.83911 15.4181 4.77085 15.5956 4.63433 15.9506L2.5 21.4998ZM2.5 21.4998L4.55812 16.1488C4.7054 15.7659 4.77903 15.5744 4.90534 15.4867C5.01572 15.4101 5.1523 15.3811 5.2843 15.4063C5.43533 15.4351 5.58038 15.5802 5.87048 15.8703L8.12957 18.1294C8.41967 18.4195 8.56472 18.5645 8.59356 18.7155C8.61877 18.8475 8.58979 18.9841 8.51314 19.0945C8.42545 19.2208 8.23399 19.2944 7.85107 19.4417L2.5 21.4998Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconPencil',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 5V19M5 12H19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconPlus',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17.625 14.625H9.75L6 18.375H13.875L17.625 14.625Z\" fill=\"#CB0000\"/>\n <path d=\"M15.9133 8.08667L3 21M17.7581 14.5433H9.45666M7.24295 18.2329H13.4573C13.6829 18.2329 13.7957 18.2329 13.9018 18.2074C13.9959 18.1848 14.0859 18.1475 14.1684 18.0969C14.2615 18.0399 14.3413 17.9601 14.5008 17.8006L19.1417 13.1598C19.3621 12.9393 19.4723 12.8291 19.561 12.7316C21.4797 10.6207 21.4797 7.39735 19.561 5.28653C19.4723 5.18896 19.3621 5.07875 19.1417 4.85834C18.9212 4.63792 18.811 4.52772 18.7135 4.43902C16.6026 2.52033 13.3793 2.52033 11.2684 4.43902C11.1709 4.52772 11.0607 4.63792 10.8402 4.85833L6.1994 9.49918C6.03987 9.6587 5.96011 9.73847 5.90306 9.83155C5.85249 9.91408 5.81522 10.0041 5.79263 10.0982C5.76714 10.2043 5.76714 10.3171 5.76714 10.5427V16.757C5.76714 17.2736 5.76714 17.5319 5.86768 17.7292C5.95611 17.9028 6.09721 18.0439 6.27077 18.1323C6.46808 18.2329 6.72637 18.2329 7.24295 18.2329Z\" stroke=\"black\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconQuail',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M21 21L16.65 16.65M19 11C19 15.4183 15.4183 19 11 19C6.58172 19 3 15.4183 3 11C3 6.58172 6.58172 3 11 3C15.4183 3 19 6.58172 19 11Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconSearch',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 2V4M12 20V22M4 12H2M6.31412 6.31412L4.8999 4.8999M17.6859 6.31412L19.1001 4.8999M6.31412 17.69L4.8999 19.1042M17.6859 17.69L19.1001 19.1042M22 12H20M17 12C17 14.7614 14.7614 17 12 17C9.23858 17 7 14.7614 7 12C7 9.23858 9.23858 7 12 7C14.7614 7 17 9.23858 17 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconSun',\n};\n</script>","<template>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\"\n role=\"img\"\n class=\"iconify iconify--mdi\"\n width=\"24\"\n height=\"24\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M20 18v-4h-3v1h-2v-1H9v1H7v-1H4v4h16M6.33 8l-1.74 4H7v-1h2v1h6v-1h2v1h2.41l-1.74-4H6.33M9 5v1h6V5H9m12.84 7.61c.1.22.16.48.16.8V18c0 .53-.21 1-.6 1.41c-.4.4-.85.59-1.4.59H4c-.55 0-1-.19-1.4-.59C2.21 19 2 18.53 2 18v-4.59c0-.32.06-.58.16-.8L4.5 7.22C4.84 6.41 5.45 6 6.33 6H7V5c0-.55.18-1 .57-1.41C7.96 3.2 8.44 3 9 3h6c.56 0 1.04.2 1.43.59c.39.41.57.86.57 1.41v1h.67c.88 0 1.49.41 1.83 1.22l2.34 5.39z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconTooling',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 6V5.2C16 4.0799 16 3.51984 15.782 3.09202C15.5903 2.71569 15.2843 2.40973 14.908 2.21799C14.4802 2 13.9201 2 12.8 2H11.2C10.0799 2 9.51984 2 9.09202 2.21799C8.71569 2.40973 8.40973 2.71569 8.21799 3.09202C8 3.51984 8 4.0799 8 5.2V6M10 11.5V16.5M14 11.5V16.5M3 6H21M19 6V17.2C19 18.8802 19 19.7202 18.673 20.362C18.3854 20.9265 17.9265 21.3854 17.362 21.673C16.7202 22 15.8802 22 14.2 22H9.8C8.11984 22 7.27976 22 6.63803 21.673C6.07354 21.3854 5.6146 20.9265 5.32698 20.362C5 19.7202 5 18.8802 5 17.2V6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconTrash',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M8.625 8.0625V3H15.375V8.0625H8.625ZM15.375 10.875H21V21H3V10.875H8.625V15.9375H15.375V10.875Z\" fill=\"currentColor\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconUnsplash',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.3163 19.4384C5.92462 18.0052 7.34492 17 9 17H15C16.6551 17 18.0754 18.0052 18.6837 19.4384M16 9.5C16 11.7091 14.2091 13.5 12 13.5C9.79086 13.5 8 11.7091 8 9.5C8 7.29086 9.79086 5.5 12 5.5C14.2091 5.5 16 7.29086 16 9.5ZM22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconUserCircle',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M3 7.8C3 6.11984 3 5.27976 3.32698 4.63803C3.6146 4.07354 4.07354 3.6146 4.63803 3.32698C5.27976 3 6.11984 3 7.8 3H16.2C17.8802 3 18.7202 3 19.362 3.32698C19.9265 3.6146 20.3854 4.07354 20.673 4.63803C21 5.27976 21 6.11984 21 7.8V16.2C21 17.8802 21 18.7202 20.673 19.362C20.3854 19.9265 19.9265 20.3854 19.362 20.673C18.7202 21 17.8802 21 16.2 21H7.8C6.11984 21 5.27976 21 4.63803 20.673C4.07354 20.3854 3.6146 19.9265 3.32698 19.362C3 18.7202 3 17.8802 3 16.2V7.8Z\" stroke=\"url(#paint0_linear_24_7)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 6L7.4336 12.2269C7.13256 12.6374 6.98205 12.8427 6.9869 13.0142C6.99113 13.1634 7.06185 13.303 7.17972 13.3947C7.31514 13.5 7.56967 13.5 8.07872 13.5H12V18L16.5664 11.7731C16.8674 11.3626 17.018 11.1573 17.0131 10.9858C17.0089 10.8366 16.9381 10.697 16.8203 10.6053C16.6849 10.5 16.4303 10.5 15.9213 10.5H12V6Z\" fill=\"url(#paint1_linear_24_7)\"/>\n <defs>\n <linearGradient id=\"paint0_linear_24_7\" x1=\"12\" y1=\"3\" x2=\"12\" y2=\"21\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#D6AC5E\"/>\n <stop offset=\"1\" stop-color=\"#9D5C2E\"/>\n </linearGradient>\n <linearGradient id=\"paint1_linear_24_7\" x1=\"12\" y1=\"6\" x2=\"12\" y2=\"18\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#D7AD5E\"/>\n <stop offset=\"1\" stop-color=\"#9C5B2D\"/>\n </linearGradient>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconZapSquare',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M9.5 7.5H13.75C14.9926 7.5 16 8.50736 16 9.75C16 10.9926 14.9926 12 13.75 12H9.5H14.25C15.4926 12 16.5 13.0074 16.5 14.25C16.5 15.4926 15.4926 16.5 14.25 16.5H9.5M9.5 7.5H8M9.5 7.5V16.5M9.5 16.5H8M10 6V7.5M10 16.5V18M13 6V7.5M13 16.5V18M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconBitcoinCircle',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.5 14.6667C8.5 15.9553 9.54467 17 10.8333 17H13C14.3807 17 15.5 15.8807 15.5 14.5C15.5 13.1193 14.3807 12 13 12H11C9.61929 12 8.5 10.8807 8.5 9.5C8.5 8.11929 9.61929 7 11 7H13.1667C14.4553 7 15.5 8.04467 15.5 9.33333M12 5.5V7M12 17V18.5M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconDollarCircle',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 4V20M9.5 4H15.5C17.7091 4 19.5 5.79086 19.5 8C19.5 10.2091 17.7091 12 15.5 12H9.5H16.5C18.7091 12 20.5 13.7909 20.5 16C20.5 18.2091 18.7091 20 16.5 20H9.5M9.5 4V20M9.5 4H4M9.5 20H4\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconBold',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M13.25 4L7.25 20M16.75 4L10.75 20M19.5 4L9.5 4M14.5 20H4.5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconItalic',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M14 10L21 3M21 3H15M21 3V9M10 14L3 21M3 21H9M3 21L3 15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconExpand',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M20 10V6.8C20 5.11984 20 4.27976 19.673 3.63803C19.3854 3.07354 18.9265 2.6146 18.362 2.32698C17.7202 2 16.8802 2 15.2 2H8.8C7.11984 2 6.27976 2 5.63803 2.32698C5.07354 2.6146 4.6146 3.07354 4.32698 3.63803C4 4.27976 4 5.11984 4 6.8V17.2C4 18.8802 4 19.7202 4.32698 20.362C4.6146 20.9265 5.07354 21.3854 5.63803 21.673C6.27976 22 7.11984 22 8.8 22H10.5M13 11H8M11 15H8M16 7H8M19.25 17V15.25C19.25 14.2835 18.4665 13.5 17.5 13.5C16.5335 13.5 15.75 14.2835 15.75 15.25V17M15.6 21H19.4C19.9601 21 20.2401 21 20.454 20.891C20.6422 20.7951 20.7951 20.6422 20.891 20.454C21 20.2401 21 19.9601 21 19.4V18.6C21 18.0399 21 17.7599 20.891 17.546C20.7951 17.3578 20.6422 17.2049 20.454 17.109C20.2401 17 19.9601 17 19.4 17H15.6C15.0399 17 14.7599 17 14.546 17.109C14.3578 17.2049 14.2049 17.3578 14.109 17.546C14 17.7599 14 18.0399 14 18.6V19.4C14 19.9601 14 20.2401 14.109 20.454C14.2049 20.6422 14.3578 20.7951 14.546 20.891C14.7599 21 15.0399 21 15.6 21Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFileLock',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 4V20M18 4V20M9.5 4V20M11.5 4H4M18 12H9.5M11.5 20H4M20 20H16M20 4H16\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconHead',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12.7076 18.3639L11.2933 19.7781C9.34072 21.7308 6.1749 21.7308 4.22228 19.7781C2.26966 17.8255 2.26966 14.6597 4.22228 12.7071L5.63649 11.2929M18.3644 12.7071L19.7786 11.2929C21.7312 9.34024 21.7312 6.17441 19.7786 4.22179C17.826 2.26917 14.6602 2.26917 12.7076 4.22179L11.2933 5.636M8.50045 15.4999L15.5005 8.49994\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconLink',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M21 5L10 5M21 19L10 19M21 12L10 12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M3.57548 7.00005V4.14405L2.80748 4.54005V3.52605L3.76148 2.99805H4.77548V7.00005H3.57548Z\" fill=\"currentColor\"/>\n<path d=\"M2.54175 14V13.184C2.67775 13.112 2.82175 13.024 2.97375 12.92C3.12575 12.812 3.27175 12.694 3.41175 12.566C3.55575 12.434 3.68375 12.3 3.79575 12.164C3.91175 12.028 4.00375 11.892 4.07175 11.756C4.13975 11.62 4.17375 11.494 4.17375 11.378C4.17375 11.222 4.14175 11.102 4.07775 11.018C4.01375 10.934 3.93575 10.878 3.84375 10.85C3.75575 10.818 3.67175 10.802 3.59175 10.802C3.41975 10.802 3.25375 10.846 3.09375 10.934C2.93775 11.022 2.76375 11.142 2.57175 11.294V10.31C2.74375 10.206 2.94375 10.114 3.17175 10.034C3.39975 9.95005 3.67375 9.90805 3.99375 9.90805C4.27775 9.90805 4.52375 9.95405 4.73175 10.046C4.93975 10.138 5.09975 10.278 5.21175 10.466C5.32375 10.654 5.37975 10.894 5.37975 11.186C5.37975 11.378 5.34575 11.554 5.27775 11.714C5.20975 11.87 5.11775 12.014 5.00175 12.146C4.88575 12.274 4.75775 12.392 4.61775 12.5C4.47775 12.608 4.33575 12.708 4.19175 12.8C4.04775 12.892 3.91175 12.982 3.78375 13.07L3.56775 12.92H5.46375V14H2.54175Z\" fill=\"currentColor\"/>\n<path d=\"M3.82727 21.048C3.61127 21.048 3.39927 21.016 3.19127 20.952C2.98727 20.884 2.79327 20.804 2.60927 20.712V19.722C2.80927 19.842 3.00327 19.95 3.19127 20.046C3.37927 20.138 3.57727 20.184 3.78527 20.184C3.96127 20.184 4.10327 20.154 4.21127 20.094C4.31927 20.03 4.37327 19.938 4.37327 19.818C4.37327 19.694 4.33327 19.592 4.25327 19.512C4.17727 19.428 4.01527 19.386 3.76727 19.386H3.11327V18.522H3.77927C3.93127 18.522 4.03927 18.488 4.10327 18.42C4.16727 18.348 4.19927 18.272 4.19927 18.192C4.19927 18.092 4.17127 18.018 4.11527 17.97C4.06327 17.918 3.99527 17.882 3.91127 17.862C3.83127 17.842 3.74927 17.832 3.66527 17.832C3.54527 17.832 3.41327 17.848 3.26927 17.88C3.12527 17.908 2.92927 17.98 2.68127 18.096V17.226C2.84127 17.142 3.01527 17.074 3.20327 17.022C3.39527 16.97 3.58727 16.944 3.77927 16.944C3.93527 16.944 4.09727 16.962 4.26527 16.998C4.43727 17.03 4.59527 17.088 4.73927 17.172C4.88727 17.252 5.00727 17.364 5.09927 17.508C5.19127 17.648 5.23727 17.826 5.23727 18.042C5.23727 18.138 5.21927 18.23 5.18327 18.318C5.14727 18.406 5.09927 18.486 5.03927 18.558C4.97927 18.63 4.91127 18.69 4.83527 18.738C4.76327 18.782 4.68927 18.812 4.61327 18.828C4.72927 18.86 4.83527 18.91 4.93127 18.978C5.02727 19.042 5.10927 19.12 5.17727 19.212C5.24927 19.3 5.30327 19.402 5.33927 19.518C5.37927 19.63 5.39927 19.75 5.39927 19.878C5.39927 20.118 5.34927 20.314 5.24927 20.466C5.15327 20.618 5.02527 20.736 4.86527 20.82C4.70927 20.904 4.53927 20.964 4.35527 21C4.17527 21.032 3.99927 21.048 3.82727 21.048Z\" fill=\"currentColor\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconOrderedList',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12.3984 12.6001C12.3984 11.5601 12.5584 10.6668 12.8784 9.9201C13.1984 9.14676 13.6118 8.5201 14.1184 8.0401C14.6251 7.53343 15.1984 7.17343 15.8384 6.9601C16.5051 6.7201 17.1584 6.6001 17.7984 6.6001V8.0001C17.1051 8.0001 16.4518 8.2401 15.8384 8.7201C15.2518 9.17343 14.9051 9.8001 14.7984 10.6001C14.8784 10.5734 14.9718 10.5468 15.0784 10.5201C15.1584 10.4934 15.2518 10.4668 15.3584 10.4401C15.4918 10.4134 15.6384 10.4001 15.7984 10.4001C16.5984 10.4001 17.2651 10.7068 17.7984 11.3201C18.3318 11.9068 18.5984 12.6001 18.5984 13.4001C18.5984 14.2001 18.3184 14.9068 17.7584 15.5201C17.2251 16.1068 16.5051 16.4001 15.5984 16.4001C14.5851 16.4001 13.7984 16.0268 13.2384 15.2801C12.6784 14.5068 12.3984 13.6134 12.3984 12.6001ZM4.39844 12.6001C4.39844 11.5601 4.55844 10.6668 4.87844 9.9201C5.19844 9.14676 5.61177 8.5201 6.11844 8.0401C6.6251 7.53343 7.19844 7.17343 7.83844 6.9601C8.5051 6.7201 9.15844 6.6001 9.79844 6.6001V8.0001C9.1051 8.0001 8.45177 8.2401 7.83844 8.7201C7.25177 9.17343 6.9051 9.8001 6.79844 10.6001C6.87844 10.5734 6.97177 10.5468 7.07844 10.5201C7.15844 10.4934 7.25177 10.4668 7.35844 10.4401C7.49177 10.4134 7.63844 10.4001 7.79844 10.4001C8.59844 10.4001 9.2651 10.7068 9.79844 11.3201C10.3318 11.9068 10.5984 12.6001 10.5984 13.4001C10.5984 14.2001 10.3184 14.9068 9.75844 15.5201C9.2251 16.1068 8.5051 16.4001 7.59844 16.4001C6.5851 16.4001 5.79844 16.0268 5.23844 15.2801C4.67844 14.5068 4.39844 13.6134 4.39844 12.6001Z\" fill=\"currentColor\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconQuote',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 16C6 18.2091 7.79086 20 10 20H14C16.2091 20 18 18.2091 18 16C18 13.7909 16.2091 12 14 12M10.5 20C12.7091 20 14.5 18.2091 14.5 16C14.5 13.7909 12.7091 12 10.5 12M18 8C18 5.79086 16.2091 4 14 4H10C7.79086 4 6 5.79086 6 8M13.5 4C11.2909 4 9.5 5.79086 9.5 8M3 12H21\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconStrikeThrough',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M21 5L10 5M21 19L10 19M21 12L10 12M6 5C6 5.82843 5.32843 6.5 4.5 6.5C3.67157 6.5 3 5.82843 3 5C3 4.17157 3.67157 3.5 4.5 3.5C5.32843 3.5 6 4.17157 6 5ZM6 19C6 19.8284 5.32843 20.5 4.5 20.5C3.67157 20.5 3 19.8284 3 19C3 18.1716 3.67157 17.5 4.5 17.5C5.32843 17.5 6 18.1716 6 19ZM6 12C6 12.8284 5.32843 13.5 4.5 13.5C3.67157 13.5 3 12.8284 3 12C3 11.1716 3.67157 10.5 4.5 10.5C5.32843 10.5 6 11.1716 6 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconUnorderedList',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 21L11.8999 20.8499C11.2053 19.808 10.858 19.287 10.3991 18.9098C9.99286 18.5759 9.52476 18.3254 9.02161 18.1726C8.45325 18 7.82711 18 6.57482 18H5.2C4.07989 18 3.51984 18 3.09202 17.782C2.71569 17.5903 2.40973 17.2843 2.21799 16.908C2 16.4802 2 15.9201 2 14.8V6.2C2 5.07989 2 4.51984 2.21799 4.09202C2.40973 3.71569 2.71569 3.40973 3.09202 3.21799C3.51984 3 4.07989 3 5.2 3H5.6C7.84021 3 8.96031 3 9.81596 3.43597C10.5686 3.81947 11.1805 4.43139 11.564 5.18404C12 6.03968 12 7.15979 12 9.4M12 21V9.4M12 21L12.1001 20.8499C12.7947 19.808 13.142 19.287 13.6009 18.9098C14.0071 18.5759 14.4752 18.3254 14.9784 18.1726C15.5467 18 16.1729 18 17.4252 18H18.8C19.9201 18 20.4802 18 20.908 17.782C21.2843 17.5903 21.5903 17.2843 21.782 16.908C22 16.4802 22 15.9201 22 14.8V6.2C22 5.07989 22 4.51984 21.782 4.09202C21.5903 3.71569 21.2843 3.40973 20.908 3.21799C20.4802 3 19.9201 3 18.8 3H18.4C16.1598 3 15.0397 3 14.184 3.43597C13.4314 3.81947 12.8195 4.43139 12.436 5.18404C12 6.03968 12 7.15979 12 9.4\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconBookOpen',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M9 11L11 13L15.5 8.5M11.9932 5.13581C9.9938 2.7984 6.65975 2.16964 4.15469 4.31001C1.64964 6.45038 1.29697 10.029 3.2642 12.5604C4.75009 14.4724 8.97129 18.311 10.948 20.0749C11.3114 20.3991 11.4931 20.5613 11.7058 20.6251C11.8905 20.6805 12.0958 20.6805 12.2805 20.6251C12.4932 20.5613 12.6749 20.3991 13.0383 20.0749C15.015 18.311 19.2362 14.4724 20.7221 12.5604C22.6893 10.029 22.3797 6.42787 19.8316 4.31001C17.2835 2.19216 13.9925 2.7984 11.9932 5.13581Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconCheckHeart',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M14.7221 8.26596C15.2107 8.10312 15.4549 8.02169 15.6174 8.07962C15.7587 8.13003 15.87 8.24127 15.9204 8.38263C15.9783 8.54507 15.8969 8.78935 15.734 9.27789L14.2465 13.7405C14.2001 13.8797 14.1769 13.9492 14.1374 14.007C14.1024 14.0582 14.0582 14.1024 14.007 14.1374C13.9492 14.1769 13.8797 14.2001 13.7405 14.2465L9.27789 15.734C8.78935 15.8969 8.54507 15.9783 8.38263 15.9204C8.24127 15.87 8.13003 15.7587 8.07962 15.6174C8.02169 15.4549 8.10312 15.2107 8.26596 14.7221L9.75351 10.2595C9.79989 10.1203 9.82308 10.0508 9.8626 9.99299C9.8976 9.94182 9.94182 9.8976 9.99299 9.8626C10.0508 9.82308 10.1203 9.79989 10.2595 9.75351L14.7221 8.26596Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconCompass',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M22.7 13.5L20.7005 11.5L18.7 13.5M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C15.3019 3 18.1885 4.77814 19.7545 7.42909M12 7V12L15 14\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconClockRewind',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10 15L6.92474 18.1137C6.49579 18.548 6.28131 18.7652 6.09695 18.7805C5.93701 18.7938 5.78042 18.7295 5.67596 18.6076C5.55556 18.4672 5.55556 18.162 5.55556 17.5515V15.9916C5.55556 15.444 5.10707 15.0477 4.5652 14.9683V14.9683C3.25374 14.7762 2.22378 13.7463 2.03168 12.4348C2 12.2186 2 11.9605 2 11.4444V6.8C2 5.11984 2 4.27976 2.32698 3.63803C2.6146 3.07354 3.07354 2.6146 3.63803 2.32698C4.27976 2 5.11984 2 6.8 2H14.2C15.8802 2 16.7202 2 17.362 2.32698C17.9265 2.6146 18.3854 3.07354 18.673 3.63803C19 4.27976 19 5.11984 19 6.8V11M19 22L16.8236 20.4869C16.5177 20.2742 16.3647 20.1678 16.1982 20.0924C16.0504 20.0255 15.8951 19.9768 15.7356 19.9474C15.5558 19.9143 15.3695 19.9143 14.9969 19.9143H13.2C12.0799 19.9143 11.5198 19.9143 11.092 19.6963C10.7157 19.5046 10.4097 19.1986 10.218 18.8223C10 18.3944 10 17.8344 10 16.7143V14.2C10 13.0799 10 12.5198 10.218 12.092C10.4097 11.7157 10.7157 11.4097 11.092 11.218C11.5198 11 12.0799 11 13.2 11H18.8C19.9201 11 20.4802 11 20.908 11.218C21.2843 11.4097 21.5903 11.7157 21.782 12.092C22 12.5198 22 13.0799 22 14.2V16.9143C22 17.8462 22 18.3121 21.8478 18.6797C21.6448 19.1697 21.2554 19.5591 20.7654 19.762C20.3978 19.9143 19.9319 19.9143 19 19.9143V22Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMessageChatSquare',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M21.1525 10.8995L12.1369 19.9151C10.0866 21.9653 6.7625 21.9653 4.71225 19.9151C2.662 17.8648 2.662 14.5407 4.71225 12.4904L13.7279 3.47483C15.0947 2.108 17.3108 2.108 18.6776 3.47483C20.0444 4.84167 20.0444 7.05775 18.6776 8.42458L10.0156 17.0866C9.33213 17.7701 8.22409 17.7701 7.54068 17.0866C6.85726 16.4032 6.85726 15.2952 7.54068 14.6118L15.1421 7.01037\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconPaperclip',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.3767 15.6163L2.71985 21.2732M11.6944 6.64181L10.1335 8.2027C10.0062 8.33003 9.94252 8.39369 9.86999 8.44427C9.80561 8.48917 9.73616 8.52634 9.66309 8.555C9.58077 8.58729 9.49249 8.60495 9.31592 8.64026L5.65145 9.37315C4.69915 9.56361 4.223 9.65884 4.00024 9.9099C3.80617 10.1286 3.71755 10.4213 3.75771 10.7109C3.8038 11.0434 4.14715 11.3867 4.83387 12.0735L11.9196 19.1592C12.6063 19.8459 12.9497 20.1893 13.2821 20.2354C13.5718 20.2755 13.8645 20.1869 14.0832 19.9928C14.3342 19.7701 14.4294 19.2939 14.6199 18.3416L15.3528 14.6771C15.3881 14.5006 15.4058 14.4123 15.4381 14.33C15.4667 14.2569 15.5039 14.1875 15.5488 14.1231C15.5994 14.0505 15.663 13.9869 15.7904 13.8596L17.3512 12.2987C17.4326 12.2173 17.4734 12.1766 17.5181 12.141C17.5578 12.1095 17.5999 12.081 17.644 12.0558C17.6936 12.0274 17.7465 12.0048 17.8523 11.9594L20.3467 10.8904C21.0744 10.5785 21.4383 10.4226 21.6035 10.1706C21.7481 9.95025 21.7998 9.68175 21.7474 9.42348C21.6875 9.12813 21.4076 8.84822 20.8478 8.28839L15.7047 3.14526C15.1448 2.58543 14.8649 2.30552 14.5696 2.24565C14.3113 2.19329 14.0428 2.245 13.8225 2.38953C13.5705 2.55481 13.4145 2.91866 13.1027 3.64636L12.0337 6.14071C11.9883 6.24653 11.9656 6.29944 11.9373 6.34905C11.9121 6.39313 11.8836 6.43522 11.852 6.47496C11.8165 6.51971 11.7758 6.56041 11.6944 6.64181Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconPin',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 8L15 8M15 8C15 9.65686 16.3431 11 18 11C19.6569 11 21 9.65685 21 8C21 6.34315 19.6569 5 18 5C16.3431 5 15 6.34315 15 8ZM9 16L21 16M9 16C9 17.6569 7.65685 19 6 19C4.34315 19 3 17.6569 3 16C3 14.3431 4.34315 13 6 13C7.65685 13 9 14.3431 9 16Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconSettings',\n};\n</script>","\n<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15.9996 8C15.9996 9.06087 15.5782 10.0783 14.828 10.8284C14.0779 11.5786 13.0605 12 11.9996 12C10.9387 12 9.92131 11.5786 9.17116 10.8284C8.42102 10.0783 7.99959 9.06087 7.99959 8M3.63281 7.40138L2.93281 15.8014C2.78243 17.6059 2.70724 18.5082 3.01227 19.2042C3.28027 19.8157 3.74462 20.3204 4.33177 20.6382C5.00006 21 5.90545 21 7.71623 21H16.283C18.0937 21 18.9991 21 19.6674 20.6382C20.2546 20.3204 20.7189 19.8157 20.9869 19.2042C21.2919 18.5082 21.2167 17.6059 21.0664 15.8014L20.3664 7.40138C20.237 5.84875 20.1723 5.07243 19.8285 4.48486C19.5257 3.96744 19.0748 3.5526 18.5341 3.29385C17.92 3 17.141 3 15.583 3L8.41623 3C6.85821 3 6.07921 3 5.4651 3.29384C4.92433 3.5526 4.47349 3.96744 4.17071 4.48486C3.82689 5.07243 3.76219 5.84875 3.63281 7.40138Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconShoppingBag',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 3.46776C17.4817 4.20411 18.5 5.73314 18.5 7.5C18.5 9.26686 17.4817 10.7959 16 11.5322M18 16.7664C19.5115 17.4503 20.8725 18.565 22 20M2 20C3.94649 17.5226 6.58918 16 9.5 16C12.4108 16 15.0535 17.5226 17 20M14 7.5C14 9.98528 11.9853 12 9.5 12C7.01472 12 5 9.98528 5 7.5C5 5.01472 7.01472 3 9.5 3C11.9853 3 14 5.01472 14 7.5Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconUsers',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 4V15.2C12 16.8802 12 17.7202 12.327 18.362C12.6146 18.9265 13.0735 19.3854 13.638 19.673C14.2798 20 15.1198 20 16.8 20H17M17 20C17 21.1046 17.8954 22 19 22C20.1046 22 21 21.1046 21 20C21 18.8954 20.1046 18 19 18C17.8954 18 17 18.8954 17 20ZM7 4L17 4M7 4C7 5.10457 6.10457 6 5 6C3.89543 6 3 5.10457 3 4C3 2.89543 3.89543 2 5 2C6.10457 2 7 2.89543 7 4ZM17 4C17 5.10457 17.8954 6 19 6C20.1046 6 21 5.10457 21 4C21 2.89543 20.1046 2 19 2C17.8954 2 17 2.89543 17 4ZM12 12H17M17 12C17 13.1046 17.8954 14 19 14C20.1046 14 21 13.1046 21 12C21 10.8954 20.1046 10 19 10C17.8954 10 17 10.8954 17 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconDataflow',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M15 9H15.01M9 9H9.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM15.5 9C15.5 9.27614 15.2761 9.5 15 9.5C14.7239 9.5 14.5 9.27614 14.5 9C14.5 8.72386 14.7239 8.5 15 8.5C15.2761 8.5 15.5 8.72386 15.5 9ZM9.5 9C9.5 9.27614 9.27614 9.5 9 9.5C8.72386 9.5 8.5 9.27614 8.5 9C8.5 8.72386 8.72386 8.5 9 8.5C9.27614 8.5 9.5 8.72386 9.5 9ZM12 17.5C14.5005 17.5 16.5 15.667 16.5 14H7.5C7.5 15.667 9.4995 17.5 12 17.5Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconFaceHappy',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 7.8C3 6.11984 3 5.27976 3.32698 4.63803C3.6146 4.07354 4.07354 3.6146 4.63803 3.32698C5.27976 3 6.11984 3 7.8 3H16.2C17.8802 3 18.7202 3 19.362 3.32698C19.9265 3.6146 20.3854 4.07354 20.673 4.63803C21 5.27976 21 6.11984 21 7.8V13.2C21 14.8802 21 15.7202 20.673 16.362C20.3854 16.9265 19.9265 17.3854 19.362 17.673C18.7202 18 17.8802 18 16.2 18H13.6837C13.0597 18 12.7477 18 12.4492 18.0613C12.1844 18.1156 11.9282 18.2055 11.6875 18.3285C11.4162 18.4671 11.1725 18.662 10.6852 19.0518L8.29976 20.9602C7.88367 21.2931 7.67563 21.4595 7.50054 21.4597C7.34827 21.4599 7.20422 21.3906 7.10923 21.2716C7 21.1348 7 20.8684 7 20.3355V18C6.07003 18 5.60504 18 5.22354 17.8978C4.18827 17.6204 3.37962 16.8117 3.10222 15.7765C3 15.395 3 14.93 3 14V7.8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconMessageSquare',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M21 9.00001L21 3.00001M21 3.00001H15M21 3.00001L12 12M10 3H7.8C6.11984 3 5.27976 3 4.63803 3.32698C4.07354 3.6146 3.6146 4.07354 3.32698 4.63803C3 5.27976 3 6.11984 3 7.8V16.2C3 17.8802 3 18.7202 3.32698 19.362C3.6146 19.9265 4.07354 20.3854 4.63803 20.673C5.27976 21 6.11984 21 7.8 21H16.2C17.8802 21 18.7202 21 19.362 20.673C19.9265 20.3854 20.3854 19.9265 20.673 19.362C21 18.7202 21 17.8802 21 16.2V14\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconShareSquare',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 19V5M12 5L5 12M12 5L19 12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script lang=\"ts\">\nexport default {\n name: 'QIconArrowUp',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 5V19M12 19L19 12M12 19L5 12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script lang=\"ts\">\nexport default {\n name: 'QIconArrowDown',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 12H12V17M3.01 12H3M8.01 17H8M12.01 21H12M21.01 12H21M3 17H4.5M15.5 12H17.5M3 21H8M12 2V8M17.6 21H19.4C19.9601 21 20.2401 21 20.454 20.891C20.6422 20.7951 20.7951 20.6422 20.891 20.454C21 20.2401 21 19.9601 21 19.4V17.6C21 17.0399 21 16.7599 20.891 16.546C20.7951 16.3578 20.6422 16.2049 20.454 16.109C20.2401 16 19.9601 16 19.4 16H17.6C17.0399 16 16.7599 16 16.546 16.109C16.3578 16.2049 16.2049 16.3578 16.109 16.546C16 16.7599 16 17.0399 16 17.6V19.4C16 19.9601 16 20.2401 16.109 20.454C16.2049 20.6422 16.3578 20.7951 16.546 20.891C16.7599 21 17.0399 21 17.6 21ZM17.6 8H19.4C19.9601 8 20.2401 8 20.454 7.89101C20.6422 7.79513 20.7951 7.64215 20.891 7.45399C21 7.24008 21 6.96005 21 6.4V4.6C21 4.03995 21 3.75992 20.891 3.54601C20.7951 3.35785 20.6422 3.20487 20.454 3.10899C20.2401 3 19.9601 3 19.4 3H17.6C17.0399 3 16.7599 3 16.546 3.10899C16.3578 3.20487 16.2049 3.35785 16.109 3.54601C16 3.75992 16 4.03995 16 4.6V6.4C16 6.96005 16 7.24008 16.109 7.45399C16.2049 7.64215 16.3578 7.79513 16.546 7.89101C16.7599 8 17.0399 8 17.6 8ZM4.6 8H6.4C6.96005 8 7.24008 8 7.45399 7.89101C7.64215 7.79513 7.79513 7.64215 7.89101 7.45399C8 7.24008 8 6.96005 8 6.4V4.6C8 4.03995 8 3.75992 7.89101 3.54601C7.79513 3.35785 7.64215 3.20487 7.45399 3.10899C7.24008 3 6.96005 3 6.4 3H4.6C4.03995 3 3.75992 3 3.54601 3.10899C3.35785 3.20487 3.20487 3.35785 3.10899 3.54601C3 3.75992 3 4.03995 3 4.6V6.4C3 6.96005 3 7.24008 3.10899 7.45399C3.20487 7.64215 3.35785 7.79513 3.54601 7.89101C3.75992 8 4.03995 8 4.6 8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconQrCode',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M20.453 12.893C20.1752 15.5029 18.6964 17.9487 16.2494 19.3614C12.1839 21.7086 6.98539 20.3157 4.63818 16.2502L4.38818 15.8172M3.54613 11.107C3.82393 8.49711 5.30272 6.05138 7.74971 4.63862C11.8152 2.29141 17.0137 3.68434 19.3609 7.74983L19.6109 8.18285M3.49316 18.0661L4.22521 15.334L6.95727 16.0661M17.0424 7.93401L19.7744 8.66606L20.5065 5.93401\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconRefresh',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 7.99983V4.50048C16 3.66874 16 3.25287 15.8248 2.9973C15.6717 2.77401 15.4346 2.62232 15.1678 2.57691C14.8623 2.52493 14.4847 2.6992 13.7295 3.04775L4.85901 7.14182C4.18551 7.45267 3.84875 7.6081 3.60211 7.84915C3.38406 8.06225 3.21762 8.32238 3.1155 8.60966C3 8.93462 3 9.30551 3 10.0473V14.9998M16.5 14.4998H16.51M3 11.1998L3 17.7998C3 18.9199 3 19.48 3.21799 19.9078C3.40973 20.2841 3.71569 20.5901 4.09202 20.7818C4.51984 20.9998 5.07989 20.9998 6.2 20.9998H17.8C18.9201 20.9998 19.4802 20.9998 19.908 20.7818C20.2843 20.5901 20.5903 20.2841 20.782 19.9078C21 19.48 21 18.9199 21 17.7998V11.1998C21 10.0797 21 9.51967 20.782 9.09185C20.5903 8.71552 20.2843 8.40956 19.908 8.21782C19.4802 7.99983 18.9201 7.99983 17.8 7.99983L6.2 7.99983C5.0799 7.99983 4.51984 7.99983 4.09202 8.21781C3.7157 8.40956 3.40973 8.71552 3.21799 9.09185C3 9.51967 3 10.0797 3 11.1998ZM17 14.4998C17 14.776 16.7761 14.9998 16.5 14.9998C16.2239 14.9998 16 14.776 16 14.4998C16 14.2237 16.2239 13.9998 16.5 13.9998C16.7761 13.9998 17 14.2237 17 14.4998Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconWallet',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 12L11 14L15.5 9.5M17.9012 4.99851C18.1071 5.49653 18.5024 5.8924 19.0001 6.09907L20.7452 6.82198C21.2433 7.02828 21.639 7.42399 21.8453 7.92206C22.0516 8.42012 22.0516 8.97974 21.8453 9.47781L21.1229 11.2218C20.9165 11.7201 20.9162 12.2803 21.1236 12.7783L21.8447 14.5218C21.9469 14.7685 21.9996 15.0329 21.9996 15.2999C21.9997 15.567 21.9471 15.8314 21.8449 16.0781C21.7427 16.3249 21.5929 16.549 21.4041 16.7378C21.2152 16.9266 20.991 17.0764 20.7443 17.1785L19.0004 17.9009C18.5023 18.1068 18.1065 18.5021 17.8998 18.9998L17.1769 20.745C16.9706 21.2431 16.575 21.6388 16.0769 21.8451C15.5789 22.0514 15.0193 22.0514 14.5212 21.8451L12.7773 21.1227C12.2792 20.9169 11.7198 20.9173 11.2221 21.1239L9.47689 21.8458C8.97912 22.0516 8.42001 22.0514 7.92237 21.8453C7.42473 21.6391 7.02925 21.2439 6.82281 20.7464L6.09972 19.0006C5.8938 18.5026 5.49854 18.1067 5.00085 17.9L3.25566 17.1771C2.75783 16.9709 2.36226 16.5754 2.15588 16.0777C1.94951 15.5799 1.94923 15.0205 2.1551 14.5225L2.87746 12.7786C3.08325 12.2805 3.08283 11.7211 2.8763 11.2233L2.15497 9.47678C2.0527 9.2301 2.00004 8.96568 2 8.69863C1.99996 8.43159 2.05253 8.16715 2.15472 7.92043C2.25691 7.67372 2.40671 7.44955 2.59557 7.26075C2.78442 7.07195 3.00862 6.92222 3.25537 6.8201L4.9993 6.09772C5.49687 5.89197 5.89248 5.4972 6.0993 5.00006L6.82218 3.25481C7.02848 2.75674 7.42418 2.36103 7.92222 2.15473C8.42027 1.94842 8.97987 1.94842 9.47792 2.15473L11.2218 2.87712C11.7199 3.08291 12.2793 3.08249 12.7771 2.87595L14.523 2.15585C15.021 1.94966 15.5804 1.9497 16.0784 2.15597C16.5763 2.36223 16.972 2.75783 17.1783 3.25576L17.9014 5.00153L17.9012 4.99851Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCheckVerified',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M13 2L4.09344 12.6879C3.74463 13.1064 3.57023 13.3157 3.56756 13.4925C3.56524 13.6461 3.63372 13.7923 3.75324 13.8889C3.89073 14 4.16316 14 4.70802 14H12L11 22L19.9065 11.3121C20.2553 10.8936 20.4297 10.6843 20.4324 10.5075C20.4347 10.3539 20.3663 10.2077 20.2467 10.1111C20.1092 10 19.8368 10 19.292 10H12L13 2Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFlash',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2.5 12H5.88197C6.56717 12 7.19357 12.3871 7.5 13C7.80643 13.6129 8.43283 14 9.11803 14H14.882C15.5672 14 16.1936 13.6129 16.5 13C16.8064 12.3871 17.4328 12 18.118 12H21.5M8.96656 4H15.0334C16.1103 4 16.6487 4 17.1241 4.16396C17.5445 4.30896 17.9274 4.5456 18.2451 4.85675C18.6043 5.2086 18.8451 5.6902 19.3267 6.65337L21.4932 10.9865C21.6822 11.3645 21.7767 11.5535 21.8434 11.7515C21.9026 11.9275 21.9453 12.1085 21.971 12.2923C22 12.4992 22 12.7105 22 13.1331V15.2C22 16.8802 22 17.7202 21.673 18.362C21.3854 18.9265 20.9265 19.3854 20.362 19.673C19.7202 20 18.8802 20 17.2 20H6.8C5.11984 20 4.27976 20 3.63803 19.673C3.07354 19.3854 2.6146 18.9265 2.32698 18.362C2 17.7202 2 16.8802 2 15.2V13.1331C2 12.7105 2 12.4992 2.02897 12.2923C2.05471 12.1085 2.09744 11.9275 2.15662 11.7515C2.22326 11.5535 2.31776 11.3645 2.50675 10.9865L4.67331 6.65337C5.1549 5.69019 5.3957 5.2086 5.75495 4.85675C6.07263 4.5456 6.45551 4.30896 6.87589 4.16396C7.35125 4 7.88969 4 8.96656 4Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconInbox',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7 14.5H17M6 10H6.01M10 10H10.01M14 10H14.01M18 10H18.01M5.2 18H18.8C19.9201 18 20.4802 18 20.908 17.782C21.2843 17.5903 21.5903 17.2843 21.782 16.908C22 16.4802 22 15.9201 22 14.8V9.2C22 8.0799 22 7.51984 21.782 7.09202C21.5903 6.71569 21.2843 6.40973 20.908 6.21799C20.4802 6 19.9201 6 18.8 6H5.2C4.07989 6 3.51984 6 3.09202 6.21799C2.71569 6.40973 2.40973 6.71569 2.21799 7.09202C2 7.51984 2 8.07989 2 9.2V14.8C2 15.9201 2 16.4802 2.21799 16.908C2.40973 17.2843 2.71569 17.5903 3.09202 17.782C3.51984 18 4.0799 18 5.2 18Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconKeyboard',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17.7453 16C18.5362 14.8661 19 13.4872 19 12C19 11.4851 18.9444 10.9832 18.8389 10.5M6.25469 16C5.46381 14.8662 5 13.4872 5 12C5 8.13401 8.13401 5 12 5C12.4221 5 12.8355 5.03737 13.2371 5.10897M16.4999 7.5L11.9999 12M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM13 12C13 12.5523 12.5523 13 12 13C11.4477 13 11 12.5523 11 12C11 11.4477 11.4477 11 12 11C12.5523 11 13 11.4477 13 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconSpeedoMeter',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 16V12M12 8H12.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconInfoCircle',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17 8.99994C17 8.48812 16.8047 7.9763 16.4142 7.58579C16.0237 7.19526 15.5118 7 15 7M15 15C18.3137 15 21 12.3137 21 9C21 5.68629 18.3137 3 15 3C11.6863 3 9 5.68629 9 9C9 9.27368 9.01832 9.54308 9.05381 9.80704C9.11218 10.2412 9.14136 10.4583 9.12172 10.5956C9.10125 10.7387 9.0752 10.8157 9.00469 10.9419C8.937 11.063 8.81771 11.1823 8.57913 11.4209L3.46863 16.5314C3.29568 16.7043 3.2092 16.7908 3.14736 16.8917C3.09253 16.9812 3.05213 17.0787 3.02763 17.1808C3 17.2959 3 17.4182 3 17.6627V19.4C3 19.9601 3 20.2401 3.10899 20.454C3.20487 20.6422 3.35785 20.7951 3.54601 20.891C3.75992 21 4.03995 21 4.6 21H7V19H9V17H11L12.5791 15.4209C12.8177 15.1823 12.937 15.063 13.0581 14.9953C13.1843 14.9248 13.2613 14.8987 13.4044 14.8783C13.5417 14.8586 13.7588 14.8878 14.193 14.9462C14.4569 14.9817 14.7263 15 15 15Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconKey',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.80688 18.5304C5.82459 18.5005 5.84273 18.4709 5.8613 18.4413C7.2158 16.2881 7.99991 13.7418 7.99991 11C7.99991 8.79086 9.79077 7 11.9999 7C14.209 7 15.9999 8.79086 15.9999 11C15.9999 12.017 15.9307 13.0186 15.7966 14M13.6792 20.8436C14.2909 19.6226 14.7924 18.3369 15.1707 17M19.0097 18.132C19.6547 15.8657 20 13.4732 20 11C20 6.58172 16.4183 3 12 3C10.5429 3 9.17669 3.38958 8 4.07026M3 15.3641C3.64066 14.0454 4 12.5646 4 11C4 9.54285 4.38958 8.17669 5.07026 7M11.9999 11C11.9999 14.5172 10.9911 17.7988 9.24707 20.5712\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFingerprint',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6.91822 3.38565C8.40742 2.50524 10.1447 2 12 2C17.5228 2 22 6.47715 22 12C22 12.0331 21.9998 12.0662 21.9995 12.0993M3.38114 6.92585C2.50352 8.41335 2 10.1479 2 12C2 16.6596 5.18693 20.5748 9.5 21.685M20.7076 16.9206C19.3872 19.2522 17.1574 21.001 14.5 21.685M14.0893 6.37378C13.4387 6.13207 12.7348 6 12 6C8.68629 6 6 8.68629 6 12C6 12.7387 6.13351 13.4463 6.37772 14.0999M17.6251 9.90767C17.8675 10.5591 18 11.2641 18 12C18 15.3137 15.3137 18 12 18C11.2701 18 10.5707 17.8697 9.92373 17.631M12 10V14\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFingerprintLock',\n};\n</script>","\n<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 18V6.35537C9 5.87383 9 5.63306 9.0876 5.43778C9.16482 5.26565 9.28917 5.11887 9.44627 5.0144C9.62449 4.89588 9.86198 4.8563 10.337 4.77714L19.137 3.31047C19.7779 3.20364 20.0984 3.15023 20.3482 3.243C20.5674 3.32441 20.7511 3.48005 20.8674 3.68286C21 3.91398 21 4.23889 21 4.8887V16M9 18C9 19.6568 7.65685 21 6 21C4.34315 21 3 19.6568 3 18C3 16.3431 4.34315 15 6 15C7.65685 15 9 16.3431 9 18ZM21 16C21 17.6568 19.6569 19 18 19C16.3431 19 15 17.6568 15 16C15 14.3431 16.3431 13 18 13C19.6569 13 21 14.3431 21 16Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMusicNote',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7.5 4.5C7.5 3.11929 8.61929 2 10 2C11.3807 2 12.5 3.11929 12.5 4.5V6H13.5C14.8978 6 15.5967 6 16.1481 6.22836C16.8831 6.53284 17.4672 7.11687 17.7716 7.85195C18 8.40326 18 9.10218 18 10.5H19.5C20.8807 10.5 22 11.6193 22 13C22 14.3807 20.8807 15.5 19.5 15.5H18V17.2C18 18.8802 18 19.7202 17.673 20.362C17.3854 20.9265 16.9265 21.3854 16.362 21.673C15.7202 22 14.8802 22 13.2 22H12.5V20.25C12.5 19.0074 11.4926 18 10.25 18C9.00736 18 8 19.0074 8 20.25V22H6.8C5.11984 22 4.27976 22 3.63803 21.673C3.07354 21.3854 2.6146 20.9265 2.32698 20.362C2 19.7202 2 18.8802 2 17.2V15.5H3.5C4.88071 15.5 6 14.3807 6 13C6 11.6193 4.88071 10.5 3.5 10.5H2C2 9.10218 2 8.40326 2.22836 7.85195C2.53284 7.11687 3.11687 6.53284 3.85195 6.22836C4.40326 6 5.10218 6 6.5 6H7.5V4.5Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconPuzzle',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M21.5813 7.19989C21.4733 6.76846 21.2534 6.37318 20.9438 6.05395C20.6341 5.73473 20.2457 5.50287 19.8178 5.3818C18.2542 5 12 5 12 5C12 5 5.74578 5 4.18222 5.41816C3.75429 5.53923 3.36588 5.77109 3.05623 6.09031C2.74659 6.40954 2.52666 6.80482 2.41868 7.23625C2.13253 8.82303 1.99255 10.4327 2.00052 12.0451C1.99032 13.6696 2.1303 15.2916 2.41868 16.8903C2.53773 17.3083 2.76258 17.6886 3.0715 17.9943C3.38043 18.3 3.76299 18.5209 4.18222 18.6357C5.74578 19.0538 12 19.0538 12 19.0538C12 19.0538 18.2542 19.0538 19.8178 18.6357C20.2457 18.5146 20.6341 18.2827 20.9438 17.9635C21.2534 17.6443 21.4733 17.249 21.5813 16.8176C21.8653 15.2427 22.0052 13.6453 21.9995 12.0451C22.0097 10.4206 21.8697 8.79862 21.5813 7.19989Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M9.75 9.46533C9.75 8.98805 9.75 8.74941 9.84974 8.61618C9.93666 8.50008 10.0697 8.42744 10.2144 8.4171C10.3804 8.40525 10.5811 8.53429 10.9826 8.79239L14.9254 11.3271C15.2738 11.551 15.448 11.663 15.5082 11.8054C15.5607 11.9298 15.5607 12.0702 15.5082 12.1946C15.448 12.337 15.2738 12.449 14.9254 12.6729L10.9826 15.2076C10.5811 15.4657 10.3804 15.5948 10.2144 15.5829C10.0697 15.5726 9.93666 15.4999 9.84974 15.3838C9.75 15.2506 9.75 15.012 9.75 14.5347V9.46533Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconVideo',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 9L9 15M9 9L15 15M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCloseCircle',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17 9L11 15M11 9L17 15M2.72 12.96L7.04 18.72C7.392 19.1893 7.568 19.424 7.79105 19.5932C7.9886 19.7432 8.21232 19.855 8.45077 19.9231C8.72 20 9.01334 20 9.6 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H9.6C9.01334 4 8.72 4 8.45077 4.07689C8.21232 4.14499 7.9886 4.25685 7.79105 4.40675C7.568 4.576 7.392 4.81067 7.04 5.28L2.72 11.04C2.46181 11.3843 2.33271 11.5564 2.28294 11.7454C2.23902 11.9123 2.23902 12.0877 2.28294 12.2546C2.33271 12.4436 2.46181 12.6157 2.72 12.96Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconEditorDelete',\n};\n</script>\n","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 3V21M7.8 3H16.2C17.8802 3 18.7202 3 19.362 3.32698C19.9265 3.6146 20.3854 4.07354 20.673 4.63803C21 5.27976 21 6.11984 21 7.8V16.2C21 17.8802 21 18.7202 20.673 19.362C20.3854 19.9265 19.9265 20.3854 19.362 20.673C18.7202 21 17.8802 21 16.2 21H7.8C6.11984 21 5.27976 21 4.63803 20.673C4.07354 20.3854 3.6146 19.9265 3.32698 19.362C3 18.7202 3 17.8802 3 16.2V7.8C3 6.11984 3 5.27976 3.32698 4.63803C3.6146 4.07354 4.07354 3.6146 4.63803 3.32698C5.27976 3 6.11984 3 7.8 3Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconLayoutRight'\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4.5 22V17M4.5 7V2M2 4.5H7M2 19.5H7M13 3L11.2658 7.50886C10.9838 8.24209 10.8428 8.60871 10.6235 8.91709C10.4292 9.1904 10.1904 9.42919 9.91709 9.62353C9.60871 9.8428 9.24209 9.98381 8.50886 10.2658L4 12L8.50886 13.7342C9.24209 14.0162 9.60871 14.1572 9.91709 14.3765C10.1904 14.5708 10.4292 14.8096 10.6235 15.0829C10.8428 15.3913 10.9838 15.7579 11.2658 16.4911L13 21L14.7342 16.4911C15.0162 15.7579 15.1572 15.3913 15.3765 15.0829C15.5708 14.8096 15.8096 14.5708 16.0829 14.3765C16.3913 14.1572 16.7579 14.0162 17.4911 13.7342L22 12L17.4911 10.2658C16.7579 9.98381 16.3913 9.8428 16.0829 9.62353C15.8096 9.42919 15.5708 9.1904 15.3765 8.91709C15.1572 8.60871 15.0162 8.24209 14.7342 7.50886L13 3Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconStars',\n};\n</script>","<template>\n <svg fill=\"currentColor\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M22.269 19.385H1.731a1.73 1.73 0 0 1-1.73-1.73V6.345a1.73 1.73 0 0 1 1.73-1.73h20.538a1.73 1.73 0 0 1 1.73 1.73v11.308a1.73 1.73 0 0 1-1.73 1.731zm-16.5-3.462v-4.5l2.308 2.885 2.307-2.885v4.5h2.308V8.078h-2.308l-2.307 2.885-2.308-2.885H3.461v7.847zM21.231 12h-2.308V8.077h-2.307V12h-2.308l3.461 4.039z\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMarkdown',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 13L12 18L17 13M7 6L12 11L17 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconChevronDownDouble',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17 18L12 13L7 18M17 11L12 6L7 11\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconChevronUpDouble',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 2V4M15 2V4M9 20V22M15 20V22M20 9H22M20 14H22M2 9H4M2 14H4M8.8 20H15.2C16.8802 20 17.7202 20 18.362 19.673C18.9265 19.3854 19.3854 18.9265 19.673 18.362C20 17.7202 20 16.8802 20 15.2V8.8C20 7.11984 20 6.27976 19.673 5.63803C19.3854 5.07354 18.9265 4.6146 18.362 4.32698C17.7202 4 16.8802 4 15.2 4H8.8C7.11984 4 6.27976 4 5.63803 4.32698C5.07354 4.6146 4.6146 5.07354 4.32698 5.63803C4 6.27976 4 7.11984 4 8.8V15.2C4 16.8802 4 17.7202 4.32698 18.362C4.6146 18.9265 5.07354 19.3854 5.63803 19.673C6.27976 20 7.11984 20 8.8 20ZM10.6 15H13.4C13.9601 15 14.2401 15 14.454 14.891C14.6422 14.7951 14.7951 14.6422 14.891 14.454C15 14.2401 15 13.9601 15 13.4V10.6C15 10.0399 15 9.75992 14.891 9.54601C14.7951 9.35785 14.6422 9.20487 14.454 9.10899C14.2401 9 13.9601 9 13.4 9H10.6C10.0399 9 9.75992 9 9.54601 9.10899C9.35785 9.20487 9.20487 9.35785 9.10899 9.54601C9 9.75992 9 10.0399 9 10.6V13.4C9 13.9601 9 14.2401 9.10899 14.454C9.20487 14.6422 9.35785 14.7951 9.54601 14.891C9.75992 15 10.0399 15 10.6 15Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCpuChip',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M21.5 18L14.8571 12M9.14286 12L2.50003 18M2 7L10.1649 12.7154C10.8261 13.1783 11.1567 13.4097 11.5163 13.4993C11.8339 13.5785 12.1661 13.5785 12.4837 13.4993C12.8433 13.4097 13.1739 13.1783 13.8351 12.7154L22 7M6.8 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H6.8C5.11984 4 4.27976 4 3.63803 4.32698C3.07354 4.6146 2.6146 5.07354 2.32698 5.63803C2 6.27976 2 7.11984 2 8.8V15.2C2 16.8802 2 17.7202 2.32698 18.362C2.6146 18.9265 3.07354 19.3854 3.63803 19.673C4.27976 20 5.11984 20 6.8 20Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconEmail',\n};\n</script>\n","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.4 3H4.6C4.03995 3 3.75992 3 3.54601 3.10899C3.35785 3.20487 3.20487 3.35785 3.10899 3.54601C3 3.75992 3 4.03995 3 4.6V8.4C3 8.96005 3 9.24008 3.10899 9.45399C3.20487 9.64215 3.35785 9.79513 3.54601 9.89101C3.75992 10 4.03995 10 4.6 10H8.4C8.96005 10 9.24008 10 9.45399 9.89101C9.64215 9.79513 9.79513 9.64215 9.89101 9.45399C10 9.24008 10 8.96005 10 8.4V4.6C10 4.03995 10 3.75992 9.89101 3.54601C9.79513 3.35785 9.64215 3.20487 9.45399 3.10899C9.24008 3 8.96005 3 8.4 3Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M19.4 3H15.6C15.0399 3 14.7599 3 14.546 3.10899C14.3578 3.20487 14.2049 3.35785 14.109 3.54601C14 3.75992 14 4.03995 14 4.6V8.4C14 8.96005 14 9.24008 14.109 9.45399C14.2049 9.64215 14.3578 9.79513 14.546 9.89101C14.7599 10 15.0399 10 15.6 10H19.4C19.9601 10 20.2401 10 20.454 9.89101C20.6422 9.79513 20.7951 9.64215 20.891 9.45399C21 9.24008 21 8.96005 21 8.4V4.6C21 4.03995 21 3.75992 20.891 3.54601C20.7951 3.35785 20.6422 3.20487 20.454 3.10899C20.2401 3 19.9601 3 19.4 3Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M19.4 14H15.6C15.0399 14 14.7599 14 14.546 14.109C14.3578 14.2049 14.2049 14.3578 14.109 14.546C14 14.7599 14 15.0399 14 15.6V19.4C14 19.9601 14 20.2401 14.109 20.454C14.2049 20.6422 14.3578 20.7951 14.546 20.891C14.7599 21 15.0399 21 15.6 21H19.4C19.9601 21 20.2401 21 20.454 20.891C20.6422 20.7951 20.7951 20.6422 20.891 20.454C21 20.2401 21 19.9601 21 19.4V15.6C21 15.0399 21 14.7599 20.891 14.546C20.7951 14.3578 20.6422 14.2049 20.454 14.109C20.2401 14 19.9601 14 19.4 14Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M8.4 14H4.6C4.03995 14 3.75992 14 3.54601 14.109C3.35785 14.2049 3.20487 14.3578 3.10899 14.546C3 14.7599 3 15.0399 3 15.6V19.4C3 19.9601 3 20.2401 3.10899 20.454C3.20487 20.6422 3.35785 20.7951 3.54601 20.891C3.75992 21 4.03995 21 4.6 21H8.4C8.96005 21 9.24008 21 9.45399 20.891C9.64215 20.7951 9.79513 20.6422 9.89101 20.454C10 20.2401 10 19.9601 10 19.4V15.6C10 15.0399 10 14.7599 9.89101 14.546C9.79513 14.3578 9.64215 14.2049 9.45399 14.109C9.24008 14 8.96005 14 8.4 14Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconGrid',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 12H12.005M17 12H17.005M7 12H7.005M5.2 7H18.8C19.9201 7 20.4802 7 20.908 7.21799C21.2843 7.40973 21.5903 7.71569 21.782 8.09202C22 8.51984 22 9.0799 22 10.2V13.8C22 14.9201 22 15.4802 21.782 15.908C21.5903 16.2843 21.2843 16.5903 20.908 16.782C20.4802 17 19.9201 17 18.8 17H5.2C4.0799 17 3.51984 17 3.09202 16.782C2.71569 16.5903 2.40973 16.2843 2.21799 15.908C2 15.4802 2 14.9201 2 13.8V10.2C2 9.0799 2 8.51984 2.21799 8.09202C2.40973 7.71569 2.71569 7.40973 3.09202 7.21799C3.51984 7 4.0799 7 5.2 7ZM12.25 12C12.25 12.1381 12.1381 12.25 12 12.25C11.8619 12.25 11.75 12.1381 11.75 12C11.75 11.8619 11.8619 11.75 12 11.75C12.1381 11.75 12.25 11.8619 12.25 12ZM17.25 12C17.25 12.1381 17.1381 12.25 17 12.25C16.8619 12.25 16.75 12.1381 16.75 12C16.75 11.8619 16.8619 11.75 17 11.75C17.1381 11.75 17.25 11.8619 17.25 12ZM7.25 12C7.25 12.1381 7.13807 12.25 7 12.25C6.86193 12.25 6.75 12.1381 6.75 12C6.75 11.8619 6.86193 11.75 7 11.75C7.13807 11.75 7.25 11.8619 7.25 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconPasscode',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M22.0006 12.1171C22.0006 6.5296 17.471 2 11.8835 2C7.34846 2 3.51036 4.98385 2.22531 9.0954C2.143 9.35878 2.10184 9.49047 2.10572 9.65514C2.10888 9.78904 2.14958 9.95446 2.20891 10.0745C2.28188 10.2222 2.39454 10.3349 2.61986 10.5602L13.4409 21.3807C13.6662 21.606 13.7788 21.7187 13.9265 21.7916C14.0466 21.8509 14.212 21.8916 14.3459 21.8948C14.5106 21.8987 14.6423 21.8575 14.9057 21.7752C19.017 20.49 22.0006 16.652 22.0006 12.1171Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M3.4468 9.7341C3.6873 9.71699 3.93013 9.70829 4.17499 9.70829C9.76253 9.70829 14.2921 14.2379 14.2921 19.8254C14.2921 20.0703 14.2834 20.3131 14.2663 20.5536C14.2364 20.9738 14.2215 21.1839 14.099 21.3137C13.9995 21.4191 13.8298 21.4824 13.6856 21.468C13.508 21.4502 13.3466 21.2887 13.0236 20.9658L3.03464 10.9768C2.71171 10.6539 2.55024 10.4924 2.53246 10.3148C2.51801 10.1706 2.58136 10.0009 2.68675 9.9014C2.81651 9.77892 3.02661 9.76398 3.4468 9.7341Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconStickerCircle',\n};\n</script>","<template>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\"\n role=\"img\"\n width=\"24\"\n height=\"24\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 24 24\"\n >\n <g clip-path=\"url(#clip0_110_6)\">\n <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"url(#paint0_linear_110_6)\"/>\n <path d=\"M17.8406 6.90468L15.6984 17.7094C15.6984 17.7094 15.3984 18.4594 14.5734 18.0984L9.62811 14.3062L7.82811 13.4391L4.79999 12.4219C4.79999 12.4219 4.33592 12.2578 4.28905 11.8969C4.24217 11.5359 4.81405 11.3437 4.81405 11.3437L16.8515 6.62343C16.8515 6.61874 17.8406 6.1828 17.8406 6.90468Z\" fill=\"white\"/>\n <path d=\"M9.24375 17.5875C9.24375 17.5875 9.09844 17.5734 8.92031 17.0062C8.74219 16.439 7.82812 13.439 7.82812 13.439L15.0984 8.82185C15.0984 8.82185 15.5203 8.56873 15.5016 8.82185C15.5016 8.82185 15.5766 8.86873 15.3516 9.07498C15.1266 9.28591 9.64219 14.2172 9.64219 14.2172\" fill=\"#D2E4F0\"/>\n <path d=\"M11.5219 15.7594L9.56716 17.5453C9.56716 17.5453 9.41248 17.6625 9.24841 17.5875L9.62341 14.2734\" fill=\"#B5CFE4\"/>\n </g>\n <defs>\n <linearGradient id=\"paint0_linear_110_6\" x1=\"12\" y1=\"0\" x2=\"12\" y2=\"23.9124\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#41BCE7\"/>\n <stop offset=\"1\" stop-color=\"#22A6DC\"/>\n </linearGradient>\n <clipPath id=\"clip0_110_6\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorTelegram',\n};\n</script>","<template>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\"\n role=\"img\"\n width=\"24\"\n height=\"24\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 24 24\"\n >\n <g clip-path=\"url(#clip0_110_2)\">\n <path d=\"M24 12C24 18.6281 18.6281 24 12 24C5.37188 24 0 18.6281 0 12C0 5.37188 5.37188 0 12 0C18.6281 0 24 5.37188 24 12Z\" fill=\"#F26522\"/>\n <path d=\"M7.57501 17.5266C6.67033 17.5266 5.93907 16.7953 5.93907 15.8906C5.93907 14.9859 6.67033 14.2547 7.57501 14.2547C8.4797 14.2547 9.21095 14.9859 9.21095 15.8906C9.21095 16.7906 8.4797 17.5266 7.57501 17.5266ZM11.4844 17.5266C11.4516 14.4797 8.98126 12.0094 5.93439 11.9766V9.55311C10.3266 9.58593 13.875 13.1391 13.9078 17.5266H11.4844ZM15.5906 17.5266C15.5813 14.9484 14.5734 12.5203 12.75 10.6969C10.9266 8.87343 8.50782 7.86561 5.93439 7.85624V5.4328C12.6 5.45624 18 10.8609 18.0141 17.5266H15.5906Z\" fill=\"white\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_110_2\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorFeed',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_1_18)\">\n <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"#1CB7EB\"/>\n <path d=\"M18.4 7.7C17.95 7.95 17.4 8.1 16.9 8.15C17.45 7.8 17.85 7.25 18.05 6.6C17.55 6.9 17 7.15 16.35 7.3C15.85 6.75 15.2 6.4 14.45 6.4C13 6.4 11.8 7.65 11.8 9.25C11.8 9.45 11.8 9.7 11.85 9.9C9.65001 9.8 7.70001 8.65 6.40001 6.95C6.15001 7.35 6.05001 7.85 6.05001 8.4C6.05001 9.4 6.50001 10.25 7.20001 10.75C6.75001 10.75 6.35001 10.6 6.00001 10.4V10.45C6.00001 11.8 6.90001 12.95 8.10001 13.25C7.90001 13.3 7.65001 13.35 7.40001 13.35C7.25001 13.35 7.05001 13.35 6.90001 13.3C7.25001 14.45 8.20001 15.25 9.35001 15.25C8.45001 16 7.30001 16.45 6.10001 16.45C5.90001 16.45 5.70001 16.45 5.45001 16.4C6.60001 17.2 8.00001 17.7 9.50001 17.7C14.35 17.7 17 13.4 17 9.65C17 9.55 17 9.4 17 9.3C17.6 8.8 18.05 8.3 18.4 7.7Z\" fill=\"white\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_1_18\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorTwitter',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_1_26)\">\n <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"#4E71A8\"/>\n <path d=\"M14.95 9.75H12.95V8.45C12.95 7.95 13.3 7.85 13.5 7.85C13.75 7.85 14.9 7.85 14.9 7.85V5.65H12.95C10.75 5.65 10.3 7.3 10.3 8.3V9.75H9.05V12H10.3C10.3 14.9 10.3 18.35 10.3 18.35H12.95C12.95 18.35 12.95 14.85 12.95 12H14.75L14.95 9.75Z\" fill=\"white\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_1_26\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorFacebook',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_1_23)\">\n <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"#1686B0\"/>\n <path d=\"M8.7 17.45H6.4V10.05H8.7V17.45ZM7.45 9.1C6.6 9.1 6.05 8.55 6.05 7.8C6.05 7.05 6.6 6.5 7.45 6.5C8.3 6.5 8.85 7.05 8.85 7.8C8.85 8.55 8.35 9.1 7.45 9.1ZM17.95 17.45H15.3V13.6C15.3 12.6 14.9 11.9 14 11.9C13.3 11.9 12.95 12.35 12.75 12.8C12.7 12.95 12.7 13.2 12.7 13.4V17.4H10.1C10.1 17.4 10.15 10.6 10.1 10H12.7V11.15C12.85 10.65 13.7 9.9 15 9.9C16.65 9.9 17.95 10.95 17.95 13.25V17.45Z\" fill=\"white\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_1_23\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorLinkedin',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_333_2)\">\n <mask id=\"mask0_333_2\" style=\"mask-type:luminance\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"24\" height=\"24\">\n <path d=\"M24 0H0V24H24V0Z\" fill=\"white\"/>\n </mask>\n <g mask=\"url(#mask0_333_2)\">\n <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"url(#paint0_linear_333_2)\"/>\n </g>\n <path d=\"M7 5.08235H8.98333L12.1333 11.7529L15.2833 5H17.2667L12.9111 13.4V19H11.3556V13.4L7 5.08235Z\" fill=\"white\"/>\n </g>\n <defs>\n <linearGradient id=\"paint0_linear_333_2\" x1=\"12\" y1=\"0\" x2=\"12\" y2=\"23.9124\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#FF6600\"/>\n <stop offset=\"1\" stop-color=\"#FF6600\"/>\n </linearGradient>\n <clipPath id=\"clip0_333_2\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorHackernews'\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_334_24)\">\n <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"url(#paint0_linear_334_24)\"/>\n <path d=\"M17.3608 8.16664C15.609 6.85399 13.9306 6.89088 13.9306 6.89088L13.759 7.08713C15.8417 7.71276 16.8095 8.63277 16.8095 8.63277C13.8298 6.99008 10.0345 7.00186 6.93522 8.63277C6.93522 8.63277 7.93978 7.66362 10.145 7.03799L10.0226 6.89073C10.0226 6.89073 8.35637 6.85399 6.59232 8.16649C6.59232 8.16649 4.82812 11.3436 4.82812 15.257C4.82812 15.257 5.85729 17.0235 8.56474 17.1094C8.56474 17.1094 9.01802 16.5696 9.38553 16.1035C7.82971 15.6374 7.24159 14.6682 7.24159 14.6682C8.21908 15.2807 9.20743 15.664 10.4392 15.9072C12.4431 16.3203 14.9357 15.8956 16.7975 14.6682C16.7975 14.6682 16.1849 15.6619 14.58 16.1157C14.9475 16.5696 15.3885 17.0971 15.3885 17.0971C18.096 17.0113 19.125 15.2447 19.125 15.2571C19.1248 11.3438 17.3608 8.16664 17.3608 8.16664ZM9.69174 14.1162C9.00563 14.1162 8.44213 13.5151 8.44213 12.7668C8.49227 10.9747 10.9037 10.9802 10.9414 12.7668C10.9414 13.5151 10.3899 14.1162 9.69174 14.1162ZM14.1632 14.1162C13.4771 14.1162 12.9136 13.5151 12.9136 12.7668C12.9687 10.9782 15.35 10.9775 15.4128 12.7668C15.4128 13.5151 14.8616 14.1162 14.1632 14.1162Z\" fill=\"white\"/>\n </g>\n <defs>\n <linearGradient id=\"paint0_linear_334_24\" x1=\"12\" y1=\"0\" x2=\"12\" y2=\"23.9124\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#9E9DF1\"/>\n <stop offset=\"1\" stop-color=\"#6665D2\"/>\n </linearGradient>\n <clipPath id=\"clip0_334_24\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorDiscord',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_334_15)\">\n <path d=\"M24 12C24 18.6281 18.6281 24 12 24C5.37188 24 0 18.6281 0 12C0 5.37188 5.37188 0 12 0C18.6281 0 24 5.37188 24 12Z\" fill=\"#00CF2E\"/>\n <path d=\"M20.1309 11.4465C20.1309 8.46055 16.602 5.20312 11.9873 5.20312C7.49139 5.20312 3.84375 7.84978 3.84375 11.4465C3.84375 14.765 6.68721 17.5067 10.6877 17.9105C10.8096 17.9205 10.9276 17.9581 11.0328 18.0204C11.138 18.0827 11.2277 18.1681 11.2951 18.2702C11.3912 18.4214 11.443 18.5966 11.4444 18.7757C11.4351 19.1439 11.3942 19.5106 11.3223 19.8717C11.3112 19.9207 11.3139 19.9717 11.3301 20.0192C11.3463 20.0668 11.3753 20.1088 11.414 20.1408C11.4526 20.1728 11.4994 20.1935 11.5491 20.2005C11.5988 20.2075 11.6495 20.2006 11.6955 20.1805C13.6126 19.3322 20.1309 15.8441 20.1309 11.4465Z\" fill=\"white\"/>\n <path d=\"M9.00464 12.9394H7.78311V10.0891C7.78311 9.98115 7.74021 9.87759 7.66385 9.80123C7.58749 9.72487 7.48392 9.68197 7.37593 9.68197C7.26794 9.68197 7.16437 9.72487 7.08801 9.80123C7.01165 9.87759 6.96875 9.98115 6.96875 10.0891V13.3466C6.96875 13.4546 7.01165 13.5581 7.08801 13.6345C7.16437 13.7109 7.26794 13.7537 7.37593 13.7537H9.00464C9.11263 13.7537 9.2162 13.7109 9.29256 13.6345C9.36892 13.5581 9.41182 13.4546 9.41182 13.3466C9.41182 13.2386 9.36892 13.135 9.29256 13.0587C9.2162 12.9823 9.11263 12.9394 9.00464 12.9394Z\" fill=\"#00CF2E\"/>\n <path d=\"M10.0844 9.68197C9.97643 9.68197 9.87287 9.72487 9.79651 9.80123C9.72014 9.87759 9.67725 9.98115 9.67725 10.0891V13.3466C9.67725 13.4546 9.72014 13.5581 9.79651 13.6345C9.87287 13.7109 9.97643 13.7537 10.0844 13.7537C10.1924 13.7537 10.296 13.7109 10.3723 13.6345C10.4487 13.5581 10.4916 13.4546 10.4916 13.3466V10.0891C10.4916 9.98115 10.4487 9.87759 10.3723 9.80123C10.296 9.72487 10.1924 9.68197 10.0844 9.68197Z\" fill=\"#00CF2E\"/>\n <path d=\"M13.8889 9.68197C13.8355 9.68197 13.7825 9.6925 13.7331 9.71296C13.6837 9.73342 13.6388 9.76342 13.601 9.80123C13.5632 9.83904 13.5332 9.88392 13.5127 9.93333C13.4923 9.98273 13.4817 10.0357 13.4817 10.0891V12.125L11.7852 9.84484C11.7339 9.77647 11.6624 9.72597 11.5808 9.70049C11.4993 9.67501 11.4117 9.67584 11.3307 9.70286C11.2496 9.72989 11.1791 9.78174 11.1291 9.85106C11.0791 9.92039 11.0522 10.0037 11.0522 10.0891V13.3466C11.0695 13.4401 11.1191 13.5247 11.1922 13.5855C11.2653 13.6464 11.3575 13.6797 11.4526 13.6797C11.5478 13.6797 11.6399 13.6464 11.7131 13.5855C11.7862 13.5247 11.8357 13.4401 11.853 13.3466V11.3107L13.5496 13.5909C13.5887 13.6435 13.64 13.6859 13.6991 13.7143C13.7582 13.7426 13.8234 13.7562 13.8889 13.7537C13.9327 13.7536 13.9762 13.7467 14.0179 13.7334C14.099 13.7063 14.1695 13.6544 14.2195 13.5849C14.2694 13.5155 14.2962 13.4321 14.2961 13.3466V10.0891C14.2961 10.0357 14.2856 9.98273 14.2651 9.93333C14.2446 9.88392 14.2147 9.83904 14.1768 9.80123C14.139 9.76342 14.0941 9.73342 14.0447 9.71296C13.9953 9.6925 13.9424 9.68197 13.8889 9.68197Z\" fill=\"#00CF2E\"/>\n <path d=\"M16.8694 12.125C16.9229 12.125 16.9758 12.1145 17.0252 12.094C17.0746 12.0736 17.1195 12.0436 17.1573 12.0058C17.1951 11.968 17.2251 11.9231 17.2456 11.8737C17.266 11.8243 17.2766 11.7713 17.2766 11.7179C17.2766 11.6644 17.266 11.6114 17.2456 11.562C17.2251 11.5126 17.1951 11.4677 17.1573 11.4299C17.1195 11.3921 17.0746 11.3621 17.0252 11.3417C16.9758 11.3212 16.9229 11.3107 16.8694 11.3107H15.6479V10.4963H16.8694C16.9774 10.4963 17.0809 10.4534 17.1573 10.3771C17.2337 10.3007 17.2766 10.1971 17.2766 10.0891C17.2766 9.98115 17.2337 9.87759 17.1573 9.80123C17.0809 9.72487 16.9774 9.68197 16.8694 9.68197H15.2407C15.1327 9.68197 15.0291 9.72487 14.9528 9.80123C14.8764 9.87759 14.8335 9.98115 14.8335 10.0891V13.3466C14.8335 13.4546 14.8764 13.5581 14.9528 13.6345C15.0291 13.7109 15.1327 13.7537 15.2407 13.7537H16.8694C16.9774 13.7537 17.0809 13.7109 17.1573 13.6345C17.2337 13.5581 17.2766 13.4546 17.2766 13.3466C17.2766 13.2386 17.2337 13.135 17.1573 13.0587C17.0809 12.9823 16.9774 12.9394 16.8694 12.9394H15.6479V12.125H16.8694Z\" fill=\"#00CF2E\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_334_15\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorLine',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_366_22)\">\n <mask id=\"mask0_366_22\" style=\"mask-type:luminance\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"24\" height=\"24\">\n <path d=\"M24 0H0V24H24V0Z\" fill=\"white\"/>\n </mask>\n <g mask=\"url(#mask0_366_22)\">\n <path d=\"M24 12C24 18.6281 18.6281 24 12 24C5.37188 24 0 18.6281 0 12C0 5.37188 5.37188 0 12 0C18.6281 0 24 5.37188 24 12Z\" fill=\"#1185FE\"/>\n </g>\n <path d=\"M7.75145 7.30926C9.47116 8.59796 11.3209 11.2109 12 12.6132C12.6792 11.211 14.5289 8.59793 16.2486 7.30926C17.4895 6.37939 19.5 5.6599 19.5 7.94934C19.5 8.40657 19.2374 11.7903 19.0833 12.3397C18.5479 14.2495 16.5969 14.7367 14.8614 14.4418C17.895 14.9572 18.6667 16.6643 17.0001 18.3714C13.8348 21.6134 12.4507 17.5579 12.0959 16.5187C12.0309 16.3282 12.0004 16.2391 12 16.3149C11.9995 16.2391 11.9691 16.3282 11.9041 16.5187C11.5494 17.5579 10.1653 21.6135 6.99992 18.3714C5.33327 16.6643 6.10496 14.9571 9.13862 14.4418C7.40308 14.7367 5.452 14.2495 4.91666 12.3397C4.76262 11.7903 4.5 8.40652 4.5 7.94934C4.5 5.6599 6.51056 6.37939 7.75136 7.30926H7.75145Z\" fill=\"white\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_366_22\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorBluesky',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_366_40)\">\n <mask id=\"mask0_366_40\" style=\"mask-type:luminance\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"24\" height=\"24\">\n <path d=\"M24 0H0V24H24V0Z\" fill=\"white\"/>\n </mask>\n <g mask=\"url(#mask0_366_40)\">\n <path d=\"M24 12C24 18.6281 18.6281 24 12 24C5.37188 24 0 18.6281 0 12C0 5.37188 5.37188 0 12 0C18.6281 0 24 5.37188 24 12Z\" fill=\"#2B90D9\"/>\n </g>\n <path d=\"M18.5075 13.7991C18.3077 14.8271 16.7178 15.9522 14.8918 16.1702C13.9396 16.2838 13.0021 16.3882 12.0024 16.3424C10.3676 16.2675 9.07753 15.9522 9.07753 15.9522C9.07753 16.1113 9.08735 16.2629 9.10698 16.4046C9.31952 18.018 10.7068 18.1147 12.021 18.1597C13.3474 18.2051 14.5284 17.8327 14.5284 17.8327L14.5829 19.0318C14.5829 19.0318 13.6551 19.53 12.0024 19.6217C11.0911 19.6717 9.95951 19.5987 8.64153 19.2499C5.78304 18.4933 5.29145 15.4463 5.21623 12.3546C5.1933 11.4367 5.20743 10.5711 5.20743 9.84716C5.20743 6.68576 7.27879 5.7591 7.27879 5.7591C8.32322 5.27944 10.1154 5.07773 11.9785 5.0625H12.0243C13.8874 5.07773 15.6807 5.27944 16.7251 5.7591C16.7251 5.7591 18.7964 6.68576 18.7964 9.84716C18.7964 9.84716 18.8223 12.1797 18.5075 13.7991Z\" fill=\"white\"/>\n <path d=\"M16.3531 10.0924V13.9204H14.8366V10.2049C14.8366 9.42173 14.5071 9.0242 13.8479 9.0242C13.1191 9.0242 12.7539 9.49577 12.7539 10.4282V12.4619H11.2463V10.4282C11.2463 9.49577 10.8809 9.0242 10.1521 9.0242C9.49297 9.0242 9.16343 9.42173 9.16343 10.2049V13.9204H7.64688V10.0924C7.64688 9.31008 7.84608 8.68839 8.2462 8.22843C8.65881 7.76848 9.19916 7.5327 9.86993 7.5327C10.646 7.5327 11.2337 7.83098 11.6223 8.42763L12 9.06087L12.3778 8.42763C12.7663 7.83098 13.354 7.5327 14.1302 7.5327C14.8009 7.5327 15.3412 7.76848 15.7539 8.22843C16.1539 8.68839 16.3531 9.31008 16.3531 10.0924Z\" fill=\"#2B90D9\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_366_40\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorMastodon',\n};\n</script>\n","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g clip-path=\"url(#clip0_368_59)\">\n<mask id=\"mask0_368_59\" style=\"mask-type:luminance\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"24\" height=\"24\">\n<path d=\"M24 0H0V24H24V0Z\" fill=\"white\"/>\n</mask>\n<g mask=\"url(#mask0_368_59)\">\n<path d=\"M24 12C24 18.6281 18.6281 24 12 24C5.37188 24 0 18.6281 0 12C0 5.37188 5.37188 0 12 0C18.6281 0 24 5.37188 24 12Z\" fill=\"url(#paint0_linear_368_59)\"/>\n</g>\n<path d=\"M8.66519 12.3158H11.9967V15.4737M6.00666 12.3158H6M9.33815 15.4737H9.33148M12.0033 18H11.9967M18 12.3158H17.9933M6 15.4737H6.99944M14.3287 12.3158H15.6613M6 18H9.33148M11.9967 6V9.78947M15.7279 18H16.9273C17.3004 18 17.487 18 17.6295 17.9312C17.7549 17.8706 17.8568 17.774 17.9207 17.6552C17.9933 17.52 17.9933 17.3432 17.9933 16.9895V15.8526C17.9933 15.4989 17.9933 15.3221 17.9207 15.187C17.8568 15.0681 17.7549 14.9715 17.6295 14.9109C17.487 14.8421 17.3004 14.8421 16.9273 14.8421H15.7279C15.3548 14.8421 15.1682 14.8421 15.0257 14.9109C14.9003 14.9715 14.7984 15.0681 14.7345 15.187C14.6619 15.3221 14.6619 15.4989 14.6619 15.8526V16.9895C14.6619 17.3432 14.6619 17.52 14.7345 17.6552C14.7984 17.774 14.9003 17.8706 15.0257 17.9312C15.1682 18 15.3548 18 15.7279 18ZM15.7279 9.78947H16.9273C17.3004 9.78947 17.487 9.78947 17.6295 9.72064C17.7549 9.66008 17.8568 9.56346 17.9207 9.44463C17.9933 9.30952 17.9933 9.13266 17.9933 8.77895V7.64211C17.9933 7.28839 17.9933 7.11153 17.9207 6.97643C17.8568 6.85759 17.7549 6.76097 17.6295 6.70042C17.487 6.63158 17.3004 6.63158 16.9273 6.63158H15.7279C15.3548 6.63158 15.1682 6.63158 15.0257 6.70042C14.9003 6.76097 14.7984 6.85759 14.7345 6.97643C14.6619 7.11153 14.6619 7.28839 14.6619 7.64211V8.77895C14.6619 9.13266 14.6619 9.30952 14.7345 9.44463C14.7984 9.56346 14.9003 9.66008 15.0257 9.72064C15.1682 9.78947 15.3548 9.78947 15.7279 9.78947ZM7.06607 9.78947H8.26541C8.63857 9.78947 8.82515 9.78947 8.96768 9.72064C9.09305 9.66008 9.19498 9.56346 9.25886 9.44463C9.33148 9.30952 9.33148 9.13266 9.33148 8.77895V7.64211C9.33148 7.28839 9.33148 7.11153 9.25886 6.97643C9.19498 6.85759 9.09305 6.76097 8.96768 6.70042C8.82515 6.63158 8.63857 6.63158 8.26541 6.63158H7.06607C6.69291 6.63158 6.50633 6.63158 6.3638 6.70042C6.23843 6.76097 6.1365 6.85759 6.07262 6.97643C6 7.11153 6 7.28839 6 7.64211V8.77895C6 9.13266 6 9.30952 6.07262 9.44463C6.1365 9.56346 6.23843 9.66008 6.3638 9.72064C6.50633 9.78947 6.69291 9.78947 7.06607 9.78947Z\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</g>\n<defs>\n<linearGradient id=\"paint0_linear_368_59\" x1=\"12\" y1=\"0\" x2=\"12\" y2=\"24\" gradientUnits=\"userSpaceOnUse\">\n<stop stop-color=\"#585858\"/>\n<stop offset=\"1\" stop-color=\"#727272\"/>\n</linearGradient>\n<clipPath id=\"clip0_368_59\">\n<rect width=\"24\" height=\"24\" fill=\"white\"/>\n</clipPath>\n</defs>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorShare',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_377_78)\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 0C5.37 0 0 5.37 0 12C0 17.31 3.435 21.795 8.205 23.385C8.805 23.49 9.03 23.13 9.03 22.815C9.03 22.53 9.015 21.585 9.015 20.58C6 21.135 5.22 19.845 4.98 19.17C4.845 18.825 4.26 17.76 3.75 17.475C3.33 17.25 2.73 16.695 3.735 16.68C4.68 16.665 5.355 17.55 5.58 17.91C6.66 19.725 8.385 19.215 9.075 18.9C9.18 18.12 9.495 17.595 9.84 17.295C7.17 16.995 4.38 15.96 4.38 11.37C4.38 10.065 4.845 8.985 5.61 8.145C5.49 7.845 5.07 6.615 5.73 4.965C5.73 4.965 6.735 4.65 9.03 6.195C9.99 5.925 11.01 5.79 12.03 5.79C13.05 5.79 14.07 5.925 15.03 6.195C17.325 4.635 18.33 4.965 18.33 4.965C18.99 6.615 18.57 7.845 18.45 8.145C19.215 8.985 19.68 10.05 19.68 11.37C19.68 15.975 16.875 16.995 14.205 17.295C14.64 17.67 15.015 18.39 15.015 19.515C15.015 21.12 15 22.41 15 22.815C15 23.13 15.225 23.505 15.825 23.385C20.565 21.795 24 17.295 24 12C24 5.37 18.63 0 12 0Z\" fill=\"#1B1F23\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_377_78\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorGithub',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_377_86)\">\n <path d=\"M0.489643 15.4507C1.97335 20.3947 6.56217 24 11.9923 24C18.6239 24 24 18.6274 24 12C24 5.37262 18.6239 0 11.9923 0C5.62895 0 0.421724 4.94738 0.0104599 11.2028C0.78871 12.5066 1.09078 13.3132 0.488892 15.4507H0.489643Z\" fill=\"url(#paint0_linear_377_86)\"/>\n <path d=\"M11.3735 8.99439L11.3746 9.05364L8.4365 13.3193C7.96069 13.2975 7.48339 13.3811 7.0301 13.5675C6.83277 13.6477 6.64438 13.7482 6.46798 13.8675L0.0157134 11.2099C0.0157134 11.2099 -0.133633 13.6646 0.488517 15.4939L5.04995 17.3749C5.27509 18.3979 5.98055 19.2949 7.01696 19.7261C7.83234 20.0647 8.74885 20.066 9.5652 19.7298C10.3816 19.3936 11.031 18.7473 11.3709 17.9329C11.5522 17.4991 11.6397 17.0319 11.6276 16.5619L15.8276 13.56L15.9308 13.5619C18.4468 13.5619 20.4919 11.5121 20.4919 8.99439C20.4919 6.47664 18.4506 4.43439 15.9308 4.42914C13.4159 4.42914 11.3698 6.47664 11.3698 8.99439H11.3735ZM10.6681 17.6381C10.1225 18.9506 8.61699 19.5683 7.30852 19.0234C6.72788 18.7795 6.25724 18.3308 5.98617 17.7626L7.471 18.3776C7.70038 18.4731 7.94632 18.5224 8.19478 18.5228C8.44323 18.5232 8.68933 18.4746 8.91901 18.3799C9.14869 18.2852 9.35745 18.1463 9.53336 17.9709C9.70927 17.7956 9.84888 17.5873 9.94422 17.358C10.1373 16.8947 10.1384 16.3738 9.94739 15.9096C9.75637 15.4455 9.3888 15.0761 8.92544 14.8826L7.38695 14.247C7.97908 14.022 8.65226 14.0145 9.28192 14.2759C9.91983 14.5395 10.4076 15.036 10.6688 15.6709C10.93 16.3058 10.9285 17.0059 10.6651 17.6381M15.9349 12.0375C15.1287 12.0353 14.3562 11.7139 13.7867 11.1437C13.2171 10.5734 12.8969 9.80084 12.8962 8.99514C12.8971 8.18957 13.2174 7.41717 13.7869 6.84709C14.3565 6.27701 15.1289 5.9557 15.9349 5.95351C16.7412 5.9555 17.5137 6.27672 18.0834 6.84683C18.6531 7.41693 18.9735 8.18944 18.9744 8.99514C18.9737 9.80097 18.6534 10.5737 18.0837 11.1439C17.514 11.7142 16.7413 12.0355 15.9349 12.0375ZM13.658 8.99026C13.6575 8.3849 13.8975 7.8041 14.3253 7.37552C14.7531 6.94694 15.3337 6.70563 15.9394 6.70464C17.1984 6.70464 18.2224 7.72839 18.2224 8.99026C18.2227 9.59576 17.9824 10.1766 17.5543 10.6051C17.1262 11.0335 16.5453 11.2745 15.9394 11.2751C15.3338 11.2742 14.7532 11.0331 14.3253 10.6047C13.8975 10.1762 13.6577 9.59556 13.658 8.99026Z\" fill=\"white\"/>\n </g>\n <defs>\n <linearGradient id=\"paint0_linear_377_86\" x1=\"12.0052\" y1=\"0\" x2=\"12.0052\" y2=\"24\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#111D2E\"/>\n <stop offset=\"0.41\" stop-color=\"#0A1B48\"/>\n <stop offset=\"0.74\" stop-color=\"#144B7E\"/>\n <stop offset=\"1\" stop-color=\"#1387B8\"/>\n </linearGradient>\n <clipPath id=\"clip0_377_86\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorSteam',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_377_64)\">\n <mask id=\"mask0_377_64\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"24\" height=\"24\">\n <path d=\"M24 12C24 18.6281 18.6281 24 12 24C5.37188 24 0 18.6281 0 12C0 5.37188 5.37188 0 12 0C18.6281 0 24 5.37188 24 12Z\" fill=\"#F26522\"/>\n </mask>\n <g mask=\"url(#mask0_377_64)\">\n <path d=\"M12.0039 0C6.99403 0 5.52883 0.00516967 5.24402 0.0288024C4.2159 0.114287 3.57615 0.276208 2.87917 0.623314C2.34204 0.890106 1.91843 1.19936 1.50035 1.63288C0.738959 2.42347 0.277507 3.3961 0.110461 4.55226C0.0292458 5.11354 0.00561946 5.22801 0.000820359 8.09496C-0.00102545 9.05061 0.000820359 10.3083 0.000820359 11.9953C0.000820359 17.0025 0.00635778 18.4666 0.0303533 18.7509C0.113415 19.7516 0.270308 20.3812 0.602553 21.0699C1.23751 22.3882 2.45021 23.3778 3.87886 23.7471C4.37354 23.8745 4.9199 23.9446 5.6213 23.9778C5.91848 23.9908 8.94745 24 11.9783 24C15.0091 24 18.0399 23.9963 18.3297 23.9815C19.1418 23.9433 19.6134 23.88 20.1349 23.7452C21.5728 23.3741 22.7633 22.3992 23.4112 21.0625C23.737 20.3905 23.9022 19.7369 23.9769 18.7884C23.9932 18.5816 24 15.2847 24 11.9922C24 8.69907 23.9926 5.40821 23.9764 5.20142C23.9007 4.23765 23.7355 3.5896 23.3992 2.90462C23.1232 2.34389 22.8168 1.92515 22.372 1.49699C21.5781 0.738524 20.6072 0.276947 19.4503 0.11004C18.8897 0.0289871 18.778 0.00498504 15.9096 0H12.0039Z\" fill=\"url(#paint0_radial_377_64)\"/>\n <path d=\"M12.0039 0C6.99403 0 5.52883 0.00516967 5.24402 0.0288024C4.2159 0.114287 3.57615 0.276208 2.87917 0.623314C2.34204 0.890106 1.91843 1.19936 1.50035 1.63288C0.738959 2.42347 0.277507 3.3961 0.110461 4.55226C0.0292458 5.11354 0.00561946 5.22801 0.000820359 8.09496C-0.00102545 9.05061 0.000820359 10.3083 0.000820359 11.9953C0.000820359 17.0025 0.00635778 18.4666 0.0303533 18.7509C0.113415 19.7516 0.270308 20.3812 0.602553 21.0699C1.23751 22.3882 2.45021 23.3778 3.87886 23.7471C4.37354 23.8745 4.9199 23.9446 5.6213 23.9778C5.91848 23.9908 8.94745 24 11.9783 24C15.0091 24 18.0399 23.9963 18.3297 23.9815C19.1418 23.9433 19.6134 23.88 20.1349 23.7452C21.5728 23.3741 22.7633 22.3992 23.4112 21.0625C23.737 20.3905 23.9022 19.7369 23.9769 18.7884C23.9932 18.5816 24 15.2847 24 11.9922C24 8.69907 23.9926 5.40821 23.9764 5.20142C23.9007 4.23765 23.7355 3.5896 23.3992 2.90462C23.1232 2.34389 22.8168 1.92515 22.372 1.49699C21.5781 0.738524 20.6072 0.276947 19.4503 0.11004C18.8897 0.0289871 18.778 0.00498504 15.9096 0H12.0039Z\" fill=\"url(#paint1_radial_377_64)\"/>\n <path d=\"M11.9984 3.13873C9.59219 3.13873 9.29022 3.14925 8.34517 3.19227C7.40196 3.23547 6.75814 3.38484 6.1948 3.604C5.61208 3.83035 5.11777 4.13315 4.62531 4.62593C4.13248 5.11852 3.82977 5.61297 3.60273 6.19566C3.38308 6.75934 3.23357 7.40352 3.19112 8.34661C3.14885 9.29192 3.13778 9.59416 3.13778 12.001C3.13778 14.4079 3.14848 14.709 3.1913 15.6543C3.23468 16.5978 3.38401 17.2418 3.60292 17.8053C3.8294 18.3881 4.13211 18.8826 4.62476 19.3752C5.11703 19.8681 5.61134 20.1717 6.19369 20.398C6.7574 20.6172 7.4014 20.7666 8.34443 20.8098C9.28948 20.8528 9.59127 20.8633 11.9973 20.8633C14.4037 20.8633 14.7047 20.8528 15.6498 20.8098C16.593 20.7666 17.2375 20.6172 17.8012 20.398C18.3838 20.1717 18.8773 19.8681 19.3696 19.3752C19.8624 18.8826 20.1652 18.3881 20.3922 17.8054C20.61 17.2418 20.7595 16.5976 20.8038 15.6545C20.8463 14.7092 20.8573 14.4079 20.8573 12.001C20.8573 9.59416 20.8463 9.29211 20.8038 8.3468C20.7595 7.40333 20.61 6.75934 20.3922 6.19585C20.1652 5.61297 19.8624 5.11852 19.3696 4.62593C18.8768 4.13296 18.384 3.83017 17.8007 3.604C17.2359 3.38484 16.5917 3.23547 15.6485 3.19227C14.7034 3.14925 14.4025 3.13873 11.9956 3.13873H11.9984ZM11.2036 4.73578C11.4395 4.73541 11.7027 4.73578 11.9984 4.73578C14.364 4.73578 14.6443 4.74428 15.5785 4.78674C16.4423 4.82625 16.9112 4.97063 17.2235 5.09194C17.637 5.25257 17.9317 5.44458 18.2416 5.75476C18.5517 6.06494 18.7437 6.36035 18.9047 6.77393C19.0259 7.08595 19.1705 7.55491 19.2098 8.41899C19.2522 9.35322 19.2614 9.63386 19.2614 11.999C19.2614 14.3641 19.2522 14.6447 19.2098 15.579C19.1703 16.4431 19.0259 16.912 18.9047 17.224C18.7441 17.6376 18.5517 17.9321 18.2416 18.2421C17.9315 18.5523 17.6371 18.7443 17.2235 18.9049C16.9116 19.0268 16.4423 19.1708 15.5785 19.2103C14.6445 19.2528 14.364 19.262 11.9984 19.262C9.63261 19.262 9.35224 19.2528 8.41826 19.2103C7.55442 19.1704 7.08559 19.026 6.77309 18.9047C6.35963 18.7441 6.0643 18.5521 5.75421 18.2419C5.44411 17.9317 5.25215 17.6371 5.09119 17.2233C4.96992 16.9113 4.8254 16.4423 4.78608 15.5782C4.74363 14.644 4.73514 14.3634 4.73514 11.9968C4.73514 9.63017 4.74363 9.35101 4.78608 8.41677C4.82558 7.5527 4.96992 7.08374 5.09119 6.77134C5.25178 6.35777 5.44411 6.06236 5.75421 5.75218C6.0643 5.442 6.35963 5.24998 6.77309 5.08898C7.0854 4.96713 7.55442 4.82311 8.41826 4.78342C9.23558 4.74649 9.55232 4.73541 11.2036 4.73357V4.73578ZM16.7277 6.20729C16.1407 6.20729 15.6645 6.68309 15.6645 7.2704C15.6645 7.85752 16.1407 8.33387 16.7277 8.33387C17.3147 8.33387 17.7909 7.85752 17.7909 7.2704C17.7909 6.68327 17.3147 6.20692 16.7277 6.20692V6.20729ZM11.9984 7.44986C9.48569 7.44986 7.44847 9.48763 7.44847 12.001C7.44847 14.5144 9.48569 16.5512 11.9984 16.5512C14.5111 16.5512 16.5476 14.5144 16.5476 12.001C16.5476 9.48763 14.5111 7.44986 11.9984 7.44986ZM11.9984 9.04692C13.6293 9.04692 14.9517 10.3694 14.9517 12.001C14.9517 13.6324 13.6293 14.9551 11.9984 14.9551C10.3672 14.9551 9.04509 13.6324 9.04509 12.001C9.04509 10.3694 10.3672 9.04692 11.9984 9.04692Z\" fill=\"white\"/>\n </g>\n </g>\n <defs>\n <radialGradient id=\"paint0_radial_377_64\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(6.37503 25.8485) rotate(-90) scale(23.7858 22.1226)\">\n <stop stop-color=\"#FFDD55\"/>\n <stop offset=\"0.1\" stop-color=\"#FFDD55\"/>\n <stop offset=\"0.5\" stop-color=\"#FF543E\"/>\n <stop offset=\"1\" stop-color=\"#C837AB\"/>\n </radialGradient>\n <radialGradient id=\"paint1_radial_377_64\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(-4.02013 1.72892) rotate(78.6806) scale(10.6323 43.827)\">\n <stop stop-color=\"#3771C8\"/>\n <stop offset=\"0.128\" stop-color=\"#3771C8\"/>\n <stop offset=\"1\" stop-color=\"#6600FF\" stop-opacity=\"0\"/>\n </radialGradient>\n <clipPath id=\"clip0_377_64\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorInstagram',\n};\n</script>","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","<script lang=\"ts\" setup>\nimport dayjs from \"dayjs\";\nimport { computed, onMounted, ref, watch } from \"vue\";\nconst props = defineProps({\n modelValue: {\n type: String,\n required: true,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n});\n\nconst emit = defineEmits([\"update:modelValue\", \"change\"]);\n\nconst date = ref(\"\");\nconst time = ref(\"\");\n\nwatch(\n () => props.modelValue,\n (value) => {\n const d = dayjs(value);\n date.value = d.format(\"YYYY-MM-DD\");\n time.value = d.format(\"HH:mm\");\n }\n);\n\nfunction changed() {\n const t = dayjs(`${date.value} ${time.value}`).format(\"YYYY-MM-DDTHH:mm:ssZ\");\n emit(\"change\", t);\n emit(\"update:modelValue\", t);\n}\n\nonMounted(() => {\n const d = dayjs();\n date.value = d.format(\"YYYY-MM-DD\");\n time.value = d.format(\"HH:mm\");\n});\n</script>\n\n<template>\n <div class=\"q-datetime-picker touchable outlined\">\n <input v-model=\"date\" type=\"date\" :disabled=\"disabled\" @change=\"changed\" />\n <input v-model=\"time\" type=\"time\" :disabled=\"disabled\" @change=\"changed\" />\n </div>\n</template>\n\n<style lang=\"scss\">\n.q-datetime-picker {\n border: 1px solid #ccc;\n border-radius: 6px;\n}\n.q-datetime-picker {\n input[type=\"date\"],\n input[type=\"time\"] {\n width: 50%;\n height: 2.5rem;\n padding: 0.5rem;\n border: none;\n outline: none;\n background: transparent;\n &:focus {\n color: black;\n border: none !important;\n outline: none !important;\n }\n }\n}\n</style>\n","export function useUtil() {\n\n function browserDetect() {\n const isIE = !!(window as any).ActiveXObject || 'ActiveXObject' in window\n const isEdge = navigator.userAgent.indexOf('Edge') > -1\n const isChrome = navigator.userAgent.indexOf('Chrome') > -1\n const isFirefox = navigator.userAgent.indexOf('Firefox') > -1\n const isSafari = navigator.userAgent.indexOf('Safari') > -1\n const isOpera = navigator.userAgent.indexOf('Opera') > -1\n const isWeixin = navigator.userAgent.indexOf('MicroMessenger') > -1\n const isMobile = !!navigator.userAgent.match(/AppleWebKit.*Mobile.*/)\n const isAndroid = navigator.userAgent.indexOf('Android') > -1 || navigator.userAgent.indexOf('Adr') > -1\n const isIOS = !!navigator.userAgent.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/)\n const isIpad = navigator.userAgent.indexOf('iPad') > -1\n const isIphone = navigator.userAgent.indexOf('iPhone') > -1\n const isMac = navigator.userAgent.indexOf('Macintosh') > -1\n const isWindows = navigator.userAgent.indexOf('Windows') > -1\n const isLinux = navigator.userAgent.indexOf('Linux') > -1\n return {\n isIE,\n isEdge,\n isChrome,\n isFirefox,\n isSafari,\n isOpera,\n isWeixin,\n isMobile,\n isAndroid,\n isIOS,\n isIpad,\n isIphone,\n isMac,\n isWindows,\n isLinux,\n }\n }\n\n function debounce(func: any, delay: number): any {\n let timeoutId: ReturnType<typeof setTimeout>;\n\n return function(this: any, ...args: any[]) {\n const context = this;\n\n clearTimeout(timeoutId);\n\n timeoutId = setTimeout(() => {\n func.apply(context, args);\n }, delay);\n };\n }\n\n\n return {\n browserDetect,\n debounce,\n }\n}","<script lang=\"ts\" setup>\nimport { computed, ref, watch,\n nextTick,\n Ref,\n onMounted\n} from 'vue';\nimport { useUtil } from \"../../composables/useUtil\";\nconst { browserDetect } = useUtil();\nconst { isMobile } = browserDetect();\n\nconst props = defineProps({\n modelValue: Boolean,\n desktopMode: {\n type: String,\n default: 'dialog' // dialog, popup\n },\n noFrame: {\n type: Boolean,\n default: false,\n },\n title: {\n type: String,\n default: '',\n },\n width: {\n type: String,\n default: '500px',\n },\n height: {\n type: String,\n default: 'auto',\n },\n position: {\n type: String,\n default: 'center',\n },\n persistent: {\n type: Boolean,\n default: false,\n },\n});\n\nconst emit = defineEmits([\"update:modelValue\", \"close\"]);\n\nconst shaking = ref(false);\nconst isOpen = ref(props.modelValue);\nconst popupPos = ref({ \"top\": \"0\", \"left\": \"0\" });\nconst triggerWrapper:Ref<any> = ref(null);\nconst dialogMask:Ref<any> = ref(null);\n\nconst isPopup = computed(() => {\n return !isMobile && props.desktopMode === 'popup';\n});\n\nconst dialogStyle = computed(() => {\n const w = document.body.clientWidth < 720 ? '100%' : props.width;\n const h = props.height;\n const ret:any = {\n width: w,\n height: h,\n };\n if (isPopup.value) {\n ret.top = popupPos.value.top;\n ret.left = popupPos.value.left;\n }\n return ret;\n});\n\nconst dialogCls = computed(() => {\n let cls = [];\n if (shaking.value) {\n cls.push('shaking');\n }\n if (!isMobile) {\n cls.push(`desktop-mode-${props.desktopMode}`);\n }\n if (props.noFrame) {\n cls.push('no-frame');\n }\n return cls.join(' ');\n});\n\nconst dialogMaskCls = computed(() => {\n let cls = [];\n if (isPopup.value) {\n cls.push('desktop-mode-popup');\n }\n return cls.join(' ');\n});\n\nwatch(\n () => props.modelValue,\n (value) => {\n isOpen.value = value;\n nextTick(() => {\n if (!isMobile && props.desktopMode === 'popup') {\n if (triggerWrapper.value.children) {\n const el:any = (triggerWrapper.value.children as any)[0]\n if (el) {\n const rect = el.getBoundingClientRect();\n const top = rect.height + 8;\n const left = 0;\n popupPos.value = { \"top\": `${top}px`, \"left\":`${left}px` };\n }\n }\n }\n // disable scroll\n if (value) {\n document.body.style.overflowY = 'hidden';\n } else {\n document.body.style.overflowY = 'auto';\n }\n })\n }\n);\n\nfunction close () {\n if (props.persistent) {\n // shake the dialog\n shaking.value = true;\n setTimeout(() => {\n shaking.value = false;\n }, 300);\n return\n };\n isOpen.value = false;\n // enable scroll\n document.body.style.overflowY = 'auto';\n\n emit('update:modelValue', false);\n emit('close');\n};\n\nfunction v() {};\n\nonMounted(() => {\n if (props.desktopMode === \"popup\") {\n window.addEventListener(\"storage\", (event) => {\n if (event.key === \"quailui_global_popup_trigger\") {\n if (event.newValue) {\n close();\n }\n }\n });\n }\n})\n</script>\n<template>\n <div class=\"q-dialog-trigger-wrapper\" ref=\"triggerWrapper\">\n <slot name=\"trigger\"></slot>\n <template v-if=\"isPopup\">\n <Transition>\n <div v-if=\"isOpen\" class=\"q-dialog\" :style=\"dialogStyle\" @click.stop=\"v\" :class=\"dialogCls\">\n <div class=\"q-dialog-body\">\n <slot></slot>\n </div>\n </div>\n </Transition>\n </template>\n </div>\n <template v-if=\"!isPopup\">\n <Transition>\n <div v-if=\"isOpen\" class=\"q-dialog-mask\" @click=\"close\" :class=\"dialogMaskCls\" ref=\"dialogMask\">\n <div class=\"q-dialog\" :style=\"dialogStyle\" @click.stop=\"v\" :class=\"dialogCls\">\n <div class=\"q-dialog-header\">\n <template v-if=\"title\">\n <div class=\"q-dialog-title\">{{ title }}</div>\n </template>\n <slot v-else name=\"header\"></slot>\n </div>\n <div class=\"q-dialog-body\">\n <slot></slot>\n </div>\n </div>\n </div>\n </Transition>\n </template>\n</template>\n\n<style lang=\"scss\">\n.q-dialog-trigger-wrapper {\n position: relative;\n}\n.q-dialog-mask {\n display: flex;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.7);\n z-index: 100;\n &.desktop-mode-popup {\n background-color: transparent;\n position: static;\n }\n}\n\n.q-dialog {\n background-color: white;\n padding: 0rem;\n border-radius: 6px;\n z-index: 101;\n &.shaking {\n animation: shake 0.3s;\n }\n &.no-frame {\n background-color: transparent;\n .q-dialog-header {\n display: none;\n }\n .q-dialog-body {\n padding: 0;\n }\n &.desktop-mode-popup {\n box-shadow: none;\n }\n }\n &.desktop-mode-popup {\n position: absolute;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);\n }\n}\n\n.q-dialog-header {\n display: flex;\n align-items: center;\n max-height: 78px;\n .q-dialog-title {\n flex: 1;\n text-align: center;\n font-size: 1.2rem;\n font-weight: bold;\n padding: 1rem;\n }\n}\n\n.q-dialog-body {\n height: calc(100% - 78px);\n padding: 0 1rem 1rem;\n overflow-y: auto;\n max-height: 600px;\n margin-bottom: cal(safe-area-inset-bottom);\n}\n\n@media only screen and (max-width: 720px) {\n .q-dialog-mask {\n align-items: flex-end;\n }\n .q-dialog {\n width: 100%;\n border-radius: 0;\n bottom: 0;\n background: white;\n .q-dialog-header {\n }\n .q-dialog-body {\n height: calc(100% - 78px);\n overflow-y: auto;\n margin-bottom: cal(safe-area-inset-bottom);\n padding-bottom: 28px;\n }\n }\n}\n\n@keyframes shake {\n 0% {\n transform: scale(1);\n }\n 25% {\n transform: scale(1.02);\n }\n 50% {\n transform: scale(1);\n }\n 75% {\n transform: scale(1.02);\n }\n 100% {\n transform: scale(1);\n }\n}\n</style>\n","<template>\n <div class=\"q-fence\" :class=\"type\">\n <a v-if=\"link\" class=\"q-fence-inner with-link\" :href=\"link\" target=\"_blank\">\n <template v-if=\"icon && components\">\n <component :is=\"components[icon]\" class=\"icon\" />\n </template>\n <q-icon-help v-else class=\"icon\" ></q-icon-help>\n <div class=\"q-fence-text text-sm\">\n {{ text }}\n </div>\n </a>\n <div v-else class=\"q-fence-inner\">\n <template v-if=\"icon && components\">\n <component :is=\"components[icon]\" class=\"icon\" />\n </template>\n <q-icon-help v-else class=\"icon\" ></q-icon-help>\n <div class=\"q-fence-text text-sm\">\n {{ text }}\n </div>\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { ref, getCurrentInstance } from \"vue\";\nimport QIconHelp from '../icons/QIconHelp.vue';\nconst components = getCurrentInstance()?.appContext.components;\n\nconst props = defineProps({\n link: {\n type: String,\n default: \"\",\n },\n text: {\n type: String,\n default: \"\",\n },\n type: {\n type: String,\n default: \"default\",\n },\n icon: {\n type: String,\n },\n});\n</script>\n<style lang=\"scss\">\n.q-fence {\n display: block;\n width: 100%;\n .q-fence-inner {\n border-radius: 6px;\n display: flex;\n align-items: flex-start;\n width: 100%;\n padding: 0.5rem 0.8rem;\n color: var(--vt-c-text-light-1);\n opacity: 0.7;\n background: var(--vt-c-white-soft);\n text-decoration: none;\n transition: all 0.2s ease-in-out;\n cursor: default;\n .icon {\n width: 16px;\n min-width: 16px;\n margin-right: 0.75rem;\n }\n &.with-link:hover {\n opacity: 1;\n }\n .q-fence-text {\n margin-top: 2px;\n }\n }\n &.warning {\n .q-fence-inner {\n color: var(--vt-c-orange-dark);\n background-color: var(--vt-c-orange-dimm-2);\n }\n }\n &.error {\n .q-fence-inner {\n color: var(--vt-c-red-dark);\n background-color: var(--vt-c-red-dimm-2);\n }\n }\n &.success {\n .q-fence-inner {\n color: var(--vt-c-green-dark);\n background-color: var(--vt-c-green-dimm-2);\n }\n }\n}\n</style>\n","<template>\n <div class=\"q-loading pa-4 mb-4 rounded-sm text-center\" color=\"glass\">\n <div class=\"spinners py-2 mb-2 d-flex justify-center\">\n <i class=\"spinner one\" aria-hidden=\"true\"></i>\n <i class=\"spinner two\" aria-hidden=\"true\"></i>\n <i class=\"spinner three\" aria-hidden=\"true\"></i>\n <i class=\"spinner four\" aria-hidden=\"true\"></i>\n <i class=\"spinner five\" aria-hidden=\"true\"></i>\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\n</script>\n<style lang=\"scss\">\n.q-loading {\n .spinners {\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .spinner {\n animation: spin 2s linear infinite;\n line-height: 1;\n display: flex;\n height: 6px;\n width: 6px;\n display: block;\n background: #000;\n margin: 0 3px;\n border-radius: 2px;\n &.two {\n animation-delay: 0.2s;\n }\n &.three {\n animation-delay: 0.4s;\n }\n &.four {\n animation-delay: 0.6s;\n }\n &.five {\n animation-delay: 0.8s;\n }\n }\n}\n@keyframes spin {\n 0% {\n transform: translateY(-4px);\n box-shadow: 0 0 0 rgba(0, 0, 0, 0.4);\n }\n 50% {\n transform: translateY(4px);\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);\n }\n 100% {\n transform: translateY(-4px);\n box-shadow: 0 0 0 rgba(0, 0, 0, 0.4);\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nconst props = defineProps({\n items: {\n type: Array<any>,\n required: true,\n },\n persistent: {\n type: Boolean,\n default: false,\n },\n noFrame: {\n type: Boolean,\n default: false,\n },\n noShadow: {\n type: Boolean,\n default: false,\n },\n});\n\nconst emit = defineEmits([\"action\"]);\n\nconst menuCls = computed(() => {\n let _cls = []\n if (props.persistent) {\n _cls.push(\"persistent\");\n }\n if (props.noFrame) {\n _cls.push(\"no-frame\");\n }\n if (props.noShadow) {\n _cls.push(\"no-shadow\");\n }\n return _cls.join(\" \");\n});\n\nfunction cls(item: any) {\n let _cls = \"\";\n if (item.disabled) {\n _cls += \" disabled\";\n }\n if (item.danger) {\n _cls += \" danger\";\n }\n if (item.icon) {\n _cls += \" with-icon\";\n }\n if (item.image) {\n _cls += \" with-image\";\n }\n if (item.divider) {\n _cls += \" with-divider\";\n }\n return _cls;\n}\n\nfunction doAction(item: any) {\n if (item.action) {\n item.action(item);\n }\n if (item.disabled !== true) {\n emit(\"action\", item);\n }\n}\n</script>\n<template>\n <div class=\"q-menu\" :class=\"menuCls\">\n <div\n class=\"q-menu-item\"\n v-for=\"item in props.items\"\n :key=\"`q-menu-item-${item.id}`\"\n :class=\"cls(item)\"\n @click=\"doAction(item)\"\n >\n <div v-if=\"item.divider\" class=\"q-menu-item-divider\"></div>\n <div v-else class=\"q-menu-item-inner\">\n <img\n v-if=\"item.image\"\n class=\"q-menu-image\"\n :src=\"item.image\"\n :alt=\"item.title\"\n />\n <component\n v-else-if=\"item.icon\"\n class=\"q-menu-icon\"\n :is=\"item.icon\"\n />\n <div class=\"q-menu-item-content\">\n <div class=\"q-menu-title\">{{ item.title }}</div>\n <div v-if=\"item.subtitle\" class=\"q-menu-subtitle\">\n {{ item.subtitle }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.q-menu {\n position: absolute;\n width: 100%;\n min-width: 220px;\n background: white;\n transform: translateY(0.5rem);\n border: 1px solid var(--vt-c-divider-light-1);\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);\n padding: 0.5rem 0;\n border-radius: 6px;\n z-index: 20;\n &.no-frame {\n border: none;\n }\n &.no-shadow {\n box-shadow: none;\n }\n &.persistent {\n position: static;\n transform: none;\n z-index: inherit;\n }\n .q-menu-item {\n cursor: default;\n &.danger {\n color: var(--vt-c-red);\n }\n &.disabled {\n opacity: 0.5;\n .q-menu-item-inner {\n &:hover {\n background-color: transparent;\n }\n }\n }\n &.with-icon,\n &.with-image {\n .q-menu-item-inner {\n .q-menu-item-content {\n margin-left: 1rem;\n }\n }\n }\n &.with-divider {\n height: 0px;\n padding: 0.5rem 0;\n }\n\n .q-menu-item-divider {\n border-top: 1px solid var(--vt-c-divider-light-1);\n margin: 0 1rem;\n height: 0px;\n transform: translateY(-0.5px);\n }\n .q-menu-item-inner {\n display: flex;\n justify-items: center;\n align-items: center;\n padding: 0.5rem 1rem;\n transition: background-color 0.01s ease-in;\n user-select: none;\n &:hover {\n background-color: rgba(0, 0, 0, 0.06);\n }\n .q-menu-item-content {\n margin-left: 0rem;\n }\n .q-menu-subtitle {\n font-size: 0.7rem;\n opacity: 0.6;\n }\n }\n\n .q-menu-image {\n height: 24px;\n width: 24px;\n min-height: 24px;\n min-width: 24px;\n border-radius: 6px;\n }\n\n .q-menu-icon {\n width: 20px;\n height: 20px;\n min-width: 20px;\n min-height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n }\n}\n@media (max-width: 768px) {\n .q-menu {\n .q-menu-item {\n .q-menu-item-inner {\n min-height: 44px;\n }\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed, ref, watch } from \"vue\";\n\nconst props = defineProps({\n modelValue: {\n type: Boolean,\n required: true,\n },\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\ttheme: {\n\t\ttype: String, // default, clear-sky, plastic\n\t\tdefault: 'default',\n\t},\n});\n\nconst val = ref(props.modelValue);\n\nwatch(() => props.modelValue, (value) => {\n\tval.value = value;\n});\n\nconst emit = defineEmits(['update:modelValue', 'change']);\n\nconst cls = computed(() => {\n\tconst ret = [];\n\tif (props.theme) {\n\t\tret.push(`theme-${props.theme}`);\n\t}\n\tif (props.disabled) {\n\t\tret.push('disabled');\n\t}\n\treturn ret.join(' ');\n});\n\nfunction change(event:any) {\n emit('update:modelValue', val.value);\n emit('change', val.value);\n}\n\n</script>\n\n<template>\n<label class=\"q-switch\" :class=\"cls\">\n\t<input class=\"q-switch-checkbox\" type=\"checkbox\" v-model=\"val\" @change=\"change\" :disabled=\"props.disabled\">\n\t<div class=\"q-switch-inner\">\n\t\t<div class=\"q-switch-handle\">\n\t\t\t<template v-if=\"props.theme === 'plastic'\">\n\t\t\t\t<q-icon-sun v-if=\"val\" class=\"q-switch-icon\" />\n\t\t\t\t<q-icon-moon-star v-else class=\"q-switch-icon\" />\n\t\t\t</template>\n\t\t</div>\n\t</div>\n</label>\n</template>\n\n<style lang=\"scss\">\n.q-switch {\n --switch-w: 52px;\n --switch-h: 32px;\n\tcursor: pointer;\n\tdisplay: inline-block;\n\t&.disabled {\n\t\topacity: 0.5;\n\t}\n\n\t.q-switch-inner {\n\t\tdisplay: inline-block;\n\t\tbackground: #ccc;\n\t\tborder-radius: 16px;\n\t\twidth: var(--switch-w);\n\t\theight: var(--switch-h);\n\t\tposition: relative;\n\t\tvertical-align: middle;\n\t\ttransition: all 0.25s;\n\t\tcursor: default;\n\t\t.q-switch-handle,\n\t\t&:after {\n\t\t\tcontent: \"\";\n\t\t}\n\t\t.q-switch-handle {\n\t\t\tdisplay: block;\n\t\t\tbackground: linear-gradient(to bottom, #fff 0%,#eee 100%);\n\t\t\tborder-radius: 50%;\n\t\t\tbox-shadow: 0 0 0 1px rgba(0,0,0,0.1);\n\t\t\twidth: 24px;\n\t\t\theight: 24px;\n\t\t\tposition: absolute;\n\t\t\ttop: 4px;\n\t\t\tleft: 4px;\n\t\t\ttransition: left 0.25s;\n\t\t}\n\t\t.q-switch:hover &.q-switch-handle {\n\t\t\tbackground: linear-gradient(to bottom, #fff 0%,#fff 100%);\n\t\t\tbox-shadow: 0 0 0 1px rgba(0,0,0,0.1);\n\t\t}\n\t}\n\t.q-switch-checkbox:checked {\n\t\t& + .q-switch-inner {\n\t\t\tbackground: rgb(55, 162, 255);\n\t\t\t.q-switch-handle {\n\t\t\t\tleft: 24px;\n\t\t\t}\n\t\t}\n\t}\n}\n.q-switch.theme-plastic {\n\t.q-switch-inner {\n\t\tbackground: #161616;\n\t\t.q-switch-handle {\n\t\t\tbackground: linear-gradient(to bottom, #484833 0%,#333 100%);\n\t\t\t.q-switch-icon {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t\twidth: 16px;\n\t\t\t\theight: 16px;\n\t\t\t\tcolor: #fff079;\n\t\t\t}\n\t\t}\n\t}\n\t.q-switch-checkbox:checked {\n\t\t& + .q-switch-inner {\n\t\t\tbackground: #e4e6e8;\n\t\t\t.q-switch-handle {\n\t\t\t\tbackground: linear-gradient(to bottom, #fff 0%,#eee 100%);\n\t\t\t\t.q-switch-icon {\n\t\t\t\t\tcolor: rgb(55, 162, 255);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n.q-switch.theme-clear-sky {\n\t--toggle-size: 2rem;\n --switch-handle-scale: .7;\n --switch-off-handle-x: -6px;\n --switch-on-handle-x: -6px;\n --switch-transition-duration: .2s;\n\n\t.q-switch-inner {\n\t\tfont-size: var(--toggle-size);\n display: flex;\n height: var(--switch-h);\n width: var(--switch-w);\n border-radius: calc(var(--switch-h) / 2);\n background-size: auto 8em;\n background-position: bottom;\n background-image: linear-gradient(180deg, #62E7F7 0%, #4184B1 33%, #20206A 81%, #021037 100%);\n transition: var(--switch-transition-duration);\n border: 2px solid hsl(207, 30%, 50%);\n overflow: hidden;\n\n\t\t.q-switch-handle {\n\t\t\tbackground: transparent;\n border-radius: 50%;\n height: var(--switch-h);\n width: var(--switch-h);\n transform: translateX(var(--switch-off-handle-x)) translateY(0px) scale(var(--switch-handle-scale));\n transition: var(--switch-transition-duration);\n cursor: pointer;\n margin-top: var(--switch-off-handle-x);\n\t\t\tbox-shadow: inset 0.1em -0.1em 0 0 #fbe7ef, inset 0.28em -0.28em 0 0 #fffff7;\n\t\t}\n\t}\n\t.q-switch-checkbox:checked {\n font-size: var(--switch-font-size);\n\n & + .q-switch-inner {\n background-position: top;\n border-color: hsl(204, 7%, 86%);\n\n\t\t\t.q-switch-handle {\n\t\t\t\tbackground: #fffad8;\n transform: translateX(var(--switch-on-handle-x)) translateY(0px) scale(var(--switch-handle-scale));\n\t\t\t\tbox-shadow: 0 0 .25em .0625em #fbee8d, 0 0 2em 0 #FFEB3B, inset -.25em -.25em 0 0 #fbee8e, inset -.3125em -.3125em 0 .625em #fff5b2;\n }\n }\n }\n\n}\n.q-switch-checkbox {\n\tposition: absolute;\n\tvisibility: hidden;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed, ref, watch } from \"vue\";\n\nconst props = defineProps({\n modelValue: {\n type: String,\n required: true,\n },\n type: {\n default: \"text\",\n },\n layout: {\n default: \"vertical\",\n },\n actionLabel: {\n default: \"Submit\",\n },\n placeholder: {\n default: \"Type here\",\n },\n defaultText: {\n default: \"\",\n },\n loading: {\n default: false,\n },\n glow: {\n default: '',\n },\n disabled: {\n default: false,\n },\n});\n\nconst emit = defineEmits([\"submit\", \"update:modelValue\"]);\n\nconst text = ref(props.defaultText);\n\nconst cls = computed(() => {\n const cls: string[] = [];\n if (props.layout === \"vertical\") {\n cls.push(\"vertical\");\n } else {\n cls.push(\"horizontal\");\n }\n if (props.type === \"code\") {\n cls.push(\"code\");\n }\n if (props.glow) {\n cls.push(`glow-${props.glow}`);\n }\n return cls.join(\" \");\n});\n\nconst validated = computed(() => {\n if (props.loading) {\n return false;\n }\n\n const trimed = text.value?.trim();\n if (trimed.length === 0) {\n return false;\n }\n\n if (props.type === \"email\") {\n return validateEmail.value;\n } else if (props.type === \"code\") {\n return validatedCode.value;\n }\n\n return true;\n});\n\nconst validateEmail = computed(() => {\n const trimed = text.value?.trim();\n return !props.disabled && /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(trimed);\n});\n\nconst validatedCode = computed(() => {\n const trimed = text.value?.trim();\n return /^\\d{6}$/.test(trimed);\n});\n\nconst label = computed(() => {\n if (props.loading) {\n return \"Loading...\";\n }\n\n return props.actionLabel;\n});\n\nwatch(() => props.modelValue, (value) => {\n\ttext.value = value;\n});\n\nfunction submit() {\n if (validated.value) {\n emit(\"submit\", { text: text.value });\n }\n}\n\nfunction changed() {\n emit(\"update:modelValue\", text.value);\n}\n</script>\n\n<template>\n <div class=\"q-text-field-with-button\" :class=\"cls\">\n <div class=\"q-text-field-wrapper\">\n <input\n class=\"q-text-field text-field\"\n :placeholder=\"props.placeholder\"\n v-model=\"text\"\n @change=\"changed\"\n />\n </div>\n <div class=\"q-text-button-wrapper\">\n <q-button class=\"primary\" :disabled=\"!validated\" @click=\"submit\">\n {{ label }}\n </q-button>\n </div>\n <div v-if=\"glow !== ''\" class=\"q-button-glow\"></div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.q-text-field-with-button {\n .q-text-field {\n text-align: center;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n min-width: 296px;\n }\n .q-text-button-wrapper {\n .q-button {\n transform: translateY(-1px);\n width: 100%;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n\n &.code {\n .q-text-field {\n font-family: monospace;\n letter-spacing: 0.2rem;\n }\n }\n &.horizontal {\n display: flex;\n align-items: center;\n justify-content: center;\n max-width: 400px;\n .q-text-field-wrapper {\n flex: 6;\n }\n .q-text-button-wrapper {\n flex: 4;\n position: relative;\n z-index: 1;\n .q-button {\n border-radius: 0 6px 6px 0;\n transform: translateY(0px);\n }\n }\n .q-text-field {\n border-radius: 6px 0 0 6px;\n border-width: 1px 0 1px 1px;\n min-width: auto;\n }\n }\n &.glow-matrix {\n position: relative;\n .q-text-field {\n color: #fff;\n background: transparent;\n border-color: rgba(255, 255, 255, 0.2) transparent rgba(255, 255, 255, 0.2) rgba(255, 255, 255, 0.2) ;\n border-width: 1px 0 1px 1px;\n border-style: solid;\n &:focus {\n border-color: rgba(180, 233, 65, 0.2);\n }\n }\n .q-button {\n color: #b3e941 !important;\n background: rgba(180, 233, 65, 0.3) !important;\n border-color: rgba(180, 233, 65, 0.3) !important;\n &[disabled] {\n color: #8bb434 !important;\n background: rgba(180, 233, 65, 0.2) !important;\n box-shadow: none !important;\n border-color: rgba(180, 233, 65, 0.2) !important;\n }\n }\n .q-button-glow {\n position: absolute;\n background-color: rgba(180, 233, 65, 0.4);\n color: #b3e941;\n filter: blur(20px);\n height: 44px;\n width: 40%;\n right: 0;\n z-index: 0;\n }\n &:hover {\n .q-button-glow {\n animation: glow 3s ease-in-out infinite;\n }\n }\n }\n}\n\n@keyframes glow {\n 0% {\n transform: scale(0.9);\n }\n 50% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(0.9);\n }\n}\n</style>\n","function closePopupMenu() {\n let trigger = parseInt(sessionStorage.getItem('quailui_global_popup_trigger') || '0') || 0;\n sessionStorage.setItem('quailui_global_popup_trigger', (trigger + 1) + '');\n window.dispatchEvent(new StorageEvent(\"storage\", {\n key: 'quailui_global_popup_trigger',\n newValue: (trigger + 1) + '',\n oldValue: trigger + ''\n }));\n}\n\nfunction debounce(func: any, delay: number): any {\n let timeoutId: ReturnType<typeof setTimeout>;\n\n return function(this: any, ...args: any[]) {\n const context = this;\n\n clearTimeout(timeoutId);\n\n timeoutId = setTimeout(() => {\n func.apply(context, args);\n }, delay);\n };\n}\n\nexport {\n closePopupMenu,\n debounce,\n}\n","<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch, type Ref } from \"vue\";\nimport { closePopupMenu, debounce } from \"../../util\";\nimport { useSlots } from 'vue'\n\nconst slots = useSlots()\n\nconst props = defineProps({\n items: {\n type: Array<any>,\n required: true,\n },\n initialItem: {\n type: Object,\n default: null,\n },\n hideSelected: {\n type: Boolean,\n default: false,\n },\n variant: {\n type: String,\n default: \"outlined\",\n },\n hideActionLabel: {\n type: Boolean,\n default: false,\n },\n placeholder: {\n type: String,\n default: \"\",\n },\n useDialog: {\n type: String,\n default: 'auto',\n },\n useFilter: {\n type: Boolean,\n default: false,\n },\n scrollHeight: {\n type: String,\n default: 'auto',\n },\n emptyHit: {\n type: String,\n default: \"No item\",\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n loading: {\n type: Boolean,\n default: false,\n },\n});\n\nconst emit = defineEmits([\"change\"]);\nconst expanded = ref(false);\nconst selectedItem: Ref<any> = ref(null);\nconst menuWrapper: Ref<any> = ref(null);\nconst scrollArea: Ref<any> = ref(null);\nconst scrollAreaCls = ref(\"\");\nconst filterText = ref(\"\");\n\nconst actionCls = computed(() => {\n const cls: string[] = [];\n if (expanded.value) {\n cls.push(\"expanded\");\n }\n\n if (props.variant === \"outlined\") {\n cls.push(\"outlined\");\n } else if (props.variant === \"plain\") {\n cls.push(\"plain\");\n }\n\n if (props.hideSelected) {\n cls.push(\"hide-selected\");\n }\n\n if (selectedItem.value && (selectedItem.value.icon || selectedItem.value.image)) {\n cls.push(\"prepend\");\n } else {\n cls.push(\"no-prepend\");\n }\n\n if (props.loading) {\n cls.push(\"loading\");\n }\n\n return cls.join(\" \");\n});\n\nconst hasSlot = computed(() => {\n return slots.default !== undefined;\n});\n\nconst filteredItems = computed(() => {\n if (props.items && props.items.length > 0) {\n if (filterText.value.trim() === \"\") {\n return props.items;\n }\n const text = filterText.value.toLowerCase();\n return props.items.filter((item) => {\n if (item?.title?.toLowerCase().includes(text)) {\n return true;\n }\n return false;\n });\n }\n return [];\n});\n\nconst useDialogFlag = computed(() => {\n if (props.useDialog === \"always\") {\n return true\n } else if (props.useDialog === \"never\") {\n return false\n } else {\n return window.innerWidth < 768\n }\n});\n\nfunction toggle() {\n if (props.disabled) {\n return;\n }\n\n if (!expanded.value) {\n // want to expand? close other menus\n closePopupMenu();\n }\n // toggle\n expanded.value = !expanded.value;\n // adjust menu position to make sure it's visible\n if (expanded.value) {\n if (!useDialogFlag.value) {\n setTimeout(() => {\n const wrapper = menuWrapper?.value;\n const menu = wrapper?.querySelector(\".q-menu\");\n const rect = menu.getBoundingClientRect();\n if (rect.left < 0) {\n menu.style.left = \"0\";\n }\n }, 10);\n } else {\n debounce(() => {\n scrollArea?.value?.addEventListener(\"scroll\", () => {\n debounce(() => {\n scrollAreaCls.value = scrollArea.value.scrollTop > 0 ? \"scrolled\" : \"\";\n }, 100)()\n });\n }, 1000)();\n }\n }\n}\n\nfunction menuItemClick(item: any) {\n expanded.value = false;\n selectedItem.value = item;\n emit(\"change\", item);\n}\n\nwatch(\n () => props.initialItem,\n () => {\n if (props.initialItem) {\n selectedItem.value = props.initialItem;\n }\n }\n);\n\nonMounted(() => {\n if (props.initialItem) {\n selectedItem.value = props.initialItem;\n }\n\n window.addEventListener(\"storage\", (event) => {\n if (event.key === \"quailui_global_popup_trigger\") {\n if (event.newValue) {\n expanded.value = false;\n }\n }\n });\n});\n</script>\n\n<template>\n <div class=\"q-dropdown-menu\">\n <div class=\"q-dropdown-menu-inner narrow-view\">\n <div class=\"q-dropdown-menu-action touchable\" :class=\"actionCls\" @click.stop=\"toggle\">\n <div v-if=\"props.loading\" class=\"ocean\">\n <div class=\"wave\"></div>\n </div>\n <div v-if=\"!hideSelected && selectedItem && !hasSlot\" class=\"q-dropdown-selected\">\n <img\n v-if=\"selectedItem.image\"\n class=\"menu-image\"\n :src=\"selectedItem.image\"\n :alt=\"selectedItem.title\"\n />\n <component\n v-else-if=\"selectedItem.icon\"\n class=\"icon menu-icon\"\n :is=\"selectedItem.icon\"\n ></component>\n <div v-if=\"!hideActionLabel\" class=\"menu-title\">\n {{\n selectedItem\n ? selectedItem.title\n : props.placeholder || \"Select ...\"\n }}\n </div>\n </div>\n <slot></slot>\n <q-icon-chevron-down class=\"icon chevron-icon\" ></q-icon-chevron-down>\n </div>\n <div v-if=\"!useDialogFlag\" ref=\"menuWrapper\">\n <Transition>\n <q-menu v-if=\"expanded\" :items=\"items\" @action=\"menuItemClick\"></q-menu>\n </Transition>\n </div>\n <q-dialog v-if=\"useDialogFlag\" v-model=\"expanded\" no-frame>\n <div class=\"q-menu-popup-body\">\n <div v-if=\"props.useFilter\" class=\"filter-area\">\n <input type=\"text\" class=\"filter-input text-field\" placeholder=\"Filter\" v-model=\"filterText\" />\n </div>\n <div class=\"scroll-area\" :class=\"scrollAreaCls\" ref=\"scrollArea\" :style=\"{ height: props.scrollHeight, maxHeight: props.scrollHeight }\">\n <q-menu v-if=\"filteredItems\" :items=\"filteredItems\" @action=\"menuItemClick\" persistent no-frame no-shadow></q-menu>\n <div v-else class=\"empty-hint flow place-center\" v-text=\"emptyHit\"></div>\n </div>\n </div>\n </q-dialog>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n@import \"@/styles/mixin/touchable.scss\";\n\n.q-dropdown-menu {\n // height: 44px;\n &.sm {\n .q-dropdown-menu-action {\n padding: 0 0.5rem 0 0.8rem;\n height: 38px;\n font-size: 0.875rem;\n }\n }\n &.xs {\n .q-dropdown-menu-action {\n padding: 0 0.5rem 0 0.8rem;\n height: 32px;\n font-size: 0.75rem;\n }\n }\n .q-dropdown-menu-inner {\n position: relative;\n }\n .q-dropdown-menu-action {\n height: 44px;\n padding: 0 0.5rem 0 0.8rem;\n display: flex;\n justify-items: center;\n align-items: center;\n cursor: default;\n transition: all 0.2s ease-in;\n\n &:hover {\n\n .chevron-icon {\n opacity: 1;\n }\n }\n .menu-icon {\n }\n .menu-title {\n margin-left: 12px;\n }\n .chevron-icon {\n transition: all 0.2s ease-in;\n margin-left: 0.3rem;\n opacity: 0.5;\n }\n &.expanded {\n .chevron-icon {\n transform: rotate(180deg);\n }\n }\n &.hide-selected {\n padding: 0 0.8rem;\n .chevron-icon {\n margin-left: 0;\n opacity: 1;\n }\n }\n &.no-prepend {\n .menu-title {\n margin-left: 0;\n }\n }\n }\n .q-dropdown-selected {\n white-space: nowrap;\n flex: 1;\n display: flex;\n align-items: center;\n user-select: none;\n }\n .menu-image {\n width: 24px;\n height: 24px;\n border-radius: 6px;\n }\n .icon {\n height: 16px;\n width: 16px;\n }\n .q-menu {\n right: 0;\n }\n .menu-title {\n }\n}\n.q-menu-popup-body {\n background: #fff;\n border-radius: 6px;\n .filter-area {\n padding: 1rem 1rem 0.5rem 1rem;\n }\n .scroll-area {\n overflow-y: scroll;\n overflow-x: hidden;\n .empty-hint {\n margin-top: 1rem;\n color: var(--vt-c-text-light-3)\n }\n }\n .scroll-area.scrolled {\n &:before {\n content: \"\";\n display: block;\n height: 0.5rem;\n width: 100%;\n position: absolute;\n // backdrop-filter: blur(10px);\n background: linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.0) 100%);\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed, ref, watch } from \"vue\";\nimport QIconArrowLeft from '../icons/QIconArrowLeft.vue';\nimport QIconArrowRight from '../icons/QIconArrowRight.vue';\nconst props = defineProps({\n modelValue: {\n type: Number,\n default: 1,\n },\n totalPage: {\n type: Number,\n default: 0,\n },\n hasPrev: {\n type: Boolean,\n default: false,\n },\n hasNext: {\n type: Boolean,\n default: false,\n }\n});\n\nconst indicators = computed(() => {\n let max = 6;\n const result:any = [];\n if (props.totalPage !== 0) {\n if (props.totalPage <= max) {\n for (let i = 1; i <= props.totalPage; i++) {\n result.push({ label: i });\n }\n } else {\n result.push({ label: 1});\n // check the range around the current page\n let start = val.value - 2;\n let end = val.value + 2;\n if (start < 2) {\n start = 2;\n end = start + max - 2;\n }\n if (end > props.totalPage - 1) {\n end = props.totalPage - 1;\n start = end - max + 2;\n }\n if (start > 2) {\n result.push({ label: \"…\", disabled: true });\n }\n for (let i = start; i <= end; i++) {\n result.push({ label: i });\n }\n if (end < props.totalPage - 1) {\n result.push({ label: \"…\", disabled: true });\n }\n result.push({ label: props.totalPage });\n }\n } else {\n\n }\n return result;\n});\n\nconst val = ref(props.modelValue);\n\nwatch(() => props.modelValue, (value) => {\n\tval.value = value;\n});\n\nconst emit = defineEmits([\"change:next\", \"change:prev\", \"change:goto\", \"update:modelValue\"]);\n\nfunction prevPage() {\n val.value--;\n emit(\"change:prev\", val.value);\n emit(\"update:modelValue\", val.value);\n}\n\nfunction nextPage() {\n val.value++;\n emit(\"change:next\", val.value);\n emit(\"update:modelValue\", val.value);\n}\n\nfunction gotoPage(ix: any, item:any ) {\n if (item.disabled) {\n return;\n }\n val.value = ix;\n emit(\"change:goto\", val.value);\n emit(\"update:modelValue\", val.value);\n}\n\n</script>\n<template>\n <div class=\"q-pagination\">\n <q-button class=\"prev sm outlined icon\" @click=\"prevPage\" :disabled=\"!props.hasPrev\">\n <q-icon-arrow-left class=\"icon\" ></q-icon-arrow-left>\n </q-button>\n <div v-if=\"totalPage !== 0\" class=\"q-page-indicators\">\n <div v-for=\"item in indicators\" class=\"q-page-indicator\">\n <q-button class=\"q-page-indicator sm outlined\" :class=\"item.label === val? 'active': ''\" :disabled=\"item.disabled\" @click=\"gotoPage(item.label, item)\">\n {{ item.label }}\n </q-button>\n </div>\n </div>\n <q-button v-else class=\"outlined sm q-page-indicator-simple q-page-indicator\">\n <div class=\"\">{{ modelValue }}</div>\n </q-button>\n <q-button class=\"next sm outlined icon\" @click=\"nextPage\" :disabled=\"!props.hasNext\">\n <q-icon-arrow-right class=\"icon\" ></q-icon-arrow-right>\n </q-button>\n </div>\n</template>\n\n<style lang=\"scss\">\n.q-pagination {\n font-size: 0.8rem;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n .prev {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n .next {\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n }\n .q-page-indicators {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0;\n }\n .q-page-indicator {\n border-radius: 0 !important;\n background-color: white !important;\n border-right: none !important;\n &:first-child {\n .q-button {\n border-left: none !important;\n }\n }\n .q-button {\n padding-left: 0.6rem;\n padding-right: 0.6rem;\n border-right: none !important;\n }\n .q-button[disabled] {\n padding-left: 0.3rem;\n padding-right: 0.3rem;\n }\n .q-button.active {\n color: var(--vt-c-blue);\n opacity: 1;\n }\n }\n .q-page-indicator-simple {\n padding: 0 1rem;\n font-size: 0.9rem;\n border-left: none !important;\n border-right: none !important;\n color: var(--vt-c-blue) !important;\n }\n}\n</style>","<template>\n <div class=\"q-progress\" :class=\"color\">\n <div class=\"q-progress-slot\">\n <div class=\"q-progress-bar\" :style=\"{ width: barWidth }\" :class=\"completed? '': 'animated' \">\n <div class=\"q-progress-bar-inner\"></div>\n </div>\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nconst props = defineProps({\n infinite: {\n type: Boolean,\n default: false,\n },\n color: {\n type: String,\n default: \"blue\",\n },\n max: {\n type: Number,\n default: 100,\n },\n value: {\n type: Number,\n default: 0,\n },\n});\n\nconst barWidth = computed(() => {\n if (props.infinite) {\n return \"100%\";\n }\n return `${(props.value / props.max) * 100}%`;\n});\n\nconst completed = computed(() => {\n return props.value >= props.max;\n});\n\n</script>\n<style lang=\"scss\">\n.q-progress {\n display: block;\n min-width: 200px;\n --q-progress-color: var(--vt-c-blue);\n --q-progress-color-light: var(--vt-c-blue-lighter);\n &.green {\n --q-progress-color: var(--vt-c-green);\n --q-progress-color-light: var(--vt-c-green-lighter);\n }\n &.red {\n --q-progress-color: var(--vt-c-red);\n --q-progress-color-light: var(--vt-c-red-lighter);\n }\n &.orange {\n --q-progress-color: var(--vt-c-orange);\n --q-progress-color-light: var(--vt-c-orange-lighter);\n }\n .q-progress-slot {\n position: relative;\n width: 100%;\n height: 8px;\n background: var(--vt-c-white-soft);\n border-radius: 6px;\n overflow: hidden;\n .q-progress-bar {\n border-radius: 6px;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n transition: width 0.2s ease-in-out;\n overflow: hidden;\n &.animated {\n .q-progress-bar-inner {\n animation: progress 1s linear infinite;\n }\n }\n }\n .q-progress-bar-inner {\n background: repeating-linear-gradient(\n 45deg,\n var(--q-progress-color),\n var(--q-progress-color) 10px,\n var(--q-progress-color-light) 10px,\n var(--q-progress-color-light) 20px\n );\n position: absolute;\n left: -28px;\n right: 0;\n top: 0;\n bottom: 0;\n }\n }\n}\n@keyframes progress {\n\tfrom {\n\t\ttransform: translateX(0);\n\t}\n\tto {\n\t\ttransform: translateX(28px);\n\t}\n}\n</style>","<template>\n <QDropdownMenu\n :items=\"languageItems\"\n :initial-item=\"selectedLangItem\"\n />\n</template>\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted, Ref, watch } from \"vue\";\n\nconst emit = defineEmits([\"change\"]);\n\nconst props = defineProps({\n lang: {\n type: String,\n default: \"en\",\n },\n noFlag: {\n type: Boolean,\n default: false,\n },\n auto: {\n type: Boolean,\n default: false,\n },\n presist: {\n type: Boolean,\n default: false,\n },\n});\n\nconst selectedLangItem: Ref<any> = ref(null);\n\nconst languageItems = computed(() => {\n let items = [\n {\n flag: \"🇺🇸\",\n title: \"English\",\n value: \"en\",\n action: selectLang,\n },\n {\n flag: \"🇨🇳\",\n title: \"简体中文\",\n value: \"zh\",\n action: selectLang,\n },\n {\n flag: \"🇹🇼\",\n title: \"正體中文\",\n value: \"zh-tw\",\n action: selectLang,\n },\n {\n flag: \"🇯🇵\",\n title: \"日本語\",\n value: \"ja\",\n action: selectLang,\n },\n ]\n if (props.auto) {\n items.unshift({\n flag: \"🌐\",\n title: \"Auto\",\n value: \"\",\n action: selectLang,\n });\n }\n items = items.map((item) => {\n return {\n ...item,\n title: props.noFlag ? item.title: `${item.flag}  ${item.title}`,\n };\n });\n\n return items;\n});\n\nfunction selectLang(item: any) {\n if (props.presist) {\n localStorage.setItem(\"quail-language\", item.value);\n }\n emit(\"change\", {\n title: props.noFlag ? item.title_no_flag: item.title,\n value: item.value,\n });\n}\n\nwatch(() => props.lang, (lang) => {\n selectedLangItem.value = languageItems.value.find((item: any) => {\n return lang === item.value;\n });\n});\n\nonMounted(() => {\n selectedLangItem.value =\n languageItems.value.find((item: any) => {\n return props.lang === item.value || localStorage.getItem(\"quail-language\") === item.value;\n }) || languageItems.value[0];\n});\n</script>\n<style lang=\"scss\">\n</style>\n","<script setup lang=\"ts\">\nconst props = defineProps({\n src: {\n type: String,\n required: true\n },\n alt: {\n type: String,\n }\n});\n</script>\n\n<template>\n<div class=\"q-pack-cover block-drop-shadow\">\n <div class=\"q-pack-cover-layer one\"></div>\n <div class=\"q-pack-cover-layer two\"></div>\n <div class=\"q-pack-cover-inner\">\n <img :src=\"props.src\" :alt=\"alt\"/>\n </div>\n</div>\n</template>\n\n<style lang=\"scss\" scoped>\n.q-pack-cover {\n width: 128px;\n}\n.q-pack-cover-layer {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n // border: 1px solid #ccc;\n background: #fff;\n box-shadow: 0 0px 2px rgba(0, 0, 0, 0.3);\n transform: scale(0.97) translateY(5%);\n border-radius: 8px;\n z-index: 2;\n &.one {\n transform: scale(0.94) translateY(10%);\n z-index: 1;\n }\n}\n.q-pack-cover-inner {\n flex-basis: 128px;\n width: 128px;\n height: 100px;\n display: block;\n background-color: #eee;\n border-radius: 8px;\n position: relative;\n box-shadow: 0 0px 2px rgba(0, 0, 0, 0.3), 0 3px 10px rgba(0, 0, 0, 0.05);\n overflow: hidden;\n z-index: 3;\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 8px;\n z-index: 1;\n color: rgba(0, 0, 0, 0.3);\n text-align: center;\n font-size: 0.8rem;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n}\n\n@media only screen and (max-width: 720px) {\n .q-pack-cover {\n width: 112px;\n }\n .q-pack-cover-inner {\n flex-basis: 112px;\n width: 112px;\n height: 96px;\n }\n}\n\n</style>","\nfunction copyToClipboard(text:string) {\n if (navigator.clipboard && window.isSecureContext) {\n // Navigator clipboard API method\n navigator.clipboard.writeText(text).then(function() {}, function(err) {\n console.error(\"[quailjs.util.copyToClipboard] Could not copy text: \", err);\n });\n } else {\n // Fallback method for older browsers\n const textArea = document.createElement(\"textarea\");\n textArea.value = text;\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n try {\n document.execCommand('copy');\n } catch (err) {\n console.error(\"[quailjs.util.copyToClipboard] Could not copy text: \", err);\n }\n document.body.removeChild(textArea);\n }\n}\n\nexport {\n copyToClipboard\n}","// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n","let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n","exports.L = { bit: 1 }\nexports.M = { bit: 0 }\nexports.Q = { bit: 3 }\nexports.H = { bit: 2 }\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n}\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","function BitBuffer () {\n this.buffer = []\n this.length = 0\n}\n\nBitBuffer.prototype = {\n\n get: function (index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1)\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8))\n }\n\n this.length++\n }\n}\n\nmodule.exports = BitBuffer\n","/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n","/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nconst getSymbolSize = require('./utils').getSymbolSize\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n const posCount = Math.floor(version / 7) + 2\n const size = getSymbolSize(version)\n const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n const positions = [size - 7] // Last coord is always (size - 7)\n\n for (let i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * let pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const coords = []\n const pos = exports.getRowColCoords(version)\n const posLength = pos.length\n\n for (let i = 0; i < posLength; i++) {\n for (let j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n","const getSymbolSize = require('./utils').getSymbolSize\nconst FINDER_PATTERN_SIZE = 7\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const size = getSymbolSize(version)\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n}\n","/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\n}\n","const ECLevel = require('./error-correction-level')\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n","const EXP_TABLE = new Uint8Array(512)\nconst LOG_TABLE = new Uint8Array(256)\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n let x = 1\n for (let i = 0; i < 255; i++) {\n EXP_TABLE[i] = x\n LOG_TABLE[x] = i\n\n x <<= 1 // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n","const GF = require('./galois-field')\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n","const Polynomial = require('./polynomial')\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined\n this.degree = degree\n\n if (this.degree) this.initialize(this.degree)\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree\n this.genPoly = Polynomial.generateECPolynomial(this.degree)\n}\n\n/**\n * Encodes a chunk of data\n *\n * @param {Uint8Array} data Buffer containing input data\n * @return {Uint8Array} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n const paddedData = new Uint8Array(data.length + this.degree)\n paddedData.set(data)\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n const remainder = Polynomial.mod(paddedData, this.genPoly)\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n const start = this.degree - remainder.length\n if (start > 0) {\n const buff = new Uint8Array(this.degree)\n buff.set(remainder, start)\n\n return buff\n }\n\n return remainder\n}\n\nmodule.exports = ReedSolomonEncoder\n","/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n","const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n","const VersionCheck = require('./version-check')\nconst Regex = require('./regex')\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n}\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n}\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n}\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n}\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n}\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n}\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n}\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n}\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n}\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const Utils = require('./utils')\nconst ECCode = require('./error-correction-code')\nconst ECLevel = require('./error-correction-level')\nconst Mode = require('./mode')\nconst VersionCheck = require('./version-check')\n\n// Generator polynomial used to encode version information\nconst G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)\nconst G18_BCH = Utils.getBCHDigit(G18)\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n let totalBits = 0\n\n segments.forEach(function (data) {\n const reservedBits = getReservedBitsCount(data.mode, version)\n totalBits += reservedBits + data.getBitsLength()\n })\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n const length = getTotalBitsFromDataArray(segments, currentVersion)\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n}\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE\n\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n}\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n let seg\n\n const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)\n\n if (Array.isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0]\n } else {\n seg = data\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n}\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n let d = version << 12\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))\n }\n\n return (version << 12) | d\n}\n","const Utils = require('./utils')\n\nconst G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)\nconst G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)\nconst G15_BCH = Utils.getBCHDigit(G15)\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n const data = ((errorCorrectionLevel.bit << 3) | mask)\n let d = data << 10\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n}\n","const Mode = require('./mode')\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC\n this.data = data.toString()\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n}\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n}\n\nNumericData.prototype.write = function write (bitBuffer) {\n let i, group, value\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, 10)\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n const remainingNum = this.data.length - i\n if (remainingNum > 0) {\n group = this.data.substr(i)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, remainingNum * 3 + 1)\n }\n}\n\nmodule.exports = NumericData\n","const Mode = require('./mode')\n\n/**\n * Array of characters available in alphanumeric mode\n *\n * As per QR Code specification, to each character\n * is assigned a value from 0 to 44 which in this case coincides\n * with the array index\n *\n * @type {Array}\n */\nconst ALPHA_NUM_CHARS = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n]\n\nfunction AlphanumericData (data) {\n this.mode = Mode.ALPHANUMERIC\n this.data = data\n}\n\nAlphanumericData.getBitsLength = function getBitsLength (length) {\n return 11 * Math.floor(length / 2) + 6 * (length % 2)\n}\n\nAlphanumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n return AlphanumericData.getBitsLength(this.data.length)\n}\n\nAlphanumericData.prototype.write = function write (bitBuffer) {\n let i\n\n // Input data characters are divided into groups of two characters\n // and encoded as 11-bit binary codes.\n for (i = 0; i + 2 <= this.data.length; i += 2) {\n // The character value of the first character is multiplied by 45\n let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45\n\n // The character value of the second digit is added to the product\n value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])\n\n // The sum is then stored as 11-bit binary number\n bitBuffer.put(value, 11)\n }\n\n // If the number of input data characters is not a multiple of two,\n // the character value of the final character is encoded as a 6-bit binary number.\n if (this.data.length % 2) {\n bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6)\n }\n}\n\nmodule.exports = AlphanumericData\n","'use strict'\n\nmodule.exports = function encodeUtf8 (input) {\n var result = []\n var size = input.length\n\n for (var index = 0; index < size; index++) {\n var point = input.charCodeAt(index)\n\n if (point >= 0xD800 && point <= 0xDBFF && size > index + 1) {\n var second = input.charCodeAt(index + 1)\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n point = (point - 0xD800) * 0x400 + second - 0xDC00 + 0x10000\n index += 1\n }\n }\n\n // US-ASCII\n if (point < 0x80) {\n result.push(point)\n continue\n }\n\n // 2-byte UTF-8\n if (point < 0x800) {\n result.push((point >> 6) | 192)\n result.push((point & 63) | 128)\n continue\n }\n\n // 3-byte UTF-8\n if (point < 0xD800 || (point >= 0xE000 && point < 0x10000)) {\n result.push((point >> 12) | 224)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // 4-byte UTF-8\n if (point >= 0x10000 && point <= 0x10FFFF) {\n result.push((point >> 18) | 240)\n result.push(((point >> 12) & 63) | 128)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // Invalid character\n result.push(0xEF, 0xBF, 0xBD)\n }\n\n return new Uint8Array(result).buffer\n}\n","const encodeUtf8 = require('encode-utf8')\nconst Mode = require('./mode')\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n if (typeof (data) === 'string') {\n data = encodeUtf8(data)\n }\n this.data = new Uint8Array(data)\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n","const Mode = require('./mode')\nconst Utils = require('./utils')\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n","'use strict';\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin <self@wyattbaldwin.com>\n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n","const Mode = require('./mode')\nconst NumericData = require('./numeric-data')\nconst AlphanumericData = require('./alphanumeric-data')\nconst ByteData = require('./byte-data')\nconst KanjiData = require('./kanji-data')\nconst Regex = require('./regex')\nconst Utils = require('./utils')\nconst dijkstra = require('dijkstrajs')\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n","const Utils = require('./utils')\nconst ECLevel = require('./error-correction-level')\nconst BitBuffer = require('./bit-buffer')\nconst BitMatrix = require('./bit-matrix')\nconst AlignmentPattern = require('./alignment-pattern')\nconst FinderPattern = require('./finder-pattern')\nconst MaskPattern = require('./mask-pattern')\nconst ECCode = require('./error-correction-code')\nconst ReedSolomonEncoder = require('./reed-solomon-encoder')\nconst Version = require('./version')\nconst FormatInfo = require('./format-info')\nconst Mode = require('./mode')\nconst Segments = require('./segments')\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n const size = matrix.size\n const pos = FinderPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n const size = matrix.size\n\n for (let r = 8; r < size - 8; r++) {\n const value = r % 2 === 0\n matrix.set(r, 6, value, true)\n matrix.set(6, r, value, true)\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n const pos = AlignmentPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n const size = matrix.size\n const bits = Version.getEncodedBits(version)\n let row, col, mod\n\n for (let i = 0; i < 18; i++) {\n row = Math.floor(i / 3)\n col = i % 3 + size - 8 - 3\n mod = ((bits >> i) & 1) === 1\n\n matrix.set(row, col, mod, true)\n matrix.set(col, row, mod, true)\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n const size = matrix.size\n const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)\n let i, mod\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true)\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true)\n } else {\n matrix.set(size - 15 + i, 8, mod, true)\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true)\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true)\n } else {\n matrix.set(8, 15 - i - 1, mod, true)\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true)\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Uint8Array} data Data codewords\n */\nfunction setupData (matrix, data) {\n const size = matrix.size\n let inc = -1\n let row = size - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--\n\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)\n }\n\n matrix.set(row, col - c, dark)\n bitIndex--\n\n if (bitIndex === -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || size <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n const buffer = new BitBuffer()\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4)\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version))\n\n // add binary data sequence to buffer\n data.write(buffer)\n })\n\n // Calculate required number of bits\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4)\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0)\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8\n for (let i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8)\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewords = totalCodewords - ecTotalCodewords\n\n // Total number of blocks\n const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)\n\n // Calculate how many blocks each group should contain\n const blocksInGroup2 = totalCodewords % ecTotalBlocks\n const blocksInGroup1 = ecTotalBlocks - blocksInGroup2\n\n const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)\n\n const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)\n const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1\n\n // Number of EC codewords is the same for both groups\n const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n const rs = new ReedSolomonEncoder(ecCount)\n\n let offset = 0\n const dcData = new Array(ecTotalBlocks)\n const ecData = new Array(ecTotalBlocks)\n let maxDataSize = 0\n const buffer = new Uint8Array(bitBuffer.buffer)\n\n // Divide the buffer into the required number of blocks\n for (let b = 0; b < ecTotalBlocks; b++) {\n const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize)\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b])\n\n offset += dataSize\n maxDataSize = Math.max(maxDataSize, dataSize)\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n const data = new Uint8Array(totalCodewords)\n let index = 0\n let i, r\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i]\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i]\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n let segments\n\n if (Array.isArray(data)) {\n segments = Segments.fromArray(data)\n } else if (typeof data === 'string') {\n let estimatedVersion = version\n\n if (!estimatedVersion) {\n const rawSegments = Segments.rawSplit(data)\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40)\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n const dataBits = createData(version, errorCorrectionLevel, segments)\n\n // Allocate matrix buffer\n const moduleCount = Utils.getSymbolSize(version)\n const modules = new BitMatrix(moduleCount)\n\n // Add function modules\n setupFinderPattern(modules, version)\n setupTimingPattern(modules)\n setupAlignmentPattern(modules, version)\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0)\n\n if (version >= 7) {\n setupVersionInfo(modules, version)\n }\n\n // Add data codewords\n setupData(modules, dataBits)\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel))\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules)\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern)\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n let errorCorrectionLevel = ECLevel.M\n let version\n let mask\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M)\n version = Version.from(options.version)\n mask = MaskPattern.from(options.maskPattern)\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc)\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n}\n","function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n","const Utils = require('./utils')\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n","const Utils = require('./utils')\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : '<path ' + getColorAttrib(opts.color.light, 'fill') +\n ' d=\"M0 0h' + qrcodesize + 'v' + qrcodesize + 'H0z\"/>'\n\n const path =\n '<path ' + getColorAttrib(opts.color.dark, 'stroke') +\n ' d=\"' + qrToPath(data, size, opts.margin) + '\"/>'\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '<svg xmlns=\"http://www.w3.org/2000/svg\" ' + width + viewBox + ' shape-rendering=\"crispEdges\">' + bg + path + '</svg>\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n","\nconst canPromise = require('./can-promise')\n\nconst QRCode = require('./core/qrcode')\nconst CanvasRenderer = require('./renderer/canvas')\nconst SvgRenderer = require('./renderer/svg-tag.js')\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n const args = [].slice.call(arguments, 1)\n const argsNum = args.length\n const isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n const data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n const data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n","<template>\n <div class=\"q-share\" :class=\"cls\">\n <a v-for=\"serv in enabledServices\" :key=\"`serv-${serv.name}`\"\n :title=\"serv.tooltip\" class=\"q-share-link\" :class=\"serv.name\"\n @click=\"shareToService(serv)\"\n >\n <component :is=\"serv.icon\" class=\"icon share-icon\"></component>\n </a>\n <q-dialog v-model=\"showMastodonDialog\" title=\"Share to Mastodon\">\n <div class=\"q-dialog-content mastodon-dialog-content flex center\">\n <q-icon-color-mastodon class=\"service-icon\"></q-icon-color-mastodon>\n <input class=\"text-field\" v-model=\"mastodonHost\" placeholder=\"Instance Domain\" ref=\"mastodonHostInput\"/>\n <q-button class=\"primary icon ml-2\" @click=\"shareToMastodon\">\n <q-icon-arrow-right></q-icon-arrow-right>\n </q-button>\n </div>\n </q-dialog>\n <q-dialog v-model=\"showGeneralDialog\" title=\"Share to ...\">\n <div class=\"q-dialog-content general-dialog-content\">\n <div class=\"qrcode-wrapper\">\n <img :src=\"generalDataUrl\" alt=\"QR Code\" class=\"frame shadow\"/>\n </div>\n <div class=\"operations form\">\n <div class=\"copy-row form-row\">\n <q-button class=\"outlined block\" @click=\"copyUrl\">\n <q-icon-copy class=\"icon\"></q-icon-copy>\n <span class=\"button-label\">Copy URL</span>\n </q-button>\n </div>\n </div>\n </div>\n </q-dialog>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, getCurrentInstance, ref } from \"vue\";\nimport { copyToClipboard } from \"../../utils\";\nimport QRCode from \"qrcode\";\n\nconst supportedServices:any = {\n \"twitter\": {\n \"icon\": \"q-icon-color-twitter\",\n \"tooltip\": \"Share on Twitter\",\n \"url_template\": \"https://x.com/intent/tweet?url={url}&text={text}\"\n },\n \"facebook\": {\n \"icon\": \"q-icon-color-facebook\",\n \"tooltip\": \"Share on Facebook\",\n \"url_template\": \"https://www.facebook.com/sharer.php?u={url}\"\n },\n \"hackernews\": {\n \"icon\": \"q-icon-color-hackernews\",\n \"tooltip\": \"Share on Hackernews\",\n \"url_template\": \"https://news.ycombinator.com/submitlink?u={url}&t={text}\"\n },\n \"linkedin\": {\n \"icon\": \"q-icon-color-linkedin\",\n \"tooltip\": \"Share on LinkedIn\",\n \"url_template\": \"https://www.linkedin.com/shareArticle?mini=true&amp;url={url}\"\n },\n \"bluesky\": {\n \"icon\": \"q-icon-color-bluesky\",\n \"tooltip\": \"Share on Bluesky\",\n \"url_template\": \"https://bsky.app/intent/compose?text={textWithUrl}\"\n },\n \"mastodon\": {\n \"icon\": \"q-icon-color-mastodon\",\n \"tooltip\": \"Share on Mastodon\",\n \"url_template\": \"https://{host}/share?text={textWithUrl}\"\n },\n \"general\": {\n \"icon\": \"q-icon-color-share\",\n \"tooltip\": \"Share to ...\",\n \"url_template\": \"\"\n }\n};\n\nconst showGeneralDialog = ref(false);\nconst generalUrl = ref('');\nconst generalDataUrl = ref('');\n\nconst showMastodonDialog = ref(false);\nconst mastodonHost = ref('');\nconst mastodonHostInput:any = ref(null);\n\nconst props = defineProps({\n url: {\n type: String,\n default: \"\",\n },\n text: {\n type: String,\n default: \"\",\n },\n layout: {\n type: String,\n default: \"row\",\n },\n services: {\n type: Array<string>,\n default: () => [\"twitter\", \"facebook\", \"hackernews\", \"general\"],\n },\n});\n\nconst cls = computed(() => {\n if (props.layout === \"row\") {\n return \"q-share-layout-row\";\n } else if (props.layout === \"column\") {\n return \"q-share-layout-column\";\n }\n return \"q-share-layout-row\";\n});\n\nconst shareUrl = computed(() => {\n if (props.url) {\n return encodeURIComponent(props.url);\n }\n // share the url of the current page\n return encodeURIComponent(window.location.href);\n});\n\nconst text = computed(() => {\n if (props.text) {\n return encodeURIComponent(props.text);\n }\n return encodeURIComponent(document.title);\n});\n\nconst enabledServices = computed(() => {\n const enabled = [];\n for (const service of props.services) {\n const item = supportedServices[service];\n if (item) {\n item.name = service;\n item.url = buildUrl(item.url_template, {\n url: shareUrl.value,\n text: text.value,\n textWithUrl: `${text.value}${encodeURIComponent('\\n\\n')}${shareUrl.value}`,\n host: window.location.host,\n });\n enabled.push(item);\n }\n }\n return enabled;\n});\n\nfunction buildUrl(url: string, params: Record<string, string>) {\n for (const key in params) {\n url = url.replace(`{${key}}`, params[key]);\n }\n return url;\n}\n\nfunction shareToService(service: any) {\n switch (service.name) {\n case \"mastodon\":\n openMastodonDialog(service);\n break;\n case \"general\":\n showGeneralDialog.value = true;\n generalUrl.value = decodeURIComponent(shareUrl.value);\n QRCode.toDataURL(generalUrl.value, { width: 400, margin: 1 }, (err:any, url:any) => {\n if (err) {\n console.error(err);\n return ;\n }\n generalDataUrl.value = url;\n });\n break;\n default:\n window.open(service.url, \"_blank\");\n }\n}\n\nfunction copyUrl() {\n copyToClipboard(generalUrl.value);\n showGeneralDialog.value = false;\n}\n\nfunction openMastodonDialog(service:any) {\n showMastodonDialog.value = true\n const existing = localStorage.getItem('quailui_global_mastodon_host') || ''\n mastodonHost.value = existing\n setTimeout(() => {\n // focus the input field and select the text\n mastodonHostInput.value?.focus()\n mastodonHostInput.value?.select()\n }, 300)\n}\n\nfunction shareToMastodon() {\n const url = buildUrl(supportedServices.mastodon.url_template, {\n host: mastodonHost.value,\n text: text.value,\n textWithUrl: `${text.value}${encodeURIComponent('\\n\\n')}${shareUrl.value}`,\n });\n localStorage.setItem('quailui_global_mastodon_host', mastodonHost.value);\n window.open(url, \"_blank\");\n showMastodonDialog.value = false;\n}\n\n</script>\n<style lang=\"scss\">\n.q-share {\n .q-share-link {\n display: block;\n width: 24px;\n height: 24px;\n background: #fff;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n filter: grayscale(1);\n opacity: 0.8;\n transition: all 0.2s ease-in-out;\n img {\n width: 100%;\n height: 100%;\n }\n &:hover {\n filter: grayscale(0);\n opacity: 1;\n }\n }\n}\n.q-share.q-share-layout-row {\n display: flex;\n justify-content: center;\n align-items: center;\n .q-share-link {\n margin-right: 0.5rem;\n &:last-child {\n margin-right: 0;\n }\n }\n}\n.q-share.q-share-layout-column {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n .q-share-link {\n margin-bottom: 0.5rem;\n &:last-child {\n margin-bottom: 0;\n }\n }\n}\n\n.mastodon-dialog-content {\n align-items: center;\n .service-icon {\n width: 36px;\n height: 36px;\n margin-right: 0.5rem;\n }\n}\n\n.general-dialog-content {\n display: flex;\n flex-direction: column;\n .qrcode-wrapper {\n flex: 0;\n display: flex;\n justify-content: center;\n img {\n max-width: 200px;\n max-height: 200px;\n }\n }\n .operations {\n flex: 1;\n margin-top: 1rem;\n }\n}\n\n@media (max-width: 600px) {\n .general-dialog-content {\n flex-direction: column;\n }\n .qrcode-wrapper {\n margin-bottom: 1rem;\n }\n .operations {\n margin-left: 0;\n }\n}\n</style>","<template>\n <div class=\"q-avatar\" :style=\"sty\" :class=\"cls\">\n <template v-if=\"props.src === ''\">\n <slot></slot>\n </template>\n <img v-else :src=\"imgSrc\" :alt=\"alt\" @error=\"handleError\" />\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\n\nconst defaultAvatar = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHNjcmlwdCB4bWxucz0iIi8+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yMF8yKSI+CjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBmaWxsPSIjRjJGMkYyIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8Y2lyY2xlIGN4PSIxMjgiIGN5PSIxMjgiIHI9IjY0IiBmaWxsPSIjRDlEOUQ5IiBmaWxsLW9wYWNpdHk9IjAuNiIvPgo8Y2lyY2xlIGN4PSIxMjgiIGN5PSIyNzIiIHI9IjgwIiBmaWxsPSIjRDlEOUQ5IiBmaWxsLW9wYWNpdHk9IjAuNiIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzIwXzIiPgo8cmVjdCB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4=\";\nconst props = defineProps({\n src: {\n type: String,\n default: \"\",\n },\n alt: {\n type: String,\n default: \"An Avatar\",\n },\n size: {\n type: Number,\n default: 32,\n },\n variant: {\n type: String,\n default: \"circle\", // circle, rounded, square\n },\n borderType: {\n type: String, // none, solid, hollow\n default: \"none\",\n },\n borderColor: { // only for borderType=\"hollow\"\n type: String,\n default: \"#000\",\n }\n});\n\nconst imgSrc = computed(() => props.src || defaultAvatar);\n\nconst cls = computed(() => {\n const ret = [];\n if (props.variant === \"circle\") {\n ret.push(\"circle\");\n } else if (props.variant === \"rounded\") {\n ret.push(\"rounded\");\n } else if (props.variant === \"square\") {\n ret.push(\"square\");\n }\n if (props.borderType === 'solid') {\n ret.push('border-solid');\n } else if (props.borderType === 'hollow') {\n ret.push('border-hollow');\n }\n return ret.join(\" \");\n});\n\n\nconst sty = computed(() => {\n const ret:any = {\n width: `${props.size}px`,\n height: `${props.size}px`,\n 'max-width': `${props.size}px`,\n 'max-height': `${props.size}px`,\n };\n if (props.borderType === 'hollow') {\n ret['border-color'] = props.borderColor;\n }\n return ret;\n});\n\nfunction handleError(e: Event) {\n const img = e.target as HTMLImageElement;\n img.src = defaultAvatar;\n}\n</script>\n<style lang=\"scss\">\n.q-avatar {\n display: block;\n border-radius: 50%;\n img {\n border-radius: 50%;\n width: 100%;\n height: 100%;\n }\n & > svg {\n width: 100%;\n height: 100%;\n }\n &.rounded {\n border-radius: 8px;\n img {\n border-radius: 6px;\n }\n }\n &.square {\n border-radius: 0;\n img {\n border-radius: 0;\n }\n }\n &.border-solid {\n border: 3px solid #fff;\n box-shadow: 0 0 1px #c4bab9, 0 1px 2px #4343431a;\n }\n &.border-hollow {\n padding: 2px;\n border-width: 1px;\n border-style: solid;\n }\n}\n</style>\n","<template>\n <div class=\"q-dropdown-menu-with-text-field\" >\n <div class=\"q-dropdown-menu-with-text-field-top\">\n <div class=\"q-dropdown-menu-wrapper\">\n <q-dropdown-menu\n :items=\"items\"\n :initial-item=\"selectedItem\"\n use-dialog=\"always\"\n use-filter\n scroll-height=\"400px\"\n variant=\"plain\"\n @change=\"selectChanged\"\n ></q-dropdown-menu>\n </div>\n <div class=\"q-text-field-wrapper\">\n <input\n ref=\"textField\"\n class=\"q-text-field text-field\"\n :placeholder=\"props.placeholder\"\n v-model=\"text\"\n @change=\"textChanged\"\n />\n </div>\n </div>\n <div v-if=\"showBottom\" class=\"q-dropdown-menu-with-text-field-bottom\">\n <div class=\"fill-action text-xs plain flex\" @click=\"fill\">\n <span v-text=\"props.fillActionLabel\"></span>\n <QIconArrowUpRight class=\"icon\" />\n </div>\n <div class=\"text-xs text-hint\">\n <span v-text=\"props.hintText\"></span>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from \"vue\";\nimport { debounce } from \"../../util\";\nimport QIconArrowUpRight from \"../icons/QIconArrowUpRight.vue\";\n\nconst props = defineProps({\n items: {\n type: Array<any>,\n required: true,\n },\n placeholder: {\n default: \"Type here\",\n },\n defaultSelection: {\n type: Object,\n },\n defaultText: {\n default: \"\",\n },\n fillActionLabel: {\n default: \"\",\n },\n fillActionValue: {\n default: \"\",\n },\n hintText: {\n default: \"\",\n },\n textDisabled: {\n default: false,\n },\n selectDisabled: {\n default: false,\n },\n});\n\nconst emit = defineEmits([\"change\"]);\nconst text = ref(props.defaultText);\nconst selectedItem = ref(props.defaultSelection);\nconst textField = ref<any>(null);\n\nconst showBottom = computed(() => {\n return props.fillActionLabel !== \"\" || props.hintText !== \"\";\n});\n\nfunction selectChanged(item:any) {\n selectedItem.value = item;\n changed();\n}\n\nfunction textChanged() {\n changed();\n}\n\nfunction changed() {\n const v = {\n selected: selectedItem.value,\n text: text.value\n }\n emit('change', v);\n}\n\nfunction fill() {\n text.value = props.fillActionValue;\n changed()\n}\n\nonMounted(() => {\n debounce(() => {\n selectedItem.value = props.defaultSelection;\n text.value = props.defaultText;\n if (selectedItem.value === null || selectedItem.value === undefined) {\n selectedItem.value = props.items[0];\n }\n textField.value.addEventListener(\"focus\", () => {\n textField.value.select();\n });\n }, 300)();\n});\n</script>\n\n<style scoped lang=\"scss\">\n.q-dropdown-menu-with-text-field {\n width: 100%;\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 6px;\n box-shadow: inset 0px 1px 8px 0px rgba(0,0,0,0.03), 0px 1px 1px 0px #4343431A;\n transition: border-color 0.2s ease-in-out;\n\n &:has(input:focus) {\n border-color: var(--vt-c-divider-light-focus);\n }\n\n .q-dropdown-menu-with-text-field-top, .q-dropdown-menu-with-text-field-bottom {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n }\n\n .q-dropdown-menu-with-text-field-bottom {\n color: var(--vt-c-text-light-3);\n .text-hint {\n padding: 0.1rem 0.75rem 0.4rem .75rem;\n }\n .fill-action {\n padding: 0.1rem 0.75rem 0.4rem .75rem;\n cursor: default;\n transition: color 0.2s ease-in;\n &:hover {\n color: var(--vt-c-text-light-2);\n }\n }\n .icon {\n width: 16px;\n height: 16px;\n }\n }\n .q-dropdown-menu-wrapper {\n }\n .q-text-field-wrapper {\n flex: 1;\n &:deep(.q-text-field) {\n border: none;\n text-align: right;\n box-shadow: none;\n }\n }\n}\n</style>","<template>\n <button :class=\"cls\" :disabled=\"!validated\">\n <div v-if=\"props.loading\" class=\"ocean\">\n <div class=\"wave\"></div>\n </div>\n <slot></slot>\n </button>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue';\n\nconst props = defineProps({\n class: {\n type: String,\n default: 'primary',\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n loading: {\n type: Boolean,\n default: false,\n },\n});\n\nconst cls = computed(() => {\n const ret = ['q-button touchable'];\n ret.push(props.class);\n if (props.loading) {\n ret.push('loading');\n }\n return ret.join(' ');\n});\n\nconst validated = computed(() => {\n return !props.disabled;\n});\n</script>\n\n<style scoped lang=\"scss\">\n@import \"@/styles/mixin/touchable.scss\";\n\n.q-button {\n height: 44px;\n font-weight: 500;\n border-radius: 6px;\n padding: 0.8rem 1rem;\n text-align: center;\n text-decoration: none;\n display: flex;\n font-size: 1rem;\n cursor: default;\n font-size: 1rem;\n transition: all 0.2s ease-in-out;\n white-space: nowrap;\n line-height: 1;\n align-items: center;\n justify-content: center;\n position: relative;\n overflow:hidden;\n &.sm {\n padding: 0.6rem 0.8rem;\n height: 38px;\n font-size: 0.875rem;\n }\n &.xs {\n padding: 0.6rem 0.8rem;\n height: 32px;\n font-size: 0.75rem;\n }\n &.xxs {\n padding: 0.6rem 0.8rem;\n height: 24px;\n font-size: 0.7rem;\n }\n .button-label {\n align-self: center;\n }\n &:deep(.icon) {\n margin-right: 0.5rem;\n height: 16px !important;\n width: 16px !important;\n align-self: center;\n }\n &.block {\n width: 100%;\n }\n &.icon {\n padding: 0.8rem;\n width: 44px;\n &:deep(.icon) {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: 0;\n height: 16px;\n width: 16px;\n }\n &.sm {\n padding: 0.6rem;\n width: 38px;\n }\n &.xs {\n padding: 0.6rem;\n width: 32px;\n }\n }\n}\n</style>","<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue';\n\nconst props = defineProps({\n modelValue: Object,\n tabs: {\n type: Array<any>,\n required: true,\n },\n initialIndex: {\n type: Number,\n default: 0,\n },\n});\n\nconst emit = defineEmits([\"change\", \"update:modelValue\"]);\n\nconst selectedTab = ref(props.tabs[props.initialIndex]);\n\nconst selectedIndex = ref(props.initialIndex);\n\nwatch(() => props.modelValue, (tab:any) => {\n\tselectedIndex.value = props.tabs.findIndex((t:any) => t.id === tab.id);\n selectedTab.value = tab || props.tabs[0];\n});\n\nfunction selectTab(ix: number, tab: any) {\n selectedIndex.value = ix;\n selectedTab.value = tab;\n emit(\"change\", {index: ix, tab: tab});\n emit('update:modelValue', tab);\n}\n\n\nfunction genCls(tab:any, ix: number) {\n const ret = [];\n if (selectedIndex.value === ix) {\n ret.push(\"selected outlined\");\n } else {\n ret.push(\"plain\");\n }\n if (tab.icon) {\n ret.push(\"with-icon\");\n }\n if (tab.title) {\n ret.push(\"with-label\");\n }\n return ret.join(\" \");\n}\n\n</script>\n\n<template>\n <div class=\"q-tabs\">\n <QButton class=\"q-tab-button sm\" :class=\"genCls(tab, ix)\"\n v-for=\"tab, ix in tabs\" :key=\"`tab-button-${ix}`\" @click=\"selectTab(ix, tab)\">\n <template v-if=\"tab.icon\">\n <component :is=\"tab.icon\" class=\"q-tab-button-icon\" />\n </template>\n <div class=\"q-tab-button-label\">\n {{ tab.title }}\n </div>\n </QButton>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.q-tabs {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n border-radius: 6px;\n background-color: hsl(240 4.8% 95.9%);\n padding: .25rem;\n &:deep(.q-button) {\n transition: none;\n border-radius: 3px !important;\n &.outlined {\n background-color: white !important;\n border: 1px solid var(--vt-c-divider-light-2);\n }\n &.plain {\n border: 1px solid transparent !important;\n opacity: 0.6 !important;\n &:hover {\n background-color: transparent !important;\n }\n }\n }\n .q-tab-button {\n &.with-icon.with-label {\n .q-tab-button-icon {\n margin-right: 0.5rem;\n }\n }\n .q-tab-button-icon {\n height: 16px;\n width: 16px;\n max-width: 16px;\n }\n }\n}\n</style>","<template>\n <div class=\"q-input\" :class=\"cls\">\n <div class=\"q-input-prepend-out\">\n <slot name=\"prepend-out\"></slot>\n </div>\n <div class=\"q-text-field-wrapper\">\n <div class=\"q-text-field-inner\">\n <div class=\"q-input-prepend\">\n <slot name=\"prepend\"></slot>\n </div>\n <input\n ref=\"textField\"\n class=\"q-text-field text-field\"\n :placeholder=\"props.placeholder\"\n :disabled=\"props.disabled\"\n v-model=\"text\"\n @change=\"textChanged\"\n @keyup=\"keyup\"\n @focus=\"() => emit('focus')\"\n @blur=\"() => emit('blur')\"\n />\n <QButton class=\"clear-btn plain icon\" @click=\"clear\">\n <QIconEditorDelete class=\"icon\" />\n </QButton>\n <div class=\"q-input-append\">\n <slot name=\"append\"></slot>\n </div>\n </div>\n\n <div v-if=\"hasHint\" class=\"q-text-field-hint\">\n <div class=\"q-text-field-hint-left\">\n <template v-if=\"hintIcon\">\n <component :is=\"hintIcon\" class=\"q-text-field-hint-icon\"></component>\n </template>\n <div v-if=\"hintText\" class=\"q-text-field-hint-text\">\n {{ hintText }}\n </div>\n </div>\n <div v-if=\"max !== -1\" class=\"q-text-field-counter\">\n {{ text.length }} / {{ max }}\n </div>\n </div>\n </div>\n <div class=\"q-input-append-out\">\n <slot name=\"append-out\"></slot>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from \"vue\";\n\nconst props = defineProps({\n modelValue: {\n type: String,\n default: \"\",\n },\n placeholder: {\n default: \"Type here\",\n },\n defaultText: {\n default: \"\",\n },\n disabled: {\n default: false,\n },\n hintIcon: {\n type: Object,\n default: null,\n },\n hintText: {\n default: \"\",\n },\n error: {\n default: false,\n },\n max: {\n type: Number,\n default: -1,\n },\n});\n\nconst emit = defineEmits([\"change\", \"blur\", \"focus\", \"keyup\", \"update:modelValue\"]);\nconst text = ref(props.defaultText);\nconst textField = ref<any>(null);\n\nwatch(() => props.modelValue, (val) => {\n text.value = val;\n});\n\nconst exceed = computed(() => {\n if (props.max === -1) {\n return false;\n }\n return text.value.length > props.max ;\n});\n\nconst hasHint = computed(() => {\n return props.hintIcon || props.hintText || props.max !== -1 || props.error;\n});\n\nconst cls = computed(() => {\n const ret = [];\n if (props.disabled) {\n ret.push(\"disabled\");\n }\n if (props.error) {\n ret.push(\"error\");\n }\n if (exceed.value) {\n ret.push(\"exceed\");\n }\n if (text.value === \"\") {\n ret.push(\"empty\");\n }\n return ret.join(\" \");\n});\n\nfunction keyup(e: KeyboardEvent) {\n updateValue();\n emit(\"keyup\", e);\n}\n\nfunction textChanged() {\n updateValue();\n emit(\"change\", text.value);\n}\n\nfunction clear() {\n text.value = \"\";\n updateValue();\n textField.value.focus();\n emit(\"change\", text.value);\n}\n\nfunction updateValue() {\n emit(\"update:modelValue\", text.value);\n}\n\nonMounted(() => {\n});\n</script>\n\n<style scoped lang=\"scss\">\n.q-input {\n width: 100%;\n display: flex;\n align-items: center;\n\n &.exceed, &.error {\n .q-text-field-wrapper {\n border: 1px solid var(--vt-c-red-dimm-3);\n &:has(input:focus) {\n border-color: var(--vt-c-red-dimm-3);\n }\n }\n .q-text-field-hint {\n background-color: var(--vt-c-red-dimm-1);\n }\n .q-text-field-counter {\n color: var(--vt-c-red);\n }\n }\n\n &.error {\n .q-text-field-hint-text {\n color: var(--vt-c-red);\n }\n }\n &.disabled {\n .clear-btn {\n display: none;\n }\n }\n\n .q-input-prepend, .q-input-append,\n .q-input-prepend-out, .q-input-append-out {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .q-text-field-wrapper {\n width: 100%;\n min-height: 44px;\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 6px;\n box-shadow: inset 0px 1px 8px 0px rgba(0,0,0,0.03), 0px 1px 1px 0px #4343431A;\n transition: border-color 0.2s ease-in-out;\n\n // if textarea gets focus, apply border color to .q-textarea by parent pesudo class\n &:has(input:focus) {\n border-color: var(--vt-c-divider-light-focus);\n }\n\n .q-text-field-inner {\n flex: 1;\n display: flex;\n align-items: center;\n }\n\n &:deep(.q-text-field) {\n border: none !important;\n box-shadow: none !important;\n outline: none !important;\n min-height: 42px;\n }\n .clear-btn {\n min-height: 42px;\n color: var(--vt-c-text-light-3);\n }\n\n\n .q-text-field-hint {\n font-size: 0.8rem;\n color: var(--vt-c-text-light-3);\n padding: 0.2rem 0.5rem;\n margin-left: 0px;\n margin-right: 0px;\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n .q-text-field-hint-left {\n display: flex;\n align-items: center;\n }\n .q-text-field-hint-icon {\n max-height: 20px;\n max-width: 20px;\n opacity: 0.7;\n margin-right: 0.5rem;\n }\n }\n }\n &.empty {\n .clear-btn {\n display: none;\n }\n }\n}\n</style>","<template>\n <div class=\"q-search-input\">\n <QInput v-model=\"text\" type=\"text\" :placeholder=\"placeholder\" :disabled=\"disabled\"\n @keyup=\"keyup\" @change=\"textChanged\"></QInput>\n <div v-if=\"items && showItems\" class=\"result\">\n <QMenu :items=\"resultItems\" ></QMenu>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from \"vue\";\n\nconst props = defineProps({\n modelValue: {\n type: String,\n default: \"\",\n },\n placeholder: {\n default: \"Type here\",\n },\n defaultText: {\n default: \"\",\n },\n disabled: {\n default: false,\n },\n items: {\n type: Array<any>,\n default: () => [],\n },\n});\n\nconst emit = defineEmits([\"change\", \"blur\", \"focus\", \"keyup\", \"select\", \"update:modelValue\"]);\nconst text = ref(props.defaultText);\nconst showItems = ref(false);\n\nwatch(() => props.modelValue, (val) => {\n text.value = val;\n});\n\nwatch(() => text.value, (val) => {\n if (text.value === '') {\n showItems.value = false;\n }\n});\n\nwatch(() => props.items, (val) => {\n showItems.value = val.length > 0 && text.value !== '';\n});\n\nconst resultItems = computed(() => {\n return props.items.map((item) => {\n return {\n title: item.title,\n subtitle: item.subtitle,\n action: () => {\n emit(\"select\", item);\n showItems.value = false;\n },\n };\n });\n});\n\nfunction keyup(e: KeyboardEvent) {\n updateValue();\n emit(\"keyup\", e);\n}\n\nfunction textChanged() {\n updateValue();\n emit(\"change\", text.value);\n}\n\nfunction updateValue() {\n emit(\"update:modelValue\", text.value);\n}\n\nonMounted(() => {\n});\n</script>\n\n<style scoped lang=\"scss\">\n.q-search-input {\n position: relative;\n}\n</style>","<template>\n <QButton :class=\"cls\" :disabled=\"disabled\" :loading=\"loading\" @click=\"toggle\">\n <slot></slot>\n </QButton>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue';\n\nconst props = defineProps({\n modelValue: {\n type: Boolean,\n default: false,\n },\n class: {\n type: String,\n default: 'outlined',\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n loading: {\n type: Boolean,\n default: false,\n },\n});\n\nconst emit = defineEmits(['update:modelValue']);\n\nconst _modelValue = ref(props.modelValue);\n\nwatch(() => props.modelValue, (val) => {\n _modelValue.value = val;\n});\n\nconst cls = computed(() => {\n const ret = ['q-button touchable outlined'];\n ret.push(props.class);\n if (props.loading) {\n ret.push('loading');\n }\n if (_modelValue.value) {\n ret.push('toggle-on');\n } else {\n ret.push('toggle-off');\n }\n return ret.join(' ');\n});\n\nfunction toggle() {\n _modelValue.value = !_modelValue.value;\n emit('update:modelValue', _modelValue.value);\n}\n</script>\n","<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch, type Ref } from \"vue\";\n\nconst props = defineProps({\n modelValue: {\n type: String,\n default: \"\",\n },\n placeholder: {\n default: \"Type here\",\n },\n defaultText: {\n default: \"\",\n },\n hintIcon: {\n type: Object,\n default: null,\n },\n hintText: {\n default: \"\",\n },\n disabled: {\n default: false,\n },\n rows: {\n type: Number,\n default: 5,\n },\n error: {\n default: false,\n },\n max: {\n type: Number,\n default: -1,\n },\n});\n\nconst emit = defineEmits([\"change\", \"blur\", \"focus\", \"keyup\", \"update:modelValue\"]);\nconst text = ref(props.defaultText);\n\nwatch(() => props.modelValue, (val) => {\n text.value = val;\n});\n\nconst exceed = computed(() => {\n if (props.max === -1) {\n return false;\n }\n return text.value.length > props.max ;\n});\n\nconst hasHint = computed(() => {\n return props.hintIcon || props.hintText || props.max !== -1;\n});\n\nconst cls = computed(() => {\n const ret: any = [];\n if (props.disabled) {\n ret.push(\"disabled\");\n };\n if (props.error) {\n ret.push(\"error\");\n }\n if (exceed.value) {\n ret.push(\"exceed\");\n }\n return ret.join(\" \");\n});\n\nfunction keyup(e: KeyboardEvent) {\n updateValue();\n emit(\"keyup\", e);\n}\n\nfunction textChanged() {\n updateValue();\n emit(\"change\", text.value);\n}\n\nfunction updateValue() {\n emit(\"update:modelValue\", text.value);\n}\n\nonMounted(() => {\n});\n\n</script>\n\n<template>\n <div class=\"q-textarea\" :class=\"cls\">\n <textarea class=\"textarea\" v-model=\"text\"\n @change=\"textChanged\" @keyup=\"keyup\"\n :rows=\"rows\" :placeholder=\"props.placeholder\" :disabled=\"disabled\"></textarea>\n <div v-if=\"hasHint\" class=\"q-textarea-hint\">\n <div class=\"q-textarea-hint-left\">\n <template v-if=\"hintIcon\">\n <component :is=\"hintIcon\" class=\"q-textarea-hint-icon\"></component>\n </template>\n <div v-if=\"hintText\" class=\"q-textarea-hint-text text-xs\">\n {{ hintText }}\n </div>\n </div>\n <div v-if=\"max !== -1\" class=\"q-textarea-counter text-xs\">\n {{ text.length }} / {{ max }}\n </div>\n </div>\n </div>\n</template>\n<style lang=\"scss\" scoped>\n.q-textarea {\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 6px;\n box-shadow: inset 0px 1px 8px 0px rgba(0,0,0,0.03), 0px 1px 1px 0px #4343431A;\n transition: border-color 0.2s ease-in-out;\n &.exceed, &.error {\n border: 1px solid var(--vt-c-red-dimm-3);\n &:has(textarea:focus) {\n border-color: var(--vt-c-red-dimm-3);\n }\n .q-textarea-hint {\n background-color: var(--vt-c-red-dimm-1);\n }\n .q-textarea-counter {\n color: var(--vt-c-red);\n }\n }\n\n &.error {\n .q-textarea-hint {\n color: var(--vt-c-red);\n }\n }\n\n &:deep(textarea) {\n border: none !important;\n box-shadow: none !important;\n outline: none !important;\n }\n\n // if textarea gets focus, apply border color to .q-textarea by parent pesudo class\n &:has(textarea:focus) {\n border-color: var(--vt-c-divider-light-focus);\n }\n\n .q-textarea-hint {\n color: var(--vt-c-text-light-3);\n padding: 0.2rem 0.5rem;\n margin-left: 0px;\n margin-right: 0px;\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n .q-textarea-hint-left {\n display: flex;\n align-items: center;\n }\n .q-textarea-hint-icon {\n max-height: 16px;\n max-width: 16px;\n opacity: 0.7;\n margin-right: 0.5rem;\n }\n }\n}\n</style>","import * as Icons from './components/icons';\nimport * as Common from './components/common';\nimport { closePopupMenu } from './util';\nimport './style.scss';\n\nconst QuailUI = {\n install(app:any, options:any) {\n if (options?.debug) {\n console.log('options', options);\n }\n for (const [name, component] of Object.entries(Icons)) {\n if (options?.debug) {\n console.log('[quail-ui] register icon component', name, component);\n }\n app.component(name, component);\n }\n for (const [name, component] of Object.entries(Common)) {\n if (options?.debug) {\n console.log('[quail-ui] register common component', name, component);\n }\n app.component(name, component);\n }\n\n document.body.addEventListener('click', (e) => {\n closePopupMenu();\n })\n }\n};\n\nexport { Icons, Common, QuailUI }\n\nexport default QuailUI;"],"names":["_sfc_main$20","_hoisted_1","_hoisted_2","_createElementVNode","_sfc_main$1$","_sfc_main$1_","_sfc_main","_createElementBlock","_hoisted_3","_hoisted_4","_createStaticVNode","_hoisted_5","_hoisted_6","_sfc_main$$","_sfc_main$_","t","e","module","this","n","i","s","u","a","o","c","h","d","l","$","y","M","m","r","v","g","D","p","S","_","w","O","b","f","k","props","__props","emit","__emit","date","ref","time","watch","value","dayjs","changed","onMounted","useUtil","browserDetect","isIE","isEdge","isChrome","isFirefox","isSafari","isOpera","isWeixin","isMobile","isAndroid","isIOS","isIpad","isIphone","isMac","isWindows","isLinux","debounce","func","delay","timeoutId","args","context","shaking","isOpen","popupPos","triggerWrapper","dialogMask","isPopup","computed","dialogStyle","ret","dialogCls","cls","dialogMaskCls","nextTick","el","top","left","close","event","components","_a","getCurrentInstance","_cache","menuCls","_cls","item","doAction","val","change","text","validated","validateEmail","validatedCode","trimed","label","submit","closePopupMenu","trigger","slots","useSlots","expanded","selectedItem","menuWrapper","scrollArea","scrollAreaCls","filterText","actionCls","hasSlot","filteredItems","useDialogFlag","toggle","wrapper","menu","menuItemClick","indicators","max","result","start","end","prevPage","nextPage","gotoPage","ix","barWidth","completed","selectedLangItem","languageItems","items","selectLang","lang","copyToClipboard","err","textArea","canPromise","toSJISFunction","CODEWORDS_COUNT","utils","version","data","digit","kanji","exports","fromString","string","level","defaultValue","BitBuffer","index","bufIndex","num","length","bit","bitBuffer","BitMatrix","size","row","col","reserved","bitMatrix","getSymbolSize","require$$0","posCount","intervals","positions","coords","pos","posLength","j","FINDER_PATTERN_SIZE","finderPattern","PenaltyScores","mask","points","sameCountCol","sameCountRow","lastCol","lastRow","last","bitsCol","bitsRow","darkCount","modulesCount","getMaskAt","maskPattern","pattern","setupFormatFunc","numPatterns","bestPattern","lowerPenalty","penalty","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","errorCorrectionCode","errorCorrectionLevel","EXP_TABLE","LOG_TABLE","x","galoisField","GF","p1","p2","coeff","divident","divisor","offset","degree","poly","Polynomial","ReedSolomonEncoder","paddedData","remainder","buff","reedSolomonEncoder","versionCheck","numeric","alphanumeric","byte","regex","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","str","VersionCheck","Regex","require$$1","mode","dataStr","Utils","ECCode","require$$2","Mode","require$$3","require$$4","G18","G18_BCH","getBestVersionForDataLength","currentVersion","getReservedBitsCount","getTotalBitsFromDataArray","segments","totalBits","reservedBits","getBestVersionForMixedData","totalCodewords","ecTotalCodewords","dataTotalCodewordsBits","usableBits","seg","ecl","G15","G15_MASK","G15_BCH","formatInfo","NumericData","group","remainingNum","numericData","ALPHA_NUM_CHARS","AlphanumericData","alphanumericData","encodeUtf8","input","point","second","ByteData","byteData","KanjiData","kanjiData","dijkstra","graph","predecessors","costs","open","closest","cost_of_s_to_u","adjacent_nodes","cost_of_e","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","first_visit","msg","nodes","opts","T","key","cost","require$$5","require$$6","require$$7","getStringByteLength","getSegments","getSegmentsFromString","numSegs","alphaNumSegs","byteSegs","kanjiSegs","s1","s2","obj","getSegmentBitsLength","mergeSegments","segs","acc","curr","prevSeg","buildNodes","buildGraph","table","prevNodeIds","nodeGroup","currentNodeIds","node","prevNodeId","buildSingleSegment","modesHint","bestMode","array","path","optimizedSegs","AlignmentPattern","FinderPattern","MaskPattern","require$$8","Version","require$$9","FormatInfo","require$$10","require$$11","Segments","require$$12","setupFinderPattern","matrix","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","bits","mod","setupFormatInfo","setupData","inc","bitIndex","byteIndex","dark","createData","buffer","remainingByte","createCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup2","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","ecData","maxDataSize","dataSize","createSymbol","estimatedVersion","rawSegments","bestVersion","dataBits","moduleCount","modules","qrcode","options","hex2rgba","hex","hexCode","hexValue","margin","width","scale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","iSrc","jSrc","clearCanvas","ctx","canvas","getCanvasElement","qrData","canvasEl","image","type","rendererOpts","getColorAttrib","color","attrib","alpha","svgCmd","cmd","qrToPath","moveBy","newRow","lineLength","svgTag","cb","qrcodesize","bg","viewBox","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","argsNum","isLastArgCb","resolve","reject","browser","supportedServices","showGeneralDialog","generalUrl","generalDataUrl","showMastodonDialog","mastodonHost","mastodonHostInput","shareUrl","enabledServices","enabled","service","buildUrl","url","params","shareToService","openMastodonDialog","copyUrl","existing","_b","shareToMastodon","defaultAvatar","imgSrc","sty","handleError","img","textField","showBottom","selectChanged","textChanged","fill","selectedTab","selectedIndex","tab","selectTab","genCls","exceed","hasHint","keyup","updateValue","clear","showItems","resultItems","_modelValue","QuailUI","app","name","component","Icons","Common"],"mappings":"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","x_google_ignoreList":[108,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]}
1
+ {"version":3,"file":"index.js","sources":["../src/components/icons/QIconArrowUpRight.vue","../src/components/icons/QIconArrowLeft.vue","../src/components/icons/QIconArrowRight.vue","../src/components/icons/QIconBatteryMid.vue","../src/components/icons/QIconBatteryFull.vue","../src/components/icons/QIconCamera.vue","../src/components/icons/QIconCheckCircle.vue","../src/components/icons/QIconChevronDown.vue","../src/components/icons/QIconChevronUp.vue","../src/components/icons/QIconCommunity.vue","../src/components/icons/QIconCopy.vue","../src/components/icons/QIconCode.vue","../src/components/icons/QIconDesktop.vue","../src/components/icons/QIconDocumentation.vue","../src/components/icons/QIconDownloadCloud.vue","../src/components/icons/QIconEcosystem.vue","../src/components/icons/QIconFaceFrown.vue","../src/components/icons/QIconFeather.vue","../src/components/icons/QIconFilter.vue","../src/components/icons/QIconHelp.vue","../src/components/icons/QIconImage.vue","../src/components/icons/QIconInfoSquare.vue","../src/components/icons/QIconLinkBroken.vue","../src/components/icons/QIconLogout.vue","../src/components/icons/QIconMagicWand.vue","../src/components/icons/QIconMail.vue","../src/components/icons/QIconMenu.vue","../src/components/icons/QIconMobile.vue","../src/components/icons/QIconMoonStar.vue","../src/components/icons/QIconPencil.vue","../src/components/icons/QIconPlus.vue","../src/components/icons/QIconQuail.vue","../src/components/icons/QIconSearch.vue","../src/components/icons/QIconSun.vue","../src/components/icons/QIconTooling.vue","../src/components/icons/QIconTrash.vue","../src/components/icons/QIconUnsplash.vue","../src/components/icons/QIconUserCircle.vue","../src/components/icons/QIconZapSquare.vue","../src/components/icons/QIconBitcoinCircle.vue","../src/components/icons/QIconDollarCircle.vue","../src/components/icons/QIconBold.vue","../src/components/icons/QIconItalic.vue","../src/components/icons/QIconExpand.vue","../src/components/icons/QIconFileLock.vue","../src/components/icons/QIconHead.vue","../src/components/icons/QIconLink.vue","../src/components/icons/QIconOrderedList.vue","../src/components/icons/QIconQuote.vue","../src/components/icons/QIconStrikeThrough.vue","../src/components/icons/QIconUnorderedList.vue","../src/components/icons/QIconBookOpen.vue","../src/components/icons/QIconCheckHeart.vue","../src/components/icons/QIconCompass.vue","../src/components/icons/QIconClockRewind.vue","../src/components/icons/QIconMessageChatSquare.vue","../src/components/icons/QIconPaperclip.vue","../src/components/icons/QIconPin.vue","../src/components/icons/QIconSettings.vue","../src/components/icons/QIconShoppingBag.vue","../src/components/icons/QIconUsers.vue","../src/components/icons/QIconDataflow.vue","../src/components/icons/QIconFaceHappy.vue","../src/components/icons/QIconMessageSquare.vue","../src/components/icons/QIconShareSquare.vue","../src/components/icons/QIconArrowUp.vue","../src/components/icons/QIconArrowDown.vue","../src/components/icons/QIconQrCode.vue","../src/components/icons/QIconRefresh.vue","../src/components/icons/QIconWallet.vue","../src/components/icons/QIconCheckVerified.vue","../src/components/icons/QIconFlash.vue","../src/components/icons/QIconInbox.vue","../src/components/icons/QIconKeyboard.vue","../src/components/icons/QIconSpeedoMeter.vue","../src/components/icons/QIconInfoCircle.vue","../src/components/icons/QIconKey.vue","../src/components/icons/QIconFingerprint.vue","../src/components/icons/QIconFingerprintLock.vue","../src/components/icons/QIconMusicNote.vue","../src/components/icons/QIconPuzzle.vue","../src/components/icons/QIconVideo.vue","../src/components/icons/QIconCloseCircle.vue","../src/components/icons/QIconEditorDelete.vue","../src/components/icons/QIconLayoutRight.vue","../src/components/icons/QIconStars.vue","../src/components/icons/QIconMarkdown.vue","../src/components/icons/QIconChevronDownDouble.vue","../src/components/icons/QIconChevronUpDouble.vue","../src/components/icons/QIconCpuChip.vue","../src/components/icons/QIconEmail.vue","../src/components/icons/QIconGrid.vue","../src/components/icons/QIconPasscode.vue","../src/components/icons/QIconStickerCircle.vue","../src/components/icons/QIconColorTelegram.vue","../src/components/icons/QIconColorFeed.vue","../src/components/icons/QIconColorTwitter.vue","../src/components/icons/QIconColorFacebook.vue","../src/components/icons/QIconColorLinkedin.vue","../src/components/icons/QIconColorHackernews.vue","../src/components/icons/QIconColorDiscord.vue","../src/components/icons/QIconColorLine.vue","../src/components/icons/QIconColorBluesky.vue","../src/components/icons/QIconColorMastodon.vue","../src/components/icons/QIconColorShare.vue","../src/components/icons/QIconColorGithub.vue","../src/components/icons/QIconColorSteam.vue","../src/components/icons/QIconColorInstagram.vue","../node_modules/.pnpm/dayjs@1.11.11/node_modules/dayjs/dayjs.min.js","../src/components/common/QDatetimePicker.vue","../src/composables/useUtil.ts","../src/components/common/QDialog.vue","../src/components/common/QFence.vue","../src/components/common/QLoading.vue","../src/components/common/QMenu.vue","../src/components/common/QSwitch.vue","../src/components/common/QTextFieldWithButton.vue","../src/util.ts","../src/components/common/QDropdownMenu.vue","../src/components/common/QPagination.vue","../src/components/common/QProgress.vue","../src/components/common/QLanguageSelector.vue","../src/components/common/QPackCover.vue","../src/utils/index.ts","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/can-promise.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/utils.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/error-correction-level.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/bit-buffer.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/bit-matrix.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/alignment-pattern.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/finder-pattern.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/mask-pattern.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/error-correction-code.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/galois-field.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/polynomial.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/reed-solomon-encoder.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/version-check.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/regex.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/mode.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/version.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/format-info.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/numeric-data.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/alphanumeric-data.js","../node_modules/.pnpm/encode-utf8@1.0.3/node_modules/encode-utf8/index.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/byte-data.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/kanji-data.js","../node_modules/.pnpm/dijkstrajs@1.0.3/node_modules/dijkstrajs/dijkstra.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/segments.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/core/qrcode.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/renderer/utils.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/renderer/canvas.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/renderer/svg-tag.js","../node_modules/.pnpm/qrcode@1.5.3/node_modules/qrcode/lib/browser.js","../src/components/common/QShare.vue","../src/components/common/QAvatar.vue","../src/components/common/QDropdownMenuWithTextField.vue","../src/components/common/QButton.vue","../src/components/common/QTabs.vue","../src/components/common/QInput.vue","../src/components/common/QSearchInput.vue","../src/components/common/QToggleButton.vue","../src/components/common/QTextarea.vue","../src/index.ts"],"sourcesContent":["<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 18L18 6M18 6H10M18 6V14\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script lang=\"ts\">\nexport default {\n name: 'QIconArrowUpRight',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M19 12H5M5 12L12 19M5 12L12 5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script lang=\"ts\">\nexport default {\n name: 'QIconArrowLeft',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 12H19M19 12L12 5M19 12L12 19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script lang=\"ts\">\nexport default {\n name: 'QIconArrowRight',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6.5 10V14M10.5 10V14M22 13V11M6.8 18H14.2C15.8802 18 16.7202 18 17.362 17.673C17.9265 17.3854 18.3854 16.9265 18.673 16.362C19 15.7202 19 14.8802 19 13.2V10.8C19 9.11984 19 8.27976 18.673 7.63803C18.3854 7.07354 17.9265 6.6146 17.362 6.32698C16.7202 6 15.8802 6 14.2 6H6.8C5.11984 6 4.27976 6 3.63803 6.32698C3.07354 6.6146 2.6146 7.07354 2.32698 7.63803C2 8.27976 2 9.11984 2 10.8V13.2C2 14.8802 2 15.7202 2.32698 16.362C2.6146 16.9265 3.07354 17.3854 3.63803 17.673C4.27976 18 5.11984 18 6.8 18Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconBatteryMid',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6.5 10V14M10.5 10V14M14.5 10V14M22 13V11M6.8 18H14.2C15.8802 18 16.7202 18 17.362 17.673C17.9265 17.3854 18.3854 16.9265 18.673 16.362C19 15.7202 19 14.8802 19 13.2V10.8C19 9.11984 19 8.27976 18.673 7.63803C18.3854 7.07354 17.9265 6.6146 17.362 6.32698C16.7202 6 15.8802 6 14.2 6H6.8C5.11984 6 4.27976 6 3.63803 6.32698C3.07354 6.6146 2.6146 7.07354 2.32698 7.63803C2 8.27976 2 9.11984 2 10.8V13.2C2 14.8802 2 15.7202 2.32698 16.362C2.6146 16.9265 3.07354 17.3854 3.63803 17.673C4.27976 18 5.11984 18 6.8 18Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconBatteryFull',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2 8.37722C2 8.0269 2 7.85174 2.01462 7.70421C2.1556 6.28127 3.28127 5.1556 4.70421 5.01462C4.85174 5 5.03636 5 5.40558 5C5.54785 5 5.61899 5 5.67939 4.99634C6.45061 4.94963 7.12595 4.46288 7.41414 3.746C7.43671 3.68986 7.45781 3.62657 7.5 3.5C7.54219 3.37343 7.56329 3.31014 7.58586 3.254C7.87405 2.53712 8.54939 2.05037 9.32061 2.00366C9.38101 2 9.44772 2 9.58114 2H14.4189C14.5523 2 14.619 2 14.6794 2.00366C15.4506 2.05037 16.126 2.53712 16.4141 3.254C16.4367 3.31014 16.4578 3.37343 16.5 3.5C16.5422 3.62657 16.5633 3.68986 16.5859 3.746C16.874 4.46288 17.5494 4.94963 18.3206 4.99634C18.381 5 18.4521 5 18.5944 5C18.9636 5 19.1483 5 19.2958 5.01462C20.7187 5.1556 21.8444 6.28127 21.9854 7.70421C22 7.85174 22 8.0269 22 8.37722V16.2C22 17.8802 22 18.7202 21.673 19.362C21.3854 19.9265 20.9265 20.3854 20.362 20.673C19.7202 21 18.8802 21 17.2 21H6.8C5.11984 21 4.27976 21 3.63803 20.673C3.07354 20.3854 2.6146 19.9265 2.32698 19.362C2 18.7202 2 17.8802 2 16.2V8.37722Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16.5C14.2091 16.5 16 14.7091 16 12.5C16 10.2909 14.2091 8.5 12 8.5C9.79086 8.5 8 10.2909 8 12.5C8 14.7091 9.79086 16.5 12 16.5Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCamera',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7.5 12L10.5 15L16.5 9M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCheckCircle',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconChevronDown',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 15L12 9L6 15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconChevronUp',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M10 15L6.92474 18.1137C6.49579 18.548 6.28131 18.7652 6.09695 18.7805C5.93701 18.7938 5.78042 18.7295 5.67596 18.6076C5.55556 18.4672 5.55556 18.162 5.55556 17.5515V15.9916C5.55556 15.444 5.10707 15.0477 4.5652 14.9683V14.9683C3.25374 14.7762 2.22378 13.7463 2.03168 12.4348C2 12.2186 2 11.9605 2 11.4444V6.8C2 5.11984 2 4.27976 2.32698 3.63803C2.6146 3.07354 3.07354 2.6146 3.63803 2.32698C4.27976 2 5.11984 2 6.8 2H14.2C15.8802 2 16.7202 2 17.362 2.32698C17.9265 2.6146 18.3854 3.07354 18.673 3.63803C19 4.27976 19 5.11984 19 6.8V11M19 22L16.8236 20.4869C16.5177 20.2742 16.3647 20.1678 16.1982 20.0924C16.0504 20.0255 15.8951 19.9768 15.7356 19.9474C15.5558 19.9143 15.3695 19.9143 14.9969 19.9143H13.2C12.0799 19.9143 11.5198 19.9143 11.092 19.6963C10.7157 19.5046 10.4097 19.1986 10.218 18.8223C10 18.3944 10 17.8344 10 16.7143V14.2C10 13.0799 10 12.5198 10.218 12.092C10.4097 11.7157 10.7157 11.4097 11.092 11.218C11.5198 11 12.0799 11 13.2 11H18.8C19.9201 11 20.4802 11 20.908 11.218C21.2843 11.4097 21.5903 11.7157 21.782 12.092C22 12.5198 22 13.0799 22 14.2V16.9143C22 17.8462 22 18.3121 21.8478 18.6797C21.6448 19.1697 21.2554 19.5591 20.7654 19.762C20.3978 19.9143 19.9319 19.9143 19 19.9143V22Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconCommunity',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5 15C4.06812 15 3.60218 15 3.23463 14.8478C2.74458 14.6448 2.35523 14.2554 2.15224 13.7654C2 13.3978 2 12.9319 2 12V5.2C2 4.0799 2 3.51984 2.21799 3.09202C2.40973 2.71569 2.71569 2.40973 3.09202 2.21799C3.51984 2 4.0799 2 5.2 2H12C12.9319 2 13.3978 2 13.7654 2.15224C14.2554 2.35523 14.6448 2.74458 14.8478 3.23463C15 3.60218 15 4.06812 15 5M12.2 22H18.8C19.9201 22 20.4802 22 20.908 21.782C21.2843 21.5903 21.5903 21.2843 21.782 20.908C22 20.4802 22 19.9201 22 18.8V12.2C22 11.0799 22 10.5198 21.782 10.092C21.5903 9.71569 21.2843 9.40973 20.908 9.21799C20.4802 9 19.9201 9 18.8 9H12.2C11.0799 9 10.5198 9 10.092 9.21799C9.71569 9.40973 9.40973 9.71569 9.21799 10.092C9 10.5198 9 11.0799 9 12.2V18.8C9 19.9201 9 20.4802 9.21799 20.908C9.40973 21.2843 9.71569 21.5903 10.092 21.782C10.5198 22 11.0799 22 12.2 22Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCopy',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17 17L22 12L17 7M7 7L2 12L7 17M14 3L10 21\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCode',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8 21H16M12 17V21M6.8 17H17.2C18.8802 17 19.7202 17 20.362 16.673C20.9265 16.3854 21.3854 15.9265 21.673 15.362C22 14.7202 22 13.8802 22 12.2V7.8C22 6.11984 22 5.27976 21.673 4.63803C21.3854 4.07354 20.9265 3.6146 20.362 3.32698C19.7202 3 18.8802 3 17.2 3H6.8C5.11984 3 4.27976 3 3.63803 3.32698C3.07354 3.6146 2.6146 4.07354 2.32698 4.63803C2 5.27976 2 6.11984 2 7.8V12.2C2 13.8802 2 14.7202 2.32698 15.362C2.6146 15.9265 3.07354 16.3854 3.63803 16.673C4.27976 17 5.11984 17 6.8 17Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconDesktop',\n};\n</script>","<template>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"17\" fill=\"currentColor\">\n <path\n d=\"M11 2.253a1 1 0 1 0-2 0h2zm-2 13a1 1 0 1 0 2 0H9zm.447-12.167a1 1 0 1 0 1.107-1.666L9.447 3.086zM1 2.253L.447 1.42A1 1 0 0 0 0 2.253h1zm0 13H0a1 1 0 0 0 1.553.833L1 15.253zm8.447.833a1 1 0 1 0 1.107-1.666l-1.107 1.666zm0-14.666a1 1 0 1 0 1.107 1.666L9.447 1.42zM19 2.253h1a1 1 0 0 0-.447-.833L19 2.253zm0 13l-.553.833A1 1 0 0 0 20 15.253h-1zm-9.553-.833a1 1 0 1 0 1.107 1.666L9.447 14.42zM9 2.253v13h2v-13H9zm1.553-.833C9.203.523 7.42 0 5.5 0v2c1.572 0 2.961.431 3.947 1.086l1.107-1.666zM5.5 0C3.58 0 1.797.523.447 1.42l1.107 1.666C2.539 2.431 3.928 2 5.5 2V0zM0 2.253v13h2v-13H0zm1.553 13.833C2.539 15.431 3.928 15 5.5 15v-2c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM5.5 15c1.572 0 2.961.431 3.947 1.086l1.107-1.666C9.203 13.523 7.42 13 5.5 13v2zm5.053-11.914C11.539 2.431 12.928 2 14.5 2V0c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM14.5 2c1.573 0 2.961.431 3.947 1.086l1.107-1.666C18.203.523 16.421 0 14.5 0v2zm3.5.253v13h2v-13h-2zm1.553 12.167C18.203 13.523 16.421 13 14.5 13v2c1.573 0 2.961.431 3.947 1.086l1.107-1.666zM14.5 13c-1.92 0-3.703.523-5.053 1.42l1.107 1.666C11.539 15.431 12.928 15 14.5 15v-2z\"\n />\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconDocumentation',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M4 16.2422C2.79401 15.435 2 14.0602 2 12.5C2 10.1564 3.79151 8.23129 6.07974 8.01937C6.54781 5.17213 9.02024 3 12 3C14.9798 3 17.4522 5.17213 17.9203 8.01937C20.2085 8.23129 22 10.1564 22 12.5C22 14.0602 21.206 15.435 20 16.2422M8 17L12 21M12 21L16 17M12 21V12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconDownloadCloud',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9.75 20.7501L11.223 21.5684C11.5066 21.726 11.6484 21.8047 11.7986 21.8356C11.9315 21.863 12.0685 21.863 12.2015 21.8356C12.3516 21.8047 12.4934 21.726 12.777 21.5684L14.25 20.7501M5.25 18.2501L3.82297 17.4573C3.52346 17.2909 3.37368 17.2077 3.26463 17.0893C3.16816 16.9847 3.09515 16.8606 3.05048 16.7254C3 16.5726 3 16.4013 3 16.0586V14.5001M3 9.50009V7.94153C3 7.59889 3 7.42757 3.05048 7.27477C3.09515 7.13959 3.16816 7.01551 3.26463 6.91082C3.37368 6.79248 3.52345 6.70928 3.82297 6.54288L5.25 5.75009M9.75 3.25008L11.223 2.43177C11.5066 2.27421 11.6484 2.19543 11.7986 2.16454C11.9315 2.13721 12.0685 2.13721 12.2015 2.16454C12.3516 2.19543 12.4934 2.27421 12.777 2.43177L14.25 3.25008M18.75 5.75008L20.177 6.54288C20.4766 6.70928 20.6263 6.79248 20.7354 6.91082C20.8318 7.01551 20.9049 7.13959 20.9495 7.27477C21 7.42757 21 7.59889 21 7.94153V9.50008M21 14.5001V16.0586C21 16.4013 21 16.5726 20.9495 16.7254C20.9049 16.8606 20.8318 16.9847 20.7354 17.0893C20.6263 17.2077 20.4766 17.2909 20.177 17.4573L18.75 18.2501M9.75 10.7501L12 12.0001M12 12.0001L14.25 10.7501M12 12.0001V14.5001M3 7.00008L5.25 8.25008M18.75 8.25008L21 7.00008M12 19.5001V22.0001\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconEcosystem',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 16C16 16 14.5 14 12 14C9.5 14 8 16 8 16M15 9H15.01M9 9H9.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM15.5 9C15.5 9.27614 15.2761 9.5 15 9.5C14.7239 9.5 14.5 9.27614 14.5 9C14.5 8.72386 14.7239 8.5 15 8.5C15.2761 8.5 15.5 8.72386 15.5 9ZM9.5 9C9.5 9.27614 9.27614 9.5 9 9.5C8.72386 9.5 8.5 9.27614 8.5 9C8.5 8.72386 8.72386 8.5 9 8.5C9.27614 8.5 9.5 8.72386 9.5 9Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFaceFrown',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 8.00007L2 22.0001M18 15.0001H9M6.6 19.0001H13.3373C13.5818 19.0001 13.7041 19.0001 13.8192 18.9724C13.9213 18.9479 14.0188 18.9075 14.1083 18.8527C14.2092 18.7909 14.2957 18.7044 14.4686 18.5314L19.5 13.5001C19.739 13.2611 19.8584 13.1416 19.9546 13.0358C22.0348 10.7474 22.0348 7.25275 19.9546 4.9643C19.8584 4.85851 19.739 4.73903 19.5 4.50007C19.261 4.26111 19.1416 4.14163 19.0358 4.04547C16.7473 1.96531 13.2527 1.96531 10.9642 4.04547C10.8584 4.14163 10.739 4.26111 10.5 4.50007L5.46863 9.53144C5.29568 9.70439 5.2092 9.79087 5.14736 9.89179C5.09253 9.98126 5.05213 10.0788 5.02763 10.1808C5 10.2959 5 10.4182 5 10.6628V17.4001C5 17.9601 5 18.2401 5.10899 18.4541C5.20487 18.6422 5.35785 18.7952 5.54601 18.8911C5.75992 19.0001 6.03995 19.0001 6.6 19.0001Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFeather',\n};\n</script>","\n<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2 4.6C2 4.03995 2 3.75992 2.10899 3.54601C2.20487 3.35785 2.35785 3.20487 2.54601 3.10899C2.75992 3 3.03995 3 3.6 3H20.4C20.9601 3 21.2401 3 21.454 3.10899C21.6422 3.20487 21.7951 3.35785 21.891 3.54601C22 3.75992 22 4.03995 22 4.6V5.26939C22 5.53819 22 5.67259 21.9672 5.79756C21.938 5.90831 21.8901 6.01323 21.8255 6.10776C21.7526 6.21443 21.651 6.30245 21.4479 6.4785L15.0521 12.0215C14.849 12.1975 14.7474 12.2856 14.6745 12.3922C14.6099 12.4868 14.562 12.5917 14.5328 12.7024C14.5 12.8274 14.5 12.9618 14.5 13.2306V18.4584C14.5 18.6539 14.5 18.7517 14.4685 18.8363C14.4406 18.911 14.3953 18.9779 14.3363 19.0315C14.2695 19.0922 14.1787 19.1285 13.9971 19.2012L10.5971 20.5612C10.2296 20.7082 10.0458 20.7817 9.89827 20.751C9.76927 20.7242 9.65605 20.6476 9.58325 20.5377C9.5 20.4122 9.5 20.2142 9.5 19.8184V13.2306C9.5 12.9618 9.5 12.8274 9.46715 12.7024C9.43805 12.5917 9.39014 12.4868 9.32551 12.3922C9.25258 12.2856 9.15102 12.1975 8.94789 12.0215L2.55211 6.4785C2.34898 6.30245 2.24742 6.21443 2.17449 6.10776C2.10986 6.01323 2.06195 5.90831 2.03285 5.79756C2 5.67259 2 5.53819 2 5.26939V4.6Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFilter',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M9.09 9C9.3251 8.33167 9.78915 7.76811 10.4 7.40913C11.0108 7.05016 11.7289 6.91894 12.4272 7.03871C13.1255 7.15849 13.7588 7.52152 14.2151 8.06353C14.6713 8.60553 14.9211 9.29152 14.92 10C14.92 12 11.92 13 11.92 13M12 17H12.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconHelp',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4.27209 20.7279L10.8686 14.1314C11.2646 13.7354 11.4627 13.5373 11.691 13.4632C11.8918 13.3979 12.1082 13.3979 12.309 13.4632C12.5373 13.5373 12.7354 13.7354 13.1314 14.1314L19.6839 20.6839M14 15L16.8686 12.1314C17.2646 11.7354 17.4627 11.5373 17.691 11.4632C17.8918 11.3979 18.1082 11.3979 18.309 11.4632C18.5373 11.5373 18.7354 11.7354 19.1314 12.1314L22 15M10 9C10 10.1046 9.10457 11 8 11C6.89543 11 6 10.1046 6 9C6 7.89543 6.89543 7 8 7C9.10457 7 10 7.89543 10 9ZM6.8 21H17.2C18.8802 21 19.7202 21 20.362 20.673C20.9265 20.3854 21.3854 19.9265 21.673 19.362C22 18.7202 22 17.8802 22 16.2V7.8C22 6.11984 22 5.27976 21.673 4.63803C21.3854 4.07354 20.9265 3.6146 20.362 3.32698C19.7202 3 18.8802 3 17.2 3H6.8C5.11984 3 4.27976 3 3.63803 3.32698C3.07354 3.6146 2.6146 4.07354 2.32698 4.63803C2 5.27976 2 6.11984 2 7.8V16.2C2 17.8802 2 18.7202 2.32698 19.362C2.6146 19.9265 3.07354 20.3854 3.63803 20.673C4.27976 21 5.11984 21 6.8 21Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconImage',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 16V12M12 8H12.01M7.8 21H16.2C17.8802 21 18.7202 21 19.362 20.673C19.9265 20.3854 20.3854 19.9265 20.673 19.362C21 18.7202 21 17.8802 21 16.2V7.8C21 6.11984 21 5.27976 20.673 4.63803C20.3854 4.07354 19.9265 3.6146 19.362 3.32698C18.7202 3 17.8802 3 16.2 3H7.8C6.11984 3 5.27976 3 4.63803 3.32698C4.07354 3.6146 3.6146 4.07354 3.32698 4.63803C3 5.27976 3 6.11984 3 7.8V16.2C3 17.8802 3 18.7202 3.32698 19.362C3.6146 19.9265 4.07354 20.3854 4.63803 20.673C5.27976 21 6.11984 21 7.8 21Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconInfoSquare',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.5 15.5L15.5 8.49998M9 4V2M15 20V22M4 9H2M20 15H22M4.91421 4.91421L3.5 3.5M19.0858 19.0857L20.5 20.4999M12 17.6568L9.87871 19.7781C8.31662 21.3402 5.78396 21.3402 4.22186 19.7781C2.65976 18.216 2.65976 15.6833 4.22186 14.1212L6.34318 11.9999M17.6569 11.9999L19.7782 9.87859C21.3403 8.31649 21.3403 5.78383 19.7782 4.22174C18.2161 2.65964 15.6835 2.65964 14.1214 4.22174L12 6.34306\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconLinkBroken',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M18 8L22 12M22 12L18 16M22 12H9M15 4.20404C13.7252 3.43827 12.2452 3 10.6667 3C5.8802 3 2 7.02944 2 12C2 16.9706 5.8802 21 10.6667 21C12.2452 21 13.7252 20.5617 15 19.796\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconLogout',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M13.0001 14L10.0001 11M15.0104 3.5V2M18.9498 5.06066L20.0104 4M18.9498 13L20.0104 14.0607M11.0104 5.06066L9.94979 4M20.5104 9H22.0104M6.13146 20.8686L15.3687 11.6314C15.7647 11.2354 15.9627 11.0373 16.0369 10.809C16.1022 10.6082 16.1022 10.3918 16.0369 10.191C15.9627 9.96265 15.7647 9.76465 15.3687 9.36863L14.6315 8.63137C14.2354 8.23535 14.0374 8.03735 13.8091 7.96316C13.6083 7.8979 13.3919 7.8979 13.1911 7.96316C12.9627 8.03735 12.7647 8.23535 12.3687 8.63137L3.13146 17.8686C2.73545 18.2646 2.53744 18.4627 2.46325 18.691C2.39799 18.8918 2.39799 19.1082 2.46325 19.309C2.53744 19.5373 2.73545 19.7354 3.13146 20.1314L3.86872 20.8686C4.26474 21.2646 4.46275 21.4627 4.69108 21.5368C4.89192 21.6021 5.10827 21.6021 5.30911 21.5368C5.53744 21.4627 5.73545 21.2646 6.13146 20.8686Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMagicWand',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M21.5 18L14.8571 12M9.14286 12L2.50003 18M2 7L10.1649 12.7154C10.8261 13.1783 11.1567 13.4097 11.5163 13.4993C11.8339 13.5785 12.1661 13.5785 12.4837 13.4993C12.8433 13.4097 13.1739 13.1783 13.8351 12.7154L22 7M6.8 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H6.8C5.11984 4 4.27976 4 3.63803 4.32698C3.07354 4.6146 2.6146 5.07354 2.32698 5.63803C2 6.27976 2 7.11984 2 8.8V15.2C2 16.8802 2 17.7202 2.32698 18.362C2.6146 18.9265 3.07354 19.3854 3.63803 19.673C4.27976 20 5.11984 20 6.8 20Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMail',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M3 12H21M3 6H21M3 18H15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMenu',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 2V3.4C15 3.96005 15 4.24008 14.891 4.45399C14.7951 4.64215 14.6422 4.79513 14.454 4.89101C14.2401 5 13.9601 5 13.4 5H10.6C10.0399 5 9.75992 5 9.54601 4.89101C9.35785 4.79513 9.20487 4.64215 9.10899 4.45399C9 4.24008 9 3.96005 9 3.4V2M8.2 22H15.8C16.9201 22 17.4802 22 17.908 21.782C18.2843 21.5903 18.5903 21.2843 18.782 20.908C19 20.4802 19 19.9201 19 18.8V5.2C19 4.07989 19 3.51984 18.782 3.09202C18.5903 2.71569 18.2843 2.40973 17.908 2.21799C17.4802 2 16.9201 2 15.8 2H8.2C7.0799 2 6.51984 2 6.09202 2.21799C5.71569 2.40973 5.40973 2.71569 5.21799 3.09202C5 3.51984 5 4.0799 5 5.2V18.8C5 19.9201 5 20.4802 5.21799 20.908C5.40973 21.2843 5.71569 21.5903 6.09202 21.782C6.51984 22 7.07989 22 8.2 22Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMobile',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 2L18.6178 3.23558C18.8833 3.76656 19.016 4.03205 19.1934 4.26211C19.3507 4.46626 19.5337 4.64927 19.7379 4.80664C19.9679 4.98397 20.2334 5.11672 20.7644 5.38221L22 6L20.7644 6.61779C20.2334 6.88328 19.9679 7.01603 19.7379 7.19336C19.5337 7.35073 19.3507 7.53374 19.1934 7.73789C19.016 7.96795 18.8833 8.23344 18.6178 8.76442L18 10L17.3822 8.76442C17.1167 8.23344 16.984 7.96795 16.8066 7.73789C16.6493 7.53374 16.4663 7.35073 16.2621 7.19336C16.0321 7.01603 15.7666 6.88328 15.2356 6.61779L14 6L15.2356 5.38221C15.7666 5.11672 16.0321 4.98397 16.2621 4.80664C16.4663 4.64927 16.6493 4.46626 16.8066 4.26211C16.984 4.03205 17.1167 3.76656 17.3822 3.23558L18 2Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M21 13.3893C19.689 15.689 17.2145 17.2395 14.3779 17.2395C10.1711 17.2395 6.76075 13.8292 6.76075 9.62233C6.76075 6.78554 8.31149 4.31094 10.6115 3C5.77979 3.45812 2 7.52692 2 12.4785C2 17.7371 6.26292 22 11.5215 22C16.4729 22 20.5415 18.2206 21 13.3893Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMoonStar',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2.5 21.4998L8.04927 19.3655C8.40421 19.229 8.58168 19.1607 8.74772 19.0716C8.8952 18.9924 9.0358 18.901 9.16804 18.7984C9.31692 18.6829 9.45137 18.5484 9.72028 18.2795L21 6.99982C22.1046 5.89525 22.1046 4.10438 21 2.99981C19.8955 1.89525 18.1046 1.89524 17 2.99981L5.72028 14.2795C5.45138 14.5484 5.31692 14.6829 5.20139 14.8318C5.09877 14.964 5.0074 15.1046 4.92823 15.2521C4.83911 15.4181 4.77085 15.5956 4.63433 15.9506L2.5 21.4998ZM2.5 21.4998L4.55812 16.1488C4.7054 15.7659 4.77903 15.5744 4.90534 15.4867C5.01572 15.4101 5.1523 15.3811 5.2843 15.4063C5.43533 15.4351 5.58038 15.5802 5.87048 15.8703L8.12957 18.1294C8.41967 18.4195 8.56472 18.5645 8.59356 18.7155C8.61877 18.8475 8.58979 18.9841 8.51314 19.0945C8.42545 19.2208 8.23399 19.2944 7.85107 19.4417L2.5 21.4998Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconPencil',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 5V19M5 12H19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconPlus',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17.625 14.625H9.75L6 18.375H13.875L17.625 14.625Z\" fill=\"#CB0000\"/>\n <path d=\"M15.9133 8.08667L3 21M17.7581 14.5433H9.45666M7.24295 18.2329H13.4573C13.6829 18.2329 13.7957 18.2329 13.9018 18.2074C13.9959 18.1848 14.0859 18.1475 14.1684 18.0969C14.2615 18.0399 14.3413 17.9601 14.5008 17.8006L19.1417 13.1598C19.3621 12.9393 19.4723 12.8291 19.561 12.7316C21.4797 10.6207 21.4797 7.39735 19.561 5.28653C19.4723 5.18896 19.3621 5.07875 19.1417 4.85834C18.9212 4.63792 18.811 4.52772 18.7135 4.43902C16.6026 2.52033 13.3793 2.52033 11.2684 4.43902C11.1709 4.52772 11.0607 4.63792 10.8402 4.85833L6.1994 9.49918C6.03987 9.6587 5.96011 9.73847 5.90306 9.83155C5.85249 9.91408 5.81522 10.0041 5.79263 10.0982C5.76714 10.2043 5.76714 10.3171 5.76714 10.5427V16.757C5.76714 17.2736 5.76714 17.5319 5.86768 17.7292C5.95611 17.9028 6.09721 18.0439 6.27077 18.1323C6.46808 18.2329 6.72637 18.2329 7.24295 18.2329Z\" stroke=\"black\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconQuail',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M21 21L16.65 16.65M19 11C19 15.4183 15.4183 19 11 19C6.58172 19 3 15.4183 3 11C3 6.58172 6.58172 3 11 3C15.4183 3 19 6.58172 19 11Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconSearch',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 2V4M12 20V22M4 12H2M6.31412 6.31412L4.8999 4.8999M17.6859 6.31412L19.1001 4.8999M6.31412 17.69L4.8999 19.1042M17.6859 17.69L19.1001 19.1042M22 12H20M17 12C17 14.7614 14.7614 17 12 17C9.23858 17 7 14.7614 7 12C7 9.23858 9.23858 7 12 7C14.7614 7 17 9.23858 17 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconSun',\n};\n</script>","<template>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\"\n role=\"img\"\n class=\"iconify iconify--mdi\"\n width=\"24\"\n height=\"24\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M20 18v-4h-3v1h-2v-1H9v1H7v-1H4v4h16M6.33 8l-1.74 4H7v-1h2v1h6v-1h2v1h2.41l-1.74-4H6.33M9 5v1h6V5H9m12.84 7.61c.1.22.16.48.16.8V18c0 .53-.21 1-.6 1.41c-.4.4-.85.59-1.4.59H4c-.55 0-1-.19-1.4-.59C2.21 19 2 18.53 2 18v-4.59c0-.32.06-.58.16-.8L4.5 7.22C4.84 6.41 5.45 6 6.33 6H7V5c0-.55.18-1 .57-1.41C7.96 3.2 8.44 3 9 3h6c.56 0 1.04.2 1.43.59c.39.41.57.86.57 1.41v1h.67c.88 0 1.49.41 1.83 1.22l2.34 5.39z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconTooling',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 6V5.2C16 4.0799 16 3.51984 15.782 3.09202C15.5903 2.71569 15.2843 2.40973 14.908 2.21799C14.4802 2 13.9201 2 12.8 2H11.2C10.0799 2 9.51984 2 9.09202 2.21799C8.71569 2.40973 8.40973 2.71569 8.21799 3.09202C8 3.51984 8 4.0799 8 5.2V6M10 11.5V16.5M14 11.5V16.5M3 6H21M19 6V17.2C19 18.8802 19 19.7202 18.673 20.362C18.3854 20.9265 17.9265 21.3854 17.362 21.673C16.7202 22 15.8802 22 14.2 22H9.8C8.11984 22 7.27976 22 6.63803 21.673C6.07354 21.3854 5.6146 20.9265 5.32698 20.362C5 19.7202 5 18.8802 5 17.2V6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconTrash',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M8.625 8.0625V3H15.375V8.0625H8.625ZM15.375 10.875H21V21H3V10.875H8.625V15.9375H15.375V10.875Z\" fill=\"currentColor\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconUnsplash',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.3163 19.4384C5.92462 18.0052 7.34492 17 9 17H15C16.6551 17 18.0754 18.0052 18.6837 19.4384M16 9.5C16 11.7091 14.2091 13.5 12 13.5C9.79086 13.5 8 11.7091 8 9.5C8 7.29086 9.79086 5.5 12 5.5C14.2091 5.5 16 7.29086 16 9.5ZM22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconUserCircle',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M3 7.8C3 6.11984 3 5.27976 3.32698 4.63803C3.6146 4.07354 4.07354 3.6146 4.63803 3.32698C5.27976 3 6.11984 3 7.8 3H16.2C17.8802 3 18.7202 3 19.362 3.32698C19.9265 3.6146 20.3854 4.07354 20.673 4.63803C21 5.27976 21 6.11984 21 7.8V16.2C21 17.8802 21 18.7202 20.673 19.362C20.3854 19.9265 19.9265 20.3854 19.362 20.673C18.7202 21 17.8802 21 16.2 21H7.8C6.11984 21 5.27976 21 4.63803 20.673C4.07354 20.3854 3.6146 19.9265 3.32698 19.362C3 18.7202 3 17.8802 3 16.2V7.8Z\" stroke=\"url(#paint0_linear_24_7)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 6L7.4336 12.2269C7.13256 12.6374 6.98205 12.8427 6.9869 13.0142C6.99113 13.1634 7.06185 13.303 7.17972 13.3947C7.31514 13.5 7.56967 13.5 8.07872 13.5H12V18L16.5664 11.7731C16.8674 11.3626 17.018 11.1573 17.0131 10.9858C17.0089 10.8366 16.9381 10.697 16.8203 10.6053C16.6849 10.5 16.4303 10.5 15.9213 10.5H12V6Z\" fill=\"url(#paint1_linear_24_7)\"/>\n <defs>\n <linearGradient id=\"paint0_linear_24_7\" x1=\"12\" y1=\"3\" x2=\"12\" y2=\"21\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#D6AC5E\"/>\n <stop offset=\"1\" stop-color=\"#9D5C2E\"/>\n </linearGradient>\n <linearGradient id=\"paint1_linear_24_7\" x1=\"12\" y1=\"6\" x2=\"12\" y2=\"18\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#D7AD5E\"/>\n <stop offset=\"1\" stop-color=\"#9C5B2D\"/>\n </linearGradient>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconZapSquare',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M9.5 7.5H13.75C14.9926 7.5 16 8.50736 16 9.75C16 10.9926 14.9926 12 13.75 12H9.5H14.25C15.4926 12 16.5 13.0074 16.5 14.25C16.5 15.4926 15.4926 16.5 14.25 16.5H9.5M9.5 7.5H8M9.5 7.5V16.5M9.5 16.5H8M10 6V7.5M10 16.5V18M13 6V7.5M13 16.5V18M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconBitcoinCircle',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.5 14.6667C8.5 15.9553 9.54467 17 10.8333 17H13C14.3807 17 15.5 15.8807 15.5 14.5C15.5 13.1193 14.3807 12 13 12H11C9.61929 12 8.5 10.8807 8.5 9.5C8.5 8.11929 9.61929 7 11 7H13.1667C14.4553 7 15.5 8.04467 15.5 9.33333M12 5.5V7M12 17V18.5M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconDollarCircle',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 4V20M9.5 4H15.5C17.7091 4 19.5 5.79086 19.5 8C19.5 10.2091 17.7091 12 15.5 12H9.5H16.5C18.7091 12 20.5 13.7909 20.5 16C20.5 18.2091 18.7091 20 16.5 20H9.5M9.5 4V20M9.5 4H4M9.5 20H4\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconBold',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M13.25 4L7.25 20M16.75 4L10.75 20M19.5 4L9.5 4M14.5 20H4.5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconItalic',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M14 10L21 3M21 3H15M21 3V9M10 14L3 21M3 21H9M3 21L3 15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconExpand',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M20 10V6.8C20 5.11984 20 4.27976 19.673 3.63803C19.3854 3.07354 18.9265 2.6146 18.362 2.32698C17.7202 2 16.8802 2 15.2 2H8.8C7.11984 2 6.27976 2 5.63803 2.32698C5.07354 2.6146 4.6146 3.07354 4.32698 3.63803C4 4.27976 4 5.11984 4 6.8V17.2C4 18.8802 4 19.7202 4.32698 20.362C4.6146 20.9265 5.07354 21.3854 5.63803 21.673C6.27976 22 7.11984 22 8.8 22H10.5M13 11H8M11 15H8M16 7H8M19.25 17V15.25C19.25 14.2835 18.4665 13.5 17.5 13.5C16.5335 13.5 15.75 14.2835 15.75 15.25V17M15.6 21H19.4C19.9601 21 20.2401 21 20.454 20.891C20.6422 20.7951 20.7951 20.6422 20.891 20.454C21 20.2401 21 19.9601 21 19.4V18.6C21 18.0399 21 17.7599 20.891 17.546C20.7951 17.3578 20.6422 17.2049 20.454 17.109C20.2401 17 19.9601 17 19.4 17H15.6C15.0399 17 14.7599 17 14.546 17.109C14.3578 17.2049 14.2049 17.3578 14.109 17.546C14 17.7599 14 18.0399 14 18.6V19.4C14 19.9601 14 20.2401 14.109 20.454C14.2049 20.6422 14.3578 20.7951 14.546 20.891C14.7599 21 15.0399 21 15.6 21Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFileLock',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 4V20M18 4V20M9.5 4V20M11.5 4H4M18 12H9.5M11.5 20H4M20 20H16M20 4H16\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconHead',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12.7076 18.3639L11.2933 19.7781C9.34072 21.7308 6.1749 21.7308 4.22228 19.7781C2.26966 17.8255 2.26966 14.6597 4.22228 12.7071L5.63649 11.2929M18.3644 12.7071L19.7786 11.2929C21.7312 9.34024 21.7312 6.17441 19.7786 4.22179C17.826 2.26917 14.6602 2.26917 12.7076 4.22179L11.2933 5.636M8.50045 15.4999L15.5005 8.49994\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconLink',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M21 5L10 5M21 19L10 19M21 12L10 12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M3.57548 7.00005V4.14405L2.80748 4.54005V3.52605L3.76148 2.99805H4.77548V7.00005H3.57548Z\" fill=\"currentColor\"/>\n<path d=\"M2.54175 14V13.184C2.67775 13.112 2.82175 13.024 2.97375 12.92C3.12575 12.812 3.27175 12.694 3.41175 12.566C3.55575 12.434 3.68375 12.3 3.79575 12.164C3.91175 12.028 4.00375 11.892 4.07175 11.756C4.13975 11.62 4.17375 11.494 4.17375 11.378C4.17375 11.222 4.14175 11.102 4.07775 11.018C4.01375 10.934 3.93575 10.878 3.84375 10.85C3.75575 10.818 3.67175 10.802 3.59175 10.802C3.41975 10.802 3.25375 10.846 3.09375 10.934C2.93775 11.022 2.76375 11.142 2.57175 11.294V10.31C2.74375 10.206 2.94375 10.114 3.17175 10.034C3.39975 9.95005 3.67375 9.90805 3.99375 9.90805C4.27775 9.90805 4.52375 9.95405 4.73175 10.046C4.93975 10.138 5.09975 10.278 5.21175 10.466C5.32375 10.654 5.37975 10.894 5.37975 11.186C5.37975 11.378 5.34575 11.554 5.27775 11.714C5.20975 11.87 5.11775 12.014 5.00175 12.146C4.88575 12.274 4.75775 12.392 4.61775 12.5C4.47775 12.608 4.33575 12.708 4.19175 12.8C4.04775 12.892 3.91175 12.982 3.78375 13.07L3.56775 12.92H5.46375V14H2.54175Z\" fill=\"currentColor\"/>\n<path d=\"M3.82727 21.048C3.61127 21.048 3.39927 21.016 3.19127 20.952C2.98727 20.884 2.79327 20.804 2.60927 20.712V19.722C2.80927 19.842 3.00327 19.95 3.19127 20.046C3.37927 20.138 3.57727 20.184 3.78527 20.184C3.96127 20.184 4.10327 20.154 4.21127 20.094C4.31927 20.03 4.37327 19.938 4.37327 19.818C4.37327 19.694 4.33327 19.592 4.25327 19.512C4.17727 19.428 4.01527 19.386 3.76727 19.386H3.11327V18.522H3.77927C3.93127 18.522 4.03927 18.488 4.10327 18.42C4.16727 18.348 4.19927 18.272 4.19927 18.192C4.19927 18.092 4.17127 18.018 4.11527 17.97C4.06327 17.918 3.99527 17.882 3.91127 17.862C3.83127 17.842 3.74927 17.832 3.66527 17.832C3.54527 17.832 3.41327 17.848 3.26927 17.88C3.12527 17.908 2.92927 17.98 2.68127 18.096V17.226C2.84127 17.142 3.01527 17.074 3.20327 17.022C3.39527 16.97 3.58727 16.944 3.77927 16.944C3.93527 16.944 4.09727 16.962 4.26527 16.998C4.43727 17.03 4.59527 17.088 4.73927 17.172C4.88727 17.252 5.00727 17.364 5.09927 17.508C5.19127 17.648 5.23727 17.826 5.23727 18.042C5.23727 18.138 5.21927 18.23 5.18327 18.318C5.14727 18.406 5.09927 18.486 5.03927 18.558C4.97927 18.63 4.91127 18.69 4.83527 18.738C4.76327 18.782 4.68927 18.812 4.61327 18.828C4.72927 18.86 4.83527 18.91 4.93127 18.978C5.02727 19.042 5.10927 19.12 5.17727 19.212C5.24927 19.3 5.30327 19.402 5.33927 19.518C5.37927 19.63 5.39927 19.75 5.39927 19.878C5.39927 20.118 5.34927 20.314 5.24927 20.466C5.15327 20.618 5.02527 20.736 4.86527 20.82C4.70927 20.904 4.53927 20.964 4.35527 21C4.17527 21.032 3.99927 21.048 3.82727 21.048Z\" fill=\"currentColor\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconOrderedList',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12.3984 12.6001C12.3984 11.5601 12.5584 10.6668 12.8784 9.9201C13.1984 9.14676 13.6118 8.5201 14.1184 8.0401C14.6251 7.53343 15.1984 7.17343 15.8384 6.9601C16.5051 6.7201 17.1584 6.6001 17.7984 6.6001V8.0001C17.1051 8.0001 16.4518 8.2401 15.8384 8.7201C15.2518 9.17343 14.9051 9.8001 14.7984 10.6001C14.8784 10.5734 14.9718 10.5468 15.0784 10.5201C15.1584 10.4934 15.2518 10.4668 15.3584 10.4401C15.4918 10.4134 15.6384 10.4001 15.7984 10.4001C16.5984 10.4001 17.2651 10.7068 17.7984 11.3201C18.3318 11.9068 18.5984 12.6001 18.5984 13.4001C18.5984 14.2001 18.3184 14.9068 17.7584 15.5201C17.2251 16.1068 16.5051 16.4001 15.5984 16.4001C14.5851 16.4001 13.7984 16.0268 13.2384 15.2801C12.6784 14.5068 12.3984 13.6134 12.3984 12.6001ZM4.39844 12.6001C4.39844 11.5601 4.55844 10.6668 4.87844 9.9201C5.19844 9.14676 5.61177 8.5201 6.11844 8.0401C6.6251 7.53343 7.19844 7.17343 7.83844 6.9601C8.5051 6.7201 9.15844 6.6001 9.79844 6.6001V8.0001C9.1051 8.0001 8.45177 8.2401 7.83844 8.7201C7.25177 9.17343 6.9051 9.8001 6.79844 10.6001C6.87844 10.5734 6.97177 10.5468 7.07844 10.5201C7.15844 10.4934 7.25177 10.4668 7.35844 10.4401C7.49177 10.4134 7.63844 10.4001 7.79844 10.4001C8.59844 10.4001 9.2651 10.7068 9.79844 11.3201C10.3318 11.9068 10.5984 12.6001 10.5984 13.4001C10.5984 14.2001 10.3184 14.9068 9.75844 15.5201C9.2251 16.1068 8.5051 16.4001 7.59844 16.4001C6.5851 16.4001 5.79844 16.0268 5.23844 15.2801C4.67844 14.5068 4.39844 13.6134 4.39844 12.6001Z\" fill=\"currentColor\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconQuote',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 16C6 18.2091 7.79086 20 10 20H14C16.2091 20 18 18.2091 18 16C18 13.7909 16.2091 12 14 12M10.5 20C12.7091 20 14.5 18.2091 14.5 16C14.5 13.7909 12.7091 12 10.5 12M18 8C18 5.79086 16.2091 4 14 4H10C7.79086 4 6 5.79086 6 8M13.5 4C11.2909 4 9.5 5.79086 9.5 8M3 12H21\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconStrikeThrough',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M21 5L10 5M21 19L10 19M21 12L10 12M6 5C6 5.82843 5.32843 6.5 4.5 6.5C3.67157 6.5 3 5.82843 3 5C3 4.17157 3.67157 3.5 4.5 3.5C5.32843 3.5 6 4.17157 6 5ZM6 19C6 19.8284 5.32843 20.5 4.5 20.5C3.67157 20.5 3 19.8284 3 19C3 18.1716 3.67157 17.5 4.5 17.5C5.32843 17.5 6 18.1716 6 19ZM6 12C6 12.8284 5.32843 13.5 4.5 13.5C3.67157 13.5 3 12.8284 3 12C3 11.1716 3.67157 10.5 4.5 10.5C5.32843 10.5 6 11.1716 6 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconUnorderedList',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 21L11.8999 20.8499C11.2053 19.808 10.858 19.287 10.3991 18.9098C9.99286 18.5759 9.52476 18.3254 9.02161 18.1726C8.45325 18 7.82711 18 6.57482 18H5.2C4.07989 18 3.51984 18 3.09202 17.782C2.71569 17.5903 2.40973 17.2843 2.21799 16.908C2 16.4802 2 15.9201 2 14.8V6.2C2 5.07989 2 4.51984 2.21799 4.09202C2.40973 3.71569 2.71569 3.40973 3.09202 3.21799C3.51984 3 4.07989 3 5.2 3H5.6C7.84021 3 8.96031 3 9.81596 3.43597C10.5686 3.81947 11.1805 4.43139 11.564 5.18404C12 6.03968 12 7.15979 12 9.4M12 21V9.4M12 21L12.1001 20.8499C12.7947 19.808 13.142 19.287 13.6009 18.9098C14.0071 18.5759 14.4752 18.3254 14.9784 18.1726C15.5467 18 16.1729 18 17.4252 18H18.8C19.9201 18 20.4802 18 20.908 17.782C21.2843 17.5903 21.5903 17.2843 21.782 16.908C22 16.4802 22 15.9201 22 14.8V6.2C22 5.07989 22 4.51984 21.782 4.09202C21.5903 3.71569 21.2843 3.40973 20.908 3.21799C20.4802 3 19.9201 3 18.8 3H18.4C16.1598 3 15.0397 3 14.184 3.43597C13.4314 3.81947 12.8195 4.43139 12.436 5.18404C12 6.03968 12 7.15979 12 9.4\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconBookOpen',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M9 11L11 13L15.5 8.5M11.9932 5.13581C9.9938 2.7984 6.65975 2.16964 4.15469 4.31001C1.64964 6.45038 1.29697 10.029 3.2642 12.5604C4.75009 14.4724 8.97129 18.311 10.948 20.0749C11.3114 20.3991 11.4931 20.5613 11.7058 20.6251C11.8905 20.6805 12.0958 20.6805 12.2805 20.6251C12.4932 20.5613 12.6749 20.3991 13.0383 20.0749C15.015 18.311 19.2362 14.4724 20.7221 12.5604C22.6893 10.029 22.3797 6.42787 19.8316 4.31001C17.2835 2.19216 13.9925 2.7984 11.9932 5.13581Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconCheckHeart',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n<path d=\"M14.7221 8.26596C15.2107 8.10312 15.4549 8.02169 15.6174 8.07962C15.7587 8.13003 15.87 8.24127 15.9204 8.38263C15.9783 8.54507 15.8969 8.78935 15.734 9.27789L14.2465 13.7405C14.2001 13.8797 14.1769 13.9492 14.1374 14.007C14.1024 14.0582 14.0582 14.1024 14.007 14.1374C13.9492 14.1769 13.8797 14.2001 13.7405 14.2465L9.27789 15.734C8.78935 15.8969 8.54507 15.9783 8.38263 15.9204C8.24127 15.87 8.13003 15.7587 8.07962 15.6174C8.02169 15.4549 8.10312 15.2107 8.26596 14.7221L9.75351 10.2595C9.79989 10.1203 9.82308 10.0508 9.8626 9.99299C9.8976 9.94182 9.94182 9.8976 9.99299 9.8626C10.0508 9.82308 10.1203 9.79989 10.2595 9.75351L14.7221 8.26596Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconCompass',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M22.7 13.5L20.7005 11.5L18.7 13.5M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C15.3019 3 18.1885 4.77814 19.7545 7.42909M12 7V12L15 14\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconClockRewind',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10 15L6.92474 18.1137C6.49579 18.548 6.28131 18.7652 6.09695 18.7805C5.93701 18.7938 5.78042 18.7295 5.67596 18.6076C5.55556 18.4672 5.55556 18.162 5.55556 17.5515V15.9916C5.55556 15.444 5.10707 15.0477 4.5652 14.9683V14.9683C3.25374 14.7762 2.22378 13.7463 2.03168 12.4348C2 12.2186 2 11.9605 2 11.4444V6.8C2 5.11984 2 4.27976 2.32698 3.63803C2.6146 3.07354 3.07354 2.6146 3.63803 2.32698C4.27976 2 5.11984 2 6.8 2H14.2C15.8802 2 16.7202 2 17.362 2.32698C17.9265 2.6146 18.3854 3.07354 18.673 3.63803C19 4.27976 19 5.11984 19 6.8V11M19 22L16.8236 20.4869C16.5177 20.2742 16.3647 20.1678 16.1982 20.0924C16.0504 20.0255 15.8951 19.9768 15.7356 19.9474C15.5558 19.9143 15.3695 19.9143 14.9969 19.9143H13.2C12.0799 19.9143 11.5198 19.9143 11.092 19.6963C10.7157 19.5046 10.4097 19.1986 10.218 18.8223C10 18.3944 10 17.8344 10 16.7143V14.2C10 13.0799 10 12.5198 10.218 12.092C10.4097 11.7157 10.7157 11.4097 11.092 11.218C11.5198 11 12.0799 11 13.2 11H18.8C19.9201 11 20.4802 11 20.908 11.218C21.2843 11.4097 21.5903 11.7157 21.782 12.092C22 12.5198 22 13.0799 22 14.2V16.9143C22 17.8462 22 18.3121 21.8478 18.6797C21.6448 19.1697 21.2554 19.5591 20.7654 19.762C20.3978 19.9143 19.9319 19.9143 19 19.9143V22Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMessageChatSquare',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M21.1525 10.8995L12.1369 19.9151C10.0866 21.9653 6.7625 21.9653 4.71225 19.9151C2.662 17.8648 2.662 14.5407 4.71225 12.4904L13.7279 3.47483C15.0947 2.108 17.3108 2.108 18.6776 3.47483C20.0444 4.84167 20.0444 7.05775 18.6776 8.42458L10.0156 17.0866C9.33213 17.7701 8.22409 17.7701 7.54068 17.0866C6.85726 16.4032 6.85726 15.2952 7.54068 14.6118L15.1421 7.01037\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconPaperclip',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.3767 15.6163L2.71985 21.2732M11.6944 6.64181L10.1335 8.2027C10.0062 8.33003 9.94252 8.39369 9.86999 8.44427C9.80561 8.48917 9.73616 8.52634 9.66309 8.555C9.58077 8.58729 9.49249 8.60495 9.31592 8.64026L5.65145 9.37315C4.69915 9.56361 4.223 9.65884 4.00024 9.9099C3.80617 10.1286 3.71755 10.4213 3.75771 10.7109C3.8038 11.0434 4.14715 11.3867 4.83387 12.0735L11.9196 19.1592C12.6063 19.8459 12.9497 20.1893 13.2821 20.2354C13.5718 20.2755 13.8645 20.1869 14.0832 19.9928C14.3342 19.7701 14.4294 19.2939 14.6199 18.3416L15.3528 14.6771C15.3881 14.5006 15.4058 14.4123 15.4381 14.33C15.4667 14.2569 15.5039 14.1875 15.5488 14.1231C15.5994 14.0505 15.663 13.9869 15.7904 13.8596L17.3512 12.2987C17.4326 12.2173 17.4734 12.1766 17.5181 12.141C17.5578 12.1095 17.5999 12.081 17.644 12.0558C17.6936 12.0274 17.7465 12.0048 17.8523 11.9594L20.3467 10.8904C21.0744 10.5785 21.4383 10.4226 21.6035 10.1706C21.7481 9.95025 21.7998 9.68175 21.7474 9.42348C21.6875 9.12813 21.4076 8.84822 20.8478 8.28839L15.7047 3.14526C15.1448 2.58543 14.8649 2.30552 14.5696 2.24565C14.3113 2.19329 14.0428 2.245 13.8225 2.38953C13.5705 2.55481 13.4145 2.91866 13.1027 3.64636L12.0337 6.14071C11.9883 6.24653 11.9656 6.29944 11.9373 6.34905C11.9121 6.39313 11.8836 6.43522 11.852 6.47496C11.8165 6.51971 11.7758 6.56041 11.6944 6.64181Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconPin',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 8L15 8M15 8C15 9.65686 16.3431 11 18 11C19.6569 11 21 9.65685 21 8C21 6.34315 19.6569 5 18 5C16.3431 5 15 6.34315 15 8ZM9 16L21 16M9 16C9 17.6569 7.65685 19 6 19C4.34315 19 3 17.6569 3 16C3 14.3431 4.34315 13 6 13C7.65685 13 9 14.3431 9 16Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconSettings',\n};\n</script>","\n<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15.9996 8C15.9996 9.06087 15.5782 10.0783 14.828 10.8284C14.0779 11.5786 13.0605 12 11.9996 12C10.9387 12 9.92131 11.5786 9.17116 10.8284C8.42102 10.0783 7.99959 9.06087 7.99959 8M3.63281 7.40138L2.93281 15.8014C2.78243 17.6059 2.70724 18.5082 3.01227 19.2042C3.28027 19.8157 3.74462 20.3204 4.33177 20.6382C5.00006 21 5.90545 21 7.71623 21H16.283C18.0937 21 18.9991 21 19.6674 20.6382C20.2546 20.3204 20.7189 19.8157 20.9869 19.2042C21.2919 18.5082 21.2167 17.6059 21.0664 15.8014L20.3664 7.40138C20.237 5.84875 20.1723 5.07243 19.8285 4.48486C19.5257 3.96744 19.0748 3.5526 18.5341 3.29385C17.92 3 17.141 3 15.583 3L8.41623 3C6.85821 3 6.07921 3 5.4651 3.29384C4.92433 3.5526 4.47349 3.96744 4.17071 4.48486C3.82689 5.07243 3.76219 5.84875 3.63281 7.40138Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconShoppingBag',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 3.46776C17.4817 4.20411 18.5 5.73314 18.5 7.5C18.5 9.26686 17.4817 10.7959 16 11.5322M18 16.7664C19.5115 17.4503 20.8725 18.565 22 20M2 20C3.94649 17.5226 6.58918 16 9.5 16C12.4108 16 15.0535 17.5226 17 20M14 7.5C14 9.98528 11.9853 12 9.5 12C7.01472 12 5 9.98528 5 7.5C5 5.01472 7.01472 3 9.5 3C11.9853 3 14 5.01472 14 7.5Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconUsers',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 4V15.2C12 16.8802 12 17.7202 12.327 18.362C12.6146 18.9265 13.0735 19.3854 13.638 19.673C14.2798 20 15.1198 20 16.8 20H17M17 20C17 21.1046 17.8954 22 19 22C20.1046 22 21 21.1046 21 20C21 18.8954 20.1046 18 19 18C17.8954 18 17 18.8954 17 20ZM7 4L17 4M7 4C7 5.10457 6.10457 6 5 6C3.89543 6 3 5.10457 3 4C3 2.89543 3.89543 2 5 2C6.10457 2 7 2.89543 7 4ZM17 4C17 5.10457 17.8954 6 19 6C20.1046 6 21 5.10457 21 4C21 2.89543 20.1046 2 19 2C17.8954 2 17 2.89543 17 4ZM12 12H17M17 12C17 13.1046 17.8954 14 19 14C20.1046 14 21 13.1046 21 12C21 10.8954 20.1046 10 19 10C17.8954 10 17 10.8954 17 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconDataflow',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M15 9H15.01M9 9H9.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM15.5 9C15.5 9.27614 15.2761 9.5 15 9.5C14.7239 9.5 14.5 9.27614 14.5 9C14.5 8.72386 14.7239 8.5 15 8.5C15.2761 8.5 15.5 8.72386 15.5 9ZM9.5 9C9.5 9.27614 9.27614 9.5 9 9.5C8.72386 9.5 8.5 9.27614 8.5 9C8.5 8.72386 8.72386 8.5 9 8.5C9.27614 8.5 9.5 8.72386 9.5 9ZM12 17.5C14.5005 17.5 16.5 15.667 16.5 14H7.5C7.5 15.667 9.4995 17.5 12 17.5Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconFaceHappy',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M3 7.8C3 6.11984 3 5.27976 3.32698 4.63803C3.6146 4.07354 4.07354 3.6146 4.63803 3.32698C5.27976 3 6.11984 3 7.8 3H16.2C17.8802 3 18.7202 3 19.362 3.32698C19.9265 3.6146 20.3854 4.07354 20.673 4.63803C21 5.27976 21 6.11984 21 7.8V13.2C21 14.8802 21 15.7202 20.673 16.362C20.3854 16.9265 19.9265 17.3854 19.362 17.673C18.7202 18 17.8802 18 16.2 18H13.6837C13.0597 18 12.7477 18 12.4492 18.0613C12.1844 18.1156 11.9282 18.2055 11.6875 18.3285C11.4162 18.4671 11.1725 18.662 10.6852 19.0518L8.29976 20.9602C7.88367 21.2931 7.67563 21.4595 7.50054 21.4597C7.34827 21.4599 7.20422 21.3906 7.10923 21.2716C7 21.1348 7 20.8684 7 20.3355V18C6.07003 18 5.60504 18 5.22354 17.8978C4.18827 17.6204 3.37962 16.8117 3.10222 15.7765C3 15.395 3 14.93 3 14V7.8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconMessageSquare',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M21 9.00001L21 3.00001M21 3.00001H15M21 3.00001L12 12M10 3H7.8C6.11984 3 5.27976 3 4.63803 3.32698C4.07354 3.6146 3.6146 4.07354 3.32698 4.63803C3 5.27976 3 6.11984 3 7.8V16.2C3 17.8802 3 18.7202 3.32698 19.362C3.6146 19.9265 4.07354 20.3854 4.63803 20.673C5.27976 21 6.11984 21 7.8 21H16.2C17.8802 21 18.7202 21 19.362 20.673C19.9265 20.3854 20.3854 19.9265 20.673 19.362C21 18.7202 21 17.8802 21 16.2V14\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconShareSquare',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 19V5M12 5L5 12M12 5L19 12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script lang=\"ts\">\nexport default {\n name: 'QIconArrowUp',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 5V19M12 19L19 12M12 19L5 12\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script lang=\"ts\">\nexport default {\n name: 'QIconArrowDown',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 12H12V17M3.01 12H3M8.01 17H8M12.01 21H12M21.01 12H21M3 17H4.5M15.5 12H17.5M3 21H8M12 2V8M17.6 21H19.4C19.9601 21 20.2401 21 20.454 20.891C20.6422 20.7951 20.7951 20.6422 20.891 20.454C21 20.2401 21 19.9601 21 19.4V17.6C21 17.0399 21 16.7599 20.891 16.546C20.7951 16.3578 20.6422 16.2049 20.454 16.109C20.2401 16 19.9601 16 19.4 16H17.6C17.0399 16 16.7599 16 16.546 16.109C16.3578 16.2049 16.2049 16.3578 16.109 16.546C16 16.7599 16 17.0399 16 17.6V19.4C16 19.9601 16 20.2401 16.109 20.454C16.2049 20.6422 16.3578 20.7951 16.546 20.891C16.7599 21 17.0399 21 17.6 21ZM17.6 8H19.4C19.9601 8 20.2401 8 20.454 7.89101C20.6422 7.79513 20.7951 7.64215 20.891 7.45399C21 7.24008 21 6.96005 21 6.4V4.6C21 4.03995 21 3.75992 20.891 3.54601C20.7951 3.35785 20.6422 3.20487 20.454 3.10899C20.2401 3 19.9601 3 19.4 3H17.6C17.0399 3 16.7599 3 16.546 3.10899C16.3578 3.20487 16.2049 3.35785 16.109 3.54601C16 3.75992 16 4.03995 16 4.6V6.4C16 6.96005 16 7.24008 16.109 7.45399C16.2049 7.64215 16.3578 7.79513 16.546 7.89101C16.7599 8 17.0399 8 17.6 8ZM4.6 8H6.4C6.96005 8 7.24008 8 7.45399 7.89101C7.64215 7.79513 7.79513 7.64215 7.89101 7.45399C8 7.24008 8 6.96005 8 6.4V4.6C8 4.03995 8 3.75992 7.89101 3.54601C7.79513 3.35785 7.64215 3.20487 7.45399 3.10899C7.24008 3 6.96005 3 6.4 3H4.6C4.03995 3 3.75992 3 3.54601 3.10899C3.35785 3.20487 3.20487 3.35785 3.10899 3.54601C3 3.75992 3 4.03995 3 4.6V6.4C3 6.96005 3 7.24008 3.10899 7.45399C3.20487 7.64215 3.35785 7.79513 3.54601 7.89101C3.75992 8 4.03995 8 4.6 8Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconQrCode',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M20.453 12.893C20.1752 15.5029 18.6964 17.9487 16.2494 19.3614C12.1839 21.7086 6.98539 20.3157 4.63818 16.2502L4.38818 15.8172M3.54613 11.107C3.82393 8.49711 5.30272 6.05138 7.74971 4.63862C11.8152 2.29141 17.0137 3.68434 19.3609 7.74983L19.6109 8.18285M3.49316 18.0661L4.22521 15.334L6.95727 16.0661M17.0424 7.93401L19.7744 8.66606L20.5065 5.93401\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconRefresh',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M16 7.99983V4.50048C16 3.66874 16 3.25287 15.8248 2.9973C15.6717 2.77401 15.4346 2.62232 15.1678 2.57691C14.8623 2.52493 14.4847 2.6992 13.7295 3.04775L4.85901 7.14182C4.18551 7.45267 3.84875 7.6081 3.60211 7.84915C3.38406 8.06225 3.21762 8.32238 3.1155 8.60966C3 8.93462 3 9.30551 3 10.0473V14.9998M16.5 14.4998H16.51M3 11.1998L3 17.7998C3 18.9199 3 19.48 3.21799 19.9078C3.40973 20.2841 3.71569 20.5901 4.09202 20.7818C4.51984 20.9998 5.07989 20.9998 6.2 20.9998H17.8C18.9201 20.9998 19.4802 20.9998 19.908 20.7818C20.2843 20.5901 20.5903 20.2841 20.782 19.9078C21 19.48 21 18.9199 21 17.7998V11.1998C21 10.0797 21 9.51967 20.782 9.09185C20.5903 8.71552 20.2843 8.40956 19.908 8.21782C19.4802 7.99983 18.9201 7.99983 17.8 7.99983L6.2 7.99983C5.0799 7.99983 4.51984 7.99983 4.09202 8.21781C3.7157 8.40956 3.40973 8.71552 3.21799 9.09185C3 9.51967 3 10.0797 3 11.1998ZM17 14.4998C17 14.776 16.7761 14.9998 16.5 14.9998C16.2239 14.9998 16 14.776 16 14.4998C16 14.2237 16.2239 13.9998 16.5 13.9998C16.7761 13.9998 17 14.2237 17 14.4998Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconWallet',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 12L11 14L15.5 9.5M17.9012 4.99851C18.1071 5.49653 18.5024 5.8924 19.0001 6.09907L20.7452 6.82198C21.2433 7.02828 21.639 7.42399 21.8453 7.92206C22.0516 8.42012 22.0516 8.97974 21.8453 9.47781L21.1229 11.2218C20.9165 11.7201 20.9162 12.2803 21.1236 12.7783L21.8447 14.5218C21.9469 14.7685 21.9996 15.0329 21.9996 15.2999C21.9997 15.567 21.9471 15.8314 21.8449 16.0781C21.7427 16.3249 21.5929 16.549 21.4041 16.7378C21.2152 16.9266 20.991 17.0764 20.7443 17.1785L19.0004 17.9009C18.5023 18.1068 18.1065 18.5021 17.8998 18.9998L17.1769 20.745C16.9706 21.2431 16.575 21.6388 16.0769 21.8451C15.5789 22.0514 15.0193 22.0514 14.5212 21.8451L12.7773 21.1227C12.2792 20.9169 11.7198 20.9173 11.2221 21.1239L9.47689 21.8458C8.97912 22.0516 8.42001 22.0514 7.92237 21.8453C7.42473 21.6391 7.02925 21.2439 6.82281 20.7464L6.09972 19.0006C5.8938 18.5026 5.49854 18.1067 5.00085 17.9L3.25566 17.1771C2.75783 16.9709 2.36226 16.5754 2.15588 16.0777C1.94951 15.5799 1.94923 15.0205 2.1551 14.5225L2.87746 12.7786C3.08325 12.2805 3.08283 11.7211 2.8763 11.2233L2.15497 9.47678C2.0527 9.2301 2.00004 8.96568 2 8.69863C1.99996 8.43159 2.05253 8.16715 2.15472 7.92043C2.25691 7.67372 2.40671 7.44955 2.59557 7.26075C2.78442 7.07195 3.00862 6.92222 3.25537 6.8201L4.9993 6.09772C5.49687 5.89197 5.89248 5.4972 6.0993 5.00006L6.82218 3.25481C7.02848 2.75674 7.42418 2.36103 7.92222 2.15473C8.42027 1.94842 8.97987 1.94842 9.47792 2.15473L11.2218 2.87712C11.7199 3.08291 12.2793 3.08249 12.7771 2.87595L14.523 2.15585C15.021 1.94966 15.5804 1.9497 16.0784 2.15597C16.5763 2.36223 16.972 2.75783 17.1783 3.25576L17.9014 5.00153L17.9012 4.99851Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCheckVerified',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M13 2L4.09344 12.6879C3.74463 13.1064 3.57023 13.3157 3.56756 13.4925C3.56524 13.6461 3.63372 13.7923 3.75324 13.8889C3.89073 14 4.16316 14 4.70802 14H12L11 22L19.9065 11.3121C20.2553 10.8936 20.4297 10.6843 20.4324 10.5075C20.4347 10.3539 20.3663 10.2077 20.2467 10.1111C20.1092 10 19.8368 10 19.292 10H12L13 2Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFlash',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M2.5 12H5.88197C6.56717 12 7.19357 12.3871 7.5 13C7.80643 13.6129 8.43283 14 9.11803 14H14.882C15.5672 14 16.1936 13.6129 16.5 13C16.8064 12.3871 17.4328 12 18.118 12H21.5M8.96656 4H15.0334C16.1103 4 16.6487 4 17.1241 4.16396C17.5445 4.30896 17.9274 4.5456 18.2451 4.85675C18.6043 5.2086 18.8451 5.6902 19.3267 6.65337L21.4932 10.9865C21.6822 11.3645 21.7767 11.5535 21.8434 11.7515C21.9026 11.9275 21.9453 12.1085 21.971 12.2923C22 12.4992 22 12.7105 22 13.1331V15.2C22 16.8802 22 17.7202 21.673 18.362C21.3854 18.9265 20.9265 19.3854 20.362 19.673C19.7202 20 18.8802 20 17.2 20H6.8C5.11984 20 4.27976 20 3.63803 19.673C3.07354 19.3854 2.6146 18.9265 2.32698 18.362C2 17.7202 2 16.8802 2 15.2V13.1331C2 12.7105 2 12.4992 2.02897 12.2923C2.05471 12.1085 2.09744 11.9275 2.15662 11.7515C2.22326 11.5535 2.31776 11.3645 2.50675 10.9865L4.67331 6.65337C5.1549 5.69019 5.3957 5.2086 5.75495 4.85675C6.07263 4.5456 6.45551 4.30896 6.87589 4.16396C7.35125 4 7.88969 4 8.96656 4Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconInbox',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M7 14.5H17M6 10H6.01M10 10H10.01M14 10H14.01M18 10H18.01M5.2 18H18.8C19.9201 18 20.4802 18 20.908 17.782C21.2843 17.5903 21.5903 17.2843 21.782 16.908C22 16.4802 22 15.9201 22 14.8V9.2C22 8.0799 22 7.51984 21.782 7.09202C21.5903 6.71569 21.2843 6.40973 20.908 6.21799C20.4802 6 19.9201 6 18.8 6H5.2C4.07989 6 3.51984 6 3.09202 6.21799C2.71569 6.40973 2.40973 6.71569 2.21799 7.09202C2 7.51984 2 8.07989 2 9.2V14.8C2 15.9201 2 16.4802 2.21799 16.908C2.40973 17.2843 2.71569 17.5903 3.09202 17.782C3.51984 18 4.0799 18 5.2 18Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconKeyboard',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17.7453 16C18.5362 14.8661 19 13.4872 19 12C19 11.4851 18.9444 10.9832 18.8389 10.5M6.25469 16C5.46381 14.8662 5 13.4872 5 12C5 8.13401 8.13401 5 12 5C12.4221 5 12.8355 5.03737 13.2371 5.10897M16.4999 7.5L11.9999 12M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM13 12C13 12.5523 12.5523 13 12 13C11.4477 13 11 12.5523 11 12C11 11.4477 11.4477 11 12 11C12.5523 11 13 11.4477 13 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconSpeedoMeter',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 16V12M12 8H12.01M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconInfoCircle',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17 8.99994C17 8.48812 16.8047 7.9763 16.4142 7.58579C16.0237 7.19526 15.5118 7 15 7M15 15C18.3137 15 21 12.3137 21 9C21 5.68629 18.3137 3 15 3C11.6863 3 9 5.68629 9 9C9 9.27368 9.01832 9.54308 9.05381 9.80704C9.11218 10.2412 9.14136 10.4583 9.12172 10.5956C9.10125 10.7387 9.0752 10.8157 9.00469 10.9419C8.937 11.063 8.81771 11.1823 8.57913 11.4209L3.46863 16.5314C3.29568 16.7043 3.2092 16.7908 3.14736 16.8917C3.09253 16.9812 3.05213 17.0787 3.02763 17.1808C3 17.2959 3 17.4182 3 17.6627V19.4C3 19.9601 3 20.2401 3.10899 20.454C3.20487 20.6422 3.35785 20.7951 3.54601 20.891C3.75992 21 4.03995 21 4.6 21H7V19H9V17H11L12.5791 15.4209C12.8177 15.1823 12.937 15.063 13.0581 14.9953C13.1843 14.9248 13.2613 14.8987 13.4044 14.8783C13.5417 14.8586 13.7588 14.8878 14.193 14.9462C14.4569 14.9817 14.7263 15 15 15Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconKey',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M5.80688 18.5304C5.82459 18.5005 5.84273 18.4709 5.8613 18.4413C7.2158 16.2881 7.99991 13.7418 7.99991 11C7.99991 8.79086 9.79077 7 11.9999 7C14.209 7 15.9999 8.79086 15.9999 11C15.9999 12.017 15.9307 13.0186 15.7966 14M13.6792 20.8436C14.2909 19.6226 14.7924 18.3369 15.1707 17M19.0097 18.132C19.6547 15.8657 20 13.4732 20 11C20 6.58172 16.4183 3 12 3C10.5429 3 9.17669 3.38958 8 4.07026M3 15.3641C3.64066 14.0454 4 12.5646 4 11C4 9.54285 4.38958 8.17669 5.07026 7M11.9999 11C11.9999 14.5172 10.9911 17.7988 9.24707 20.5712\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFingerprint',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6.91822 3.38565C8.40742 2.50524 10.1447 2 12 2C17.5228 2 22 6.47715 22 12C22 12.0331 21.9998 12.0662 21.9995 12.0993M3.38114 6.92585C2.50352 8.41335 2 10.1479 2 12C2 16.6596 5.18693 20.5748 9.5 21.685M20.7076 16.9206C19.3872 19.2522 17.1574 21.001 14.5 21.685M14.0893 6.37378C13.4387 6.13207 12.7348 6 12 6C8.68629 6 6 8.68629 6 12C6 12.7387 6.13351 13.4463 6.37772 14.0999M17.6251 9.90767C17.8675 10.5591 18 11.2641 18 12C18 15.3137 15.3137 18 12 18C11.2701 18 10.5707 17.8697 9.92373 17.631M12 10V14\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconFingerprintLock',\n};\n</script>","\n<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 18V6.35537C9 5.87383 9 5.63306 9.0876 5.43778C9.16482 5.26565 9.28917 5.11887 9.44627 5.0144C9.62449 4.89588 9.86198 4.8563 10.337 4.77714L19.137 3.31047C19.7779 3.20364 20.0984 3.15023 20.3482 3.243C20.5674 3.32441 20.7511 3.48005 20.8674 3.68286C21 3.91398 21 4.23889 21 4.8887V16M9 18C9 19.6568 7.65685 21 6 21C4.34315 21 3 19.6568 3 18C3 16.3431 4.34315 15 6 15C7.65685 15 9 16.3431 9 18ZM21 16C21 17.6568 19.6569 19 18 19C16.3431 19 15 17.6568 15 16C15 14.3431 16.3431 13 18 13C19.6569 13 21 14.3431 21 16Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMusicNote',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7.5 4.5C7.5 3.11929 8.61929 2 10 2C11.3807 2 12.5 3.11929 12.5 4.5V6H13.5C14.8978 6 15.5967 6 16.1481 6.22836C16.8831 6.53284 17.4672 7.11687 17.7716 7.85195C18 8.40326 18 9.10218 18 10.5H19.5C20.8807 10.5 22 11.6193 22 13C22 14.3807 20.8807 15.5 19.5 15.5H18V17.2C18 18.8802 18 19.7202 17.673 20.362C17.3854 20.9265 16.9265 21.3854 16.362 21.673C15.7202 22 14.8802 22 13.2 22H12.5V20.25C12.5 19.0074 11.4926 18 10.25 18C9.00736 18 8 19.0074 8 20.25V22H6.8C5.11984 22 4.27976 22 3.63803 21.673C3.07354 21.3854 2.6146 20.9265 2.32698 20.362C2 19.7202 2 18.8802 2 17.2V15.5H3.5C4.88071 15.5 6 14.3807 6 13C6 11.6193 4.88071 10.5 3.5 10.5H2C2 9.10218 2 8.40326 2.22836 7.85195C2.53284 7.11687 3.11687 6.53284 3.85195 6.22836C4.40326 6 5.10218 6 6.5 6H7.5V4.5Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconPuzzle',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M21.5813 7.19989C21.4733 6.76846 21.2534 6.37318 20.9438 6.05395C20.6341 5.73473 20.2457 5.50287 19.8178 5.3818C18.2542 5 12 5 12 5C12 5 5.74578 5 4.18222 5.41816C3.75429 5.53923 3.36588 5.77109 3.05623 6.09031C2.74659 6.40954 2.52666 6.80482 2.41868 7.23625C2.13253 8.82303 1.99255 10.4327 2.00052 12.0451C1.99032 13.6696 2.1303 15.2916 2.41868 16.8903C2.53773 17.3083 2.76258 17.6886 3.0715 17.9943C3.38043 18.3 3.76299 18.5209 4.18222 18.6357C5.74578 19.0538 12 19.0538 12 19.0538C12 19.0538 18.2542 19.0538 19.8178 18.6357C20.2457 18.5146 20.6341 18.2827 20.9438 17.9635C21.2534 17.6443 21.4733 17.249 21.5813 16.8176C21.8653 15.2427 22.0052 13.6453 21.9995 12.0451C22.0097 10.4206 21.8697 8.79862 21.5813 7.19989Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M9.75 9.46533C9.75 8.98805 9.75 8.74941 9.84974 8.61618C9.93666 8.50008 10.0697 8.42744 10.2144 8.4171C10.3804 8.40525 10.5811 8.53429 10.9826 8.79239L14.9254 11.3271C15.2738 11.551 15.448 11.663 15.5082 11.8054C15.5607 11.9298 15.5607 12.0702 15.5082 12.1946C15.448 12.337 15.2738 12.449 14.9254 12.6729L10.9826 15.2076C10.5811 15.4657 10.3804 15.5948 10.2144 15.5829C10.0697 15.5726 9.93666 15.4999 9.84974 15.3838C9.75 15.2506 9.75 15.012 9.75 14.5347V9.46533Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconVideo',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 9L9 15M9 9L15 15M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCloseCircle',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17 9L11 15M11 9L17 15M2.72 12.96L7.04 18.72C7.392 19.1893 7.568 19.424 7.79105 19.5932C7.9886 19.7432 8.21232 19.855 8.45077 19.9231C8.72 20 9.01334 20 9.6 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H9.6C9.01334 4 8.72 4 8.45077 4.07689C8.21232 4.14499 7.9886 4.25685 7.79105 4.40675C7.568 4.576 7.392 4.81067 7.04 5.28L2.72 11.04C2.46181 11.3843 2.33271 11.5564 2.28294 11.7454C2.23902 11.9123 2.23902 12.0877 2.28294 12.2546C2.33271 12.4436 2.46181 12.6157 2.72 12.96Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconEditorDelete',\n};\n</script>\n","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M15 3V21M7.8 3H16.2C17.8802 3 18.7202 3 19.362 3.32698C19.9265 3.6146 20.3854 4.07354 20.673 4.63803C21 5.27976 21 6.11984 21 7.8V16.2C21 17.8802 21 18.7202 20.673 19.362C20.3854 19.9265 19.9265 20.3854 19.362 20.673C18.7202 21 17.8802 21 16.2 21H7.8C6.11984 21 5.27976 21 4.63803 20.673C4.07354 20.3854 3.6146 19.9265 3.32698 19.362C3 18.7202 3 17.8802 3 16.2V7.8C3 6.11984 3 5.27976 3.32698 4.63803C3.6146 4.07354 4.07354 3.6146 4.63803 3.32698C5.27976 3 6.11984 3 7.8 3Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconLayoutRight'\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M4.5 22V17M4.5 7V2M2 4.5H7M2 19.5H7M13 3L11.2658 7.50886C10.9838 8.24209 10.8428 8.60871 10.6235 8.91709C10.4292 9.1904 10.1904 9.42919 9.91709 9.62353C9.60871 9.8428 9.24209 9.98381 8.50886 10.2658L4 12L8.50886 13.7342C9.24209 14.0162 9.60871 14.1572 9.91709 14.3765C10.1904 14.5708 10.4292 14.8096 10.6235 15.0829C10.8428 15.3913 10.9838 15.7579 11.2658 16.4911L13 21L14.7342 16.4911C15.0162 15.7579 15.1572 15.3913 15.3765 15.0829C15.5708 14.8096 15.8096 14.5708 16.0829 14.3765C16.3913 14.1572 16.7579 14.0162 17.4911 13.7342L22 12L17.4911 10.2658C16.7579 9.98381 16.3913 9.8428 16.0829 9.62353C15.8096 9.42919 15.5708 9.1904 15.3765 8.91709C15.1572 8.60871 15.0162 8.24209 14.7342 7.50886L13 3Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconStars',\n};\n</script>","<template>\n <svg fill=\"currentColor\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M22.269 19.385H1.731a1.73 1.73 0 0 1-1.73-1.73V6.345a1.73 1.73 0 0 1 1.73-1.73h20.538a1.73 1.73 0 0 1 1.73 1.73v11.308a1.73 1.73 0 0 1-1.73 1.731zm-16.5-3.462v-4.5l2.308 2.885 2.307-2.885v4.5h2.308V8.078h-2.308l-2.307 2.885-2.308-2.885H3.461v7.847zM21.231 12h-2.308V8.077h-2.307V12h-2.308l3.461 4.039z\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconMarkdown',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 13L12 18L17 13M7 6L12 11L17 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconChevronDownDouble',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M17 18L12 13L7 18M17 11L12 6L7 11\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconChevronUpDouble',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M9 2V4M15 2V4M9 20V22M15 20V22M20 9H22M20 14H22M2 9H4M2 14H4M8.8 20H15.2C16.8802 20 17.7202 20 18.362 19.673C18.9265 19.3854 19.3854 18.9265 19.673 18.362C20 17.7202 20 16.8802 20 15.2V8.8C20 7.11984 20 6.27976 19.673 5.63803C19.3854 5.07354 18.9265 4.6146 18.362 4.32698C17.7202 4 16.8802 4 15.2 4H8.8C7.11984 4 6.27976 4 5.63803 4.32698C5.07354 4.6146 4.6146 5.07354 4.32698 5.63803C4 6.27976 4 7.11984 4 8.8V15.2C4 16.8802 4 17.7202 4.32698 18.362C4.6146 18.9265 5.07354 19.3854 5.63803 19.673C6.27976 20 7.11984 20 8.8 20ZM10.6 15H13.4C13.9601 15 14.2401 15 14.454 14.891C14.6422 14.7951 14.7951 14.6422 14.891 14.454C15 14.2401 15 13.9601 15 13.4V10.6C15 10.0399 15 9.75992 14.891 9.54601C14.7951 9.35785 14.6422 9.20487 14.454 9.10899C14.2401 9 13.9601 9 13.4 9H10.6C10.0399 9 9.75992 9 9.54601 9.10899C9.35785 9.20487 9.20487 9.35785 9.10899 9.54601C9 9.75992 9 10.0399 9 10.6V13.4C9 13.9601 9 14.2401 9.10899 14.454C9.20487 14.6422 9.35785 14.7951 9.54601 14.891C9.75992 15 10.0399 15 10.6 15Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconCpuChip',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M21.5 18L14.8571 12M9.14286 12L2.50003 18M2 7L10.1649 12.7154C10.8261 13.1783 11.1567 13.4097 11.5163 13.4993C11.8339 13.5785 12.1661 13.5785 12.4837 13.4993C12.8433 13.4097 13.1739 13.1783 13.8351 12.7154L22 7M6.8 20H17.2C18.8802 20 19.7202 20 20.362 19.673C20.9265 19.3854 21.3854 18.9265 21.673 18.362C22 17.7202 22 16.8802 22 15.2V8.8C22 7.11984 22 6.27976 21.673 5.63803C21.3854 5.07354 20.9265 4.6146 20.362 4.32698C19.7202 4 18.8802 4 17.2 4H6.8C5.11984 4 4.27976 4 3.63803 4.32698C3.07354 4.6146 2.6146 5.07354 2.32698 5.63803C2 6.27976 2 7.11984 2 8.8V15.2C2 16.8802 2 17.7202 2.32698 18.362C2.6146 18.9265 3.07354 19.3854 3.63803 19.673C4.27976 20 5.11984 20 6.8 20Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconEmail',\n};\n</script>\n","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M8.4 3H4.6C4.03995 3 3.75992 3 3.54601 3.10899C3.35785 3.20487 3.20487 3.35785 3.10899 3.54601C3 3.75992 3 4.03995 3 4.6V8.4C3 8.96005 3 9.24008 3.10899 9.45399C3.20487 9.64215 3.35785 9.79513 3.54601 9.89101C3.75992 10 4.03995 10 4.6 10H8.4C8.96005 10 9.24008 10 9.45399 9.89101C9.64215 9.79513 9.79513 9.64215 9.89101 9.45399C10 9.24008 10 8.96005 10 8.4V4.6C10 4.03995 10 3.75992 9.89101 3.54601C9.79513 3.35785 9.64215 3.20487 9.45399 3.10899C9.24008 3 8.96005 3 8.4 3Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M19.4 3H15.6C15.0399 3 14.7599 3 14.546 3.10899C14.3578 3.20487 14.2049 3.35785 14.109 3.54601C14 3.75992 14 4.03995 14 4.6V8.4C14 8.96005 14 9.24008 14.109 9.45399C14.2049 9.64215 14.3578 9.79513 14.546 9.89101C14.7599 10 15.0399 10 15.6 10H19.4C19.9601 10 20.2401 10 20.454 9.89101C20.6422 9.79513 20.7951 9.64215 20.891 9.45399C21 9.24008 21 8.96005 21 8.4V4.6C21 4.03995 21 3.75992 20.891 3.54601C20.7951 3.35785 20.6422 3.20487 20.454 3.10899C20.2401 3 19.9601 3 19.4 3Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M19.4 14H15.6C15.0399 14 14.7599 14 14.546 14.109C14.3578 14.2049 14.2049 14.3578 14.109 14.546C14 14.7599 14 15.0399 14 15.6V19.4C14 19.9601 14 20.2401 14.109 20.454C14.2049 20.6422 14.3578 20.7951 14.546 20.891C14.7599 21 15.0399 21 15.6 21H19.4C19.9601 21 20.2401 21 20.454 20.891C20.6422 20.7951 20.7951 20.6422 20.891 20.454C21 20.2401 21 19.9601 21 19.4V15.6C21 15.0399 21 14.7599 20.891 14.546C20.7951 14.3578 20.6422 14.2049 20.454 14.109C20.2401 14 19.9601 14 19.4 14Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M8.4 14H4.6C4.03995 14 3.75992 14 3.54601 14.109C3.35785 14.2049 3.20487 14.3578 3.10899 14.546C3 14.7599 3 15.0399 3 15.6V19.4C3 19.9601 3 20.2401 3.10899 20.454C3.20487 20.6422 3.35785 20.7951 3.54601 20.891C3.75992 21 4.03995 21 4.6 21H8.4C8.96005 21 9.24008 21 9.45399 20.891C9.64215 20.7951 9.79513 20.6422 9.89101 20.454C10 20.2401 10 19.9601 10 19.4V15.6C10 15.0399 10 14.7599 9.89101 14.546C9.79513 14.3578 9.64215 14.2049 9.45399 14.109C9.24008 14 8.96005 14 8.4 14Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconGrid',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 12H12.005M17 12H17.005M7 12H7.005M5.2 7H18.8C19.9201 7 20.4802 7 20.908 7.21799C21.2843 7.40973 21.5903 7.71569 21.782 8.09202C22 8.51984 22 9.0799 22 10.2V13.8C22 14.9201 22 15.4802 21.782 15.908C21.5903 16.2843 21.2843 16.5903 20.908 16.782C20.4802 17 19.9201 17 18.8 17H5.2C4.0799 17 3.51984 17 3.09202 16.782C2.71569 16.5903 2.40973 16.2843 2.21799 15.908C2 15.4802 2 14.9201 2 13.8V10.2C2 9.0799 2 8.51984 2.21799 8.09202C2.40973 7.71569 2.71569 7.40973 3.09202 7.21799C3.51984 7 4.0799 7 5.2 7ZM12.25 12C12.25 12.1381 12.1381 12.25 12 12.25C11.8619 12.25 11.75 12.1381 11.75 12C11.75 11.8619 11.8619 11.75 12 11.75C12.1381 11.75 12.25 11.8619 12.25 12ZM17.25 12C17.25 12.1381 17.1381 12.25 17 12.25C16.8619 12.25 16.75 12.1381 16.75 12C16.75 11.8619 16.8619 11.75 17 11.75C17.1381 11.75 17.25 11.8619 17.25 12ZM7.25 12C7.25 12.1381 7.13807 12.25 7 12.25C6.86193 12.25 6.75 12.1381 6.75 12C6.75 11.8619 6.86193 11.75 7 11.75C7.13807 11.75 7.25 11.8619 7.25 12Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconPasscode',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M22.0006 12.1171C22.0006 6.5296 17.471 2 11.8835 2C7.34846 2 3.51036 4.98385 2.22531 9.0954C2.143 9.35878 2.10184 9.49047 2.10572 9.65514C2.10888 9.78904 2.14958 9.95446 2.20891 10.0745C2.28188 10.2222 2.39454 10.3349 2.61986 10.5602L13.4409 21.3807C13.6662 21.606 13.7788 21.7187 13.9265 21.7916C14.0466 21.8509 14.212 21.8916 14.3459 21.8948C14.5106 21.8987 14.6423 21.8575 14.9057 21.7752C19.017 20.49 22.0006 16.652 22.0006 12.1171Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M3.4468 9.7341C3.6873 9.71699 3.93013 9.70829 4.17499 9.70829C9.76253 9.70829 14.2921 14.2379 14.2921 19.8254C14.2921 20.0703 14.2834 20.3131 14.2663 20.5536C14.2364 20.9738 14.2215 21.1839 14.099 21.3137C13.9995 21.4191 13.8298 21.4824 13.6856 21.468C13.508 21.4502 13.3466 21.2887 13.0236 20.9658L3.03464 10.9768C2.71171 10.6539 2.55024 10.4924 2.53246 10.3148C2.51801 10.1706 2.58136 10.0009 2.68675 9.9014C2.81651 9.77892 3.02661 9.76398 3.4468 9.7341Z\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconStickerCircle',\n};\n</script>","<template>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\"\n role=\"img\"\n width=\"24\"\n height=\"24\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 24 24\"\n >\n <g clip-path=\"url(#clip0_110_6)\">\n <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"url(#paint0_linear_110_6)\"/>\n <path d=\"M17.8406 6.90468L15.6984 17.7094C15.6984 17.7094 15.3984 18.4594 14.5734 18.0984L9.62811 14.3062L7.82811 13.4391L4.79999 12.4219C4.79999 12.4219 4.33592 12.2578 4.28905 11.8969C4.24217 11.5359 4.81405 11.3437 4.81405 11.3437L16.8515 6.62343C16.8515 6.61874 17.8406 6.1828 17.8406 6.90468Z\" fill=\"white\"/>\n <path d=\"M9.24375 17.5875C9.24375 17.5875 9.09844 17.5734 8.92031 17.0062C8.74219 16.439 7.82812 13.439 7.82812 13.439L15.0984 8.82185C15.0984 8.82185 15.5203 8.56873 15.5016 8.82185C15.5016 8.82185 15.5766 8.86873 15.3516 9.07498C15.1266 9.28591 9.64219 14.2172 9.64219 14.2172\" fill=\"#D2E4F0\"/>\n <path d=\"M11.5219 15.7594L9.56716 17.5453C9.56716 17.5453 9.41248 17.6625 9.24841 17.5875L9.62341 14.2734\" fill=\"#B5CFE4\"/>\n </g>\n <defs>\n <linearGradient id=\"paint0_linear_110_6\" x1=\"12\" y1=\"0\" x2=\"12\" y2=\"23.9124\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#41BCE7\"/>\n <stop offset=\"1\" stop-color=\"#22A6DC\"/>\n </linearGradient>\n <clipPath id=\"clip0_110_6\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorTelegram',\n};\n</script>","<template>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n aria-hidden=\"true\"\n role=\"img\"\n width=\"24\"\n height=\"24\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 24 24\"\n >\n <g clip-path=\"url(#clip0_110_2)\">\n <path d=\"M24 12C24 18.6281 18.6281 24 12 24C5.37188 24 0 18.6281 0 12C0 5.37188 5.37188 0 12 0C18.6281 0 24 5.37188 24 12Z\" fill=\"#F26522\"/>\n <path d=\"M7.57501 17.5266C6.67033 17.5266 5.93907 16.7953 5.93907 15.8906C5.93907 14.9859 6.67033 14.2547 7.57501 14.2547C8.4797 14.2547 9.21095 14.9859 9.21095 15.8906C9.21095 16.7906 8.4797 17.5266 7.57501 17.5266ZM11.4844 17.5266C11.4516 14.4797 8.98126 12.0094 5.93439 11.9766V9.55311C10.3266 9.58593 13.875 13.1391 13.9078 17.5266H11.4844ZM15.5906 17.5266C15.5813 14.9484 14.5734 12.5203 12.75 10.6969C10.9266 8.87343 8.50782 7.86561 5.93439 7.85624V5.4328C12.6 5.45624 18 10.8609 18.0141 17.5266H15.5906Z\" fill=\"white\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_110_2\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorFeed',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_1_18)\">\n <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"#1CB7EB\"/>\n <path d=\"M18.4 7.7C17.95 7.95 17.4 8.1 16.9 8.15C17.45 7.8 17.85 7.25 18.05 6.6C17.55 6.9 17 7.15 16.35 7.3C15.85 6.75 15.2 6.4 14.45 6.4C13 6.4 11.8 7.65 11.8 9.25C11.8 9.45 11.8 9.7 11.85 9.9C9.65001 9.8 7.70001 8.65 6.40001 6.95C6.15001 7.35 6.05001 7.85 6.05001 8.4C6.05001 9.4 6.50001 10.25 7.20001 10.75C6.75001 10.75 6.35001 10.6 6.00001 10.4V10.45C6.00001 11.8 6.90001 12.95 8.10001 13.25C7.90001 13.3 7.65001 13.35 7.40001 13.35C7.25001 13.35 7.05001 13.35 6.90001 13.3C7.25001 14.45 8.20001 15.25 9.35001 15.25C8.45001 16 7.30001 16.45 6.10001 16.45C5.90001 16.45 5.70001 16.45 5.45001 16.4C6.60001 17.2 8.00001 17.7 9.50001 17.7C14.35 17.7 17 13.4 17 9.65C17 9.55 17 9.4 17 9.3C17.6 8.8 18.05 8.3 18.4 7.7Z\" fill=\"white\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_1_18\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorTwitter',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_1_26)\">\n <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"#4E71A8\"/>\n <path d=\"M14.95 9.75H12.95V8.45C12.95 7.95 13.3 7.85 13.5 7.85C13.75 7.85 14.9 7.85 14.9 7.85V5.65H12.95C10.75 5.65 10.3 7.3 10.3 8.3V9.75H9.05V12H10.3C10.3 14.9 10.3 18.35 10.3 18.35H12.95C12.95 18.35 12.95 14.85 12.95 12H14.75L14.95 9.75Z\" fill=\"white\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_1_26\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorFacebook',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_1_23)\">\n <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"#1686B0\"/>\n <path d=\"M8.7 17.45H6.4V10.05H8.7V17.45ZM7.45 9.1C6.6 9.1 6.05 8.55 6.05 7.8C6.05 7.05 6.6 6.5 7.45 6.5C8.3 6.5 8.85 7.05 8.85 7.8C8.85 8.55 8.35 9.1 7.45 9.1ZM17.95 17.45H15.3V13.6C15.3 12.6 14.9 11.9 14 11.9C13.3 11.9 12.95 12.35 12.75 12.8C12.7 12.95 12.7 13.2 12.7 13.4V17.4H10.1C10.1 17.4 10.15 10.6 10.1 10H12.7V11.15C12.85 10.65 13.7 9.9 15 9.9C16.65 9.9 17.95 10.95 17.95 13.25V17.45Z\" fill=\"white\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_1_23\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorLinkedin',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_333_2)\">\n <mask id=\"mask0_333_2\" style=\"mask-type:luminance\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"24\" height=\"24\">\n <path d=\"M24 0H0V24H24V0Z\" fill=\"white\"/>\n </mask>\n <g mask=\"url(#mask0_333_2)\">\n <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"url(#paint0_linear_333_2)\"/>\n </g>\n <path d=\"M7 5.08235H8.98333L12.1333 11.7529L15.2833 5H17.2667L12.9111 13.4V19H11.3556V13.4L7 5.08235Z\" fill=\"white\"/>\n </g>\n <defs>\n <linearGradient id=\"paint0_linear_333_2\" x1=\"12\" y1=\"0\" x2=\"12\" y2=\"23.9124\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#FF6600\"/>\n <stop offset=\"1\" stop-color=\"#FF6600\"/>\n </linearGradient>\n <clipPath id=\"clip0_333_2\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorHackernews'\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_334_24)\">\n <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"url(#paint0_linear_334_24)\"/>\n <path d=\"M17.3608 8.16664C15.609 6.85399 13.9306 6.89088 13.9306 6.89088L13.759 7.08713C15.8417 7.71276 16.8095 8.63277 16.8095 8.63277C13.8298 6.99008 10.0345 7.00186 6.93522 8.63277C6.93522 8.63277 7.93978 7.66362 10.145 7.03799L10.0226 6.89073C10.0226 6.89073 8.35637 6.85399 6.59232 8.16649C6.59232 8.16649 4.82812 11.3436 4.82812 15.257C4.82812 15.257 5.85729 17.0235 8.56474 17.1094C8.56474 17.1094 9.01802 16.5696 9.38553 16.1035C7.82971 15.6374 7.24159 14.6682 7.24159 14.6682C8.21908 15.2807 9.20743 15.664 10.4392 15.9072C12.4431 16.3203 14.9357 15.8956 16.7975 14.6682C16.7975 14.6682 16.1849 15.6619 14.58 16.1157C14.9475 16.5696 15.3885 17.0971 15.3885 17.0971C18.096 17.0113 19.125 15.2447 19.125 15.2571C19.1248 11.3438 17.3608 8.16664 17.3608 8.16664ZM9.69174 14.1162C9.00563 14.1162 8.44213 13.5151 8.44213 12.7668C8.49227 10.9747 10.9037 10.9802 10.9414 12.7668C10.9414 13.5151 10.3899 14.1162 9.69174 14.1162ZM14.1632 14.1162C13.4771 14.1162 12.9136 13.5151 12.9136 12.7668C12.9687 10.9782 15.35 10.9775 15.4128 12.7668C15.4128 13.5151 14.8616 14.1162 14.1632 14.1162Z\" fill=\"white\"/>\n </g>\n <defs>\n <linearGradient id=\"paint0_linear_334_24\" x1=\"12\" y1=\"0\" x2=\"12\" y2=\"23.9124\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#9E9DF1\"/>\n <stop offset=\"1\" stop-color=\"#6665D2\"/>\n </linearGradient>\n <clipPath id=\"clip0_334_24\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorDiscord',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_334_15)\">\n <path d=\"M24 12C24 18.6281 18.6281 24 12 24C5.37188 24 0 18.6281 0 12C0 5.37188 5.37188 0 12 0C18.6281 0 24 5.37188 24 12Z\" fill=\"#00CF2E\"/>\n <path d=\"M20.1309 11.4465C20.1309 8.46055 16.602 5.20312 11.9873 5.20312C7.49139 5.20312 3.84375 7.84978 3.84375 11.4465C3.84375 14.765 6.68721 17.5067 10.6877 17.9105C10.8096 17.9205 10.9276 17.9581 11.0328 18.0204C11.138 18.0827 11.2277 18.1681 11.2951 18.2702C11.3912 18.4214 11.443 18.5966 11.4444 18.7757C11.4351 19.1439 11.3942 19.5106 11.3223 19.8717C11.3112 19.9207 11.3139 19.9717 11.3301 20.0192C11.3463 20.0668 11.3753 20.1088 11.414 20.1408C11.4526 20.1728 11.4994 20.1935 11.5491 20.2005C11.5988 20.2075 11.6495 20.2006 11.6955 20.1805C13.6126 19.3322 20.1309 15.8441 20.1309 11.4465Z\" fill=\"white\"/>\n <path d=\"M9.00464 12.9394H7.78311V10.0891C7.78311 9.98115 7.74021 9.87759 7.66385 9.80123C7.58749 9.72487 7.48392 9.68197 7.37593 9.68197C7.26794 9.68197 7.16437 9.72487 7.08801 9.80123C7.01165 9.87759 6.96875 9.98115 6.96875 10.0891V13.3466C6.96875 13.4546 7.01165 13.5581 7.08801 13.6345C7.16437 13.7109 7.26794 13.7537 7.37593 13.7537H9.00464C9.11263 13.7537 9.2162 13.7109 9.29256 13.6345C9.36892 13.5581 9.41182 13.4546 9.41182 13.3466C9.41182 13.2386 9.36892 13.135 9.29256 13.0587C9.2162 12.9823 9.11263 12.9394 9.00464 12.9394Z\" fill=\"#00CF2E\"/>\n <path d=\"M10.0844 9.68197C9.97643 9.68197 9.87287 9.72487 9.79651 9.80123C9.72014 9.87759 9.67725 9.98115 9.67725 10.0891V13.3466C9.67725 13.4546 9.72014 13.5581 9.79651 13.6345C9.87287 13.7109 9.97643 13.7537 10.0844 13.7537C10.1924 13.7537 10.296 13.7109 10.3723 13.6345C10.4487 13.5581 10.4916 13.4546 10.4916 13.3466V10.0891C10.4916 9.98115 10.4487 9.87759 10.3723 9.80123C10.296 9.72487 10.1924 9.68197 10.0844 9.68197Z\" fill=\"#00CF2E\"/>\n <path d=\"M13.8889 9.68197C13.8355 9.68197 13.7825 9.6925 13.7331 9.71296C13.6837 9.73342 13.6388 9.76342 13.601 9.80123C13.5632 9.83904 13.5332 9.88392 13.5127 9.93333C13.4923 9.98273 13.4817 10.0357 13.4817 10.0891V12.125L11.7852 9.84484C11.7339 9.77647 11.6624 9.72597 11.5808 9.70049C11.4993 9.67501 11.4117 9.67584 11.3307 9.70286C11.2496 9.72989 11.1791 9.78174 11.1291 9.85106C11.0791 9.92039 11.0522 10.0037 11.0522 10.0891V13.3466C11.0695 13.4401 11.1191 13.5247 11.1922 13.5855C11.2653 13.6464 11.3575 13.6797 11.4526 13.6797C11.5478 13.6797 11.6399 13.6464 11.7131 13.5855C11.7862 13.5247 11.8357 13.4401 11.853 13.3466V11.3107L13.5496 13.5909C13.5887 13.6435 13.64 13.6859 13.6991 13.7143C13.7582 13.7426 13.8234 13.7562 13.8889 13.7537C13.9327 13.7536 13.9762 13.7467 14.0179 13.7334C14.099 13.7063 14.1695 13.6544 14.2195 13.5849C14.2694 13.5155 14.2962 13.4321 14.2961 13.3466V10.0891C14.2961 10.0357 14.2856 9.98273 14.2651 9.93333C14.2446 9.88392 14.2147 9.83904 14.1768 9.80123C14.139 9.76342 14.0941 9.73342 14.0447 9.71296C13.9953 9.6925 13.9424 9.68197 13.8889 9.68197Z\" fill=\"#00CF2E\"/>\n <path d=\"M16.8694 12.125C16.9229 12.125 16.9758 12.1145 17.0252 12.094C17.0746 12.0736 17.1195 12.0436 17.1573 12.0058C17.1951 11.968 17.2251 11.9231 17.2456 11.8737C17.266 11.8243 17.2766 11.7713 17.2766 11.7179C17.2766 11.6644 17.266 11.6114 17.2456 11.562C17.2251 11.5126 17.1951 11.4677 17.1573 11.4299C17.1195 11.3921 17.0746 11.3621 17.0252 11.3417C16.9758 11.3212 16.9229 11.3107 16.8694 11.3107H15.6479V10.4963H16.8694C16.9774 10.4963 17.0809 10.4534 17.1573 10.3771C17.2337 10.3007 17.2766 10.1971 17.2766 10.0891C17.2766 9.98115 17.2337 9.87759 17.1573 9.80123C17.0809 9.72487 16.9774 9.68197 16.8694 9.68197H15.2407C15.1327 9.68197 15.0291 9.72487 14.9528 9.80123C14.8764 9.87759 14.8335 9.98115 14.8335 10.0891V13.3466C14.8335 13.4546 14.8764 13.5581 14.9528 13.6345C15.0291 13.7109 15.1327 13.7537 15.2407 13.7537H16.8694C16.9774 13.7537 17.0809 13.7109 17.1573 13.6345C17.2337 13.5581 17.2766 13.4546 17.2766 13.3466C17.2766 13.2386 17.2337 13.135 17.1573 13.0587C17.0809 12.9823 16.9774 12.9394 16.8694 12.9394H15.6479V12.125H16.8694Z\" fill=\"#00CF2E\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_334_15\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorLine',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_366_22)\">\n <mask id=\"mask0_366_22\" style=\"mask-type:luminance\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"24\" height=\"24\">\n <path d=\"M24 0H0V24H24V0Z\" fill=\"white\"/>\n </mask>\n <g mask=\"url(#mask0_366_22)\">\n <path d=\"M24 12C24 18.6281 18.6281 24 12 24C5.37188 24 0 18.6281 0 12C0 5.37188 5.37188 0 12 0C18.6281 0 24 5.37188 24 12Z\" fill=\"#1185FE\"/>\n </g>\n <path d=\"M7.75145 7.30926C9.47116 8.59796 11.3209 11.2109 12 12.6132C12.6792 11.211 14.5289 8.59793 16.2486 7.30926C17.4895 6.37939 19.5 5.6599 19.5 7.94934C19.5 8.40657 19.2374 11.7903 19.0833 12.3397C18.5479 14.2495 16.5969 14.7367 14.8614 14.4418C17.895 14.9572 18.6667 16.6643 17.0001 18.3714C13.8348 21.6134 12.4507 17.5579 12.0959 16.5187C12.0309 16.3282 12.0004 16.2391 12 16.3149C11.9995 16.2391 11.9691 16.3282 11.9041 16.5187C11.5494 17.5579 10.1653 21.6135 6.99992 18.3714C5.33327 16.6643 6.10496 14.9571 9.13862 14.4418C7.40308 14.7367 5.452 14.2495 4.91666 12.3397C4.76262 11.7903 4.5 8.40652 4.5 7.94934C4.5 5.6599 6.51056 6.37939 7.75136 7.30926H7.75145Z\" fill=\"white\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_366_22\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorBluesky',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_366_40)\">\n <mask id=\"mask0_366_40\" style=\"mask-type:luminance\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"24\" height=\"24\">\n <path d=\"M24 0H0V24H24V0Z\" fill=\"white\"/>\n </mask>\n <g mask=\"url(#mask0_366_40)\">\n <path d=\"M24 12C24 18.6281 18.6281 24 12 24C5.37188 24 0 18.6281 0 12C0 5.37188 5.37188 0 12 0C18.6281 0 24 5.37188 24 12Z\" fill=\"#2B90D9\"/>\n </g>\n <path d=\"M18.5075 13.7991C18.3077 14.8271 16.7178 15.9522 14.8918 16.1702C13.9396 16.2838 13.0021 16.3882 12.0024 16.3424C10.3676 16.2675 9.07753 15.9522 9.07753 15.9522C9.07753 16.1113 9.08735 16.2629 9.10698 16.4046C9.31952 18.018 10.7068 18.1147 12.021 18.1597C13.3474 18.2051 14.5284 17.8327 14.5284 17.8327L14.5829 19.0318C14.5829 19.0318 13.6551 19.53 12.0024 19.6217C11.0911 19.6717 9.95951 19.5987 8.64153 19.2499C5.78304 18.4933 5.29145 15.4463 5.21623 12.3546C5.1933 11.4367 5.20743 10.5711 5.20743 9.84716C5.20743 6.68576 7.27879 5.7591 7.27879 5.7591C8.32322 5.27944 10.1154 5.07773 11.9785 5.0625H12.0243C13.8874 5.07773 15.6807 5.27944 16.7251 5.7591C16.7251 5.7591 18.7964 6.68576 18.7964 9.84716C18.7964 9.84716 18.8223 12.1797 18.5075 13.7991Z\" fill=\"white\"/>\n <path d=\"M16.3531 10.0924V13.9204H14.8366V10.2049C14.8366 9.42173 14.5071 9.0242 13.8479 9.0242C13.1191 9.0242 12.7539 9.49577 12.7539 10.4282V12.4619H11.2463V10.4282C11.2463 9.49577 10.8809 9.0242 10.1521 9.0242C9.49297 9.0242 9.16343 9.42173 9.16343 10.2049V13.9204H7.64688V10.0924C7.64688 9.31008 7.84608 8.68839 8.2462 8.22843C8.65881 7.76848 9.19916 7.5327 9.86993 7.5327C10.646 7.5327 11.2337 7.83098 11.6223 8.42763L12 9.06087L12.3778 8.42763C12.7663 7.83098 13.354 7.5327 14.1302 7.5327C14.8009 7.5327 15.3412 7.76848 15.7539 8.22843C16.1539 8.68839 16.3531 9.31008 16.3531 10.0924Z\" fill=\"#2B90D9\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_366_40\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorMastodon',\n};\n</script>\n","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<g clip-path=\"url(#clip0_368_59)\">\n<mask id=\"mask0_368_59\" style=\"mask-type:luminance\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"24\" height=\"24\">\n<path d=\"M24 0H0V24H24V0Z\" fill=\"white\"/>\n</mask>\n<g mask=\"url(#mask0_368_59)\">\n<path d=\"M24 12C24 18.6281 18.6281 24 12 24C5.37188 24 0 18.6281 0 12C0 5.37188 5.37188 0 12 0C18.6281 0 24 5.37188 24 12Z\" fill=\"url(#paint0_linear_368_59)\"/>\n</g>\n<path d=\"M8.66519 12.3158H11.9967V15.4737M6.00666 12.3158H6M9.33815 15.4737H9.33148M12.0033 18H11.9967M18 12.3158H17.9933M6 15.4737H6.99944M14.3287 12.3158H15.6613M6 18H9.33148M11.9967 6V9.78947M15.7279 18H16.9273C17.3004 18 17.487 18 17.6295 17.9312C17.7549 17.8706 17.8568 17.774 17.9207 17.6552C17.9933 17.52 17.9933 17.3432 17.9933 16.9895V15.8526C17.9933 15.4989 17.9933 15.3221 17.9207 15.187C17.8568 15.0681 17.7549 14.9715 17.6295 14.9109C17.487 14.8421 17.3004 14.8421 16.9273 14.8421H15.7279C15.3548 14.8421 15.1682 14.8421 15.0257 14.9109C14.9003 14.9715 14.7984 15.0681 14.7345 15.187C14.6619 15.3221 14.6619 15.4989 14.6619 15.8526V16.9895C14.6619 17.3432 14.6619 17.52 14.7345 17.6552C14.7984 17.774 14.9003 17.8706 15.0257 17.9312C15.1682 18 15.3548 18 15.7279 18ZM15.7279 9.78947H16.9273C17.3004 9.78947 17.487 9.78947 17.6295 9.72064C17.7549 9.66008 17.8568 9.56346 17.9207 9.44463C17.9933 9.30952 17.9933 9.13266 17.9933 8.77895V7.64211C17.9933 7.28839 17.9933 7.11153 17.9207 6.97643C17.8568 6.85759 17.7549 6.76097 17.6295 6.70042C17.487 6.63158 17.3004 6.63158 16.9273 6.63158H15.7279C15.3548 6.63158 15.1682 6.63158 15.0257 6.70042C14.9003 6.76097 14.7984 6.85759 14.7345 6.97643C14.6619 7.11153 14.6619 7.28839 14.6619 7.64211V8.77895C14.6619 9.13266 14.6619 9.30952 14.7345 9.44463C14.7984 9.56346 14.9003 9.66008 15.0257 9.72064C15.1682 9.78947 15.3548 9.78947 15.7279 9.78947ZM7.06607 9.78947H8.26541C8.63857 9.78947 8.82515 9.78947 8.96768 9.72064C9.09305 9.66008 9.19498 9.56346 9.25886 9.44463C9.33148 9.30952 9.33148 9.13266 9.33148 8.77895V7.64211C9.33148 7.28839 9.33148 7.11153 9.25886 6.97643C9.19498 6.85759 9.09305 6.76097 8.96768 6.70042C8.82515 6.63158 8.63857 6.63158 8.26541 6.63158H7.06607C6.69291 6.63158 6.50633 6.63158 6.3638 6.70042C6.23843 6.76097 6.1365 6.85759 6.07262 6.97643C6 7.11153 6 7.28839 6 7.64211V8.77895C6 9.13266 6 9.30952 6.07262 9.44463C6.1365 9.56346 6.23843 9.66008 6.3638 9.72064C6.50633 9.78947 6.69291 9.78947 7.06607 9.78947Z\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</g>\n<defs>\n<linearGradient id=\"paint0_linear_368_59\" x1=\"12\" y1=\"0\" x2=\"12\" y2=\"24\" gradientUnits=\"userSpaceOnUse\">\n<stop stop-color=\"#585858\"/>\n<stop offset=\"1\" stop-color=\"#727272\"/>\n</linearGradient>\n<clipPath id=\"clip0_368_59\">\n<rect width=\"24\" height=\"24\" fill=\"white\"/>\n</clipPath>\n</defs>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorShare',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_377_78)\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 0C5.37 0 0 5.37 0 12C0 17.31 3.435 21.795 8.205 23.385C8.805 23.49 9.03 23.13 9.03 22.815C9.03 22.53 9.015 21.585 9.015 20.58C6 21.135 5.22 19.845 4.98 19.17C4.845 18.825 4.26 17.76 3.75 17.475C3.33 17.25 2.73 16.695 3.735 16.68C4.68 16.665 5.355 17.55 5.58 17.91C6.66 19.725 8.385 19.215 9.075 18.9C9.18 18.12 9.495 17.595 9.84 17.295C7.17 16.995 4.38 15.96 4.38 11.37C4.38 10.065 4.845 8.985 5.61 8.145C5.49 7.845 5.07 6.615 5.73 4.965C5.73 4.965 6.735 4.65 9.03 6.195C9.99 5.925 11.01 5.79 12.03 5.79C13.05 5.79 14.07 5.925 15.03 6.195C17.325 4.635 18.33 4.965 18.33 4.965C18.99 6.615 18.57 7.845 18.45 8.145C19.215 8.985 19.68 10.05 19.68 11.37C19.68 15.975 16.875 16.995 14.205 17.295C14.64 17.67 15.015 18.39 15.015 19.515C15.015 21.12 15 22.41 15 22.815C15 23.13 15.225 23.505 15.825 23.385C20.565 21.795 24 17.295 24 12C24 5.37 18.63 0 12 0Z\" fill=\"#1B1F23\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_377_78\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorGithub',\n};\n</script>","<template>\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_377_86)\">\n <path d=\"M0.489643 15.4507C1.97335 20.3947 6.56217 24 11.9923 24C18.6239 24 24 18.6274 24 12C24 5.37262 18.6239 0 11.9923 0C5.62895 0 0.421724 4.94738 0.0104599 11.2028C0.78871 12.5066 1.09078 13.3132 0.488892 15.4507H0.489643Z\" fill=\"url(#paint0_linear_377_86)\"/>\n <path d=\"M11.3735 8.99439L11.3746 9.05364L8.4365 13.3193C7.96069 13.2975 7.48339 13.3811 7.0301 13.5675C6.83277 13.6477 6.64438 13.7482 6.46798 13.8675L0.0157134 11.2099C0.0157134 11.2099 -0.133633 13.6646 0.488517 15.4939L5.04995 17.3749C5.27509 18.3979 5.98055 19.2949 7.01696 19.7261C7.83234 20.0647 8.74885 20.066 9.5652 19.7298C10.3816 19.3936 11.031 18.7473 11.3709 17.9329C11.5522 17.4991 11.6397 17.0319 11.6276 16.5619L15.8276 13.56L15.9308 13.5619C18.4468 13.5619 20.4919 11.5121 20.4919 8.99439C20.4919 6.47664 18.4506 4.43439 15.9308 4.42914C13.4159 4.42914 11.3698 6.47664 11.3698 8.99439H11.3735ZM10.6681 17.6381C10.1225 18.9506 8.61699 19.5683 7.30852 19.0234C6.72788 18.7795 6.25724 18.3308 5.98617 17.7626L7.471 18.3776C7.70038 18.4731 7.94632 18.5224 8.19478 18.5228C8.44323 18.5232 8.68933 18.4746 8.91901 18.3799C9.14869 18.2852 9.35745 18.1463 9.53336 17.9709C9.70927 17.7956 9.84888 17.5873 9.94422 17.358C10.1373 16.8947 10.1384 16.3738 9.94739 15.9096C9.75637 15.4455 9.3888 15.0761 8.92544 14.8826L7.38695 14.247C7.97908 14.022 8.65226 14.0145 9.28192 14.2759C9.91983 14.5395 10.4076 15.036 10.6688 15.6709C10.93 16.3058 10.9285 17.0059 10.6651 17.6381M15.9349 12.0375C15.1287 12.0353 14.3562 11.7139 13.7867 11.1437C13.2171 10.5734 12.8969 9.80084 12.8962 8.99514C12.8971 8.18957 13.2174 7.41717 13.7869 6.84709C14.3565 6.27701 15.1289 5.9557 15.9349 5.95351C16.7412 5.9555 17.5137 6.27672 18.0834 6.84683C18.6531 7.41693 18.9735 8.18944 18.9744 8.99514C18.9737 9.80097 18.6534 10.5737 18.0837 11.1439C17.514 11.7142 16.7413 12.0355 15.9349 12.0375ZM13.658 8.99026C13.6575 8.3849 13.8975 7.8041 14.3253 7.37552C14.7531 6.94694 15.3337 6.70563 15.9394 6.70464C17.1984 6.70464 18.2224 7.72839 18.2224 8.99026C18.2227 9.59576 17.9824 10.1766 17.5543 10.6051C17.1262 11.0335 16.5453 11.2745 15.9394 11.2751C15.3338 11.2742 14.7532 11.0331 14.3253 10.6047C13.8975 10.1762 13.6577 9.59556 13.658 8.99026Z\" fill=\"white\"/>\n </g>\n <defs>\n <linearGradient id=\"paint0_linear_377_86\" x1=\"12.0052\" y1=\"0\" x2=\"12.0052\" y2=\"24\" gradientUnits=\"userSpaceOnUse\">\n <stop stop-color=\"#111D2E\"/>\n <stop offset=\"0.41\" stop-color=\"#0A1B48\"/>\n <stop offset=\"0.74\" stop-color=\"#144B7E\"/>\n <stop offset=\"1\" stop-color=\"#1387B8\"/>\n </linearGradient>\n <clipPath id=\"clip0_377_86\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n</svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorSteam',\n};\n</script>","<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_377_64)\">\n <mask id=\"mask0_377_64\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"0\" y=\"0\" width=\"24\" height=\"24\">\n <path d=\"M24 12C24 18.6281 18.6281 24 12 24C5.37188 24 0 18.6281 0 12C0 5.37188 5.37188 0 12 0C18.6281 0 24 5.37188 24 12Z\" fill=\"#F26522\"/>\n </mask>\n <g mask=\"url(#mask0_377_64)\">\n <path d=\"M12.0039 0C6.99403 0 5.52883 0.00516967 5.24402 0.0288024C4.2159 0.114287 3.57615 0.276208 2.87917 0.623314C2.34204 0.890106 1.91843 1.19936 1.50035 1.63288C0.738959 2.42347 0.277507 3.3961 0.110461 4.55226C0.0292458 5.11354 0.00561946 5.22801 0.000820359 8.09496C-0.00102545 9.05061 0.000820359 10.3083 0.000820359 11.9953C0.000820359 17.0025 0.00635778 18.4666 0.0303533 18.7509C0.113415 19.7516 0.270308 20.3812 0.602553 21.0699C1.23751 22.3882 2.45021 23.3778 3.87886 23.7471C4.37354 23.8745 4.9199 23.9446 5.6213 23.9778C5.91848 23.9908 8.94745 24 11.9783 24C15.0091 24 18.0399 23.9963 18.3297 23.9815C19.1418 23.9433 19.6134 23.88 20.1349 23.7452C21.5728 23.3741 22.7633 22.3992 23.4112 21.0625C23.737 20.3905 23.9022 19.7369 23.9769 18.7884C23.9932 18.5816 24 15.2847 24 11.9922C24 8.69907 23.9926 5.40821 23.9764 5.20142C23.9007 4.23765 23.7355 3.5896 23.3992 2.90462C23.1232 2.34389 22.8168 1.92515 22.372 1.49699C21.5781 0.738524 20.6072 0.276947 19.4503 0.11004C18.8897 0.0289871 18.778 0.00498504 15.9096 0H12.0039Z\" fill=\"url(#paint0_radial_377_64)\"/>\n <path d=\"M12.0039 0C6.99403 0 5.52883 0.00516967 5.24402 0.0288024C4.2159 0.114287 3.57615 0.276208 2.87917 0.623314C2.34204 0.890106 1.91843 1.19936 1.50035 1.63288C0.738959 2.42347 0.277507 3.3961 0.110461 4.55226C0.0292458 5.11354 0.00561946 5.22801 0.000820359 8.09496C-0.00102545 9.05061 0.000820359 10.3083 0.000820359 11.9953C0.000820359 17.0025 0.00635778 18.4666 0.0303533 18.7509C0.113415 19.7516 0.270308 20.3812 0.602553 21.0699C1.23751 22.3882 2.45021 23.3778 3.87886 23.7471C4.37354 23.8745 4.9199 23.9446 5.6213 23.9778C5.91848 23.9908 8.94745 24 11.9783 24C15.0091 24 18.0399 23.9963 18.3297 23.9815C19.1418 23.9433 19.6134 23.88 20.1349 23.7452C21.5728 23.3741 22.7633 22.3992 23.4112 21.0625C23.737 20.3905 23.9022 19.7369 23.9769 18.7884C23.9932 18.5816 24 15.2847 24 11.9922C24 8.69907 23.9926 5.40821 23.9764 5.20142C23.9007 4.23765 23.7355 3.5896 23.3992 2.90462C23.1232 2.34389 22.8168 1.92515 22.372 1.49699C21.5781 0.738524 20.6072 0.276947 19.4503 0.11004C18.8897 0.0289871 18.778 0.00498504 15.9096 0H12.0039Z\" fill=\"url(#paint1_radial_377_64)\"/>\n <path d=\"M11.9984 3.13873C9.59219 3.13873 9.29022 3.14925 8.34517 3.19227C7.40196 3.23547 6.75814 3.38484 6.1948 3.604C5.61208 3.83035 5.11777 4.13315 4.62531 4.62593C4.13248 5.11852 3.82977 5.61297 3.60273 6.19566C3.38308 6.75934 3.23357 7.40352 3.19112 8.34661C3.14885 9.29192 3.13778 9.59416 3.13778 12.001C3.13778 14.4079 3.14848 14.709 3.1913 15.6543C3.23468 16.5978 3.38401 17.2418 3.60292 17.8053C3.8294 18.3881 4.13211 18.8826 4.62476 19.3752C5.11703 19.8681 5.61134 20.1717 6.19369 20.398C6.7574 20.6172 7.4014 20.7666 8.34443 20.8098C9.28948 20.8528 9.59127 20.8633 11.9973 20.8633C14.4037 20.8633 14.7047 20.8528 15.6498 20.8098C16.593 20.7666 17.2375 20.6172 17.8012 20.398C18.3838 20.1717 18.8773 19.8681 19.3696 19.3752C19.8624 18.8826 20.1652 18.3881 20.3922 17.8054C20.61 17.2418 20.7595 16.5976 20.8038 15.6545C20.8463 14.7092 20.8573 14.4079 20.8573 12.001C20.8573 9.59416 20.8463 9.29211 20.8038 8.3468C20.7595 7.40333 20.61 6.75934 20.3922 6.19585C20.1652 5.61297 19.8624 5.11852 19.3696 4.62593C18.8768 4.13296 18.384 3.83017 17.8007 3.604C17.2359 3.38484 16.5917 3.23547 15.6485 3.19227C14.7034 3.14925 14.4025 3.13873 11.9956 3.13873H11.9984ZM11.2036 4.73578C11.4395 4.73541 11.7027 4.73578 11.9984 4.73578C14.364 4.73578 14.6443 4.74428 15.5785 4.78674C16.4423 4.82625 16.9112 4.97063 17.2235 5.09194C17.637 5.25257 17.9317 5.44458 18.2416 5.75476C18.5517 6.06494 18.7437 6.36035 18.9047 6.77393C19.0259 7.08595 19.1705 7.55491 19.2098 8.41899C19.2522 9.35322 19.2614 9.63386 19.2614 11.999C19.2614 14.3641 19.2522 14.6447 19.2098 15.579C19.1703 16.4431 19.0259 16.912 18.9047 17.224C18.7441 17.6376 18.5517 17.9321 18.2416 18.2421C17.9315 18.5523 17.6371 18.7443 17.2235 18.9049C16.9116 19.0268 16.4423 19.1708 15.5785 19.2103C14.6445 19.2528 14.364 19.262 11.9984 19.262C9.63261 19.262 9.35224 19.2528 8.41826 19.2103C7.55442 19.1704 7.08559 19.026 6.77309 18.9047C6.35963 18.7441 6.0643 18.5521 5.75421 18.2419C5.44411 17.9317 5.25215 17.6371 5.09119 17.2233C4.96992 16.9113 4.8254 16.4423 4.78608 15.5782C4.74363 14.644 4.73514 14.3634 4.73514 11.9968C4.73514 9.63017 4.74363 9.35101 4.78608 8.41677C4.82558 7.5527 4.96992 7.08374 5.09119 6.77134C5.25178 6.35777 5.44411 6.06236 5.75421 5.75218C6.0643 5.442 6.35963 5.24998 6.77309 5.08898C7.0854 4.96713 7.55442 4.82311 8.41826 4.78342C9.23558 4.74649 9.55232 4.73541 11.2036 4.73357V4.73578ZM16.7277 6.20729C16.1407 6.20729 15.6645 6.68309 15.6645 7.2704C15.6645 7.85752 16.1407 8.33387 16.7277 8.33387C17.3147 8.33387 17.7909 7.85752 17.7909 7.2704C17.7909 6.68327 17.3147 6.20692 16.7277 6.20692V6.20729ZM11.9984 7.44986C9.48569 7.44986 7.44847 9.48763 7.44847 12.001C7.44847 14.5144 9.48569 16.5512 11.9984 16.5512C14.5111 16.5512 16.5476 14.5144 16.5476 12.001C16.5476 9.48763 14.5111 7.44986 11.9984 7.44986ZM11.9984 9.04692C13.6293 9.04692 14.9517 10.3694 14.9517 12.001C14.9517 13.6324 13.6293 14.9551 11.9984 14.9551C10.3672 14.9551 9.04509 13.6324 9.04509 12.001C9.04509 10.3694 10.3672 9.04692 11.9984 9.04692Z\" fill=\"white\"/>\n </g>\n </g>\n <defs>\n <radialGradient id=\"paint0_radial_377_64\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(6.37503 25.8485) rotate(-90) scale(23.7858 22.1226)\">\n <stop stop-color=\"#FFDD55\"/>\n <stop offset=\"0.1\" stop-color=\"#FFDD55\"/>\n <stop offset=\"0.5\" stop-color=\"#FF543E\"/>\n <stop offset=\"1\" stop-color=\"#C837AB\"/>\n </radialGradient>\n <radialGradient id=\"paint1_radial_377_64\" cx=\"0\" cy=\"0\" r=\"1\" gradientUnits=\"userSpaceOnUse\" gradientTransform=\"translate(-4.02013 1.72892) rotate(78.6806) scale(10.6323 43.827)\">\n <stop stop-color=\"#3771C8\"/>\n <stop offset=\"0.128\" stop-color=\"#3771C8\"/>\n <stop offset=\"1\" stop-color=\"#6600FF\" stop-opacity=\"0\"/>\n </radialGradient>\n <clipPath id=\"clip0_377_64\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n<script>\nexport default {\n name: 'QIconColorInstagram',\n};\n</script>","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","<script lang=\"ts\" setup>\nimport dayjs from \"dayjs\";\nimport { computed, onMounted, ref, watch } from \"vue\";\nconst props = defineProps({\n modelValue: {\n type: String,\n required: true,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n});\n\nconst emit = defineEmits([\"update:modelValue\", \"change\"]);\n\nconst date = ref(\"\");\nconst time = ref(\"\");\n\nwatch(\n () => props.modelValue,\n (value) => {\n const d = dayjs(value);\n date.value = d.format(\"YYYY-MM-DD\");\n time.value = d.format(\"HH:mm\");\n }\n);\n\nfunction changed() {\n const t = dayjs(`${date.value} ${time.value}`).format(\"YYYY-MM-DDTHH:mm:ssZ\");\n emit(\"change\", t);\n emit(\"update:modelValue\", t);\n}\n\nonMounted(() => {\n const d = dayjs();\n date.value = d.format(\"YYYY-MM-DD\");\n time.value = d.format(\"HH:mm\");\n});\n</script>\n\n<template>\n <div class=\"q-datetime-picker touchable outlined\">\n <input v-model=\"date\" type=\"date\" :disabled=\"disabled\" @change=\"changed\" />\n <input v-model=\"time\" type=\"time\" :disabled=\"disabled\" @change=\"changed\" />\n </div>\n</template>\n\n<style lang=\"scss\">\n.q-datetime-picker {\n border: 1px solid #ccc;\n border-radius: 6px;\n}\n.q-datetime-picker {\n input[type=\"date\"],\n input[type=\"time\"] {\n width: 50%;\n height: 2.5rem;\n padding: 0.5rem;\n border: none;\n outline: none;\n background: transparent;\n &:focus {\n color: black;\n border: none !important;\n outline: none !important;\n }\n }\n}\n</style>\n","export function useUtil() {\n\n function browserDetect() {\n const isIE = !!(window as any).ActiveXObject || 'ActiveXObject' in window\n const isEdge = navigator.userAgent.indexOf('Edge') > -1\n const isChrome = navigator.userAgent.indexOf('Chrome') > -1\n const isFirefox = navigator.userAgent.indexOf('Firefox') > -1\n const isSafari = navigator.userAgent.indexOf('Safari') > -1\n const isOpera = navigator.userAgent.indexOf('Opera') > -1\n const isWeixin = navigator.userAgent.indexOf('MicroMessenger') > -1\n const isMobile = !!navigator.userAgent.match(/AppleWebKit.*Mobile.*/)\n const isAndroid = navigator.userAgent.indexOf('Android') > -1 || navigator.userAgent.indexOf('Adr') > -1\n const isIOS = !!navigator.userAgent.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/)\n const isIpad = navigator.userAgent.indexOf('iPad') > -1\n const isIphone = navigator.userAgent.indexOf('iPhone') > -1\n const isMac = navigator.userAgent.indexOf('Macintosh') > -1\n const isWindows = navigator.userAgent.indexOf('Windows') > -1\n const isLinux = navigator.userAgent.indexOf('Linux') > -1\n return {\n isIE,\n isEdge,\n isChrome,\n isFirefox,\n isSafari,\n isOpera,\n isWeixin,\n isMobile,\n isAndroid,\n isIOS,\n isIpad,\n isIphone,\n isMac,\n isWindows,\n isLinux,\n }\n }\n\n function debounce(func: any, delay: number): any {\n let timeoutId: ReturnType<typeof setTimeout>;\n\n return function(this: any, ...args: any[]) {\n const context = this;\n\n clearTimeout(timeoutId);\n\n timeoutId = setTimeout(() => {\n func.apply(context, args);\n }, delay);\n };\n }\n\n\n return {\n browserDetect,\n debounce,\n }\n}","<script lang=\"ts\" setup>\nimport { computed, ref, watch,\n nextTick,\n Ref,\n onMounted\n} from 'vue';\nimport { useUtil } from \"../../composables/useUtil\";\nconst { browserDetect } = useUtil();\nconst { isMobile } = browserDetect();\n\nconst props = defineProps({\n modelValue: Boolean,\n desktopMode: {\n type: String,\n default: 'dialog' // dialog, popup\n },\n noFrame: {\n type: Boolean,\n default: false,\n },\n title: {\n type: String,\n default: '',\n },\n width: {\n type: String,\n default: '500px',\n },\n height: {\n type: String,\n default: 'auto',\n },\n position: {\n type: String,\n default: 'center',\n },\n persistent: {\n type: Boolean,\n default: false,\n },\n});\n\nconst emit = defineEmits([\"update:modelValue\", \"close\"]);\n\nconst shaking = ref(false);\nconst isOpen = ref(props.modelValue);\nconst popupPos = ref({ \"top\": \"0\", \"left\": \"0\" });\nconst triggerWrapper:Ref<any> = ref(null);\nconst dialogMask:Ref<any> = ref(null);\n\nconst isPopup = computed(() => {\n return !isMobile && props.desktopMode === 'popup';\n});\n\nconst dialogStyle = computed(() => {\n const w = document.body.clientWidth < 720 ? '100%' : props.width;\n const h = props.height;\n const ret:any = {\n width: w,\n height: h,\n };\n if (isPopup.value) {\n ret.top = popupPos.value.top;\n ret.left = popupPos.value.left;\n }\n return ret;\n});\n\nconst dialogCls = computed(() => {\n let cls = [];\n if (shaking.value) {\n cls.push('shaking');\n }\n if (!isMobile) {\n cls.push(`desktop-mode-${props.desktopMode}`);\n }\n if (props.noFrame) {\n cls.push('no-frame');\n }\n return cls.join(' ');\n});\n\nconst dialogMaskCls = computed(() => {\n let cls = [];\n if (isPopup.value) {\n cls.push('desktop-mode-popup');\n }\n return cls.join(' ');\n});\n\nwatch(\n () => props.modelValue,\n (value) => {\n isOpen.value = value;\n nextTick(() => {\n if (!isMobile && props.desktopMode === 'popup') {\n if (triggerWrapper.value.children) {\n const el:any = (triggerWrapper.value.children as any)[0]\n if (el) {\n const rect = el.getBoundingClientRect();\n const top = rect.height + 8;\n const left = 0;\n popupPos.value = { \"top\": `${top}px`, \"left\":`${left}px` };\n }\n }\n }\n // disable scroll\n if (value) {\n document.body.style.overflowY = 'hidden';\n } else {\n document.body.style.overflowY = 'auto';\n }\n })\n }\n);\n\nfunction close () {\n if (props.persistent) {\n // shake the dialog\n shaking.value = true;\n setTimeout(() => {\n shaking.value = false;\n }, 300);\n return\n };\n isOpen.value = false;\n // enable scroll\n document.body.style.overflowY = 'auto';\n\n emit('update:modelValue', false);\n emit('close');\n};\n\nfunction v() {};\n\nonMounted(() => {\n if (props.desktopMode === \"popup\") {\n window.addEventListener(\"storage\", (event) => {\n if (event.key === \"quailui_global_popup_trigger\") {\n if (event.newValue) {\n close();\n }\n }\n });\n }\n})\n</script>\n<template>\n <div class=\"q-dialog-trigger-wrapper\" ref=\"triggerWrapper\">\n <slot name=\"trigger\"></slot>\n <template v-if=\"isPopup\">\n <Transition>\n <div v-if=\"isOpen\" class=\"q-dialog\" :style=\"dialogStyle\" @click.stop=\"v\" :class=\"dialogCls\">\n <div class=\"q-dialog-body\">\n <slot></slot>\n </div>\n </div>\n </Transition>\n </template>\n </div>\n <template v-if=\"!isPopup\">\n <Transition>\n <div v-if=\"isOpen\" class=\"q-dialog-mask\" @click=\"close\" :class=\"dialogMaskCls\" ref=\"dialogMask\">\n <div class=\"q-dialog\" :style=\"dialogStyle\" @click.stop=\"v\" :class=\"dialogCls\">\n <div class=\"q-dialog-header\">\n <template v-if=\"title\">\n <div class=\"q-dialog-title\">{{ title }}</div>\n </template>\n <slot v-else name=\"header\"></slot>\n </div>\n <div class=\"q-dialog-body\">\n <slot></slot>\n </div>\n </div>\n </div>\n </Transition>\n </template>\n</template>\n\n<style lang=\"scss\">\n.q-dialog-trigger-wrapper {\n position: relative;\n}\n.q-dialog-mask {\n display: flex;\n justify-content: center;\n align-items: center;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.7);\n z-index: 100;\n &.desktop-mode-popup {\n background-color: transparent;\n position: static;\n }\n}\n\n.q-dialog {\n background-color: white;\n padding: 0rem;\n border-radius: 6px;\n z-index: 101;\n &.shaking {\n animation: shake 0.3s;\n }\n &.no-frame {\n background-color: transparent;\n .q-dialog-header {\n display: none;\n }\n .q-dialog-body {\n padding: 0;\n }\n &.desktop-mode-popup {\n box-shadow: none;\n }\n }\n &.desktop-mode-popup {\n position: absolute;\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);\n }\n}\n\n.q-dialog-header {\n display: flex;\n align-items: center;\n max-height: 78px;\n .q-dialog-title {\n flex: 1;\n text-align: center;\n font-size: 1.2rem;\n font-weight: bold;\n padding: 1rem;\n }\n}\n\n.q-dialog-body {\n height: calc(100% - 78px);\n padding: 0 1rem 1rem;\n overflow-y: auto;\n max-height: 600px;\n margin-bottom: cal(safe-area-inset-bottom);\n}\n\n@media only screen and (max-width: 720px) {\n .q-dialog-mask {\n align-items: flex-end;\n }\n .q-dialog {\n width: 100%;\n border-radius: 0;\n bottom: 0;\n background: white;\n .q-dialog-header {\n }\n .q-dialog-body {\n height: calc(100% - 78px);\n overflow-y: auto;\n margin-bottom: cal(safe-area-inset-bottom);\n padding-bottom: 28px;\n }\n }\n}\n\n@keyframes shake {\n 0% {\n transform: scale(1);\n }\n 25% {\n transform: scale(1.02);\n }\n 50% {\n transform: scale(1);\n }\n 75% {\n transform: scale(1.02);\n }\n 100% {\n transform: scale(1);\n }\n}\n</style>\n","<template>\n <div class=\"q-fence\" :class=\"type\">\n <a v-if=\"link\" class=\"q-fence-inner with-link\" :href=\"link\" target=\"_blank\">\n <template v-if=\"icon && components\">\n <component :is=\"components[icon]\" class=\"icon\" />\n </template>\n <q-icon-help v-else class=\"icon\" ></q-icon-help>\n <div class=\"q-fence-text text-sm\">\n {{ text }}\n </div>\n </a>\n <div v-else class=\"q-fence-inner\">\n <template v-if=\"icon && components\">\n <component :is=\"components[icon]\" class=\"icon\" />\n </template>\n <q-icon-help v-else class=\"icon\" ></q-icon-help>\n <div class=\"q-fence-text text-sm\">\n {{ text }}\n </div>\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { ref, getCurrentInstance } from \"vue\";\nimport QIconHelp from '../icons/QIconHelp.vue';\nconst components = getCurrentInstance()?.appContext.components;\n\nconst props = defineProps({\n link: {\n type: String,\n default: \"\",\n },\n text: {\n type: String,\n default: \"\",\n },\n type: {\n type: String,\n default: \"default\",\n },\n icon: {\n type: String,\n },\n});\n</script>\n<style lang=\"scss\">\n.q-fence {\n display: block;\n width: 100%;\n .q-fence-inner {\n border-radius: 6px;\n display: flex;\n align-items: flex-start;\n width: 100%;\n padding: 0.5rem 0.8rem;\n color: var(--vt-c-text-light-1);\n opacity: 0.7;\n background: var(--vt-c-white-soft);\n text-decoration: none;\n transition: all 0.2s ease-in-out;\n cursor: default;\n .icon {\n width: 16px;\n min-width: 16px;\n margin-right: 0.75rem;\n }\n &.with-link:hover {\n opacity: 1;\n }\n .q-fence-text {\n margin-top: 2px;\n }\n }\n &.warning {\n .q-fence-inner {\n color: var(--vt-c-orange-dark);\n background-color: var(--vt-c-orange-dimm-2);\n }\n }\n &.error {\n .q-fence-inner {\n color: var(--vt-c-red-dark);\n background-color: var(--vt-c-red-dimm-2);\n }\n }\n &.success {\n .q-fence-inner {\n color: var(--vt-c-green-dark);\n background-color: var(--vt-c-green-dimm-2);\n }\n }\n}\n</style>\n","<template>\n <div class=\"q-loading pa-4 mb-4 rounded-sm text-center\" color=\"glass\">\n <div class=\"spinners py-2 mb-2 d-flex justify-center\">\n <i class=\"spinner one\" aria-hidden=\"true\"></i>\n <i class=\"spinner two\" aria-hidden=\"true\"></i>\n <i class=\"spinner three\" aria-hidden=\"true\"></i>\n <i class=\"spinner four\" aria-hidden=\"true\"></i>\n <i class=\"spinner five\" aria-hidden=\"true\"></i>\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\n</script>\n<style lang=\"scss\">\n.q-loading {\n .spinners {\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .spinner {\n animation: spin 2s linear infinite;\n line-height: 1;\n display: flex;\n height: 6px;\n width: 6px;\n display: block;\n background: #000;\n margin: 0 3px;\n border-radius: 2px;\n &.two {\n animation-delay: 0.2s;\n }\n &.three {\n animation-delay: 0.4s;\n }\n &.four {\n animation-delay: 0.6s;\n }\n &.five {\n animation-delay: 0.8s;\n }\n }\n}\n@keyframes spin {\n 0% {\n transform: translateY(-4px);\n box-shadow: 0 0 0 rgba(0, 0, 0, 0.4);\n }\n 50% {\n transform: translateY(4px);\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);\n }\n 100% {\n transform: translateY(-4px);\n box-shadow: 0 0 0 rgba(0, 0, 0, 0.4);\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed } from \"vue\";\n\nconst props = defineProps({\n items: {\n type: Array<any>,\n required: true,\n },\n persistent: {\n type: Boolean,\n default: false,\n },\n noFrame: {\n type: Boolean,\n default: false,\n },\n noShadow: {\n type: Boolean,\n default: false,\n },\n});\n\nconst emit = defineEmits([\"action\"]);\n\nconst menuCls = computed(() => {\n let _cls = []\n if (props.persistent) {\n _cls.push(\"persistent\");\n }\n if (props.noFrame) {\n _cls.push(\"no-frame\");\n }\n if (props.noShadow) {\n _cls.push(\"no-shadow\");\n }\n return _cls.join(\" \");\n});\n\nfunction cls(item: any) {\n let _cls = \"\";\n if (item.disabled) {\n _cls += \" disabled\";\n }\n if (item.danger) {\n _cls += \" danger\";\n }\n if (item.icon) {\n _cls += \" with-icon\";\n }\n if (item.image) {\n _cls += \" with-image\";\n }\n if (item.divider) {\n _cls += \" with-divider\";\n }\n return _cls;\n}\n\nfunction doAction(item: any) {\n if (item.action) {\n item.action(item);\n }\n if (item.disabled !== true) {\n emit(\"action\", item);\n }\n}\n</script>\n<template>\n <div class=\"q-menu\" :class=\"menuCls\">\n <div\n class=\"q-menu-item\"\n v-for=\"item in props.items\"\n :key=\"`q-menu-item-${item.id}`\"\n :class=\"cls(item)\"\n @click=\"doAction(item)\"\n >\n <div v-if=\"item.divider\" class=\"q-menu-item-divider\"></div>\n <div v-else class=\"q-menu-item-inner\">\n <img\n v-if=\"item.image\"\n class=\"q-menu-image\"\n :src=\"item.image\"\n :alt=\"item.title\"\n />\n <component\n v-else-if=\"item.icon\"\n class=\"q-menu-icon\"\n :is=\"item.icon\"\n />\n <div class=\"q-menu-item-content\">\n <div class=\"q-menu-title\">{{ item.title }}</div>\n <div v-if=\"item.subtitle\" class=\"q-menu-subtitle\">\n {{ item.subtitle }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.q-menu {\n position: absolute;\n width: 100%;\n min-width: 220px;\n background: white;\n transform: translateY(0.5rem);\n border: 1px solid var(--vt-c-divider-light-1);\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);\n padding: 0.5rem 0;\n border-radius: 6px;\n z-index: 20;\n &.no-frame {\n border: none;\n }\n &.no-shadow {\n box-shadow: none;\n }\n &.persistent {\n position: static;\n transform: none;\n z-index: inherit;\n }\n .q-menu-item {\n cursor: default;\n &.danger {\n color: var(--vt-c-red);\n }\n &.disabled {\n opacity: 0.5;\n .q-menu-item-inner {\n &:hover {\n background-color: transparent;\n }\n }\n }\n &.with-icon,\n &.with-image {\n .q-menu-item-inner {\n .q-menu-item-content {\n margin-left: 1rem;\n }\n }\n }\n &.with-divider {\n height: 0px;\n padding: 0.5rem 0;\n }\n\n .q-menu-item-divider {\n border-top: 1px solid var(--vt-c-divider-light-1);\n margin: 0 1rem;\n height: 0px;\n transform: translateY(-0.5px);\n }\n .q-menu-item-inner {\n display: flex;\n justify-items: center;\n align-items: center;\n padding: 0.5rem 1rem;\n transition: background-color 0.01s ease-in;\n user-select: none;\n &:hover {\n background-color: rgba(0, 0, 0, 0.06);\n }\n .q-menu-item-content {\n margin-left: 0rem;\n }\n .q-menu-subtitle {\n font-size: 0.7rem;\n opacity: 0.6;\n }\n }\n\n .q-menu-image {\n height: 24px;\n width: 24px;\n min-height: 24px;\n min-width: 24px;\n border-radius: 6px;\n }\n\n .q-menu-icon {\n width: 20px;\n height: 20px;\n min-width: 20px;\n min-height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n }\n}\n@media (max-width: 768px) {\n .q-menu {\n .q-menu-item {\n .q-menu-item-inner {\n min-height: 44px;\n }\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed, ref, watch } from \"vue\";\n\nconst props = defineProps({\n modelValue: {\n type: Boolean,\n required: true,\n },\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\ttheme: {\n\t\ttype: String, // default, clear-sky, plastic\n\t\tdefault: 'default',\n\t},\n});\n\nconst val = ref(props.modelValue);\n\nwatch(() => props.modelValue, (value) => {\n\tval.value = value;\n});\n\nconst emit = defineEmits(['update:modelValue', 'change']);\n\nconst cls = computed(() => {\n\tconst ret = [];\n\tif (props.theme) {\n\t\tret.push(`theme-${props.theme}`);\n\t}\n\tif (props.disabled) {\n\t\tret.push('disabled');\n\t}\n\treturn ret.join(' ');\n});\n\nfunction change(event:any) {\n emit('update:modelValue', val.value);\n emit('change', val.value);\n}\n\n</script>\n\n<template>\n<label class=\"q-switch\" :class=\"cls\">\n\t<input class=\"q-switch-checkbox\" type=\"checkbox\" v-model=\"val\" @change=\"change\" :disabled=\"props.disabled\">\n\t<div class=\"q-switch-inner\">\n\t\t<div class=\"q-switch-handle\">\n\t\t\t<template v-if=\"props.theme === 'plastic'\">\n\t\t\t\t<q-icon-sun v-if=\"val\" class=\"q-switch-icon\" />\n\t\t\t\t<q-icon-moon-star v-else class=\"q-switch-icon\" />\n\t\t\t</template>\n\t\t</div>\n\t</div>\n</label>\n</template>\n\n<style lang=\"scss\">\n.q-switch {\n --switch-w: 52px;\n --switch-h: 32px;\n\tcursor: pointer;\n\tdisplay: inline-block;\n\t&.disabled {\n\t\topacity: 0.5;\n\t}\n\n\t.q-switch-inner {\n\t\tdisplay: inline-block;\n\t\tbackground: #ccc;\n\t\tborder-radius: 16px;\n\t\twidth: var(--switch-w);\n\t\theight: var(--switch-h);\n\t\tposition: relative;\n\t\tvertical-align: middle;\n\t\ttransition: all 0.25s;\n\t\tcursor: default;\n\t\t.q-switch-handle,\n\t\t&:after {\n\t\t\tcontent: \"\";\n\t\t}\n\t\t.q-switch-handle {\n\t\t\tdisplay: block;\n\t\t\tbackground: linear-gradient(to bottom, #fff 0%,#eee 100%);\n\t\t\tborder-radius: 50%;\n\t\t\tbox-shadow: 0 0 0 1px rgba(0,0,0,0.1);\n\t\t\twidth: 24px;\n\t\t\theight: 24px;\n\t\t\tposition: absolute;\n\t\t\ttop: 4px;\n\t\t\tleft: 4px;\n\t\t\ttransition: left 0.25s;\n\t\t}\n\t\t.q-switch:hover &.q-switch-handle {\n\t\t\tbackground: linear-gradient(to bottom, #fff 0%,#fff 100%);\n\t\t\tbox-shadow: 0 0 0 1px rgba(0,0,0,0.1);\n\t\t}\n\t}\n\t.q-switch-checkbox:checked {\n\t\t& + .q-switch-inner {\n\t\t\tbackground: rgb(55, 162, 255);\n\t\t\t.q-switch-handle {\n\t\t\t\tleft: 24px;\n\t\t\t}\n\t\t}\n\t}\n}\n.q-switch.theme-plastic {\n\t.q-switch-inner {\n\t\tbackground: #161616;\n\t\t.q-switch-handle {\n\t\t\tbackground: linear-gradient(to bottom, #484833 0%,#333 100%);\n\t\t\t.q-switch-icon {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 50%;\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translate(-50%, -50%);\n\t\t\t\twidth: 16px;\n\t\t\t\theight: 16px;\n\t\t\t\tcolor: #fff079;\n\t\t\t}\n\t\t}\n\t}\n\t.q-switch-checkbox:checked {\n\t\t& + .q-switch-inner {\n\t\t\tbackground: #e4e6e8;\n\t\t\t.q-switch-handle {\n\t\t\t\tbackground: linear-gradient(to bottom, #fff 0%,#eee 100%);\n\t\t\t\t.q-switch-icon {\n\t\t\t\t\tcolor: rgb(55, 162, 255);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n.q-switch.theme-clear-sky {\n\t--toggle-size: 2rem;\n --switch-handle-scale: .7;\n --switch-off-handle-x: -6px;\n --switch-on-handle-x: -6px;\n --switch-transition-duration: .2s;\n\n\t.q-switch-inner {\n\t\tfont-size: var(--toggle-size);\n display: flex;\n height: var(--switch-h);\n width: var(--switch-w);\n border-radius: calc(var(--switch-h) / 2);\n background-size: auto 8em;\n background-position: bottom;\n background-image: linear-gradient(180deg, #62E7F7 0%, #4184B1 33%, #20206A 81%, #021037 100%);\n transition: var(--switch-transition-duration);\n border: 2px solid hsl(207, 30%, 50%);\n overflow: hidden;\n\n\t\t.q-switch-handle {\n\t\t\tbackground: transparent;\n border-radius: 50%;\n height: var(--switch-h);\n width: var(--switch-h);\n transform: translateX(var(--switch-off-handle-x)) translateY(0px) scale(var(--switch-handle-scale));\n transition: var(--switch-transition-duration);\n cursor: pointer;\n margin-top: var(--switch-off-handle-x);\n\t\t\tbox-shadow: inset 0.1em -0.1em 0 0 #fbe7ef, inset 0.28em -0.28em 0 0 #fffff7;\n\t\t}\n\t}\n\t.q-switch-checkbox:checked {\n font-size: var(--switch-font-size);\n\n & + .q-switch-inner {\n background-position: top;\n border-color: hsl(204, 7%, 86%);\n\n\t\t\t.q-switch-handle {\n\t\t\t\tbackground: #fffad8;\n transform: translateX(var(--switch-on-handle-x)) translateY(0px) scale(var(--switch-handle-scale));\n\t\t\t\tbox-shadow: 0 0 .25em .0625em #fbee8d, 0 0 2em 0 #FFEB3B, inset -.25em -.25em 0 0 #fbee8e, inset -.3125em -.3125em 0 .625em #fff5b2;\n }\n }\n }\n\n}\n.q-switch-checkbox {\n\tposition: absolute;\n\tvisibility: hidden;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed, ref, watch } from \"vue\";\n\nconst props = defineProps({\n modelValue: {\n type: String,\n required: true,\n },\n type: {\n default: \"text\",\n },\n layout: {\n default: \"vertical\",\n },\n actionLabel: {\n default: \"Submit\",\n },\n placeholder: {\n default: \"Type here\",\n },\n defaultText: {\n default: \"\",\n },\n loading: {\n default: false,\n },\n glow: {\n default: '',\n },\n disabled: {\n default: false,\n },\n});\n\nconst emit = defineEmits([\"submit\", \"update:modelValue\"]);\n\nconst text = ref(props.defaultText);\n\nconst cls = computed(() => {\n const cls: string[] = [];\n if (props.layout === \"vertical\") {\n cls.push(\"vertical\");\n } else {\n cls.push(\"horizontal\");\n }\n if (props.type === \"code\") {\n cls.push(\"code\");\n }\n if (props.glow) {\n cls.push(`glow-${props.glow}`);\n }\n return cls.join(\" \");\n});\n\nconst validated = computed(() => {\n if (props.loading) {\n return false;\n }\n\n const trimed = text.value?.trim();\n if (trimed.length === 0) {\n return false;\n }\n\n if (props.type === \"email\") {\n return validateEmail.value;\n } else if (props.type === \"code\") {\n return validatedCode.value;\n }\n\n return true;\n});\n\nconst validateEmail = computed(() => {\n const trimed = text.value?.trim();\n return !props.disabled && /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(trimed);\n});\n\nconst validatedCode = computed(() => {\n const trimed = text.value?.trim();\n return /^\\d{6}$/.test(trimed);\n});\n\nconst label = computed(() => {\n if (props.loading) {\n return \"Loading...\";\n }\n\n return props.actionLabel;\n});\n\nwatch(() => props.modelValue, (value) => {\n\ttext.value = value;\n});\n\nfunction submit() {\n if (validated.value) {\n emit(\"submit\", { text: text.value });\n }\n}\n\nfunction changed() {\n emit(\"update:modelValue\", text.value);\n}\n</script>\n\n<template>\n <div class=\"q-text-field-with-button\" :class=\"cls\">\n <div class=\"q-text-field-wrapper\">\n <input\n class=\"q-text-field text-field\"\n :placeholder=\"props.placeholder\"\n v-model=\"text\"\n @change=\"changed\"\n />\n </div>\n <div class=\"q-text-button-wrapper\">\n <q-button class=\"primary\" :disabled=\"!validated\" @click=\"submit\">\n {{ label }}\n </q-button>\n </div>\n <div v-if=\"glow !== ''\" class=\"q-button-glow\"></div>\n </div>\n</template>\n\n<style lang=\"scss\">\n.q-text-field-with-button {\n .q-text-field {\n text-align: center;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n min-width: 296px;\n }\n .q-text-button-wrapper {\n .q-button {\n transform: translateY(-1px);\n width: 100%;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n\n &.code {\n .q-text-field {\n font-family: monospace;\n letter-spacing: 0.2rem;\n }\n }\n &.horizontal {\n display: flex;\n align-items: center;\n justify-content: center;\n max-width: 400px;\n .q-text-field-wrapper {\n flex: 6;\n }\n .q-text-button-wrapper {\n flex: 4;\n position: relative;\n z-index: 1;\n .q-button {\n border-radius: 0 6px 6px 0;\n transform: translateY(0px);\n }\n }\n .q-text-field {\n border-radius: 6px 0 0 6px;\n border-width: 1px 0 1px 1px;\n min-width: auto;\n }\n }\n &.glow-matrix {\n position: relative;\n .q-text-field {\n color: #fff;\n background: transparent;\n border-color: rgba(255, 255, 255, 0.2) transparent rgba(255, 255, 255, 0.2) rgba(255, 255, 255, 0.2) ;\n border-width: 1px 0 1px 1px;\n border-style: solid;\n &:focus {\n border-color: rgba(180, 233, 65, 0.2);\n }\n }\n .q-button {\n color: #b3e941 !important;\n background: rgba(180, 233, 65, 0.3) !important;\n border-color: rgba(180, 233, 65, 0.3) !important;\n &[disabled] {\n color: #8bb434 !important;\n background: rgba(180, 233, 65, 0.2) !important;\n box-shadow: none !important;\n border-color: rgba(180, 233, 65, 0.2) !important;\n }\n }\n .q-button-glow {\n position: absolute;\n background-color: rgba(180, 233, 65, 0.4);\n color: #b3e941;\n filter: blur(20px);\n height: 44px;\n width: 40%;\n right: 0;\n z-index: 0;\n }\n &:hover {\n .q-button-glow {\n animation: glow 3s ease-in-out infinite;\n }\n }\n }\n}\n\n@keyframes glow {\n 0% {\n transform: scale(0.9);\n }\n 50% {\n transform: scale(1.1);\n }\n 100% {\n transform: scale(0.9);\n }\n}\n</style>\n","function closePopupMenu() {\n let trigger = parseInt(sessionStorage.getItem('quailui_global_popup_trigger') || '0') || 0;\n sessionStorage.setItem('quailui_global_popup_trigger', (trigger + 1) + '');\n window.dispatchEvent(new StorageEvent(\"storage\", {\n key: 'quailui_global_popup_trigger',\n newValue: (trigger + 1) + '',\n oldValue: trigger + ''\n }));\n}\n\nfunction debounce(func: any, delay: number): any {\n let timeoutId: ReturnType<typeof setTimeout>;\n\n return function(this: any, ...args: any[]) {\n const context = this;\n\n clearTimeout(timeoutId);\n\n timeoutId = setTimeout(() => {\n func.apply(context, args);\n }, delay);\n };\n}\n\nexport {\n closePopupMenu,\n debounce,\n}\n","<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch, type Ref } from \"vue\";\nimport { closePopupMenu, debounce } from \"../../util\";\nimport { useSlots } from 'vue'\n\nconst slots = useSlots()\n\nconst props = defineProps({\n items: {\n type: Array<any>,\n required: true,\n },\n initialItem: {\n type: Object,\n default: null,\n },\n hideSelected: {\n type: Boolean,\n default: false,\n },\n variant: {\n type: String,\n default: \"outlined\",\n },\n hideActionLabel: {\n type: Boolean,\n default: false,\n },\n placeholder: {\n type: String,\n default: \"\",\n },\n useDialog: {\n type: String,\n default: 'auto',\n },\n useFilter: {\n type: Boolean,\n default: false,\n },\n scrollHeight: {\n type: String,\n default: 'auto',\n },\n emptyHit: {\n type: String,\n default: \"No item\",\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n loading: {\n type: Boolean,\n default: false,\n },\n});\n\nconst emit = defineEmits([\"change\"]);\nconst expanded = ref(false);\nconst selectedItem: Ref<any> = ref(null);\nconst menuWrapper: Ref<any> = ref(null);\nconst scrollArea: Ref<any> = ref(null);\nconst scrollAreaCls = ref(\"\");\nconst filterText = ref(\"\");\n\nconst actionCls = computed(() => {\n const cls: string[] = [];\n if (expanded.value) {\n cls.push(\"expanded\");\n }\n\n if (props.variant === \"outlined\") {\n cls.push(\"outlined\");\n } else if (props.variant === \"plain\") {\n cls.push(\"plain\");\n }\n\n if (props.hideSelected) {\n cls.push(\"hide-selected\");\n }\n\n if (selectedItem.value && (selectedItem.value.icon || selectedItem.value.image)) {\n cls.push(\"prepend\");\n } else {\n cls.push(\"no-prepend\");\n }\n\n if (props.loading) {\n cls.push(\"loading\");\n }\n\n return cls.join(\" \");\n});\n\nconst hasSlot = computed(() => {\n return slots.default !== undefined;\n});\n\nconst filteredItems = computed(() => {\n if (props.items && props.items.length > 0) {\n if (filterText.value.trim() === \"\") {\n return props.items;\n }\n const text = filterText.value.toLowerCase();\n return props.items.filter((item) => {\n if (item?.title?.toLowerCase().includes(text)) {\n return true;\n }\n return false;\n });\n }\n return [];\n});\n\nconst useDialogFlag = computed(() => {\n if (props.useDialog === \"always\") {\n return true\n } else if (props.useDialog === \"never\") {\n return false\n } else {\n return window.innerWidth < 768\n }\n});\n\nfunction toggle() {\n if (props.disabled) {\n return;\n }\n\n if (!expanded.value) {\n // want to expand? close other menus\n closePopupMenu();\n }\n // toggle\n expanded.value = !expanded.value;\n // adjust menu position to make sure it's visible\n if (expanded.value) {\n if (!useDialogFlag.value) {\n setTimeout(() => {\n const wrapper = menuWrapper?.value;\n const menu = wrapper?.querySelector(\".q-menu\");\n const rect = menu.getBoundingClientRect();\n if (rect.left < 0) {\n menu.style.left = \"0\";\n }\n }, 10);\n } else {\n debounce(() => {\n scrollArea?.value?.addEventListener(\"scroll\", () => {\n debounce(() => {\n scrollAreaCls.value = scrollArea.value.scrollTop > 0 ? \"scrolled\" : \"\";\n }, 100)()\n });\n }, 1000)();\n }\n }\n}\n\nfunction menuItemClick(item: any) {\n expanded.value = false;\n selectedItem.value = item;\n emit(\"change\", item);\n}\n\nwatch(\n () => props.initialItem,\n () => {\n if (props.initialItem) {\n selectedItem.value = props.initialItem;\n }\n }\n);\n\nonMounted(() => {\n if (props.initialItem) {\n selectedItem.value = props.initialItem;\n }\n\n window.addEventListener(\"storage\", (event) => {\n if (event.key === \"quailui_global_popup_trigger\") {\n if (event.newValue) {\n expanded.value = false;\n }\n }\n });\n});\n</script>\n\n<template>\n <div class=\"q-dropdown-menu\">\n <div class=\"q-dropdown-menu-inner narrow-view\">\n <div class=\"q-dropdown-menu-action touchable\" :class=\"actionCls\" @click.stop=\"toggle\">\n <div v-if=\"props.loading\" class=\"ocean\">\n <div class=\"wave\"></div>\n </div>\n <div v-if=\"!hideSelected && selectedItem && !hasSlot\" class=\"q-dropdown-selected\">\n <img\n v-if=\"selectedItem.image\"\n class=\"menu-image\"\n :src=\"selectedItem.image\"\n :alt=\"selectedItem.title\"\n />\n <component\n v-else-if=\"selectedItem.icon\"\n class=\"icon menu-icon\"\n :is=\"selectedItem.icon\"\n ></component>\n <div v-if=\"!hideActionLabel\" class=\"menu-title\">\n {{\n selectedItem\n ? selectedItem.title\n : props.placeholder || \"Select ...\"\n }}\n </div>\n </div>\n <slot></slot>\n <q-icon-chevron-down class=\"icon chevron-icon\" ></q-icon-chevron-down>\n </div>\n <div v-if=\"!useDialogFlag\" ref=\"menuWrapper\">\n <Transition>\n <q-menu v-if=\"expanded\" :items=\"items\" @action=\"menuItemClick\"></q-menu>\n </Transition>\n </div>\n <q-dialog v-if=\"useDialogFlag\" v-model=\"expanded\" no-frame>\n <div class=\"q-menu-popup-body\">\n <div v-if=\"props.useFilter\" class=\"filter-area\">\n <input type=\"text\" class=\"filter-input text-field\" placeholder=\"Filter\" v-model=\"filterText\" />\n </div>\n <div class=\"scroll-area\" :class=\"scrollAreaCls\" ref=\"scrollArea\" :style=\"{ height: props.scrollHeight, maxHeight: props.scrollHeight }\">\n <q-menu v-if=\"filteredItems\" :items=\"filteredItems\" @action=\"menuItemClick\" persistent no-frame no-shadow></q-menu>\n <div v-else class=\"empty-hint flow place-center\" v-text=\"emptyHit\"></div>\n </div>\n </div>\n </q-dialog>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\">\n@import \"@/styles/mixin/touchable.scss\";\n\n.q-dropdown-menu {\n // height: 44px;\n &.sm {\n .q-dropdown-menu-action {\n padding: 0 0.5rem 0 0.8rem;\n height: 38px;\n font-size: 0.875rem;\n }\n }\n &.xs {\n .q-dropdown-menu-action {\n padding: 0 0.5rem 0 0.8rem;\n height: 32px;\n font-size: 0.75rem;\n }\n }\n .q-dropdown-menu-inner {\n position: relative;\n }\n .q-dropdown-menu-action {\n height: 44px;\n padding: 0 0.5rem 0 0.8rem;\n display: flex;\n justify-items: center;\n align-items: center;\n cursor: default;\n transition: all 0.2s ease-in;\n\n &:hover {\n\n .chevron-icon {\n opacity: 1;\n }\n }\n .menu-icon {\n }\n .menu-title {\n margin-left: 12px;\n }\n .chevron-icon {\n transition: all 0.2s ease-in;\n margin-left: 0.3rem;\n opacity: 0.5;\n }\n &.expanded {\n .chevron-icon {\n transform: rotate(180deg);\n }\n }\n &.hide-selected {\n padding: 0 0.8rem;\n .chevron-icon {\n margin-left: 0;\n opacity: 1;\n }\n }\n &.no-prepend {\n .menu-title {\n margin-left: 0;\n }\n }\n }\n .q-dropdown-selected {\n white-space: nowrap;\n flex: 1;\n display: flex;\n align-items: center;\n user-select: none;\n }\n .menu-image {\n width: 24px;\n height: 24px;\n border-radius: 6px;\n }\n .icon {\n height: 16px;\n width: 16px;\n }\n .q-menu {\n right: 0;\n }\n .menu-title {\n }\n}\n.q-menu-popup-body {\n background: #fff;\n border-radius: 6px;\n .filter-area {\n padding: 1rem 1rem 0.5rem 1rem;\n }\n .scroll-area {\n overflow-y: scroll;\n overflow-x: hidden;\n .empty-hint {\n margin-top: 1rem;\n color: var(--vt-c-text-light-3)\n }\n }\n .scroll-area.scrolled {\n &:before {\n content: \"\";\n display: block;\n height: 0.5rem;\n width: 100%;\n position: absolute;\n // backdrop-filter: blur(10px);\n background: linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.0) 100%);\n }\n }\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed, ref, watch } from \"vue\";\nimport QIconArrowLeft from '../icons/QIconArrowLeft.vue';\nimport QIconArrowRight from '../icons/QIconArrowRight.vue';\nconst props = defineProps({\n modelValue: {\n type: Number,\n default: 1,\n },\n totalPage: {\n type: Number,\n default: 0,\n },\n hasPrev: {\n type: Boolean,\n default: false,\n },\n hasNext: {\n type: Boolean,\n default: false,\n }\n});\n\nconst indicators = computed(() => {\n let max = 6;\n const result:any = [];\n if (props.totalPage !== 0) {\n if (props.totalPage <= max) {\n for (let i = 1; i <= props.totalPage; i++) {\n result.push({ label: i });\n }\n } else {\n result.push({ label: 1});\n // check the range around the current page\n let start = val.value - 2;\n let end = val.value + 2;\n if (start < 2) {\n start = 2;\n end = start + max - 2;\n }\n if (end > props.totalPage - 1) {\n end = props.totalPage - 1;\n start = end - max + 2;\n }\n if (start > 2) {\n result.push({ label: \"…\", disabled: true });\n }\n for (let i = start; i <= end; i++) {\n result.push({ label: i });\n }\n if (end < props.totalPage - 1) {\n result.push({ label: \"…\", disabled: true });\n }\n result.push({ label: props.totalPage });\n }\n } else {\n\n }\n return result;\n});\n\nconst val = ref(props.modelValue);\n\nwatch(() => props.modelValue, (value) => {\n\tval.value = value;\n});\n\nconst emit = defineEmits([\"change:next\", \"change:prev\", \"change:goto\", \"update:modelValue\"]);\n\nfunction prevPage() {\n val.value--;\n emit(\"change:prev\", val.value);\n emit(\"update:modelValue\", val.value);\n}\n\nfunction nextPage() {\n val.value++;\n emit(\"change:next\", val.value);\n emit(\"update:modelValue\", val.value);\n}\n\nfunction gotoPage(ix: any, item:any ) {\n if (item.disabled) {\n return;\n }\n val.value = ix;\n emit(\"change:goto\", val.value);\n emit(\"update:modelValue\", val.value);\n}\n\n</script>\n<template>\n <div class=\"q-pagination\">\n <q-button class=\"prev sm outlined icon\" @click=\"prevPage\" :disabled=\"!props.hasPrev\">\n <q-icon-arrow-left class=\"icon\" ></q-icon-arrow-left>\n </q-button>\n <div v-if=\"totalPage !== 0\" class=\"q-page-indicators\">\n <div v-for=\"item in indicators\" class=\"q-page-indicator\">\n <q-button class=\"q-page-indicator sm outlined\" :class=\"item.label === val? 'active': ''\" :disabled=\"item.disabled\" @click=\"gotoPage(item.label, item)\">\n {{ item.label }}\n </q-button>\n </div>\n </div>\n <q-button v-else class=\"outlined sm q-page-indicator-simple q-page-indicator\">\n <div class=\"\">{{ modelValue }}</div>\n </q-button>\n <q-button class=\"next sm outlined icon\" @click=\"nextPage\" :disabled=\"!props.hasNext\">\n <q-icon-arrow-right class=\"icon\" ></q-icon-arrow-right>\n </q-button>\n </div>\n</template>\n\n<style lang=\"scss\">\n.q-pagination {\n font-size: 0.8rem;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n .prev {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n }\n .next {\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n }\n .q-page-indicators {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0;\n }\n .q-page-indicator {\n border-radius: 0 !important;\n background-color: white !important;\n border-right: none !important;\n &:first-child {\n .q-button {\n border-left: none !important;\n }\n }\n .q-button {\n padding-left: 0.6rem;\n padding-right: 0.6rem;\n border-right: none !important;\n }\n .q-button[disabled] {\n padding-left: 0.3rem;\n padding-right: 0.3rem;\n }\n .q-button.active {\n color: var(--vt-c-blue);\n opacity: 1;\n }\n }\n .q-page-indicator-simple {\n padding: 0 1rem;\n font-size: 0.9rem;\n border-left: none !important;\n border-right: none !important;\n color: var(--vt-c-blue) !important;\n }\n}\n</style>","<template>\n <div class=\"q-progress\" :class=\"color\">\n <div class=\"q-progress-slot\">\n <div class=\"q-progress-bar\" :style=\"{ width: barWidth }\" :class=\"completed? '': 'animated' \">\n <div class=\"q-progress-bar-inner\"></div>\n </div>\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nconst props = defineProps({\n infinite: {\n type: Boolean,\n default: false,\n },\n color: {\n type: String,\n default: \"blue\",\n },\n max: {\n type: Number,\n default: 100,\n },\n value: {\n type: Number,\n default: 0,\n },\n});\n\nconst barWidth = computed(() => {\n if (props.infinite) {\n return \"100%\";\n }\n return `${(props.value / props.max) * 100}%`;\n});\n\nconst completed = computed(() => {\n return props.value >= props.max;\n});\n\n</script>\n<style lang=\"scss\">\n.q-progress {\n display: block;\n min-width: 200px;\n --q-progress-color: var(--vt-c-blue);\n --q-progress-color-light: var(--vt-c-blue-lighter);\n &.green {\n --q-progress-color: var(--vt-c-green);\n --q-progress-color-light: var(--vt-c-green-lighter);\n }\n &.red {\n --q-progress-color: var(--vt-c-red);\n --q-progress-color-light: var(--vt-c-red-lighter);\n }\n &.orange {\n --q-progress-color: var(--vt-c-orange);\n --q-progress-color-light: var(--vt-c-orange-lighter);\n }\n .q-progress-slot {\n position: relative;\n width: 100%;\n height: 8px;\n background: var(--vt-c-white-soft);\n border-radius: 6px;\n overflow: hidden;\n .q-progress-bar {\n border-radius: 6px;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n transition: width 0.2s ease-in-out;\n overflow: hidden;\n &.animated {\n .q-progress-bar-inner {\n animation: progress 1s linear infinite;\n }\n }\n }\n .q-progress-bar-inner {\n background: repeating-linear-gradient(\n 45deg,\n var(--q-progress-color),\n var(--q-progress-color) 10px,\n var(--q-progress-color-light) 10px,\n var(--q-progress-color-light) 20px\n );\n position: absolute;\n left: -28px;\n right: 0;\n top: 0;\n bottom: 0;\n }\n }\n}\n@keyframes progress {\n\tfrom {\n\t\ttransform: translateX(0);\n\t}\n\tto {\n\t\ttransform: translateX(28px);\n\t}\n}\n</style>","<template>\n <QDropdownMenu\n :items=\"languageItems\"\n :initial-item=\"selectedLangItem\"\n />\n</template>\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted, Ref, watch } from \"vue\";\n\nconst emit = defineEmits([\"change\"]);\n\nconst props = defineProps({\n lang: {\n type: String,\n default: \"en\",\n },\n noFlag: {\n type: Boolean,\n default: false,\n },\n auto: {\n type: Boolean,\n default: false,\n },\n presist: {\n type: Boolean,\n default: false,\n },\n});\n\nconst selectedLangItem: Ref<any> = ref(null);\n\nconst languageItems = computed(() => {\n let items = [\n {\n flag: \"🇺🇸\",\n title: \"English\",\n value: \"en\",\n action: selectLang,\n },\n {\n flag: \"🇨🇳\",\n title: \"简体中文\",\n value: \"zh\",\n action: selectLang,\n },\n {\n flag: \"🇹🇼\",\n title: \"正體中文\",\n value: \"zh-tw\",\n action: selectLang,\n },\n {\n flag: \"🇯🇵\",\n title: \"日本語\",\n value: \"ja\",\n action: selectLang,\n },\n ]\n if (props.auto) {\n items.unshift({\n flag: \"🌐\",\n title: \"Auto\",\n value: \"\",\n action: selectLang,\n });\n }\n items = items.map((item) => {\n return {\n ...item,\n title: props.noFlag ? item.title: `${item.flag}  ${item.title}`,\n };\n });\n\n return items;\n});\n\nfunction selectLang(item: any) {\n if (props.presist) {\n localStorage.setItem(\"quail-language\", item.value);\n }\n emit(\"change\", {\n title: props.noFlag ? item.title_no_flag: item.title,\n value: item.value,\n });\n}\n\nwatch(() => props.lang, (lang) => {\n selectedLangItem.value = languageItems.value.find((item: any) => {\n return lang === item.value;\n });\n});\n\nonMounted(() => {\n selectedLangItem.value =\n languageItems.value.find((item: any) => {\n return props.lang === item.value || localStorage.getItem(\"quail-language\") === item.value;\n }) || languageItems.value[0];\n});\n</script>\n<style lang=\"scss\">\n</style>\n","<script setup lang=\"ts\">\nconst props = defineProps({\n src: {\n type: String,\n required: true\n },\n alt: {\n type: String,\n }\n});\n</script>\n\n<template>\n<div class=\"q-pack-cover block-drop-shadow\">\n <div class=\"q-pack-cover-layer one\"></div>\n <div class=\"q-pack-cover-layer two\"></div>\n <div class=\"q-pack-cover-inner\">\n <img :src=\"props.src\" :alt=\"alt\"/>\n </div>\n</div>\n</template>\n\n<style lang=\"scss\" scoped>\n.q-pack-cover {\n width: 128px;\n}\n.q-pack-cover-layer {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n // border: 1px solid #ccc;\n background: #fff;\n box-shadow: 0 0px 2px rgba(0, 0, 0, 0.3);\n transform: scale(0.97) translateY(5%);\n border-radius: 8px;\n z-index: 2;\n &.one {\n transform: scale(0.94) translateY(10%);\n z-index: 1;\n }\n}\n.q-pack-cover-inner {\n flex-basis: 128px;\n width: 128px;\n height: 100px;\n display: block;\n background-color: #eee;\n border-radius: 8px;\n position: relative;\n box-shadow: 0 0px 2px rgba(0, 0, 0, 0.3), 0 3px 10px rgba(0, 0, 0, 0.05);\n overflow: hidden;\n z-index: 3;\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 8px;\n z-index: 1;\n color: rgba(0, 0, 0, 0.3);\n text-align: center;\n font-size: 0.8rem;\n transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n }\n}\n\n@media only screen and (max-width: 720px) {\n .q-pack-cover {\n width: 112px;\n }\n .q-pack-cover-inner {\n flex-basis: 112px;\n width: 112px;\n height: 96px;\n }\n}\n\n</style>","\nfunction copyToClipboard(text:string) {\n if (navigator.clipboard && window.isSecureContext) {\n // Navigator clipboard API method\n navigator.clipboard.writeText(text).then(function() {}, function(err) {\n console.error(\"[quailjs.util.copyToClipboard] Could not copy text: \", err);\n });\n } else {\n // Fallback method for older browsers\n const textArea = document.createElement(\"textarea\");\n textArea.value = text;\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n try {\n document.execCommand('copy');\n } catch (err) {\n console.error(\"[quailjs.util.copyToClipboard] Could not copy text: \", err);\n }\n document.body.removeChild(textArea);\n }\n}\n\nexport {\n copyToClipboard\n}","// can-promise has a crash in some versions of react native that dont have\n// standard global objects\n// https://github.com/soldair/node-qrcode/issues/157\n\nmodule.exports = function () {\n return typeof Promise === 'function' && Promise.prototype && Promise.prototype.then\n}\n","let toSJISFunction\nconst CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n]\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n}\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n}\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n let digit = 0\n\n while (data !== 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n}\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f\n}\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n}\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n}\n","exports.L = { bit: 1 }\nexports.M = { bit: 0 }\nexports.Q = { bit: 3 }\nexports.H = { bit: 2 }\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n}\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","function BitBuffer () {\n this.buffer = []\n this.length = 0\n}\n\nBitBuffer.prototype = {\n\n get: function (index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1)\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8))\n }\n\n this.length++\n }\n}\n\nmodule.exports = BitBuffer\n","/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size\n this.data = new Uint8Array(size * size)\n this.reservedBit = new Uint8Array(size * size)\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n const index = row * this.size + col\n this.data[index] = value\n if (reserved) this.reservedBit[index] = true\n}\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n}\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value\n}\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n}\n\nmodule.exports = BitMatrix\n","/**\n * Alignment pattern are fixed reference pattern in defined positions\n * in a matrix symbology, which enables the decode software to re-synchronise\n * the coordinate mapping of the image modules in the event of moderate amounts\n * of distortion of the image.\n *\n * Alignment patterns are present only in QR Code symbols of version 2 or larger\n * and their number depends on the symbol version.\n */\n\nconst getSymbolSize = require('./utils').getSymbolSize\n\n/**\n * Calculate the row/column coordinates of the center module of each alignment pattern\n * for the specified QR Code version.\n *\n * The alignment patterns are positioned symmetrically on either side of the diagonal\n * running from the top left corner of the symbol to the bottom right corner.\n *\n * Since positions are simmetrical only half of the coordinates are returned.\n * Each item of the array will represent in turn the x and y coordinate.\n * @see {@link getPositions}\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinate\n */\nexports.getRowColCoords = function getRowColCoords (version) {\n if (version === 1) return []\n\n const posCount = Math.floor(version / 7) + 2\n const size = getSymbolSize(version)\n const intervals = size === 145 ? 26 : Math.ceil((size - 13) / (2 * posCount - 2)) * 2\n const positions = [size - 7] // Last coord is always (size - 7)\n\n for (let i = 1; i < posCount - 1; i++) {\n positions[i] = positions[i - 1] - intervals\n }\n\n positions.push(6) // First coord is always 6\n\n return positions.reverse()\n}\n\n/**\n * Returns an array containing the positions of each alignment pattern.\n * Each array's element represent the center point of the pattern as (x, y) coordinates\n *\n * Coordinates are calculated expanding the row/column coordinates returned by {@link getRowColCoords}\n * and filtering out the items that overlaps with finder pattern\n *\n * @example\n * For a Version 7 symbol {@link getRowColCoords} returns values 6, 22 and 38.\n * The alignment patterns, therefore, are to be centered on (row, column)\n * positions (6,22), (22,6), (22,22), (22,38), (38,22), (38,38).\n * Note that the coordinates (6,6), (6,38), (38,6) are occupied by finder patterns\n * and are not therefore used for alignment patterns.\n *\n * let pos = getPositions(7)\n * // [[6,22], [22,6], [22,22], [22,38], [38,22], [38,38]]\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const coords = []\n const pos = exports.getRowColCoords(version)\n const posLength = pos.length\n\n for (let i = 0; i < posLength; i++) {\n for (let j = 0; j < posLength; j++) {\n // Skip if position is occupied by finder patterns\n if ((i === 0 && j === 0) || // top-left\n (i === 0 && j === posLength - 1) || // bottom-left\n (i === posLength - 1 && j === 0)) { // top-right\n continue\n }\n\n coords.push([pos[i], pos[j]])\n }\n }\n\n return coords\n}\n","const getSymbolSize = require('./utils').getSymbolSize\nconst FINDER_PATTERN_SIZE = 7\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n const size = getSymbolSize(version)\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n}\n","/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n}\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nconst PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n}\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n}\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n}\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n const size = data.size\n let points = 0\n let sameCountCol = 0\n let sameCountRow = 0\n let lastCol = null\n let lastRow = null\n\n for (let row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0\n lastCol = lastRow = null\n\n for (let col = 0; col < size; col++) {\n let module = data.get(row, col)\n if (module === lastCol) {\n sameCountCol++\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n lastCol = module\n sameCountCol = 1\n }\n\n module = data.get(col, row)\n if (module === lastRow) {\n sameCountRow++\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n lastRow = module\n sameCountRow = 1\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5)\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5)\n }\n\n return points\n}\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n const size = data.size\n let points = 0\n\n for (let row = 0; row < size - 1; row++) {\n for (let col = 0; col < size - 1; col++) {\n const last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1)\n\n if (last === 4 || last === 0) points++\n }\n }\n\n return points * PenaltyScores.N2\n}\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n const size = data.size\n let points = 0\n let bitsCol = 0\n let bitsRow = 0\n\n for (let row = 0; row < size; row++) {\n bitsCol = bitsRow = 0\n for (let col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col)\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row)\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++\n }\n }\n\n return points * PenaltyScores.N3\n}\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n let darkCount = 0\n const modulesCount = data.data.length\n\n for (let i = 0; i < modulesCount; i++) darkCount += data.data[i]\n\n const k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10)\n\n return k * PenaltyScores.N4\n}\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n const size = data.size\n\n for (let col = 0; col < size; col++) {\n for (let row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col))\n }\n }\n}\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n const numPatterns = Object.keys(exports.Patterns).length\n let bestPattern = 0\n let lowerPenalty = Infinity\n\n for (let p = 0; p < numPatterns; p++) {\n setupFormatFunc(p)\n exports.applyMask(p, data)\n\n // Calculate penalty\n const penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data)\n\n // Undo previously applied mask\n exports.applyMask(p, data)\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty\n bestPattern = p\n }\n }\n\n return bestPattern\n}\n","const ECLevel = require('./error-correction-level')\r\n\r\nconst EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n]\r\n\r\nconst EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n]\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n}\r\n","const EXP_TABLE = new Uint8Array(512)\nconst LOG_TABLE = new Uint8Array(256)\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n let x = 1\n for (let i = 0; i < 255; i++) {\n EXP_TABLE[i] = x\n LOG_TABLE[x] = i\n\n x <<= 1 // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (let i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255]\n }\n}())\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n}\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n}\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n}\n","const GF = require('./galois-field')\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Uint8Array} p1 Polynomial\n * @param {Uint8Array} p2 Polynomial\n * @return {Uint8Array} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n const coeff = new Uint8Array(p1.length + p2.length - 1)\n\n for (let i = 0; i < p1.length; i++) {\n for (let j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j])\n }\n }\n\n return coeff\n}\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Uint8Array} divident Polynomial\n * @param {Uint8Array} divisor Polynomial\n * @return {Uint8Array} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n let result = new Uint8Array(divident)\n\n while ((result.length - divisor.length) >= 0) {\n const coeff = result[0]\n\n for (let i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff)\n }\n\n // remove all zeros from buffer head\n let offset = 0\n while (offset < result.length && result[offset] === 0) offset++\n result = result.slice(offset)\n }\n\n return result\n}\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Uint8Array} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n let poly = new Uint8Array([1])\n for (let i = 0; i < degree; i++) {\n poly = exports.mul(poly, new Uint8Array([1, GF.exp(i)]))\n }\n\n return poly\n}\n","const Polynomial = require('./polynomial')\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined\n this.degree = degree\n\n if (this.degree) this.initialize(this.degree)\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree\n this.genPoly = Polynomial.generateECPolynomial(this.degree)\n}\n\n/**\n * Encodes a chunk of data\n *\n * @param {Uint8Array} data Buffer containing input data\n * @return {Uint8Array} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n const paddedData = new Uint8Array(data.length + this.degree)\n paddedData.set(data)\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n const remainder = Polynomial.mod(paddedData, this.genPoly)\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n const start = this.degree - remainder.length\n if (start > 0) {\n const buff = new Uint8Array(this.degree)\n buff.set(remainder, start)\n\n return buff\n }\n\n return remainder\n}\n\nmodule.exports = ReedSolomonEncoder\n","/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n}\n","const numeric = '[0-9]+'\nconst alphanumeric = '[A-Z $%*+\\\\-./:]+'\nlet kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+'\nkanji = kanji.replace(/u/g, '\\\\u')\n\nconst byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+'\n\nexports.KANJI = new RegExp(kanji, 'g')\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g')\nexports.BYTE = new RegExp(byte, 'g')\nexports.NUMERIC = new RegExp(numeric, 'g')\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g')\n\nconst TEST_KANJI = new RegExp('^' + kanji + '$')\nconst TEST_NUMERIC = new RegExp('^' + numeric + '$')\nconst TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$')\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n}\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n}\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n}\n","const VersionCheck = require('./version-check')\nconst Regex = require('./regex')\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n}\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n}\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n}\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n}\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n}\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n}\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n}\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n}\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n}\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n const lcStr = string.toLowerCase()\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n}\n","const Utils = require('./utils')\nconst ECCode = require('./error-correction-code')\nconst ECLevel = require('./error-correction-level')\nconst Mode = require('./mode')\nconst VersionCheck = require('./version-check')\n\n// Generator polynomial used to encode version information\nconst G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0)\nconst G18_BCH = Utils.getBCHDigit(G18)\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n let totalBits = 0\n\n segments.forEach(function (data) {\n const reservedBits = getReservedBitsCount(data.mode, version)\n totalBits += reservedBits + data.getBitsLength()\n })\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (let currentVersion = 1; currentVersion <= 40; currentVersion++) {\n const length = getTotalBitsFromDataArray(segments, currentVersion)\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n}\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE\n\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n const usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version)\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n}\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n let seg\n\n const ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M)\n\n if (Array.isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0]\n } else {\n seg = data\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n}\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n let d = version << 12\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH))\n }\n\n return (version << 12) | d\n}\n","const Utils = require('./utils')\n\nconst G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0)\nconst G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1)\nconst G15_BCH = Utils.getBCHDigit(G15)\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n const data = ((errorCorrectionLevel.bit << 3) | mask)\n let d = data << 10\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH))\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n}\n","const Mode = require('./mode')\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC\n this.data = data.toString()\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n}\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n}\n\nNumericData.prototype.write = function write (bitBuffer) {\n let i, group, value\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, 10)\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n const remainingNum = this.data.length - i\n if (remainingNum > 0) {\n group = this.data.substr(i)\n value = parseInt(group, 10)\n\n bitBuffer.put(value, remainingNum * 3 + 1)\n }\n}\n\nmodule.exports = NumericData\n","const Mode = require('./mode')\n\n/**\n * Array of characters available in alphanumeric mode\n *\n * As per QR Code specification, to each character\n * is assigned a value from 0 to 44 which in this case coincides\n * with the array index\n *\n * @type {Array}\n */\nconst ALPHA_NUM_CHARS = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',\n 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',\n ' ', '$', '%', '*', '+', '-', '.', '/', ':'\n]\n\nfunction AlphanumericData (data) {\n this.mode = Mode.ALPHANUMERIC\n this.data = data\n}\n\nAlphanumericData.getBitsLength = function getBitsLength (length) {\n return 11 * Math.floor(length / 2) + 6 * (length % 2)\n}\n\nAlphanumericData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nAlphanumericData.prototype.getBitsLength = function getBitsLength () {\n return AlphanumericData.getBitsLength(this.data.length)\n}\n\nAlphanumericData.prototype.write = function write (bitBuffer) {\n let i\n\n // Input data characters are divided into groups of two characters\n // and encoded as 11-bit binary codes.\n for (i = 0; i + 2 <= this.data.length; i += 2) {\n // The character value of the first character is multiplied by 45\n let value = ALPHA_NUM_CHARS.indexOf(this.data[i]) * 45\n\n // The character value of the second digit is added to the product\n value += ALPHA_NUM_CHARS.indexOf(this.data[i + 1])\n\n // The sum is then stored as 11-bit binary number\n bitBuffer.put(value, 11)\n }\n\n // If the number of input data characters is not a multiple of two,\n // the character value of the final character is encoded as a 6-bit binary number.\n if (this.data.length % 2) {\n bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]), 6)\n }\n}\n\nmodule.exports = AlphanumericData\n","'use strict'\n\nmodule.exports = function encodeUtf8 (input) {\n var result = []\n var size = input.length\n\n for (var index = 0; index < size; index++) {\n var point = input.charCodeAt(index)\n\n if (point >= 0xD800 && point <= 0xDBFF && size > index + 1) {\n var second = input.charCodeAt(index + 1)\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n point = (point - 0xD800) * 0x400 + second - 0xDC00 + 0x10000\n index += 1\n }\n }\n\n // US-ASCII\n if (point < 0x80) {\n result.push(point)\n continue\n }\n\n // 2-byte UTF-8\n if (point < 0x800) {\n result.push((point >> 6) | 192)\n result.push((point & 63) | 128)\n continue\n }\n\n // 3-byte UTF-8\n if (point < 0xD800 || (point >= 0xE000 && point < 0x10000)) {\n result.push((point >> 12) | 224)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // 4-byte UTF-8\n if (point >= 0x10000 && point <= 0x10FFFF) {\n result.push((point >> 18) | 240)\n result.push(((point >> 12) & 63) | 128)\n result.push(((point >> 6) & 63) | 128)\n result.push((point & 63) | 128)\n continue\n }\n\n // Invalid character\n result.push(0xEF, 0xBF, 0xBD)\n }\n\n return new Uint8Array(result).buffer\n}\n","const encodeUtf8 = require('encode-utf8')\nconst Mode = require('./mode')\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE\n if (typeof (data) === 'string') {\n data = encodeUtf8(data)\n }\n this.data = new Uint8Array(data)\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n}\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n}\n\nByteData.prototype.write = function (bitBuffer) {\n for (let i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8)\n }\n}\n\nmodule.exports = ByteData\n","const Mode = require('./mode')\nconst Utils = require('./utils')\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI\n this.data = data\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n}\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n}\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n}\n\nKanjiData.prototype.write = function (bitBuffer) {\n let i\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n let value = Utils.toSJIS(this.data[i])\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff)\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13)\n }\n}\n\nmodule.exports = KanjiData\n","'use strict';\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin <self@wyattbaldwin.com>\n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n","const Mode = require('./mode')\nconst NumericData = require('./numeric-data')\nconst AlphanumericData = require('./alphanumeric-data')\nconst ByteData = require('./byte-data')\nconst KanjiData = require('./kanji-data')\nconst Regex = require('./regex')\nconst Utils = require('./utils')\nconst dijkstra = require('dijkstrajs')\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n const segments = []\n let result\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n })\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n const numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr)\n const alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr)\n let byteSegs\n let kanjiSegs\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr)\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr)\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr)\n kanjiSegs = []\n }\n\n const segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs)\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n const prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data\n return acc\n }\n\n acc.push(curr)\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n const nodes = []\n for (let i = 0; i < segs.length; i++) {\n const seg = segs[i]\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ])\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ])\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n const table = {}\n const graph = { start: {} }\n let prevNodeIds = ['start']\n\n for (let i = 0; i < nodes.length; i++) {\n const nodeGroup = nodes[i]\n const currentNodeIds = []\n\n for (let j = 0; j < nodeGroup.length; j++) {\n const node = nodeGroup[j]\n const key = '' + i + j\n\n currentNodeIds.push(key)\n table[key] = { node: node, lastCount: 0 }\n graph[key] = {}\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n const prevNodeId = prevNodeIds[n]\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode)\n\n table[prevNodeId].lastCount += node.length\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version) // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds\n }\n\n for (let n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]].end = 0\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n let mode\n const bestMode = Mode.getBestModeForData(data)\n\n mode = Mode.from(modesHint, bestMode)\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null))\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode))\n }\n\n return acc\n }, [])\n}\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n const segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n\n const nodes = buildNodes(segs)\n const graph = buildGraph(nodes, version)\n const path = dijkstra.find_path(graph.map, 'start', 'end')\n\n const optimizedSegs = []\n for (let i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node)\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n}\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n}\n","const Utils = require('./utils')\nconst ECLevel = require('./error-correction-level')\nconst BitBuffer = require('./bit-buffer')\nconst BitMatrix = require('./bit-matrix')\nconst AlignmentPattern = require('./alignment-pattern')\nconst FinderPattern = require('./finder-pattern')\nconst MaskPattern = require('./mask-pattern')\nconst ECCode = require('./error-correction-code')\nconst ReedSolomonEncoder = require('./reed-solomon-encoder')\nconst Version = require('./version')\nconst FormatInfo = require('./format-info')\nconst Mode = require('./mode')\nconst Segments = require('./segments')\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n const size = matrix.size\n const pos = FinderPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n const size = matrix.size\n\n for (let r = 8; r < size - 8; r++) {\n const value = r % 2 === 0\n matrix.set(r, 6, value, true)\n matrix.set(6, r, value, true)\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n const pos = AlignmentPattern.getPositions(version)\n\n for (let i = 0; i < pos.length; i++) {\n const row = pos[i][0]\n const col = pos[i][1]\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true)\n } else {\n matrix.set(row + r, col + c, false, true)\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n const size = matrix.size\n const bits = Version.getEncodedBits(version)\n let row, col, mod\n\n for (let i = 0; i < 18; i++) {\n row = Math.floor(i / 3)\n col = i % 3 + size - 8 - 3\n mod = ((bits >> i) & 1) === 1\n\n matrix.set(row, col, mod, true)\n matrix.set(col, row, mod, true)\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n const size = matrix.size\n const bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern)\n let i, mod\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true)\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true)\n } else {\n matrix.set(size - 15 + i, 8, mod, true)\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true)\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true)\n } else {\n matrix.set(8, 15 - i - 1, mod, true)\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true)\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Uint8Array} data Data codewords\n */\nfunction setupData (matrix, data) {\n const size = matrix.size\n let inc = -1\n let row = size - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--\n\n while (true) {\n for (let c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1)\n }\n\n matrix.set(row, col - c, dark)\n bitIndex--\n\n if (bitIndex === -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || size <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n const buffer = new BitBuffer()\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4)\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version))\n\n // add binary data sequence to buffer\n data.write(buffer)\n })\n\n // Calculate required number of bits\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n const dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4)\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0)\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n const remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8\n for (let i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8)\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Uint8Array} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n const totalCodewords = Utils.getSymbolTotalCodewords(version)\n\n // Total number of error correction codewords\n const ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel)\n\n // Total number of data codewords\n const dataTotalCodewords = totalCodewords - ecTotalCodewords\n\n // Total number of blocks\n const ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel)\n\n // Calculate how many blocks each group should contain\n const blocksInGroup2 = totalCodewords % ecTotalBlocks\n const blocksInGroup1 = ecTotalBlocks - blocksInGroup2\n\n const totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks)\n\n const dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks)\n const dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1\n\n // Number of EC codewords is the same for both groups\n const ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n const rs = new ReedSolomonEncoder(ecCount)\n\n let offset = 0\n const dcData = new Array(ecTotalBlocks)\n const ecData = new Array(ecTotalBlocks)\n let maxDataSize = 0\n const buffer = new Uint8Array(bitBuffer.buffer)\n\n // Divide the buffer into the required number of blocks\n for (let b = 0; b < ecTotalBlocks; b++) {\n const dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize)\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b])\n\n offset += dataSize\n maxDataSize = Math.max(maxDataSize, dataSize)\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n const data = new Uint8Array(totalCodewords)\n let index = 0\n let i, r\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i]\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i]\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n let segments\n\n if (Array.isArray(data)) {\n segments = Segments.fromArray(data)\n } else if (typeof data === 'string') {\n let estimatedVersion = version\n\n if (!estimatedVersion) {\n const rawSegments = Segments.rawSplit(data)\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments, errorCorrectionLevel)\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40)\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n const bestVersion = Version.getBestVersionForData(segments, errorCorrectionLevel)\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n const dataBits = createData(version, errorCorrectionLevel, segments)\n\n // Allocate matrix buffer\n const moduleCount = Utils.getSymbolSize(version)\n const modules = new BitMatrix(moduleCount)\n\n // Add function modules\n setupFinderPattern(modules, version)\n setupTimingPattern(modules)\n setupAlignmentPattern(modules, version)\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0)\n\n if (version >= 7) {\n setupVersionInfo(modules, version)\n }\n\n // Add data codewords\n setupData(modules, dataBits)\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel))\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules)\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern)\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n let errorCorrectionLevel = ECLevel.M\n let version\n let mask\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M)\n version = Version.from(options.version)\n mask = MaskPattern.from(options.maskPattern)\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc)\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n}\n","function hex2rgba (hex) {\n if (typeof hex === 'number') {\n hex = hex.toString()\n }\n\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n let hexCode = hex.slice().replace('#', '').split('')\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }))\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F')\n\n const hexValue = parseInt(hexCode.join(''), 16)\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {}\n if (!options.color) options.color = {}\n\n const margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0\n ? 4\n : options.margin\n\n const width = options.width && options.width >= 21 ? options.width : undefined\n const scale = options.scale || 4\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n}\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n}\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n const scale = exports.getScale(qrSize, opts)\n return Math.floor((qrSize + opts.margin * 2) * scale)\n}\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n const size = qr.modules.size\n const data = qr.modules.data\n const scale = exports.getScale(size, opts)\n const symbolSize = Math.floor((size + opts.margin * 2) * scale)\n const scaledMargin = opts.margin * scale\n const palette = [opts.color.light, opts.color.dark]\n\n for (let i = 0; i < symbolSize; i++) {\n for (let j = 0; j < symbolSize; j++) {\n let posDst = (i * symbolSize + j) * 4\n let pxColor = opts.color.light\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n const iSrc = Math.floor((i - scaledMargin) / scale)\n const jSrc = Math.floor((j - scaledMargin) / scale)\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0]\n }\n\n imgData[posDst++] = pxColor.r\n imgData[posDst++] = pxColor.g\n imgData[posDst++] = pxColor.b\n imgData[posDst] = pxColor.a\n }\n }\n}\n","const Utils = require('./utils')\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height)\n\n if (!canvas.style) canvas.style = {}\n canvas.height = size\n canvas.width = size\n canvas.style.height = size + 'px'\n canvas.style.width = size + 'px'\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n let opts = options\n let canvasEl = canvas\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement()\n }\n\n opts = Utils.getOptions(opts)\n const size = Utils.getImageWidth(qrData.modules.size, opts)\n\n const ctx = canvasEl.getContext('2d')\n const image = ctx.createImageData(size, size)\n Utils.qrToImageData(image.data, qrData, opts)\n\n clearCanvas(ctx, canvasEl, size)\n ctx.putImageData(image, 0, 0)\n\n return canvasEl\n}\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n let opts = options\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas\n canvas = undefined\n }\n\n if (!opts) opts = {}\n\n const canvasEl = exports.render(qrData, canvas, opts)\n\n const type = opts.type || 'image/png'\n const rendererOpts = opts.rendererOpts || {}\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n}\n","const Utils = require('./utils')\n\nfunction getColorAttrib (color, attrib) {\n const alpha = color.a / 255\n const str = attrib + '=\"' + color.hex + '\"'\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n let str = cmd + x\n if (typeof y !== 'undefined') str += ' ' + y\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n let path = ''\n let moveBy = 0\n let newRow = false\n let lineLength = 0\n\n for (let i = 0; i < data.length; i++) {\n const col = Math.floor(i % size)\n const row = Math.floor(i / size)\n\n if (!col && !newRow) newRow = true\n\n if (data[i]) {\n lineLength++\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0)\n\n moveBy = 0\n newRow = false\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength)\n lineLength = 0\n }\n } else {\n moveBy++\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n const opts = Utils.getOptions(options)\n const size = qrData.modules.size\n const data = qrData.modules.data\n const qrcodesize = size + opts.margin * 2\n\n const bg = !opts.color.light.a\n ? ''\n : '<path ' + getColorAttrib(opts.color.light, 'fill') +\n ' d=\"M0 0h' + qrcodesize + 'v' + qrcodesize + 'H0z\"/>'\n\n const path =\n '<path ' + getColorAttrib(opts.color.dark, 'stroke') +\n ' d=\"' + qrToPath(data, size, opts.margin) + '\"/>'\n\n const viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"'\n\n const width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" '\n\n const svgTag = '<svg xmlns=\"http://www.w3.org/2000/svg\" ' + width + viewBox + ' shape-rendering=\"crispEdges\">' + bg + path + '</svg>\\n'\n\n if (typeof cb === 'function') {\n cb(null, svgTag)\n }\n\n return svgTag\n}\n","\nconst canPromise = require('./can-promise')\n\nconst QRCode = require('./core/qrcode')\nconst CanvasRenderer = require('./renderer/canvas')\nconst SvgRenderer = require('./renderer/svg-tag.js')\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n const args = [].slice.call(arguments, 1)\n const argsNum = args.length\n const isLastArgCb = typeof args[argsNum - 1] === 'function'\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts\n opts = undefined\n } else {\n cb = opts\n opts = text\n text = canvas\n canvas = undefined\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas\n canvas = opts = undefined\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text\n text = canvas\n canvas = undefined\n }\n\n return new Promise(function (resolve, reject) {\n try {\n const data = QRCode.create(text, opts)\n resolve(renderFunc(data, canvas, opts))\n } catch (e) {\n reject(e)\n }\n })\n }\n\n try {\n const data = QRCode.create(text, opts)\n cb(null, renderFunc(data, canvas, opts))\n } catch (e) {\n cb(e)\n }\n}\n\nexports.create = QRCode.create\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render)\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL)\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n})\n","<template>\n <div class=\"q-share\" :class=\"cls\">\n <a v-for=\"serv in enabledServices\" :key=\"`serv-${serv.name}`\"\n :title=\"serv.tooltip\" class=\"q-share-link\" :class=\"serv.name\"\n @click=\"shareToService(serv)\"\n >\n <component :is=\"serv.icon\" class=\"icon share-icon\"></component>\n </a>\n <q-dialog v-model=\"showMastodonDialog\" title=\"Share to Mastodon\">\n <div class=\"q-dialog-content mastodon-dialog-content flex center\">\n <q-icon-color-mastodon class=\"service-icon\"></q-icon-color-mastodon>\n <input class=\"text-field\" v-model=\"mastodonHost\" placeholder=\"Instance Domain\" ref=\"mastodonHostInput\"/>\n <q-button class=\"primary icon ml-2\" @click=\"shareToMastodon\">\n <q-icon-arrow-right></q-icon-arrow-right>\n </q-button>\n </div>\n </q-dialog>\n <q-dialog v-model=\"showGeneralDialog\" title=\"Share to ...\">\n <div class=\"q-dialog-content general-dialog-content\">\n <div class=\"qrcode-wrapper\">\n <img :src=\"generalDataUrl\" alt=\"QR Code\" class=\"frame shadow\"/>\n </div>\n <div class=\"operations form\">\n <div class=\"copy-row form-row\">\n <q-button class=\"outlined block\" @click=\"copyUrl\">\n <q-icon-copy class=\"icon\"></q-icon-copy>\n <span class=\"button-label\">Copy URL</span>\n </q-button>\n </div>\n </div>\n </div>\n </q-dialog>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, getCurrentInstance, ref } from \"vue\";\nimport { copyToClipboard } from \"../../utils\";\nimport QRCode from \"qrcode\";\n\nconst supportedServices:any = {\n \"twitter\": {\n \"icon\": \"q-icon-color-twitter\",\n \"tooltip\": \"Share on Twitter\",\n \"url_template\": \"https://x.com/intent/tweet?url={url}&text={text}\"\n },\n \"facebook\": {\n \"icon\": \"q-icon-color-facebook\",\n \"tooltip\": \"Share on Facebook\",\n \"url_template\": \"https://www.facebook.com/sharer.php?u={url}\"\n },\n \"hackernews\": {\n \"icon\": \"q-icon-color-hackernews\",\n \"tooltip\": \"Share on Hackernews\",\n \"url_template\": \"https://news.ycombinator.com/submitlink?u={url}&t={text}\"\n },\n \"linkedin\": {\n \"icon\": \"q-icon-color-linkedin\",\n \"tooltip\": \"Share on LinkedIn\",\n \"url_template\": \"https://www.linkedin.com/shareArticle?mini=true&amp;url={url}\"\n },\n \"bluesky\": {\n \"icon\": \"q-icon-color-bluesky\",\n \"tooltip\": \"Share on Bluesky\",\n \"url_template\": \"https://bsky.app/intent/compose?text={textWithUrl}\"\n },\n \"mastodon\": {\n \"icon\": \"q-icon-color-mastodon\",\n \"tooltip\": \"Share on Mastodon\",\n \"url_template\": \"https://{host}/share?text={textWithUrl}\"\n },\n \"general\": {\n \"icon\": \"q-icon-color-share\",\n \"tooltip\": \"Share to ...\",\n \"url_template\": \"\"\n }\n};\n\nconst showGeneralDialog = ref(false);\nconst generalUrl = ref('');\nconst generalDataUrl = ref('');\n\nconst showMastodonDialog = ref(false);\nconst mastodonHost = ref('');\nconst mastodonHostInput:any = ref(null);\n\nconst props = defineProps({\n url: {\n type: String,\n default: \"\",\n },\n text: {\n type: String,\n default: \"\",\n },\n layout: {\n type: String,\n default: \"row\",\n },\n services: {\n type: Array<string>,\n default: () => [\"twitter\", \"facebook\", \"hackernews\", \"general\"],\n },\n});\n\nconst cls = computed(() => {\n if (props.layout === \"row\") {\n return \"q-share-layout-row\";\n } else if (props.layout === \"column\") {\n return \"q-share-layout-column\";\n }\n return \"q-share-layout-row\";\n});\n\nconst shareUrl = computed(() => {\n if (props.url) {\n return encodeURIComponent(props.url);\n }\n // share the url of the current page\n return encodeURIComponent(window.location.href);\n});\n\nconst text = computed(() => {\n if (props.text) {\n return encodeURIComponent(props.text);\n }\n return encodeURIComponent(document.title);\n});\n\nconst enabledServices = computed(() => {\n const enabled = [];\n for (const service of props.services) {\n const item = supportedServices[service];\n if (item) {\n item.name = service;\n item.url = buildUrl(item.url_template, {\n url: shareUrl.value,\n text: text.value,\n textWithUrl: `${text.value}${encodeURIComponent('\\n\\n')}${shareUrl.value}`,\n host: window.location.host,\n });\n enabled.push(item);\n }\n }\n return enabled;\n});\n\nfunction buildUrl(url: string, params: Record<string, string>) {\n for (const key in params) {\n url = url.replace(`{${key}}`, params[key]);\n }\n return url;\n}\n\nfunction shareToService(service: any) {\n switch (service.name) {\n case \"mastodon\":\n openMastodonDialog(service);\n break;\n case \"general\":\n showGeneralDialog.value = true;\n generalUrl.value = decodeURIComponent(shareUrl.value);\n QRCode.toDataURL(generalUrl.value, { width: 400, margin: 1 }, (err:any, url:any) => {\n if (err) {\n console.error(err);\n return ;\n }\n generalDataUrl.value = url;\n });\n break;\n default:\n window.open(service.url, \"_blank\");\n }\n}\n\nfunction copyUrl() {\n copyToClipboard(generalUrl.value);\n showGeneralDialog.value = false;\n}\n\nfunction openMastodonDialog(service:any) {\n showMastodonDialog.value = true\n const existing = localStorage.getItem('quailui_global_mastodon_host') || ''\n mastodonHost.value = existing\n setTimeout(() => {\n // focus the input field and select the text\n mastodonHostInput.value?.focus()\n mastodonHostInput.value?.select()\n }, 300)\n}\n\nfunction shareToMastodon() {\n const url = buildUrl(supportedServices.mastodon.url_template, {\n host: mastodonHost.value,\n text: text.value,\n textWithUrl: `${text.value}${encodeURIComponent('\\n\\n')}${shareUrl.value}`,\n });\n localStorage.setItem('quailui_global_mastodon_host', mastodonHost.value);\n window.open(url, \"_blank\");\n showMastodonDialog.value = false;\n}\n\n</script>\n<style lang=\"scss\">\n.q-share {\n .q-share-link {\n display: block;\n width: 24px;\n height: 24px;\n background: #fff;\n // box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n filter: grayscale(1);\n opacity: 0.8;\n transition: all 0.2s ease-in-out;\n img {\n width: 100%;\n height: 100%;\n }\n &:hover {\n filter: grayscale(0);\n opacity: 1 !important;\n }\n &.twitter {\n opacity: 0.9;\n }\n &.facebook {\n opacity: 0.6;\n }\n &.linkedin {\n opacity: 0.65;\n }\n &.mastodon {\n opacity: 0.68;\n }\n &.bluesky {\n opacity: 0.65;\n }\n &.hackernews {\n opacity: 0.7;\n }\n &.general {\n opacity: 0.63;\n }\n }\n}\n.q-share.q-share-layout-row {\n display: flex;\n justify-content: center;\n align-items: center;\n .q-share-link {\n margin-right: 0.5rem;\n &:last-child {\n margin-right: 0;\n }\n }\n}\n.q-share.q-share-layout-column {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n .q-share-link {\n margin-bottom: 0.5rem;\n &:last-child {\n margin-bottom: 0;\n }\n }\n}\n\n.mastodon-dialog-content {\n align-items: center;\n .service-icon {\n width: 36px;\n height: 36px;\n margin-right: 0.5rem;\n }\n}\n\n.general-dialog-content {\n display: flex;\n flex-direction: column;\n .qrcode-wrapper {\n flex: 0;\n display: flex;\n justify-content: center;\n img {\n max-width: 200px;\n max-height: 200px;\n }\n }\n .operations {\n flex: 1;\n margin-top: 1rem;\n }\n}\n\n@media (max-width: 600px) {\n .general-dialog-content {\n flex-direction: column;\n }\n .qrcode-wrapper {\n margin-bottom: 1rem;\n }\n .operations {\n margin-left: 0;\n }\n}\n</style>","<template>\n <div class=\"q-avatar\" :style=\"sty\" :class=\"cls\">\n <template v-if=\"props.src === ''\">\n <slot></slot>\n </template>\n <img v-else :src=\"imgSrc\" :alt=\"alt\" @error=\"handleError\" />\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\n\nconst defaultAvatar = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHNjcmlwdCB4bWxucz0iIi8+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yMF8yKSI+CjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBmaWxsPSIjRjJGMkYyIiBmaWxsLW9wYWNpdHk9IjAuNSIvPgo8Y2lyY2xlIGN4PSIxMjgiIGN5PSIxMjgiIHI9IjY0IiBmaWxsPSIjRDlEOUQ5IiBmaWxsLW9wYWNpdHk9IjAuNiIvPgo8Y2lyY2xlIGN4PSIxMjgiIGN5PSIyNzIiIHI9IjgwIiBmaWxsPSIjRDlEOUQ5IiBmaWxsLW9wYWNpdHk9IjAuNiIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzIwXzIiPgo8cmVjdCB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4=\";\nconst props = defineProps({\n src: {\n type: String,\n default: \"\",\n },\n alt: {\n type: String,\n default: \"An Avatar\",\n },\n size: {\n type: Number,\n default: 32,\n },\n variant: {\n type: String,\n default: \"circle\", // circle, rounded, square\n },\n borderType: {\n type: String, // none, solid, hollow\n default: \"none\",\n },\n borderColor: { // only for borderType=\"hollow\"\n type: String,\n default: \"#000\",\n }\n});\n\nconst imgSrc = computed(() => props.src || defaultAvatar);\n\nconst cls = computed(() => {\n const ret = [];\n if (props.variant === \"circle\") {\n ret.push(\"circle\");\n } else if (props.variant === \"rounded\") {\n ret.push(\"rounded\");\n } else if (props.variant === \"square\") {\n ret.push(\"square\");\n }\n if (props.borderType === 'solid') {\n ret.push('border-solid');\n } else if (props.borderType === 'hollow') {\n ret.push('border-hollow');\n }\n return ret.join(\" \");\n});\n\n\nconst sty = computed(() => {\n const ret:any = {\n width: `${props.size}px`,\n height: `${props.size}px`,\n 'max-width': `${props.size}px`,\n 'max-height': `${props.size}px`,\n };\n if (props.borderType === 'hollow') {\n ret['border-color'] = props.borderColor;\n }\n return ret;\n});\n\nfunction handleError(e: Event) {\n const img = e.target as HTMLImageElement;\n img.src = defaultAvatar;\n}\n</script>\n<style lang=\"scss\">\n.q-avatar {\n display: block;\n border-radius: 50%;\n img {\n border-radius: 50%;\n width: 100%;\n height: 100%;\n }\n & > svg {\n width: 100%;\n height: 100%;\n }\n &.rounded {\n border-radius: 8px;\n img {\n border-radius: 6px;\n }\n }\n &.square {\n border-radius: 0;\n img {\n border-radius: 0;\n }\n }\n &.border-solid {\n border: 3px solid #fff;\n box-shadow: 0 0 1px #c4bab9, 0 1px 2px #4343431a;\n }\n &.border-hollow {\n padding: 2px;\n border-width: 1px;\n border-style: solid;\n }\n}\n</style>\n","<template>\n <div class=\"q-dropdown-menu-with-text-field\" >\n <div class=\"q-dropdown-menu-with-text-field-top\">\n <div class=\"q-dropdown-menu-wrapper\">\n <q-dropdown-menu\n :items=\"items\"\n :initial-item=\"selectedItem\"\n use-dialog=\"always\"\n use-filter\n scroll-height=\"400px\"\n variant=\"plain\"\n @change=\"selectChanged\"\n ></q-dropdown-menu>\n </div>\n <div class=\"q-text-field-wrapper\">\n <input\n ref=\"textField\"\n class=\"q-text-field text-field\"\n :placeholder=\"props.placeholder\"\n v-model=\"text\"\n @change=\"textChanged\"\n />\n </div>\n </div>\n <div v-if=\"showBottom\" class=\"q-dropdown-menu-with-text-field-bottom\">\n <div class=\"fill-action text-xs plain flex\" @click=\"fill\">\n <span v-text=\"props.fillActionLabel\"></span>\n <QIconArrowUpRight class=\"icon\" />\n </div>\n <div class=\"text-xs text-hint\">\n <span v-text=\"props.hintText\"></span>\n </div>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from \"vue\";\nimport { debounce } from \"../../util\";\nimport QIconArrowUpRight from \"../icons/QIconArrowUpRight.vue\";\n\nconst props = defineProps({\n items: {\n type: Array<any>,\n required: true,\n },\n placeholder: {\n default: \"Type here\",\n },\n defaultSelection: {\n type: Object,\n },\n defaultText: {\n default: \"\",\n },\n fillActionLabel: {\n default: \"\",\n },\n fillActionValue: {\n default: \"\",\n },\n hintText: {\n default: \"\",\n },\n textDisabled: {\n default: false,\n },\n selectDisabled: {\n default: false,\n },\n});\n\nconst emit = defineEmits([\"change\"]);\nconst text = ref(props.defaultText);\nconst selectedItem = ref(props.defaultSelection);\nconst textField = ref<any>(null);\n\nconst showBottom = computed(() => {\n return props.fillActionLabel !== \"\" || props.hintText !== \"\";\n});\n\nfunction selectChanged(item:any) {\n selectedItem.value = item;\n changed();\n}\n\nfunction textChanged() {\n changed();\n}\n\nfunction changed() {\n const v = {\n selected: selectedItem.value,\n text: text.value\n }\n emit('change', v);\n}\n\nfunction fill() {\n text.value = props.fillActionValue;\n changed()\n}\n\nonMounted(() => {\n debounce(() => {\n selectedItem.value = props.defaultSelection;\n text.value = props.defaultText;\n if (selectedItem.value === null || selectedItem.value === undefined) {\n selectedItem.value = props.items[0];\n }\n textField.value.addEventListener(\"focus\", () => {\n textField.value.select();\n });\n }, 300)();\n});\n</script>\n\n<style scoped lang=\"scss\">\n.q-dropdown-menu-with-text-field {\n width: 100%;\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 6px;\n box-shadow: inset 0px 1px 8px 0px rgba(0,0,0,0.03), 0px 1px 1px 0px #4343431A;\n transition: border-color 0.2s ease-in-out;\n\n &:has(input:focus) {\n border-color: var(--vt-c-divider-light-focus);\n }\n\n .q-dropdown-menu-with-text-field-top, .q-dropdown-menu-with-text-field-bottom {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n }\n\n .q-dropdown-menu-with-text-field-bottom {\n color: var(--vt-c-text-light-3);\n .text-hint {\n padding: 0.1rem 0.75rem 0.4rem .75rem;\n }\n .fill-action {\n padding: 0.1rem 0.75rem 0.4rem .75rem;\n cursor: default;\n transition: color 0.2s ease-in;\n &:hover {\n color: var(--vt-c-text-light-2);\n }\n }\n .icon {\n width: 16px;\n height: 16px;\n }\n }\n .q-dropdown-menu-wrapper {\n }\n .q-text-field-wrapper {\n flex: 1;\n &:deep(.q-text-field) {\n border: none;\n text-align: right;\n box-shadow: none;\n }\n }\n}\n</style>","<template>\n <button :class=\"cls\" :disabled=\"!validated\">\n <div v-if=\"props.loading\" class=\"ocean\">\n <div class=\"wave\"></div>\n </div>\n <slot></slot>\n </button>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue';\n\nconst props = defineProps({\n class: {\n type: String,\n default: 'primary',\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n loading: {\n type: Boolean,\n default: false,\n },\n});\n\nconst cls = computed(() => {\n const ret = ['q-button touchable'];\n ret.push(props.class);\n if (props.loading) {\n ret.push('loading');\n }\n return ret.join(' ');\n});\n\nconst validated = computed(() => {\n return !props.disabled;\n});\n</script>\n\n<style scoped lang=\"scss\">\n@import \"@/styles/mixin/touchable.scss\";\n\n.q-button {\n height: 44px;\n font-weight: 500;\n border-radius: 6px;\n padding: 0.8rem 1rem;\n text-align: center;\n text-decoration: none;\n display: flex;\n font-size: 1rem;\n cursor: default;\n font-size: 1rem;\n transition: all 0.2s ease-in-out;\n white-space: nowrap;\n line-height: 1;\n align-items: center;\n justify-content: center;\n position: relative;\n overflow:hidden;\n &.sm {\n padding: 0.6rem 0.8rem;\n height: 38px;\n font-size: 0.875rem;\n }\n &.xs {\n padding: 0.6rem 0.8rem;\n height: 32px;\n font-size: 0.75rem;\n }\n &.xxs {\n padding: 0.6rem 0.8rem;\n height: 24px;\n font-size: 0.7rem;\n }\n .button-label {\n align-self: center;\n }\n &:deep(.icon) {\n margin-right: 0.5rem;\n height: 16px !important;\n width: 16px !important;\n align-self: center;\n }\n &.block {\n width: 100%;\n }\n &.icon {\n padding: 0.8rem;\n width: 44px;\n &:deep(.icon) {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: 0;\n height: 16px;\n width: 16px;\n }\n &.sm {\n padding: 0.6rem;\n width: 38px;\n }\n &.xs {\n padding: 0.6rem;\n width: 32px;\n }\n }\n}\n</style>","<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue';\n\nconst props = defineProps({\n modelValue: Object,\n tabs: {\n type: Array<any>,\n required: true,\n },\n initialIndex: {\n type: Number,\n default: 0,\n },\n});\n\nconst emit = defineEmits([\"change\", \"update:modelValue\"]);\n\nconst selectedTab = ref(props.tabs[props.initialIndex]);\n\nconst selectedIndex = ref(props.initialIndex);\n\nwatch(() => props.modelValue, (tab:any) => {\n\tselectedIndex.value = props.tabs.findIndex((t:any) => t.id === tab.id);\n selectedTab.value = tab || props.tabs[0];\n});\n\nfunction selectTab(ix: number, tab: any) {\n selectedIndex.value = ix;\n selectedTab.value = tab;\n emit(\"change\", {index: ix, tab: tab});\n emit('update:modelValue', tab);\n}\n\n\nfunction genCls(tab:any, ix: number) {\n const ret = [];\n if (selectedIndex.value === ix) {\n ret.push(\"selected outlined\");\n } else {\n ret.push(\"plain\");\n }\n if (tab.icon) {\n ret.push(\"with-icon\");\n }\n if (tab.title) {\n ret.push(\"with-label\");\n }\n return ret.join(\" \");\n}\n\n</script>\n\n<template>\n <div class=\"q-tabs\">\n <QButton class=\"q-tab-button sm\" :class=\"genCls(tab, ix)\"\n v-for=\"tab, ix in tabs\" :key=\"`tab-button-${ix}`\" @click=\"selectTab(ix, tab)\">\n <template v-if=\"tab.icon\">\n <component :is=\"tab.icon\" class=\"q-tab-button-icon\" />\n </template>\n <div class=\"q-tab-button-label\">\n {{ tab.title }}\n </div>\n </QButton>\n </div>\n</template>\n\n<style lang=\"scss\" scoped>\n.q-tabs {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n border-radius: 6px;\n background-color: hsl(240 4.8% 95.9%);\n padding: .25rem;\n &:deep(.q-button) {\n transition: none;\n border-radius: 3px !important;\n &.outlined {\n background-color: white !important;\n border: 1px solid var(--vt-c-divider-light-2);\n }\n &.plain {\n border: 1px solid transparent !important;\n opacity: 0.6 !important;\n &:hover {\n background-color: transparent !important;\n }\n }\n }\n .q-tab-button {\n &.with-icon.with-label {\n .q-tab-button-icon {\n margin-right: 0.5rem;\n }\n }\n .q-tab-button-icon {\n height: 16px;\n width: 16px;\n max-width: 16px;\n }\n }\n}\n</style>","<template>\n <div class=\"q-input\" :class=\"cls\">\n <div class=\"q-input-prepend-out\">\n <slot name=\"prepend-out\"></slot>\n </div>\n <div class=\"q-text-field-wrapper\">\n <div class=\"q-text-field-inner\">\n <div class=\"q-input-prepend\">\n <slot name=\"prepend\"></slot>\n </div>\n <input\n ref=\"textField\"\n class=\"q-text-field text-field\"\n :placeholder=\"props.placeholder\"\n :disabled=\"props.disabled\"\n v-model=\"text\"\n @change=\"textChanged\"\n @keyup=\"keyup\"\n @focus=\"() => emit('focus')\"\n @blur=\"() => emit('blur')\"\n />\n <QButton class=\"clear-btn plain icon\" @click=\"clear\">\n <QIconEditorDelete class=\"icon\" />\n </QButton>\n <div class=\"q-input-append\">\n <slot name=\"append\"></slot>\n </div>\n </div>\n\n <div v-if=\"hasHint\" class=\"q-text-field-hint\">\n <div class=\"q-text-field-hint-left\">\n <template v-if=\"hintIcon\">\n <component :is=\"hintIcon\" class=\"q-text-field-hint-icon\"></component>\n </template>\n <div v-if=\"hintText\" class=\"q-text-field-hint-text\">\n {{ hintText }}\n </div>\n </div>\n <div v-if=\"max !== -1\" class=\"q-text-field-counter\">\n {{ text.length }} / {{ max }}\n </div>\n </div>\n </div>\n <div class=\"q-input-append-out\">\n <slot name=\"append-out\"></slot>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from \"vue\";\n\nconst props = defineProps({\n modelValue: {\n type: String,\n default: \"\",\n },\n placeholder: {\n default: \"Type here\",\n },\n defaultText: {\n default: \"\",\n },\n disabled: {\n default: false,\n },\n hintIcon: {\n type: Object,\n default: null,\n },\n hintText: {\n default: \"\",\n },\n error: {\n default: false,\n },\n max: {\n type: Number,\n default: -1,\n },\n});\n\nconst emit = defineEmits([\"change\", \"blur\", \"focus\", \"keyup\", \"update:modelValue\"]);\nconst text = ref(props.defaultText);\nconst textField = ref<any>(null);\n\nwatch(() => props.modelValue, (val) => {\n text.value = val;\n});\n\nconst exceed = computed(() => {\n if (props.max === -1) {\n return false;\n }\n return text.value.length > props.max ;\n});\n\nconst hasHint = computed(() => {\n return props.hintIcon || props.hintText || props.max !== -1 || props.error;\n});\n\nconst cls = computed(() => {\n const ret = [];\n if (props.disabled) {\n ret.push(\"disabled\");\n }\n if (props.error) {\n ret.push(\"error\");\n }\n if (exceed.value) {\n ret.push(\"exceed\");\n }\n if (text.value === \"\") {\n ret.push(\"empty\");\n }\n return ret.join(\" \");\n});\n\nfunction keyup(e: KeyboardEvent) {\n updateValue();\n emit(\"keyup\", e);\n}\n\nfunction textChanged() {\n updateValue();\n emit(\"change\", text.value);\n}\n\nfunction clear() {\n text.value = \"\";\n updateValue();\n textField.value.focus();\n emit(\"change\", text.value);\n}\n\nfunction updateValue() {\n emit(\"update:modelValue\", text.value);\n}\n\nonMounted(() => {\n});\n</script>\n\n<style scoped lang=\"scss\">\n.q-input {\n width: 100%;\n display: flex;\n align-items: center;\n\n &.exceed, &.error {\n .q-text-field-wrapper {\n border: 1px solid var(--vt-c-red-dimm-3);\n &:has(input:focus) {\n border-color: var(--vt-c-red-dimm-3);\n }\n }\n .q-text-field-hint {\n background-color: var(--vt-c-red-dimm-1);\n }\n .q-text-field-counter {\n color: var(--vt-c-red);\n }\n }\n\n &.error {\n .q-text-field-hint-text {\n color: var(--vt-c-red);\n }\n }\n &.disabled {\n .clear-btn {\n display: none;\n }\n }\n\n .q-input-prepend, .q-input-append,\n .q-input-prepend-out, .q-input-append-out {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .q-text-field-wrapper {\n width: 100%;\n min-height: 44px;\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 6px;\n box-shadow: inset 0px 1px 8px 0px rgba(0,0,0,0.03), 0px 1px 1px 0px #4343431A;\n transition: border-color 0.2s ease-in-out;\n\n // if textarea gets focus, apply border color to .q-textarea by parent pesudo class\n &:has(input:focus) {\n border-color: var(--vt-c-divider-light-focus);\n }\n\n .q-text-field-inner {\n flex: 1;\n display: flex;\n align-items: center;\n }\n\n &:deep(.q-text-field) {\n border: none !important;\n box-shadow: none !important;\n outline: none !important;\n min-height: 42px;\n }\n .clear-btn {\n min-height: 42px;\n color: var(--vt-c-text-light-3);\n }\n\n\n .q-text-field-hint {\n font-size: 0.8rem;\n color: var(--vt-c-text-light-3);\n padding: 0.2rem 0.5rem;\n margin-left: 0px;\n margin-right: 0px;\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n .q-text-field-hint-left {\n display: flex;\n align-items: center;\n }\n .q-text-field-hint-icon {\n max-height: 20px;\n max-width: 20px;\n opacity: 0.7;\n margin-right: 0.5rem;\n }\n }\n }\n &.empty {\n .clear-btn {\n display: none;\n }\n }\n}\n</style>","<template>\n <div class=\"q-search-input\">\n <QInput v-model=\"text\" type=\"text\" :placeholder=\"placeholder\" :disabled=\"disabled\"\n @keyup=\"keyup\" @change=\"textChanged\"></QInput>\n <div v-if=\"items && showItems\" class=\"result\">\n <QMenu :items=\"resultItems\" ></QMenu>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from \"vue\";\n\nconst props = defineProps({\n modelValue: {\n type: String,\n default: \"\",\n },\n placeholder: {\n default: \"Type here\",\n },\n defaultText: {\n default: \"\",\n },\n disabled: {\n default: false,\n },\n items: {\n type: Array<any>,\n default: () => [],\n },\n});\n\nconst emit = defineEmits([\"change\", \"blur\", \"focus\", \"keyup\", \"select\", \"update:modelValue\"]);\nconst text = ref(props.defaultText);\nconst showItems = ref(false);\n\nwatch(() => props.modelValue, (val) => {\n text.value = val;\n});\n\nwatch(() => text.value, (val) => {\n if (text.value === '') {\n showItems.value = false;\n }\n});\n\nwatch(() => props.items, (val) => {\n showItems.value = val.length > 0 && text.value !== '';\n});\n\nconst resultItems = computed(() => {\n return props.items.map((item) => {\n return {\n title: item.title,\n subtitle: item.subtitle,\n action: () => {\n emit(\"select\", item);\n showItems.value = false;\n },\n };\n });\n});\n\nfunction keyup(e: KeyboardEvent) {\n updateValue();\n emit(\"keyup\", e);\n}\n\nfunction textChanged() {\n updateValue();\n emit(\"change\", text.value);\n}\n\nfunction updateValue() {\n emit(\"update:modelValue\", text.value);\n}\n\nonMounted(() => {\n});\n</script>\n\n<style scoped lang=\"scss\">\n.q-search-input {\n position: relative;\n}\n</style>","<template>\n <QButton :class=\"cls\" :disabled=\"disabled\" :loading=\"loading\" @click=\"toggle\">\n <slot></slot>\n </QButton>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref, watch } from 'vue';\n\nconst props = defineProps({\n modelValue: {\n type: Boolean,\n default: false,\n },\n class: {\n type: String,\n default: 'outlined',\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n loading: {\n type: Boolean,\n default: false,\n },\n});\n\nconst emit = defineEmits(['update:modelValue']);\n\nconst _modelValue = ref(props.modelValue);\n\nwatch(() => props.modelValue, (val) => {\n _modelValue.value = val;\n});\n\nconst cls = computed(() => {\n const ret = ['q-button touchable outlined'];\n ret.push(props.class);\n if (props.loading) {\n ret.push('loading');\n }\n if (_modelValue.value) {\n ret.push('toggle-on');\n } else {\n ret.push('toggle-off');\n }\n return ret.join(' ');\n});\n\nfunction toggle() {\n _modelValue.value = !_modelValue.value;\n emit('update:modelValue', _modelValue.value);\n}\n</script>\n","<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch, type Ref } from \"vue\";\n\nconst props = defineProps({\n modelValue: {\n type: String,\n default: \"\",\n },\n placeholder: {\n default: \"Type here\",\n },\n defaultText: {\n default: \"\",\n },\n hintIcon: {\n type: Object,\n default: null,\n },\n hintText: {\n default: \"\",\n },\n disabled: {\n default: false,\n },\n rows: {\n type: Number,\n default: 5,\n },\n error: {\n default: false,\n },\n max: {\n type: Number,\n default: -1,\n },\n});\n\nconst emit = defineEmits([\"change\", \"blur\", \"focus\", \"keyup\", \"update:modelValue\"]);\nconst text = ref(props.defaultText);\n\nwatch(() => props.modelValue, (val) => {\n text.value = val;\n});\n\nconst exceed = computed(() => {\n if (props.max === -1) {\n return false;\n }\n return text.value.length > props.max ;\n});\n\nconst hasHint = computed(() => {\n return props.hintIcon || props.hintText || props.max !== -1;\n});\n\nconst cls = computed(() => {\n const ret: any = [];\n if (props.disabled) {\n ret.push(\"disabled\");\n };\n if (props.error) {\n ret.push(\"error\");\n }\n if (exceed.value) {\n ret.push(\"exceed\");\n }\n return ret.join(\" \");\n});\n\nfunction keyup(e: KeyboardEvent) {\n updateValue();\n emit(\"keyup\", e);\n}\n\nfunction textChanged() {\n updateValue();\n emit(\"change\", text.value);\n}\n\nfunction updateValue() {\n emit(\"update:modelValue\", text.value);\n}\n\nonMounted(() => {\n});\n\n</script>\n\n<template>\n <div class=\"q-textarea\" :class=\"cls\">\n <textarea class=\"textarea\" v-model=\"text\"\n @change=\"textChanged\" @keyup=\"keyup\"\n :rows=\"rows\" :placeholder=\"props.placeholder\" :disabled=\"disabled\"></textarea>\n <div v-if=\"hasHint\" class=\"q-textarea-hint\">\n <div class=\"q-textarea-hint-left\">\n <template v-if=\"hintIcon\">\n <component :is=\"hintIcon\" class=\"q-textarea-hint-icon\"></component>\n </template>\n <div v-if=\"hintText\" class=\"q-textarea-hint-text text-xs\">\n {{ hintText }}\n </div>\n </div>\n <div v-if=\"max !== -1\" class=\"q-textarea-counter text-xs\">\n {{ text.length }} / {{ max }}\n </div>\n </div>\n </div>\n</template>\n<style lang=\"scss\" scoped>\n.q-textarea {\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 6px;\n box-shadow: inset 0px 1px 8px 0px rgba(0,0,0,0.03), 0px 1px 1px 0px #4343431A;\n transition: border-color 0.2s ease-in-out;\n &.exceed, &.error {\n border: 1px solid var(--vt-c-red-dimm-3);\n &:has(textarea:focus) {\n border-color: var(--vt-c-red-dimm-3);\n }\n .q-textarea-hint {\n background-color: var(--vt-c-red-dimm-1);\n }\n .q-textarea-counter {\n color: var(--vt-c-red);\n }\n }\n\n &.error {\n .q-textarea-hint {\n color: var(--vt-c-red);\n }\n }\n\n &:deep(textarea) {\n border: none !important;\n box-shadow: none !important;\n outline: none !important;\n }\n\n // if textarea gets focus, apply border color to .q-textarea by parent pesudo class\n &:has(textarea:focus) {\n border-color: var(--vt-c-divider-light-focus);\n }\n\n .q-textarea-hint {\n color: var(--vt-c-text-light-3);\n padding: 0.2rem 0.5rem;\n margin-left: 0px;\n margin-right: 0px;\n border-bottom-left-radius: 6px;\n border-bottom-right-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n .q-textarea-hint-left {\n display: flex;\n align-items: center;\n }\n .q-textarea-hint-icon {\n max-height: 16px;\n max-width: 16px;\n opacity: 0.7;\n margin-right: 0.5rem;\n }\n }\n}\n</style>","import * as Icons from './components/icons';\nimport * as Common from './components/common';\nimport { closePopupMenu } from './util';\nimport './style.scss';\n\nconst QuailUI = {\n install(app:any, options:any) {\n if (options?.debug) {\n console.log('options', options);\n }\n for (const [name, component] of Object.entries(Icons)) {\n if (options?.debug) {\n console.log('[quail-ui] register icon component', name, component);\n }\n app.component(name, component);\n }\n for (const [name, component] of Object.entries(Common)) {\n if (options?.debug) {\n console.log('[quail-ui] register common component', name, component);\n }\n app.component(name, component);\n }\n\n document.body.addEventListener('click', (e) => {\n closePopupMenu();\n })\n }\n};\n\nexport { Icons, Common, QuailUI }\n\nexport default QuailUI;"],"names":["_sfc_main$20","_hoisted_1","_hoisted_2","_createElementVNode","_sfc_main$1$","_sfc_main$1_","_sfc_main","_createElementBlock","_hoisted_3","_hoisted_4","_createStaticVNode","_hoisted_5","_hoisted_6","_sfc_main$$","_sfc_main$_","t","e","module","this","n","i","s","u","a","o","c","h","d","l","$","y","M","m","r","v","g","D","p","S","_","w","O","b","f","k","props","__props","emit","__emit","date","ref","time","watch","value","dayjs","changed","onMounted","useUtil","browserDetect","isIE","isEdge","isChrome","isFirefox","isSafari","isOpera","isWeixin","isMobile","isAndroid","isIOS","isIpad","isIphone","isMac","isWindows","isLinux","debounce","func","delay","timeoutId","args","context","shaking","isOpen","popupPos","triggerWrapper","dialogMask","isPopup","computed","dialogStyle","ret","dialogCls","cls","dialogMaskCls","nextTick","el","top","left","close","event","components","_a","getCurrentInstance","_cache","menuCls","_cls","item","doAction","val","change","text","validated","validateEmail","validatedCode","trimed","label","submit","closePopupMenu","trigger","slots","useSlots","expanded","selectedItem","menuWrapper","scrollArea","scrollAreaCls","filterText","actionCls","hasSlot","filteredItems","useDialogFlag","toggle","wrapper","menu","menuItemClick","indicators","max","result","start","end","prevPage","nextPage","gotoPage","ix","barWidth","completed","selectedLangItem","languageItems","items","selectLang","lang","copyToClipboard","err","textArea","canPromise","toSJISFunction","CODEWORDS_COUNT","utils","version","data","digit","kanji","exports","fromString","string","level","defaultValue","BitBuffer","index","bufIndex","num","length","bit","bitBuffer","BitMatrix","size","row","col","reserved","bitMatrix","getSymbolSize","require$$0","posCount","intervals","positions","coords","pos","posLength","j","FINDER_PATTERN_SIZE","finderPattern","PenaltyScores","mask","points","sameCountCol","sameCountRow","lastCol","lastRow","last","bitsCol","bitsRow","darkCount","modulesCount","getMaskAt","maskPattern","pattern","setupFormatFunc","numPatterns","bestPattern","lowerPenalty","penalty","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","errorCorrectionCode","errorCorrectionLevel","EXP_TABLE","LOG_TABLE","x","galoisField","GF","p1","p2","coeff","divident","divisor","offset","degree","poly","Polynomial","ReedSolomonEncoder","paddedData","remainder","buff","reedSolomonEncoder","versionCheck","numeric","alphanumeric","byte","regex","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","str","VersionCheck","Regex","require$$1","mode","dataStr","Utils","ECCode","require$$2","Mode","require$$3","require$$4","G18","G18_BCH","getBestVersionForDataLength","currentVersion","getReservedBitsCount","getTotalBitsFromDataArray","segments","totalBits","reservedBits","getBestVersionForMixedData","totalCodewords","ecTotalCodewords","dataTotalCodewordsBits","usableBits","seg","ecl","G15","G15_MASK","G15_BCH","formatInfo","NumericData","group","remainingNum","numericData","ALPHA_NUM_CHARS","AlphanumericData","alphanumericData","encodeUtf8","input","point","second","ByteData","byteData","KanjiData","kanjiData","dijkstra","graph","predecessors","costs","open","closest","cost_of_s_to_u","adjacent_nodes","cost_of_e","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","first_visit","msg","nodes","opts","T","key","cost","require$$5","require$$6","require$$7","getStringByteLength","getSegments","getSegmentsFromString","numSegs","alphaNumSegs","byteSegs","kanjiSegs","s1","s2","obj","getSegmentBitsLength","mergeSegments","segs","acc","curr","prevSeg","buildNodes","buildGraph","table","prevNodeIds","nodeGroup","currentNodeIds","node","prevNodeId","buildSingleSegment","modesHint","bestMode","array","path","optimizedSegs","AlignmentPattern","FinderPattern","MaskPattern","require$$8","Version","require$$9","FormatInfo","require$$10","require$$11","Segments","require$$12","setupFinderPattern","matrix","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","bits","mod","setupFormatInfo","setupData","inc","bitIndex","byteIndex","dark","createData","buffer","remainingByte","createCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup2","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","ecData","maxDataSize","dataSize","createSymbol","estimatedVersion","rawSegments","bestVersion","dataBits","moduleCount","modules","qrcode","options","hex2rgba","hex","hexCode","hexValue","margin","width","scale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","iSrc","jSrc","clearCanvas","ctx","canvas","getCanvasElement","qrData","canvasEl","image","type","rendererOpts","getColorAttrib","color","attrib","alpha","svgCmd","cmd","qrToPath","moveBy","newRow","lineLength","svgTag","cb","qrcodesize","bg","viewBox","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","argsNum","isLastArgCb","resolve","reject","browser","supportedServices","showGeneralDialog","generalUrl","generalDataUrl","showMastodonDialog","mastodonHost","mastodonHostInput","shareUrl","enabledServices","enabled","service","buildUrl","url","params","shareToService","openMastodonDialog","copyUrl","existing","_b","shareToMastodon","defaultAvatar","imgSrc","sty","handleError","img","textField","showBottom","selectChanged","textChanged","fill","selectedTab","selectedIndex","tab","selectTab","genCls","exceed","hasHint","keyup","updateValue","clear","showItems","resultItems","_modelValue","QuailUI","app","name","component","Icons","Common"],"mappings":"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","x_google_ignoreList":[108,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]}