@bigbinary/neeto-molecules 1.1.10 → 1.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/dist/AutoSaveInput/autosaveinput.scss +15 -0
  2. package/dist/AutoSaveInput/constants.js +13 -0
  3. package/dist/AutoSaveInput/index.js +124 -0
  4. package/dist/AutoSaveInput/utils.js +10 -0
  5. package/dist/Breadcrumbs/breadcrumbs.scss +33 -0
  6. package/dist/Breadcrumbs/index.js +31 -0
  7. package/dist/BrowserSupport/Callout.js +15 -0
  8. package/dist/BrowserSupport/ContactUs.js +21 -0
  9. package/dist/BrowserSupport/DownloadLink.js +17 -0
  10. package/dist/BrowserSupport/PartialSupportedBrowserVersion.js +17 -0
  11. package/dist/BrowserSupport/UnknownBrowser.js +13 -0
  12. package/dist/BrowserSupport/UnsupportedBrowser.js +24 -0
  13. package/dist/BrowserSupport/UnsupportedBrowserMessage.js +22 -0
  14. package/dist/BrowserSupport/UnsupportedBrowserVersion.js +27 -0
  15. package/dist/BrowserSupport/UnsupportedVersionMessage.js +30 -0
  16. package/dist/BrowserSupport/browsersupport.scss +71 -0
  17. package/dist/BrowserSupport/constants.js +63 -0
  18. package/dist/BrowserSupport/index.js +58 -0
  19. package/dist/BrowserSupport/utils.js +32 -0
  20. package/dist/CalendarView/CustomDatePicker.js +87 -0
  21. package/dist/CalendarView/Header.js +53 -0
  22. package/dist/CalendarView/constants.js +19 -0
  23. package/dist/CalendarView/index.js +83 -0
  24. package/dist/CalendarView/utils.js +50 -0
  25. package/dist/Codeblock/index.js +30 -0
  26. package/dist/{Columns.js → Columns/index.js} +13 -130
  27. package/dist/Columns/utils.js +20 -0
  28. package/dist/ConfirmationModal/constants.js +3 -0
  29. package/dist/{ConfirmationModal.js → ConfirmationModal/index.js} +7 -23
  30. package/dist/ConfirmationModal/utils.js +10 -0
  31. package/dist/Container/container.scss +21 -0
  32. package/dist/Container/index.js +23 -0
  33. package/dist/CopyToClipboardButton/constants.js +13 -0
  34. package/dist/CopyToClipboardButton/copyToClipboard.scss +22 -0
  35. package/dist/CopyToClipboardButton/index.js +59 -0
  36. package/dist/CustomDomain/index.js +98 -0
  37. package/dist/CustomDomainDashboard/DeleteAlert.js +28 -0
  38. package/dist/CustomDomainDashboard/Header.js +32 -0
  39. package/dist/CustomDomainDashboard/Manage/Record.js +42 -0
  40. package/dist/CustomDomainDashboard/Manage/StatusInfo.js +21 -0
  41. package/dist/CustomDomainDashboard/Manage/TagBlock.js +36 -0
  42. package/dist/CustomDomainDashboard/Manage/constants.js +4 -0
  43. package/dist/CustomDomainDashboard/Manage/index.js +124 -0
  44. package/dist/CustomDomainDashboard/Manage/utils.js +8 -0
  45. package/dist/CustomDomainDashboard/api.js +35 -0
  46. package/dist/CustomDomainDashboard/constants.js +2 -0
  47. package/dist/CustomDomainDashboard/index.js +118 -0
  48. package/dist/CustomDomainDashboard/useCustomDomainApi.js +71 -0
  49. package/dist/CustomDomainDashboard/utils.js +84 -0
  50. package/dist/{DateFormat.js → DateFormat/index.js} +8 -25
  51. package/dist/DateRangeFilter/index.js +60 -0
  52. package/dist/DateRangeFilter/utils.js +113 -0
  53. package/dist/DynamicVariables/dynamic-variables.scss +34 -0
  54. package/dist/DynamicVariables/index.js +59 -0
  55. package/dist/DynamicVariables/utils.js +37 -0
  56. package/dist/EmailForm/EmailForm.js +97 -0
  57. package/dist/EmailForm/EmailFormProvider.js +45 -0
  58. package/dist/EmailForm/EmailPreview.js +129 -0
  59. package/dist/EmailForm/ReplyToField.js +55 -0
  60. package/dist/EmailForm/SendToField.js +27 -0
  61. package/dist/EmailForm/SubjectField.js +64 -0
  62. package/dist/EmailForm/constants.js +33 -0
  63. package/dist/EmailForm/contexts/EmailForm.js +7 -0
  64. package/dist/EmailForm/index.js +4 -0
  65. package/dist/EmailForm/utils.js +10 -0
  66. package/dist/EmailPreview/index.js +2 -0
  67. package/dist/{ErrorPage.js → ErrorPage/constants.js} +36 -175
  68. package/dist/ErrorPage/index.js +78 -0
  69. package/dist/Header/Breadcrumbs.js +31 -0
  70. package/dist/Header/Dropdown.js +12 -0
  71. package/dist/Header/constants.js +6 -0
  72. package/dist/Header/header.scss +121 -0
  73. package/dist/Header/index.js +61 -0
  74. package/dist/IconPicker/Icon.js +34 -0
  75. package/dist/IconPicker/NoResults.js +12 -0
  76. package/dist/IconPicker/constants.js +8 -0
  77. package/dist/IconPicker/icon-picker.scss +1 -0
  78. package/dist/IconPicker/index.js +164 -0
  79. package/dist/ImageWithFallback/ImagePlaceholder.js +16 -0
  80. package/dist/ImageWithFallback/index.js +31 -0
  81. package/dist/IntegrationCard/Dropdown.js +45 -0
  82. package/dist/IntegrationCard/Status.js +25 -0
  83. package/dist/IntegrationCard/index.js +128 -0
  84. package/dist/IntegrationDisconnectAlert/index.js +36 -0
  85. package/dist/{IntegrationWalkthroughModal.js → IntegrationWalkthroughModal/index.js} +6 -8
  86. package/dist/IpRestriction/AllowedIpRanges.js +75 -0
  87. package/dist/IpRestriction/CurrentIp.js +26 -0
  88. package/dist/IpRestriction/FormRow.js +84 -0
  89. package/dist/IpRestriction/Row.js +91 -0
  90. package/dist/IpRestriction/apis/allowed_ip_ranges.js +28 -0
  91. package/dist/IpRestriction/apis/current_ip.js +11 -0
  92. package/dist/IpRestriction/apis/ip_restriction.js +16 -0
  93. package/dist/IpRestriction/constants.js +20 -0
  94. package/dist/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js +34 -0
  95. package/dist/IpRestriction/hooks/reactQuery/useCurrentIp.js +10 -0
  96. package/dist/IpRestriction/hooks/reactQuery/useIpRestrictions.js +18 -0
  97. package/dist/IpRestriction/index.js +102 -0
  98. package/dist/IpRestriction/utils.js +85 -0
  99. package/dist/KeyboardShortcuts/Pane/HotKey.js +44 -0
  100. package/dist/KeyboardShortcuts/Pane/HotKeyList.js +42 -0
  101. package/dist/KeyboardShortcuts/Pane/constants.js +25 -0
  102. package/dist/KeyboardShortcuts/Pane/index.js +61 -0
  103. package/dist/KeyboardShortcuts/Pane/keyboard-shortcuts.scss +5 -0
  104. package/dist/KeyboardShortcuts/Pane/utils.js +66 -0
  105. package/dist/KeyboardShortcuts/hooks/useKeyboardShortcutsPaneState.js +31 -0
  106. package/dist/KeyboardShortcuts/index.js +9 -0
  107. package/dist/LoginPage/Form.js +57 -0
  108. package/dist/LoginPage/constants.js +12 -0
  109. package/dist/LoginPage/index.js +103 -0
  110. package/dist/MenuBar/AddNew.js +25 -0
  111. package/dist/MenuBar/Block.js +60 -0
  112. package/dist/MenuBar/Item.js +32 -0
  113. package/dist/MenuBar/Search.js +39 -0
  114. package/dist/MenuBar/SubTitle.js +23 -0
  115. package/dist/MenuBar/index.js +46 -0
  116. package/dist/MenuBar/menubar.scss +154 -0
  117. package/dist/Metadata/Block.js +30 -0
  118. package/dist/Metadata/DetailsBlock.js +86 -0
  119. package/dist/Metadata/constants.js +9 -0
  120. package/dist/Metadata/index.js +29 -0
  121. package/dist/Metadata/metadata.scss +15 -0
  122. package/dist/MoreDropdown/constants.js +25 -0
  123. package/dist/{MoreDropdown.js → MoreDropdown/index.js} +9 -102
  124. package/dist/NavigationHeader/LeftBlock.js +32 -0
  125. package/dist/NavigationHeader/Navigation.js +24 -0
  126. package/dist/NavigationHeader/RightBlock.js +68 -0
  127. package/dist/NavigationHeader/constants.js +11 -0
  128. package/dist/NavigationHeader/index.js +19 -0
  129. package/dist/NavigationHeader/navigation-header.scss +3 -0
  130. package/dist/NeetoWidget/CodeBlock.js +57 -0
  131. package/dist/NeetoWidget/CodeSnippet.js +119 -0
  132. package/dist/NeetoWidget/EmbedCode.js +281 -0
  133. package/dist/NeetoWidget/Main.js +19 -0
  134. package/dist/NeetoWidget/SelectionSwitches/TooltipSwitch.js +25 -0
  135. package/dist/NeetoWidget/SelectionSwitches/index.js +44 -0
  136. package/dist/NeetoWidget/SyntaxHighlighter.js +17 -0
  137. package/dist/NeetoWidget/api.js +20 -0
  138. package/dist/NeetoWidget/constants.js +62 -0
  139. package/dist/NeetoWidget/hooks/useForceUpdate.js +14 -0
  140. package/dist/NeetoWidget/index.js +7 -0
  141. package/dist/NeetoWidget/mutations.js +9 -0
  142. package/dist/NeetoWidget/queries.js +32 -0
  143. package/dist/NeetoWidget/utils.js +83 -0
  144. package/dist/PageLoader/index.js +81 -0
  145. package/dist/PageLoader/page-loader.scss +95 -0
  146. package/dist/PhoneNumber/CountryPicker/SingleValue.js +21 -0
  147. package/dist/PhoneNumber/CountryPicker/constants.js +26 -0
  148. package/dist/PhoneNumber/CountryPicker/index.js +59 -0
  149. package/dist/PhoneNumber/FormikPhoneNumberInput.js +21 -0
  150. package/dist/PhoneNumber/PhoneNumber.js +30 -0
  151. package/dist/PhoneNumber/PhoneNumberInput.js +79 -0
  152. package/dist/PhoneNumber/index.js +5 -0
  153. package/dist/PhoneNumber/utils.js +55 -0
  154. package/dist/PublishBlock/AlertBlock.js +14 -0
  155. package/dist/PublishBlock/index.js +100 -0
  156. package/dist/PublishBlock/publish-block.scss +25 -0
  157. package/dist/Rename/DummySpan.js +21 -0
  158. package/dist/Rename/constants.js +1 -0
  159. package/dist/Rename/index.js +191 -0
  160. package/dist/Rename/rename.scss +69 -0
  161. package/dist/Rename/utils.js +10 -0
  162. package/dist/ResponsiveDevicePicker/constants.js +19 -0
  163. package/dist/ResponsiveDevicePicker/index.js +36 -0
  164. package/dist/Schedule/DisplayAvailability.js +58 -0
  165. package/dist/Schedule/Fields.js +43 -0
  166. package/dist/Schedule/Form/ScheduleRow.js +125 -0
  167. package/dist/Schedule/Form/constants.js +20 -0
  168. package/dist/Schedule/Form/index.js +144 -0
  169. package/dist/Schedule/Form/utils.js +63 -0
  170. package/dist/Schedule/Header.js +76 -0
  171. package/dist/Schedule/ScheduleContext.js +8 -0
  172. package/dist/Schedule/constants.js +8 -0
  173. package/dist/Schedule/dayjsExtended/constants.js +1 -0
  174. package/dist/Schedule/dayjsExtended/index.js +14 -0
  175. package/dist/Schedule/dayjsExtended/range.js +73 -0
  176. package/dist/Schedule/index.js +80 -0
  177. package/dist/Schedule/utils.js +152 -0
  178. package/dist/Scrollable/constants.js +8 -0
  179. package/dist/Scrollable/index.js +26 -0
  180. package/dist/Scrollable/scrollable.scss +32 -0
  181. package/dist/Search/index.js +52 -0
  182. package/dist/Security/AllowedKeywords/Add.js +38 -0
  183. package/dist/Security/AllowedKeywords/index.js +38 -0
  184. package/dist/Security/PasswordBlock.js +31 -0
  185. package/dist/Security/RadioBlock.js +38 -0
  186. package/dist/Security/api.js +12 -0
  187. package/dist/Security/constants.js +58 -0
  188. package/dist/Security/index.js +68 -0
  189. package/dist/Security/useSecurityApi.js +22 -0
  190. package/dist/Security/utils.js +31 -0
  191. package/dist/SendToFields/FilePicker.js +34 -0
  192. package/dist/SendToFields/constants.js +6 -0
  193. package/dist/SendToFields/index.js +102 -0
  194. package/dist/SendToFields/utils.js +54 -0
  195. package/dist/Settings/Category.js +30 -0
  196. package/dist/Settings/Item.js +38 -0
  197. package/dist/Settings/index.js +37 -0
  198. package/dist/Settings/utils.js +4 -0
  199. package/dist/ShareViaEmail/EmailBodyEditor.js +22 -0
  200. package/dist/ShareViaEmail/FilePicker.js +43 -0
  201. package/dist/ShareViaEmail/Form.js +101 -0
  202. package/dist/ShareViaEmail/FormikDatePicker.js +24 -0
  203. package/dist/ShareViaEmail/constants.js +14 -0
  204. package/dist/ShareViaEmail/index.js +89 -0
  205. package/dist/ShareViaEmail/utils.js +72 -0
  206. package/dist/ShareViaLink/EditURL.js +74 -0
  207. package/dist/ShareViaLink/Link.js +105 -0
  208. package/dist/ShareViaLink/QRCode.js +41 -0
  209. package/dist/ShareViaLink/RegenerateURL.js +47 -0
  210. package/dist/ShareViaLink/SocialMedia.js +52 -0
  211. package/dist/ShareViaLink/constants.js +25 -0
  212. package/dist/ShareViaLink/edit-url.scss +8 -0
  213. package/dist/ShareViaLink/index.js +46 -0
  214. package/dist/ShareViaLink/utils.js +47 -0
  215. package/dist/Sidebar/AppSwitcher/AppLink.js +45 -0
  216. package/dist/Sidebar/AppSwitcher/Backdrop.js +13 -0
  217. package/dist/Sidebar/AppSwitcher/Body.js +65 -0
  218. package/dist/Sidebar/AppSwitcher/Portal.js +27 -0
  219. package/dist/Sidebar/AppSwitcher/appswitcher.scss +164 -0
  220. package/dist/Sidebar/AppSwitcher/index.js +47 -0
  221. package/dist/Sidebar/AppSwitcher/utils.js +25 -0
  222. package/dist/Sidebar/Chevron.js +14 -0
  223. package/dist/Sidebar/FeaturedTooltip.js +19 -0
  224. package/dist/Sidebar/Footer/AppSwitcherButton.js +48 -0
  225. package/dist/Sidebar/Footer/ProfileButton.js +30 -0
  226. package/dist/Sidebar/Footer/index.js +56 -0
  227. package/dist/Sidebar/Footer/utils.js +39 -0
  228. package/dist/Sidebar/Header.js +33 -0
  229. package/dist/Sidebar/HelpSection/HelpSectionMenu.js +52 -0
  230. package/dist/Sidebar/HelpSection/index.js +32 -0
  231. package/dist/Sidebar/Links.js +112 -0
  232. package/dist/Sidebar/NavIconWrapper.js +20 -0
  233. package/dist/Sidebar/ProfileSection/LinkSection.js +36 -0
  234. package/dist/Sidebar/ProfileSection/ProfileMenu.js +48 -0
  235. package/dist/Sidebar/ProfileSection/index.js +42 -0
  236. package/dist/Sidebar/constants.js +40 -0
  237. package/dist/Sidebar/index.js +94 -0
  238. package/dist/Sidebar/sidebar.scss +379 -0
  239. package/dist/Sidebar/utils.js +18 -0
  240. package/dist/SubHeader/RightBlock/Columns.js +35 -0
  241. package/dist/SubHeader/RightBlock/Download.js +28 -0
  242. package/dist/SubHeader/RightBlock/Filter.js +31 -0
  243. package/dist/SubHeader/RightBlock/index.js +21 -0
  244. package/dist/SubHeader/RightBlock/utils.js +13 -0
  245. package/dist/SubHeader/index.js +28 -0
  246. package/dist/SubHeader/subheader.scss +78 -0
  247. package/dist/TableWrapper/index.js +18 -0
  248. package/dist/ThemeSidebar/Customize/Logo.js +39 -0
  249. package/dist/ThemeSidebar/Customize/Properties.js +170 -0
  250. package/dist/ThemeSidebar/Customize/index.js +66 -0
  251. package/dist/ThemeSidebar/Themes/ThemeCard.js +135 -0
  252. package/dist/ThemeSidebar/Themes/index.js +110 -0
  253. package/dist/ThemeSidebar/TitleBar.js +62 -0
  254. package/dist/ThemeSidebar/constants.js +127 -0
  255. package/dist/ThemeSidebar/fields/AlignmentBlock.js +50 -0
  256. package/dist/ThemeSidebar/fields/Card.js +19 -0
  257. package/dist/ThemeSidebar/fields/ColorBlock.js +19 -0
  258. package/dist/ThemeSidebar/fields/FontPickerBlock.js +35 -0
  259. package/dist/ThemeSidebar/fields/ImageBlock/ImageUploader.js +67 -0
  260. package/dist/ThemeSidebar/fields/ImageBlock/ProgressBar.js +22 -0
  261. package/dist/ThemeSidebar/fields/ImageBlock/index.js +55 -0
  262. package/dist/ThemeSidebar/fields/SelectBlock.js +24 -0
  263. package/dist/ThemeSidebar/fields/SliderBlock.js +30 -0
  264. package/dist/ThemeSidebar/fields/SwitchBlock.js +17 -0
  265. package/dist/ThemeSidebar/fields/TextBlock.js +13 -0
  266. package/dist/ThemeSidebar/fields/slider.scss +199 -0
  267. package/dist/ThemeSidebar/hooks/useDirectUploadDropzone.js +149 -0
  268. package/dist/ThemeSidebar/index.js +118 -0
  269. package/dist/ThemeSidebar/themeSidebar.scss +45 -0
  270. package/dist/ThemeSidebar/utils.js +169 -0
  271. package/dist/TimeFormat/index.js +3 -0
  272. package/dist/TimezoneMismatchModal/apis/time_zone.js +9 -0
  273. package/dist/TimezoneMismatchModal/index.js +83 -0
  274. package/dist/TimezoneMismatchModal/useTimeZoneApi.js +10 -0
  275. package/dist/TimezoneMismatchModal/utils.js +12 -0
  276. package/dist/ToggleFeatureCard/ToolTipSwitch.js +31 -0
  277. package/dist/ToggleFeatureCard/constants.js +5 -0
  278. package/dist/ToggleFeatureCard/hooks/useScrollIntoView.js +11 -0
  279. package/dist/ToggleFeatureCard/index.js +148 -0
  280. package/dist/ToggleFeatureCard/toggleFeatureCard.scss +4 -0
  281. package/package.json +28 -34
  282. package/src/translations/en.json +5 -1
  283. package/types/Search.d.ts +19 -0
  284. package/dist/AutoSaveInput.cjs.js +0 -724
  285. package/dist/AutoSaveInput.cjs.js.map +0 -1
  286. package/dist/AutoSaveInput.js +0 -718
  287. package/dist/AutoSaveInput.js.map +0 -1
  288. package/dist/Breadcrumbs.cjs.js +0 -44
  289. package/dist/Breadcrumbs.cjs.js.map +0 -1
  290. package/dist/Breadcrumbs.js +0 -38
  291. package/dist/Breadcrumbs.js.map +0 -1
  292. package/dist/BrowserSupport.cjs.js +0 -1731
  293. package/dist/BrowserSupport.cjs.js.map +0 -1
  294. package/dist/BrowserSupport.js +0 -1725
  295. package/dist/BrowserSupport.js.map +0 -1
  296. package/dist/CalendarView.cjs.js +0 -610
  297. package/dist/CalendarView.cjs.js.map +0 -1
  298. package/dist/CalendarView.js +0 -598
  299. package/dist/CalendarView.js.map +0 -1
  300. package/dist/Codeblock.cjs.js +0 -302
  301. package/dist/Codeblock.cjs.js.map +0 -1
  302. package/dist/Codeblock.js +0 -296
  303. package/dist/Codeblock.js.map +0 -1
  304. package/dist/Columns.cjs.js +0 -248
  305. package/dist/Columns.cjs.js.map +0 -1
  306. package/dist/Columns.js.map +0 -1
  307. package/dist/ConfirmationModal.cjs.js +0 -87
  308. package/dist/ConfirmationModal.cjs.js.map +0 -1
  309. package/dist/ConfirmationModal.js.map +0 -1
  310. package/dist/Container.cjs.js +0 -1277
  311. package/dist/Container.cjs.js.map +0 -1
  312. package/dist/Container.js +0 -1271
  313. package/dist/Container.js.map +0 -1
  314. package/dist/CopyToClipboardButton.cjs.js +0 -275
  315. package/dist/CopyToClipboardButton.cjs.js.map +0 -1
  316. package/dist/CopyToClipboardButton.js +0 -269
  317. package/dist/CopyToClipboardButton.js.map +0 -1
  318. package/dist/CustomDomain.cjs.js +0 -774
  319. package/dist/CustomDomain.cjs.js.map +0 -1
  320. package/dist/CustomDomain.js +0 -747
  321. package/dist/CustomDomain.js.map +0 -1
  322. package/dist/CustomDomainDashboard.cjs.js +0 -2370
  323. package/dist/CustomDomainDashboard.cjs.js.map +0 -1
  324. package/dist/CustomDomainDashboard.js +0 -2342
  325. package/dist/CustomDomainDashboard.js.map +0 -1
  326. package/dist/DateFormat.cjs.js +0 -51
  327. package/dist/DateFormat.cjs.js.map +0 -1
  328. package/dist/DateFormat.js.map +0 -1
  329. package/dist/DateRangeFilter.cjs.js +0 -236
  330. package/dist/DateRangeFilter.cjs.js.map +0 -1
  331. package/dist/DateRangeFilter.js +0 -229
  332. package/dist/DateRangeFilter.js.map +0 -1
  333. package/dist/DynamicVariables.cjs.js +0 -189
  334. package/dist/DynamicVariables.cjs.js.map +0 -1
  335. package/dist/DynamicVariables.js +0 -183
  336. package/dist/DynamicVariables.js.map +0 -1
  337. package/dist/EmailForm.cjs.js +0 -4295
  338. package/dist/EmailForm.cjs.js.map +0 -1
  339. package/dist/EmailForm.js +0 -4265
  340. package/dist/EmailForm.js.map +0 -1
  341. package/dist/EmailPreview.cjs.js +0 -1419
  342. package/dist/EmailPreview.cjs.js.map +0 -1
  343. package/dist/EmailPreview.js +0 -1413
  344. package/dist/EmailPreview.js.map +0 -1
  345. package/dist/ErrorPage.cjs.js +0 -226
  346. package/dist/ErrorPage.cjs.js.map +0 -1
  347. package/dist/ErrorPage.js.map +0 -1
  348. package/dist/Header.cjs.js +0 -188
  349. package/dist/Header.cjs.js.map +0 -1
  350. package/dist/Header.js +0 -182
  351. package/dist/Header.js.map +0 -1
  352. package/dist/IconPicker.cjs.js +0 -1308
  353. package/dist/IconPicker.cjs.js.map +0 -1
  354. package/dist/IconPicker.js +0 -1302
  355. package/dist/IconPicker.js.map +0 -1
  356. package/dist/ImageWithFallback.cjs.js +0 -247
  357. package/dist/ImageWithFallback.cjs.js.map +0 -1
  358. package/dist/ImageWithFallback.js +0 -241
  359. package/dist/ImageWithFallback.js.map +0 -1
  360. package/dist/IntegrationCard.cjs.js +0 -409
  361. package/dist/IntegrationCard.cjs.js.map +0 -1
  362. package/dist/IntegrationCard.js +0 -403
  363. package/dist/IntegrationCard.js.map +0 -1
  364. package/dist/IntegrationDisconnectAlert.cjs.js +0 -89
  365. package/dist/IntegrationDisconnectAlert.cjs.js.map +0 -1
  366. package/dist/IntegrationDisconnectAlert.js +0 -80
  367. package/dist/IntegrationDisconnectAlert.js.map +0 -1
  368. package/dist/IntegrationWalkthroughModal.cjs.js +0 -50
  369. package/dist/IntegrationWalkthroughModal.cjs.js.map +0 -1
  370. package/dist/IntegrationWalkthroughModal.js.map +0 -1
  371. package/dist/IpRestriction.cjs.js +0 -3931
  372. package/dist/IpRestriction.cjs.js.map +0 -1
  373. package/dist/IpRestriction.js +0 -3905
  374. package/dist/IpRestriction.js.map +0 -1
  375. package/dist/KeyboardShortcuts.cjs.js +0 -2263
  376. package/dist/KeyboardShortcuts.cjs.js.map +0 -1
  377. package/dist/KeyboardShortcuts.js +0 -2256
  378. package/dist/KeyboardShortcuts.js.map +0 -1
  379. package/dist/LoginPage.cjs.js +0 -618
  380. package/dist/LoginPage.cjs.js.map +0 -1
  381. package/dist/LoginPage.js +0 -593
  382. package/dist/LoginPage.js.map +0 -1
  383. package/dist/MenuBar.cjs.js +0 -34273
  384. package/dist/MenuBar.cjs.js.map +0 -1
  385. package/dist/MenuBar.js +0 -34267
  386. package/dist/MenuBar.js.map +0 -1
  387. package/dist/Metadata.cjs.js +0 -272
  388. package/dist/Metadata.cjs.js.map +0 -1
  389. package/dist/Metadata.js +0 -266
  390. package/dist/Metadata.js.map +0 -1
  391. package/dist/MoreDropdown.cjs.js +0 -168
  392. package/dist/MoreDropdown.cjs.js.map +0 -1
  393. package/dist/MoreDropdown.js.map +0 -1
  394. package/dist/NavigationHeader.cjs.js +0 -756
  395. package/dist/NavigationHeader.cjs.js.map +0 -1
  396. package/dist/NavigationHeader.js +0 -750
  397. package/dist/NavigationHeader.js.map +0 -1
  398. package/dist/NeetoWidget.cjs.js +0 -3375
  399. package/dist/NeetoWidget.cjs.js.map +0 -1
  400. package/dist/NeetoWidget.js +0 -3348
  401. package/dist/NeetoWidget.js.map +0 -1
  402. package/dist/PageLoader.cjs.js +0 -158
  403. package/dist/PageLoader.cjs.js.map +0 -1
  404. package/dist/PageLoader.js +0 -134
  405. package/dist/PageLoader.js.map +0 -1
  406. package/dist/PhoneNumber.cjs.js +0 -7021
  407. package/dist/PhoneNumber.cjs.js.map +0 -1
  408. package/dist/PhoneNumber.js +0 -6989
  409. package/dist/PhoneNumber.js.map +0 -1
  410. package/dist/PublishBlock.cjs.js +0 -224
  411. package/dist/PublishBlock.cjs.js.map +0 -1
  412. package/dist/PublishBlock.js +0 -218
  413. package/dist/PublishBlock.js.map +0 -1
  414. package/dist/Rename.cjs.js +0 -516
  415. package/dist/Rename.cjs.js.map +0 -1
  416. package/dist/Rename.js +0 -510
  417. package/dist/Rename.js.map +0 -1
  418. package/dist/ResponsiveDevicePicker.cjs.js +0 -260
  419. package/dist/ResponsiveDevicePicker.cjs.js.map +0 -1
  420. package/dist/ResponsiveDevicePicker.js +0 -254
  421. package/dist/ResponsiveDevicePicker.js.map +0 -1
  422. package/dist/Schedule.cjs.js +0 -1077
  423. package/dist/Schedule.cjs.js.map +0 -1
  424. package/dist/Schedule.js +0 -1046
  425. package/dist/Schedule.js.map +0 -1
  426. package/dist/Scrollable.cjs.js +0 -188
  427. package/dist/Scrollable.cjs.js.map +0 -1
  428. package/dist/Scrollable.js +0 -182
  429. package/dist/Scrollable.js.map +0 -1
  430. package/dist/Security.cjs.js +0 -1921
  431. package/dist/Security.cjs.js.map +0 -1
  432. package/dist/Security.js +0 -1895
  433. package/dist/Security.js.map +0 -1
  434. package/dist/SendToFields.cjs.js +0 -2524
  435. package/dist/SendToFields.cjs.js.map +0 -1
  436. package/dist/SendToFields.js +0 -2517
  437. package/dist/SendToFields.js.map +0 -1
  438. package/dist/Settings.cjs.js +0 -501
  439. package/dist/Settings.cjs.js.map +0 -1
  440. package/dist/Settings.js +0 -495
  441. package/dist/Settings.js.map +0 -1
  442. package/dist/ShareViaEmail.cjs.js +0 -4272
  443. package/dist/ShareViaEmail.cjs.js.map +0 -1
  444. package/dist/ShareViaEmail.js +0 -4246
  445. package/dist/ShareViaEmail.js.map +0 -1
  446. package/dist/ShareViaLink.cjs.js +0 -1512
  447. package/dist/ShareViaLink.cjs.js.map +0 -1
  448. package/dist/ShareViaLink.js +0 -1486
  449. package/dist/ShareViaLink.js.map +0 -1
  450. package/dist/Sidebar.cjs.js +0 -34985
  451. package/dist/Sidebar.cjs.js.map +0 -1
  452. package/dist/Sidebar.js +0 -34959
  453. package/dist/Sidebar.js.map +0 -1
  454. package/dist/SubHeader.cjs.js +0 -283
  455. package/dist/SubHeader.cjs.js.map +0 -1
  456. package/dist/SubHeader.js +0 -276
  457. package/dist/SubHeader.js.map +0 -1
  458. package/dist/TableWrapper.cjs.js +0 -87
  459. package/dist/TableWrapper.cjs.js.map +0 -1
  460. package/dist/TableWrapper.js +0 -81
  461. package/dist/TableWrapper.js.map +0 -1
  462. package/dist/ThemeSidebar.cjs.js +0 -13705
  463. package/dist/ThemeSidebar.cjs.js.map +0 -1
  464. package/dist/ThemeSidebar.js +0 -13680
  465. package/dist/ThemeSidebar.js.map +0 -1
  466. package/dist/TimeFormat.cjs.js +0 -53
  467. package/dist/TimeFormat.cjs.js.map +0 -1
  468. package/dist/TimeFormat.js +0 -47
  469. package/dist/TimeFormat.js.map +0 -1
  470. package/dist/TimezoneMismatchModal.cjs.js +0 -176
  471. package/dist/TimezoneMismatchModal.cjs.js.map +0 -1
  472. package/dist/TimezoneMismatchModal.js +0 -168
  473. package/dist/TimezoneMismatchModal.js.map +0 -1
  474. package/dist/ToggleFeatureCard.cjs.js +0 -389
  475. package/dist/ToggleFeatureCard.cjs.js.map +0 -1
  476. package/dist/ToggleFeatureCard.js +0 -383
  477. package/dist/ToggleFeatureCard.js.map +0 -1
@@ -1,1512 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var pure = require('@bigbinary/neeto-commons-frontend/pure');
5
- var neetoIcons = require('@bigbinary/neeto-icons');
6
- var CopyToClipboardButton = require('@bigbinary/neeto-molecules/CopyToClipboardButton');
7
- var neetoui = require('@bigbinary/neetoui');
8
- var reactI18next = require('react-i18next');
9
- var ramda = require('ramda');
10
- var formik = require('formik');
11
- var formik$1 = require('@bigbinary/neetoui/formik');
12
- var i18next = require('i18next');
13
- var yup = require('yup');
14
- var utils = require('@bigbinary/neeto-commons-frontend/utils');
15
-
16
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
-
18
- function _interopNamespace(e) {
19
- if (e && e.__esModule) return e;
20
- var n = Object.create(null);
21
- if (e) {
22
- Object.keys(e).forEach(function (k) {
23
- if (k !== 'default') {
24
- var d = Object.getOwnPropertyDescriptor(e, k);
25
- Object.defineProperty(n, k, d.get ? d : {
26
- enumerable: true,
27
- get: function () { return e[k]; }
28
- });
29
- }
30
- });
31
- }
32
- n["default"] = e;
33
- return Object.freeze(n);
34
- }
35
-
36
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
37
- var CopyToClipboardButton__default = /*#__PURE__*/_interopDefaultLegacy(CopyToClipboardButton);
38
- var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
39
-
40
- function _arrayWithHoles(arr) {
41
- if (Array.isArray(arr)) return arr;
42
- }
43
-
44
- function _iterableToArrayLimit(arr, i) {
45
- var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
46
- if (null != _i) {
47
- var _s,
48
- _e,
49
- _x,
50
- _r,
51
- _arr = [],
52
- _n = !0,
53
- _d = !1;
54
- try {
55
- if (_x = (_i = _i.call(arr)).next, 0 === i) {
56
- if (Object(_i) !== _i) return;
57
- _n = !1;
58
- } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
59
- } catch (err) {
60
- _d = !0, _e = err;
61
- } finally {
62
- try {
63
- if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
64
- } finally {
65
- if (_d) throw _e;
66
- }
67
- }
68
- return _arr;
69
- }
70
- }
71
-
72
- function _arrayLikeToArray(arr, len) {
73
- if (len == null || len > arr.length) len = arr.length;
74
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
75
- return arr2;
76
- }
77
-
78
- function _unsupportedIterableToArray(o, minLen) {
79
- if (!o) return;
80
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
81
- var n = Object.prototype.toString.call(o).slice(8, -1);
82
- if (n === "Object" && o.constructor) n = o.constructor.name;
83
- if (n === "Map" || n === "Set") return Array.from(o);
84
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
85
- }
86
-
87
- function _nonIterableRest() {
88
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
89
- }
90
-
91
- function _slicedToArray(arr, i) {
92
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
93
- }
94
-
95
- function _objectWithoutPropertiesLoose(source, excluded) {
96
- if (source == null) return {};
97
- var target = {};
98
- var sourceKeys = Object.keys(source);
99
- var key, i;
100
- for (i = 0; i < sourceKeys.length; i++) {
101
- key = sourceKeys[i];
102
- if (excluded.indexOf(key) >= 0) continue;
103
- target[key] = source[key];
104
- }
105
- return target;
106
- }
107
-
108
- function _objectWithoutProperties(source, excluded) {
109
- if (source == null) return {};
110
- var target = _objectWithoutPropertiesLoose(source, excluded);
111
- var key, i;
112
- if (Object.getOwnPropertySymbols) {
113
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
114
- for (i = 0; i < sourceSymbolKeys.length; i++) {
115
- key = sourceSymbolKeys[i];
116
- if (excluded.indexOf(key) >= 0) continue;
117
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
118
- target[key] = source[key];
119
- }
120
- }
121
- return target;
122
- }
123
-
124
- function _typeof(obj) {
125
- "@babel/helpers - typeof";
126
-
127
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
128
- return typeof obj;
129
- } : function (obj) {
130
- return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
131
- }, _typeof(obj);
132
- }
133
-
134
- function _toPrimitive(input, hint) {
135
- if (_typeof(input) !== "object" || input === null) return input;
136
- var prim = input[Symbol.toPrimitive];
137
- if (prim !== undefined) {
138
- var res = prim.call(input, hint || "default");
139
- if (_typeof(res) !== "object") return res;
140
- throw new TypeError("@@toPrimitive must return a primitive value.");
141
- }
142
- return (hint === "string" ? String : Number)(input);
143
- }
144
-
145
- function _toPropertyKey(arg) {
146
- var key = _toPrimitive(arg, "string");
147
- return _typeof(key) === "symbol" ? key : String(key);
148
- }
149
-
150
- function _defineProperty(obj, key, value) {
151
- key = _toPropertyKey(key);
152
- if (key in obj) {
153
- Object.defineProperty(obj, key, {
154
- value: value,
155
- enumerable: true,
156
- configurable: true,
157
- writable: true
158
- });
159
- } else {
160
- obj[key] = value;
161
- }
162
- return obj;
163
- }
164
-
165
- function _extends() {
166
- _extends = Object.assign ? Object.assign.bind() : function (target) {
167
- for (var i = 1; i < arguments.length; i++) {
168
- var source = arguments[i];
169
- for (var key in source) {
170
- if (Object.prototype.hasOwnProperty.call(source, key)) {
171
- target[key] = source[key];
172
- }
173
- }
174
- }
175
- return target;
176
- };
177
- return _extends.apply(this, arguments);
178
- }
179
-
180
- var MENU_ITEM_TYPES = {
181
- menuItem: "menuItem",
182
- divider: "divider"
183
- };
184
- var DEFAULT_TOOLTIP_PROPS = {
185
- disabled: true,
186
- position: "bottom"
187
- };
188
-
189
- var _excluded = ["key", "onClick", "label", "type", "isVisible"];
190
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
191
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
192
- var Menu = neetoui.Dropdown.Menu,
193
- MenuItem = neetoui.Dropdown.MenuItem,
194
- Divider = neetoui.Dropdown.Divider;
195
- var MoreDropdown = function MoreDropdown(_ref) {
196
- var _ref$dropdownButtonPr = _ref.dropdownButtonProps,
197
- dropdownButtonProps = _ref$dropdownButtonPr === void 0 ? {} : _ref$dropdownButtonPr,
198
- _ref$isVertical = _ref.isVertical,
199
- isVertical = _ref$isVertical === void 0 ? false : _ref$isVertical,
200
- _ref$isDisabled = _ref.isDisabled,
201
- isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
202
- _ref$dropdownProps = _ref.dropdownProps,
203
- dropdownProps = _ref$dropdownProps === void 0 ? {} : _ref$dropdownProps,
204
- menuTopChildren = _ref.menuTopChildren,
205
- menuBottomChildren = _ref.menuBottomChildren,
206
- _ref$menuItems = _ref.menuItems,
207
- menuItems = _ref$menuItems === void 0 ? [] : _ref$menuItems;
208
- var tooltipProps = ramda.mergeRight(DEFAULT_TOOLTIP_PROPS, dropdownButtonProps.tooltipProps);
209
- var targetIcon = isVertical ? neetoIcons.MenuVertical : neetoIcons.MenuHorizontal;
210
- var isDropdownDisabled = isDisabled || dropdownProps.disabled;
211
- if (isDropdownDisabled && !tooltipProps.disabled) {
212
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, tooltipProps, /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, _extends({
213
- disabled: true,
214
- "data-testid": "nui-dropdown-button",
215
- icon: targetIcon,
216
- iconPosition: "right",
217
- size: "medium",
218
- style: "text"
219
- }, dropdownButtonProps))));
220
- }
221
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, _extends({
222
- autoWidth: true,
223
- className: "flex",
224
- disabled: isDisabled,
225
- icon: targetIcon,
226
- buttonProps: _objectSpread({
227
- className: "min-h-0 flex-shrink-0",
228
- style: "text"
229
- }, dropdownButtonProps)
230
- }, dropdownProps), /*#__PURE__*/React__default["default"].createElement(Menu, null, menuTopChildren, menuItems.map(function (_ref2) {
231
- var key = _ref2.key,
232
- onClick = _ref2.onClick,
233
- label = _ref2.label,
234
- _ref2$type = _ref2.type,
235
- type = _ref2$type === void 0 ? MENU_ITEM_TYPES.menuItem : _ref2$type,
236
- _ref2$isVisible = _ref2.isVisible,
237
- isVisible = _ref2$isVisible === void 0 ? true : _ref2$isVisible,
238
- menuItemProps = _objectWithoutProperties(_ref2, _excluded);
239
- if (!isVisible) return null;
240
- return type === MENU_ITEM_TYPES.menuItem ? /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, _extends({
241
- key: key
242
- }, _objectSpread({
243
- onClick: onClick
244
- }, menuItemProps)), label) : /*#__PURE__*/React__default["default"].createElement(Divider, {
245
- key: key
246
- });
247
- }), menuBottomChildren));
248
- };
249
-
250
- var facebookShareLink = function facebookShareLink(_ref) {
251
- var id = _ref.id;
252
- return utils.buildUrl("https://www.facebook.com/sharer/sharer.php", {
253
- u: "https://".concat(window.location.host, "/").concat(id)
254
- });
255
- };
256
- var linkedInShareLink = function linkedInShareLink(_ref2) {
257
- var id = _ref2.id,
258
- title = _ref2.title;
259
- return utils.buildUrl("https://www.linkedin.com/shareArticle", {
260
- mini: true,
261
- url: "https://".concat(window.location.host, "/").concat(id),
262
- title: title
263
- });
264
- };
265
- var twitterShareLink = function twitterShareLink(_ref3) {
266
- var id = _ref3.id,
267
- title = _ref3.title;
268
- return utils.buildUrl("http://twitter.com/share", {
269
- text: title,
270
- url: "https://".concat(window.location.host, "/").concat(id)
271
- });
272
- };
273
- var downloadCanvas = function downloadCanvas(canvas) {
274
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
275
- var _options$name = options.name,
276
- name = _options$name === void 0 ? "image" : _options$name,
277
- _options$extension = options.extension,
278
- extension = _options$extension === void 0 ? "png" : _options$extension;
279
- var canvasUrl = canvas.toDataURL("image/".concat(extension));
280
- var element = document.createElement("a");
281
- element.href = canvasUrl;
282
- element.download = "".concat(name, ".").concat(extension);
283
- element.click();
284
- element.remove();
285
- };
286
- var getPathname = function getPathname(url) {
287
- return new URL(url).pathname.slice(1);
288
- };
289
- var getPrefixFromUrl = function getPrefixFromUrl(url) {
290
- return "".concat(new URL(url).origin, "/");
291
- };
292
- var truncatePrefix = function truncatePrefix(url) {
293
- return url.length > MAX_PREFIX_SIZE ? "...".concat(url.slice(-MAX_PREFIX_SIZE)) : url;
294
- };
295
-
296
- var SOCIAL_MEDIA_OPTIONS = {
297
- FACEBOOK: {
298
- label: i18next.t("neetoMolecules.shareViaLink.socialMediaShare.facebook"),
299
- icon: neetoIcons.Facebook,
300
- generateShareUrl: facebookShareLink
301
- },
302
- LINKEDIN: {
303
- label: i18next.t("neetoMolecules.shareViaLink.socialMediaShare.linkedIn"),
304
- icon: neetoIcons.Linkedin,
305
- generateShareUrl: linkedInShareLink
306
- },
307
- TWITTER: {
308
- label: i18next.t("neetoMolecules.shareViaLink.socialMediaShare.twitter"),
309
- icon: neetoIcons.Twitter,
310
- generateShareUrl: twitterShareLink
311
- }
312
- };
313
- var PATH_VALIDATION_SCHEMA = yup__namespace.object().shape({
314
- path: yup__namespace.string().required(i18next.t("neetoMolecules.shareViaLink.editUrl.validationError")).matches(/^[A-Za-z0-9]([\w/-])*$/, i18next.t("neetoMolecules.shareViaLink.editUrl.validationError"))
315
- });
316
- var MAX_PREFIX_SIZE = 30;
317
-
318
- var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
319
-
320
- var css = ".no-padding .neeto-ui-input.neeto-ui-input--medium input{padding:0}.no-padding .neeto-ui-input__prefix{color:rgb(var(--neeto-ui-gray-600))!important}";
321
- n(css,{});
322
-
323
- var EditURL = function EditURL(_ref) {
324
- var editUrlProps = _ref.editUrlProps,
325
- isOpen = _ref.isOpen,
326
- onClose = _ref.onClose,
327
- url = _ref.url,
328
- isLoading = _ref.isLoading,
329
- handleEdit = _ref.handleEdit;
330
- var _useTranslation = reactI18next.useTranslation(),
331
- t = _useTranslation.t;
332
- var focusRef = React.useRef(null);
333
- var handleSubmit = function handleSubmit(values) {
334
- handleEdit(values.path);
335
- onClose();
336
- };
337
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Modal, {
338
- "data-testid": "edit-url-modal",
339
- initialFocusRef: focusRef,
340
- isOpen: isOpen,
341
- onClose: onClose
342
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
343
- lineHeight: "normal",
344
- style: "h2",
345
- weight: "semibold"
346
- }, t("neetoMolecules.shareViaLink.editUrl.title"))), /*#__PURE__*/React__default["default"].createElement(formik.Formik, {
347
- enableReinitialize: true,
348
- initialValues: {
349
- path: (editUrlProps === null || editUrlProps === void 0 ? void 0 : editUrlProps.editablePath) || getPathname(url)
350
- },
351
- validationSchema: PATH_VALIDATION_SCHEMA,
352
- onSubmit: handleSubmit
353
- }, function (_ref2) {
354
- var isSubmitting = _ref2.isSubmitting,
355
- dirty = _ref2.dirty;
356
- return /*#__PURE__*/React__default["default"].createElement(formik.Form, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, {
357
- className: "w-full space-y-6"
358
- }, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
359
- className: "no-padding",
360
- "data-testid": "edit-url-input",
361
- label: t("neetoMolecules.shareViaLink.editUrl.inputLabel"),
362
- maxLength: editUrlProps === null || editUrlProps === void 0 ? void 0 : editUrlProps.maxLength,
363
- name: "path",
364
- ref: focusRef,
365
- prefix: truncatePrefix((editUrlProps === null || editUrlProps === void 0 ? void 0 : editUrlProps.prefix) || getPrefixFromUrl(url))
366
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
367
- className: "neeto-ui-text-gray-700",
368
- lineHeight: "normal",
369
- style: "body2"
370
- }, t("neetoMolecules.shareViaLink.editUrl.description"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Footer, {
371
- className: "space-x-2"
372
- }, /*#__PURE__*/React__default["default"].createElement(formik$1.Button, {
373
- "data-testid": "edit-url-confirm-button",
374
- disabled: isSubmitting || !dirty,
375
- loading: isLoading,
376
- type: "submit",
377
- label: t("neetoMolecules.shareViaLink.editUrl.submitButtonLabel")
378
- }), /*#__PURE__*/React__default["default"].createElement(formik$1.Button, {
379
- "data-testid": "edit-url-cancel-button",
380
- disabled: isSubmitting,
381
- style: "text",
382
- type: "reset",
383
- label: t("neetoMolecules.shareViaLink.editUrl.cancelButtonLabel"),
384
- onClick: onClose
385
- })));
386
- }));
387
- };
388
-
389
- var RegenerateURL = function RegenerateURL(_ref) {
390
- var isOpen = _ref.isOpen,
391
- onClose = _ref.onClose,
392
- url = _ref.url,
393
- isLoading = _ref.isLoading,
394
- handleRegenerate = _ref.handleRegenerate;
395
- var _useTranslation = reactI18next.useTranslation(),
396
- t = _useTranslation.t;
397
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Modal, {
398
- "data-testid": "regenerate-url-modal",
399
- isOpen: isOpen,
400
- onClose: onClose
401
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
402
- lineHeight: "normal",
403
- style: "h2",
404
- weight: "semibold"
405
- }, t("neetoMolecules.shareViaLink.regenerateUrl.title"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Body, null, /*#__PURE__*/React__default["default"].createElement("div", {
406
- className: "w-full space-y-6"
407
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
408
- disabled: true,
409
- label: t("neetoMolecules.shareViaLink.regenerateUrl.inputLabel"),
410
- value: url
411
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
412
- className: "neeto-ui-text-gray-700",
413
- lineHeight: "normal",
414
- style: "body2"
415
- }, t("neetoMolecules.shareViaLink.regenerateUrl.description")))), /*#__PURE__*/React__default["default"].createElement(neetoui.Modal.Footer, {
416
- className: "space-x-2"
417
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
418
- "data-testid": "regenerate-url-confirm-button",
419
- loading: isLoading,
420
- label: t("neetoMolecules.shareViaLink.regenerateUrl.submitButtonLabel"),
421
- onClick: function onClick() {
422
- handleRegenerate();
423
- onClose();
424
- }
425
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
426
- "data-testid": "regenerate-url-cancel-button",
427
- style: "text",
428
- label: t("neetoMolecules.shareViaLink.regenerateUrl.cancelButtonLabel"),
429
- onClick: onClose
430
- })));
431
- };
432
-
433
- var Link = function Link(_ref) {
434
- var editUrlProps = _ref.editUrlProps,
435
- enabledOptions = _ref.enabledOptions,
436
- entityName = _ref.entityName,
437
- handleEdit = _ref.handleEdit,
438
- handleRegenerate = _ref.handleRegenerate,
439
- isLoading = _ref.isLoading,
440
- previewUrl = _ref.previewUrl,
441
- url = _ref.url;
442
- var _useState = React.useState(false),
443
- _useState2 = _slicedToArray(_useState, 2),
444
- isRegenerateURLModalOpen = _useState2[0],
445
- setIsRegenerateURLModalOpen = _useState2[1];
446
- var _useState3 = React.useState(false),
447
- _useState4 = _slicedToArray(_useState3, 2),
448
- isEditURLModalOpen = _useState4[0],
449
- setIsEditURLModalOpen = _useState4[1];
450
- var _useTranslation = reactI18next.useTranslation(),
451
- t = _useTranslation.t;
452
- var isDropdownEnabled = enabledOptions.regenerate || enabledOptions.edit;
453
- return /*#__PURE__*/React__default["default"].createElement("div", {
454
- className: "space-y-4",
455
- "data-testid": "link-block"
456
- }, /*#__PURE__*/React__default["default"].createElement("div", {
457
- className: "space-y-0.5"
458
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
459
- "data-testid": "link-title",
460
- lineHeight: "normal",
461
- style: "h3",
462
- weight: "semibold"
463
- }, t("neetoMolecules.shareViaLink.title")), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
464
- className: "neeto-ui-text-gray-700",
465
- "data-testid": "link-description",
466
- lineHeight: "normal",
467
- style: "body2"
468
- }, t("neetoMolecules.shareViaLink.description", {
469
- entity: entityName
470
- }))), /*#__PURE__*/React__default["default"].createElement("div", {
471
- className: "flex items-center gap-1"
472
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, {
473
- readOnly: true,
474
- value: url
475
- }), /*#__PURE__*/React__default["default"].createElement(CopyToClipboardButton__default["default"], {
476
- "data-testid": "link-copy-button",
477
- label: t("neetoMolecules.shareViaLink.copyLink"),
478
- value: url
479
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
480
- "data-testid": "preview-button",
481
- href: previewUrl || url,
482
- icon: neetoIcons.ExternalLink,
483
- style: "secondary",
484
- target: "_blank",
485
- tooltipProps: {
486
- content: t("neetoMolecules.shareViaLink.open", {
487
- entity: entityName
488
- }),
489
- position: "top"
490
- }
491
- }), isDropdownEnabled && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(MoreDropdown, {
492
- menuItems: [{
493
- isVisible: enabledOptions.regenerate,
494
- "data-testid": "regenerate-url-button",
495
- onClick: function onClick() {
496
- return setIsRegenerateURLModalOpen(true);
497
- },
498
- label: t("neetoMolecules.shareViaLink.regenerateUrl.title"),
499
- key: "regenerate-url-option"
500
- }, {
501
- isVisible: enabledOptions.edit,
502
- "data-testid": "edit-url-button",
503
- onClick: function onClick() {
504
- return setIsEditURLModalOpen(true);
505
- },
506
- label: t("neetoMolecules.shareViaLink.editUrl.title"),
507
- key: "edit-url-option"
508
- }]
509
- }), /*#__PURE__*/React__default["default"].createElement(RegenerateURL, {
510
- handleRegenerate: handleRegenerate,
511
- isLoading: isLoading,
512
- url: url,
513
- isOpen: isRegenerateURLModalOpen,
514
- onClose: function onClose() {
515
- return setIsRegenerateURLModalOpen(false);
516
- }
517
- }), /*#__PURE__*/React__default["default"].createElement(EditURL, {
518
- editUrlProps: editUrlProps,
519
- handleEdit: handleEdit,
520
- isLoading: isLoading,
521
- url: url,
522
- isOpen: isEditURLModalOpen,
523
- onClose: function onClose() {
524
- return setIsEditURLModalOpen(false);
525
- }
526
- }))));
527
- };
528
-
529
- var __defProp = Object.defineProperty;
530
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
531
- var __hasOwnProp = Object.prototype.hasOwnProperty;
532
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
533
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
534
- var __spreadValues = (a, b) => {
535
- for (var prop in b || (b = {}))
536
- if (__hasOwnProp.call(b, prop))
537
- __defNormalProp(a, prop, b[prop]);
538
- if (__getOwnPropSymbols)
539
- for (var prop of __getOwnPropSymbols(b)) {
540
- if (__propIsEnum.call(b, prop))
541
- __defNormalProp(a, prop, b[prop]);
542
- }
543
- return a;
544
- };
545
- var __objRest = (source, exclude) => {
546
- var target = {};
547
- for (var prop in source)
548
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
549
- target[prop] = source[prop];
550
- if (source != null && __getOwnPropSymbols)
551
- for (var prop of __getOwnPropSymbols(source)) {
552
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
553
- target[prop] = source[prop];
554
- }
555
- return target;
556
- };
557
-
558
- // src/third-party/qrcodegen/index.ts
559
- /**
560
- * @license QR Code generator library (TypeScript)
561
- * Copyright (c) Project Nayuki.
562
- * SPDX-License-Identifier: MIT
563
- */
564
- var qrcodegen;
565
- ((qrcodegen2) => {
566
- const _QrCode = class {
567
- constructor(version, errorCorrectionLevel, dataCodewords, msk) {
568
- this.version = version;
569
- this.errorCorrectionLevel = errorCorrectionLevel;
570
- this.modules = [];
571
- this.isFunction = [];
572
- if (version < _QrCode.MIN_VERSION || version > _QrCode.MAX_VERSION)
573
- throw new RangeError("Version value out of range");
574
- if (msk < -1 || msk > 7)
575
- throw new RangeError("Mask value out of range");
576
- this.size = version * 4 + 17;
577
- let row = [];
578
- for (let i = 0; i < this.size; i++)
579
- row.push(false);
580
- for (let i = 0; i < this.size; i++) {
581
- this.modules.push(row.slice());
582
- this.isFunction.push(row.slice());
583
- }
584
- this.drawFunctionPatterns();
585
- const allCodewords = this.addEccAndInterleave(dataCodewords);
586
- this.drawCodewords(allCodewords);
587
- if (msk == -1) {
588
- let minPenalty = 1e9;
589
- for (let i = 0; i < 8; i++) {
590
- this.applyMask(i);
591
- this.drawFormatBits(i);
592
- const penalty = this.getPenaltyScore();
593
- if (penalty < minPenalty) {
594
- msk = i;
595
- minPenalty = penalty;
596
- }
597
- this.applyMask(i);
598
- }
599
- }
600
- assert(0 <= msk && msk <= 7);
601
- this.mask = msk;
602
- this.applyMask(msk);
603
- this.drawFormatBits(msk);
604
- this.isFunction = [];
605
- }
606
- static encodeText(text, ecl) {
607
- const segs = qrcodegen2.QrSegment.makeSegments(text);
608
- return _QrCode.encodeSegments(segs, ecl);
609
- }
610
- static encodeBinary(data, ecl) {
611
- const seg = qrcodegen2.QrSegment.makeBytes(data);
612
- return _QrCode.encodeSegments([seg], ecl);
613
- }
614
- static encodeSegments(segs, ecl, minVersion = 1, maxVersion = 40, mask = -1, boostEcl = true) {
615
- if (!(_QrCode.MIN_VERSION <= minVersion && minVersion <= maxVersion && maxVersion <= _QrCode.MAX_VERSION) || mask < -1 || mask > 7)
616
- throw new RangeError("Invalid value");
617
- let version;
618
- let dataUsedBits;
619
- for (version = minVersion; ; version++) {
620
- const dataCapacityBits2 = _QrCode.getNumDataCodewords(version, ecl) * 8;
621
- const usedBits = QrSegment.getTotalBits(segs, version);
622
- if (usedBits <= dataCapacityBits2) {
623
- dataUsedBits = usedBits;
624
- break;
625
- }
626
- if (version >= maxVersion)
627
- throw new RangeError("Data too long");
628
- }
629
- for (const newEcl of [_QrCode.Ecc.MEDIUM, _QrCode.Ecc.QUARTILE, _QrCode.Ecc.HIGH]) {
630
- if (boostEcl && dataUsedBits <= _QrCode.getNumDataCodewords(version, newEcl) * 8)
631
- ecl = newEcl;
632
- }
633
- let bb = [];
634
- for (const seg of segs) {
635
- appendBits(seg.mode.modeBits, 4, bb);
636
- appendBits(seg.numChars, seg.mode.numCharCountBits(version), bb);
637
- for (const b of seg.getData())
638
- bb.push(b);
639
- }
640
- assert(bb.length == dataUsedBits);
641
- const dataCapacityBits = _QrCode.getNumDataCodewords(version, ecl) * 8;
642
- assert(bb.length <= dataCapacityBits);
643
- appendBits(0, Math.min(4, dataCapacityBits - bb.length), bb);
644
- appendBits(0, (8 - bb.length % 8) % 8, bb);
645
- assert(bb.length % 8 == 0);
646
- for (let padByte = 236; bb.length < dataCapacityBits; padByte ^= 236 ^ 17)
647
- appendBits(padByte, 8, bb);
648
- let dataCodewords = [];
649
- while (dataCodewords.length * 8 < bb.length)
650
- dataCodewords.push(0);
651
- bb.forEach((b, i) => dataCodewords[i >>> 3] |= b << 7 - (i & 7));
652
- return new _QrCode(version, ecl, dataCodewords, mask);
653
- }
654
- getModule(x, y) {
655
- return 0 <= x && x < this.size && 0 <= y && y < this.size && this.modules[y][x];
656
- }
657
- getModules() {
658
- return this.modules;
659
- }
660
- drawFunctionPatterns() {
661
- for (let i = 0; i < this.size; i++) {
662
- this.setFunctionModule(6, i, i % 2 == 0);
663
- this.setFunctionModule(i, 6, i % 2 == 0);
664
- }
665
- this.drawFinderPattern(3, 3);
666
- this.drawFinderPattern(this.size - 4, 3);
667
- this.drawFinderPattern(3, this.size - 4);
668
- const alignPatPos = this.getAlignmentPatternPositions();
669
- const numAlign = alignPatPos.length;
670
- for (let i = 0; i < numAlign; i++) {
671
- for (let j = 0; j < numAlign; j++) {
672
- if (!(i == 0 && j == 0 || i == 0 && j == numAlign - 1 || i == numAlign - 1 && j == 0))
673
- this.drawAlignmentPattern(alignPatPos[i], alignPatPos[j]);
674
- }
675
- }
676
- this.drawFormatBits(0);
677
- this.drawVersion();
678
- }
679
- drawFormatBits(mask) {
680
- const data = this.errorCorrectionLevel.formatBits << 3 | mask;
681
- let rem = data;
682
- for (let i = 0; i < 10; i++)
683
- rem = rem << 1 ^ (rem >>> 9) * 1335;
684
- const bits = (data << 10 | rem) ^ 21522;
685
- assert(bits >>> 15 == 0);
686
- for (let i = 0; i <= 5; i++)
687
- this.setFunctionModule(8, i, getBit(bits, i));
688
- this.setFunctionModule(8, 7, getBit(bits, 6));
689
- this.setFunctionModule(8, 8, getBit(bits, 7));
690
- this.setFunctionModule(7, 8, getBit(bits, 8));
691
- for (let i = 9; i < 15; i++)
692
- this.setFunctionModule(14 - i, 8, getBit(bits, i));
693
- for (let i = 0; i < 8; i++)
694
- this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));
695
- for (let i = 8; i < 15; i++)
696
- this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));
697
- this.setFunctionModule(8, this.size - 8, true);
698
- }
699
- drawVersion() {
700
- if (this.version < 7)
701
- return;
702
- let rem = this.version;
703
- for (let i = 0; i < 12; i++)
704
- rem = rem << 1 ^ (rem >>> 11) * 7973;
705
- const bits = this.version << 12 | rem;
706
- assert(bits >>> 18 == 0);
707
- for (let i = 0; i < 18; i++) {
708
- const color = getBit(bits, i);
709
- const a = this.size - 11 + i % 3;
710
- const b = Math.floor(i / 3);
711
- this.setFunctionModule(a, b, color);
712
- this.setFunctionModule(b, a, color);
713
- }
714
- }
715
- drawFinderPattern(x, y) {
716
- for (let dy = -4; dy <= 4; dy++) {
717
- for (let dx = -4; dx <= 4; dx++) {
718
- const dist = Math.max(Math.abs(dx), Math.abs(dy));
719
- const xx = x + dx;
720
- const yy = y + dy;
721
- if (0 <= xx && xx < this.size && 0 <= yy && yy < this.size)
722
- this.setFunctionModule(xx, yy, dist != 2 && dist != 4);
723
- }
724
- }
725
- }
726
- drawAlignmentPattern(x, y) {
727
- for (let dy = -2; dy <= 2; dy++) {
728
- for (let dx = -2; dx <= 2; dx++)
729
- this.setFunctionModule(x + dx, y + dy, Math.max(Math.abs(dx), Math.abs(dy)) != 1);
730
- }
731
- }
732
- setFunctionModule(x, y, isDark) {
733
- this.modules[y][x] = isDark;
734
- this.isFunction[y][x] = true;
735
- }
736
- addEccAndInterleave(data) {
737
- const ver = this.version;
738
- const ecl = this.errorCorrectionLevel;
739
- if (data.length != _QrCode.getNumDataCodewords(ver, ecl))
740
- throw new RangeError("Invalid argument");
741
- const numBlocks = _QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];
742
- const blockEccLen = _QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver];
743
- const rawCodewords = Math.floor(_QrCode.getNumRawDataModules(ver) / 8);
744
- const numShortBlocks = numBlocks - rawCodewords % numBlocks;
745
- const shortBlockLen = Math.floor(rawCodewords / numBlocks);
746
- let blocks = [];
747
- const rsDiv = _QrCode.reedSolomonComputeDivisor(blockEccLen);
748
- for (let i = 0, k = 0; i < numBlocks; i++) {
749
- let dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));
750
- k += dat.length;
751
- const ecc = _QrCode.reedSolomonComputeRemainder(dat, rsDiv);
752
- if (i < numShortBlocks)
753
- dat.push(0);
754
- blocks.push(dat.concat(ecc));
755
- }
756
- let result = [];
757
- for (let i = 0; i < blocks[0].length; i++) {
758
- blocks.forEach((block, j) => {
759
- if (i != shortBlockLen - blockEccLen || j >= numShortBlocks)
760
- result.push(block[i]);
761
- });
762
- }
763
- assert(result.length == rawCodewords);
764
- return result;
765
- }
766
- drawCodewords(data) {
767
- if (data.length != Math.floor(_QrCode.getNumRawDataModules(this.version) / 8))
768
- throw new RangeError("Invalid argument");
769
- let i = 0;
770
- for (let right = this.size - 1; right >= 1; right -= 2) {
771
- if (right == 6)
772
- right = 5;
773
- for (let vert = 0; vert < this.size; vert++) {
774
- for (let j = 0; j < 2; j++) {
775
- const x = right - j;
776
- const upward = (right + 1 & 2) == 0;
777
- const y = upward ? this.size - 1 - vert : vert;
778
- if (!this.isFunction[y][x] && i < data.length * 8) {
779
- this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));
780
- i++;
781
- }
782
- }
783
- }
784
- }
785
- assert(i == data.length * 8);
786
- }
787
- applyMask(mask) {
788
- if (mask < 0 || mask > 7)
789
- throw new RangeError("Mask value out of range");
790
- for (let y = 0; y < this.size; y++) {
791
- for (let x = 0; x < this.size; x++) {
792
- let invert;
793
- switch (mask) {
794
- case 0:
795
- invert = (x + y) % 2 == 0;
796
- break;
797
- case 1:
798
- invert = y % 2 == 0;
799
- break;
800
- case 2:
801
- invert = x % 3 == 0;
802
- break;
803
- case 3:
804
- invert = (x + y) % 3 == 0;
805
- break;
806
- case 4:
807
- invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 == 0;
808
- break;
809
- case 5:
810
- invert = x * y % 2 + x * y % 3 == 0;
811
- break;
812
- case 6:
813
- invert = (x * y % 2 + x * y % 3) % 2 == 0;
814
- break;
815
- case 7:
816
- invert = ((x + y) % 2 + x * y % 3) % 2 == 0;
817
- break;
818
- default:
819
- throw new Error("Unreachable");
820
- }
821
- if (!this.isFunction[y][x] && invert)
822
- this.modules[y][x] = !this.modules[y][x];
823
- }
824
- }
825
- }
826
- getPenaltyScore() {
827
- let result = 0;
828
- for (let y = 0; y < this.size; y++) {
829
- let runColor = false;
830
- let runX = 0;
831
- let runHistory = [0, 0, 0, 0, 0, 0, 0];
832
- for (let x = 0; x < this.size; x++) {
833
- if (this.modules[y][x] == runColor) {
834
- runX++;
835
- if (runX == 5)
836
- result += _QrCode.PENALTY_N1;
837
- else if (runX > 5)
838
- result++;
839
- } else {
840
- this.finderPenaltyAddHistory(runX, runHistory);
841
- if (!runColor)
842
- result += this.finderPenaltyCountPatterns(runHistory) * _QrCode.PENALTY_N3;
843
- runColor = this.modules[y][x];
844
- runX = 1;
845
- }
846
- }
847
- result += this.finderPenaltyTerminateAndCount(runColor, runX, runHistory) * _QrCode.PENALTY_N3;
848
- }
849
- for (let x = 0; x < this.size; x++) {
850
- let runColor = false;
851
- let runY = 0;
852
- let runHistory = [0, 0, 0, 0, 0, 0, 0];
853
- for (let y = 0; y < this.size; y++) {
854
- if (this.modules[y][x] == runColor) {
855
- runY++;
856
- if (runY == 5)
857
- result += _QrCode.PENALTY_N1;
858
- else if (runY > 5)
859
- result++;
860
- } else {
861
- this.finderPenaltyAddHistory(runY, runHistory);
862
- if (!runColor)
863
- result += this.finderPenaltyCountPatterns(runHistory) * _QrCode.PENALTY_N3;
864
- runColor = this.modules[y][x];
865
- runY = 1;
866
- }
867
- }
868
- result += this.finderPenaltyTerminateAndCount(runColor, runY, runHistory) * _QrCode.PENALTY_N3;
869
- }
870
- for (let y = 0; y < this.size - 1; y++) {
871
- for (let x = 0; x < this.size - 1; x++) {
872
- const color = this.modules[y][x];
873
- if (color == this.modules[y][x + 1] && color == this.modules[y + 1][x] && color == this.modules[y + 1][x + 1])
874
- result += _QrCode.PENALTY_N2;
875
- }
876
- }
877
- let dark = 0;
878
- for (const row of this.modules)
879
- dark = row.reduce((sum, color) => sum + (color ? 1 : 0), dark);
880
- const total = this.size * this.size;
881
- const k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;
882
- assert(0 <= k && k <= 9);
883
- result += k * _QrCode.PENALTY_N4;
884
- assert(0 <= result && result <= 2568888);
885
- return result;
886
- }
887
- getAlignmentPatternPositions() {
888
- if (this.version == 1)
889
- return [];
890
- else {
891
- const numAlign = Math.floor(this.version / 7) + 2;
892
- const step = this.version == 32 ? 26 : Math.ceil((this.version * 4 + 4) / (numAlign * 2 - 2)) * 2;
893
- let result = [6];
894
- for (let pos = this.size - 7; result.length < numAlign; pos -= step)
895
- result.splice(1, 0, pos);
896
- return result;
897
- }
898
- }
899
- static getNumRawDataModules(ver) {
900
- if (ver < _QrCode.MIN_VERSION || ver > _QrCode.MAX_VERSION)
901
- throw new RangeError("Version number out of range");
902
- let result = (16 * ver + 128) * ver + 64;
903
- if (ver >= 2) {
904
- const numAlign = Math.floor(ver / 7) + 2;
905
- result -= (25 * numAlign - 10) * numAlign - 55;
906
- if (ver >= 7)
907
- result -= 36;
908
- }
909
- assert(208 <= result && result <= 29648);
910
- return result;
911
- }
912
- static getNumDataCodewords(ver, ecl) {
913
- return Math.floor(_QrCode.getNumRawDataModules(ver) / 8) - _QrCode.ECC_CODEWORDS_PER_BLOCK[ecl.ordinal][ver] * _QrCode.NUM_ERROR_CORRECTION_BLOCKS[ecl.ordinal][ver];
914
- }
915
- static reedSolomonComputeDivisor(degree) {
916
- if (degree < 1 || degree > 255)
917
- throw new RangeError("Degree out of range");
918
- let result = [];
919
- for (let i = 0; i < degree - 1; i++)
920
- result.push(0);
921
- result.push(1);
922
- let root = 1;
923
- for (let i = 0; i < degree; i++) {
924
- for (let j = 0; j < result.length; j++) {
925
- result[j] = _QrCode.reedSolomonMultiply(result[j], root);
926
- if (j + 1 < result.length)
927
- result[j] ^= result[j + 1];
928
- }
929
- root = _QrCode.reedSolomonMultiply(root, 2);
930
- }
931
- return result;
932
- }
933
- static reedSolomonComputeRemainder(data, divisor) {
934
- let result = divisor.map((_) => 0);
935
- for (const b of data) {
936
- const factor = b ^ result.shift();
937
- result.push(0);
938
- divisor.forEach((coef, i) => result[i] ^= _QrCode.reedSolomonMultiply(coef, factor));
939
- }
940
- return result;
941
- }
942
- static reedSolomonMultiply(x, y) {
943
- if (x >>> 8 != 0 || y >>> 8 != 0)
944
- throw new RangeError("Byte out of range");
945
- let z = 0;
946
- for (let i = 7; i >= 0; i--) {
947
- z = z << 1 ^ (z >>> 7) * 285;
948
- z ^= (y >>> i & 1) * x;
949
- }
950
- assert(z >>> 8 == 0);
951
- return z;
952
- }
953
- finderPenaltyCountPatterns(runHistory) {
954
- const n = runHistory[1];
955
- assert(n <= this.size * 3);
956
- const core = n > 0 && runHistory[2] == n && runHistory[3] == n * 3 && runHistory[4] == n && runHistory[5] == n;
957
- return (core && runHistory[0] >= n * 4 && runHistory[6] >= n ? 1 : 0) + (core && runHistory[6] >= n * 4 && runHistory[0] >= n ? 1 : 0);
958
- }
959
- finderPenaltyTerminateAndCount(currentRunColor, currentRunLength, runHistory) {
960
- if (currentRunColor) {
961
- this.finderPenaltyAddHistory(currentRunLength, runHistory);
962
- currentRunLength = 0;
963
- }
964
- currentRunLength += this.size;
965
- this.finderPenaltyAddHistory(currentRunLength, runHistory);
966
- return this.finderPenaltyCountPatterns(runHistory);
967
- }
968
- finderPenaltyAddHistory(currentRunLength, runHistory) {
969
- if (runHistory[0] == 0)
970
- currentRunLength += this.size;
971
- runHistory.pop();
972
- runHistory.unshift(currentRunLength);
973
- }
974
- };
975
- let QrCode = _QrCode;
976
- QrCode.MIN_VERSION = 1;
977
- QrCode.MAX_VERSION = 40;
978
- QrCode.PENALTY_N1 = 3;
979
- QrCode.PENALTY_N2 = 3;
980
- QrCode.PENALTY_N3 = 40;
981
- QrCode.PENALTY_N4 = 10;
982
- QrCode.ECC_CODEWORDS_PER_BLOCK = [
983
- [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
984
- [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28],
985
- [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
986
- [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]
987
- ];
988
- QrCode.NUM_ERROR_CORRECTION_BLOCKS = [
989
- [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25],
990
- [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49],
991
- [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68],
992
- [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81]
993
- ];
994
- qrcodegen2.QrCode = QrCode;
995
- function appendBits(val, len, bb) {
996
- if (len < 0 || len > 31 || val >>> len != 0)
997
- throw new RangeError("Value out of range");
998
- for (let i = len - 1; i >= 0; i--)
999
- bb.push(val >>> i & 1);
1000
- }
1001
- function getBit(x, i) {
1002
- return (x >>> i & 1) != 0;
1003
- }
1004
- function assert(cond) {
1005
- if (!cond)
1006
- throw new Error("Assertion error");
1007
- }
1008
- const _QrSegment = class {
1009
- constructor(mode, numChars, bitData) {
1010
- this.mode = mode;
1011
- this.numChars = numChars;
1012
- this.bitData = bitData;
1013
- if (numChars < 0)
1014
- throw new RangeError("Invalid argument");
1015
- this.bitData = bitData.slice();
1016
- }
1017
- static makeBytes(data) {
1018
- let bb = [];
1019
- for (const b of data)
1020
- appendBits(b, 8, bb);
1021
- return new _QrSegment(_QrSegment.Mode.BYTE, data.length, bb);
1022
- }
1023
- static makeNumeric(digits) {
1024
- if (!_QrSegment.isNumeric(digits))
1025
- throw new RangeError("String contains non-numeric characters");
1026
- let bb = [];
1027
- for (let i = 0; i < digits.length; ) {
1028
- const n = Math.min(digits.length - i, 3);
1029
- appendBits(parseInt(digits.substr(i, n), 10), n * 3 + 1, bb);
1030
- i += n;
1031
- }
1032
- return new _QrSegment(_QrSegment.Mode.NUMERIC, digits.length, bb);
1033
- }
1034
- static makeAlphanumeric(text) {
1035
- if (!_QrSegment.isAlphanumeric(text))
1036
- throw new RangeError("String contains unencodable characters in alphanumeric mode");
1037
- let bb = [];
1038
- let i;
1039
- for (i = 0; i + 2 <= text.length; i += 2) {
1040
- let temp = _QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)) * 45;
1041
- temp += _QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i + 1));
1042
- appendBits(temp, 11, bb);
1043
- }
1044
- if (i < text.length)
1045
- appendBits(_QrSegment.ALPHANUMERIC_CHARSET.indexOf(text.charAt(i)), 6, bb);
1046
- return new _QrSegment(_QrSegment.Mode.ALPHANUMERIC, text.length, bb);
1047
- }
1048
- static makeSegments(text) {
1049
- if (text == "")
1050
- return [];
1051
- else if (_QrSegment.isNumeric(text))
1052
- return [_QrSegment.makeNumeric(text)];
1053
- else if (_QrSegment.isAlphanumeric(text))
1054
- return [_QrSegment.makeAlphanumeric(text)];
1055
- else
1056
- return [_QrSegment.makeBytes(_QrSegment.toUtf8ByteArray(text))];
1057
- }
1058
- static makeEci(assignVal) {
1059
- let bb = [];
1060
- if (assignVal < 0)
1061
- throw new RangeError("ECI assignment value out of range");
1062
- else if (assignVal < 1 << 7)
1063
- appendBits(assignVal, 8, bb);
1064
- else if (assignVal < 1 << 14) {
1065
- appendBits(2, 2, bb);
1066
- appendBits(assignVal, 14, bb);
1067
- } else if (assignVal < 1e6) {
1068
- appendBits(6, 3, bb);
1069
- appendBits(assignVal, 21, bb);
1070
- } else
1071
- throw new RangeError("ECI assignment value out of range");
1072
- return new _QrSegment(_QrSegment.Mode.ECI, 0, bb);
1073
- }
1074
- static isNumeric(text) {
1075
- return _QrSegment.NUMERIC_REGEX.test(text);
1076
- }
1077
- static isAlphanumeric(text) {
1078
- return _QrSegment.ALPHANUMERIC_REGEX.test(text);
1079
- }
1080
- getData() {
1081
- return this.bitData.slice();
1082
- }
1083
- static getTotalBits(segs, version) {
1084
- let result = 0;
1085
- for (const seg of segs) {
1086
- const ccbits = seg.mode.numCharCountBits(version);
1087
- if (seg.numChars >= 1 << ccbits)
1088
- return Infinity;
1089
- result += 4 + ccbits + seg.bitData.length;
1090
- }
1091
- return result;
1092
- }
1093
- static toUtf8ByteArray(str) {
1094
- str = encodeURI(str);
1095
- let result = [];
1096
- for (let i = 0; i < str.length; i++) {
1097
- if (str.charAt(i) != "%")
1098
- result.push(str.charCodeAt(i));
1099
- else {
1100
- result.push(parseInt(str.substr(i + 1, 2), 16));
1101
- i += 2;
1102
- }
1103
- }
1104
- return result;
1105
- }
1106
- };
1107
- let QrSegment = _QrSegment;
1108
- QrSegment.NUMERIC_REGEX = /^[0-9]*$/;
1109
- QrSegment.ALPHANUMERIC_REGEX = /^[A-Z0-9 $%*+.\/:-]*$/;
1110
- QrSegment.ALPHANUMERIC_CHARSET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";
1111
- qrcodegen2.QrSegment = QrSegment;
1112
- })(qrcodegen || (qrcodegen = {}));
1113
- ((qrcodegen2) => {
1114
- ((QrCode2) => {
1115
- const _Ecc = class {
1116
- constructor(ordinal, formatBits) {
1117
- this.ordinal = ordinal;
1118
- this.formatBits = formatBits;
1119
- }
1120
- };
1121
- let Ecc = _Ecc;
1122
- Ecc.LOW = new _Ecc(0, 1);
1123
- Ecc.MEDIUM = new _Ecc(1, 0);
1124
- Ecc.QUARTILE = new _Ecc(2, 3);
1125
- Ecc.HIGH = new _Ecc(3, 2);
1126
- QrCode2.Ecc = Ecc;
1127
- })(qrcodegen2.QrCode || (qrcodegen2.QrCode = {}));
1128
- })(qrcodegen || (qrcodegen = {}));
1129
- ((qrcodegen2) => {
1130
- ((QrSegment2) => {
1131
- const _Mode = class {
1132
- constructor(modeBits, numBitsCharCount) {
1133
- this.modeBits = modeBits;
1134
- this.numBitsCharCount = numBitsCharCount;
1135
- }
1136
- numCharCountBits(ver) {
1137
- return this.numBitsCharCount[Math.floor((ver + 7) / 17)];
1138
- }
1139
- };
1140
- let Mode = _Mode;
1141
- Mode.NUMERIC = new _Mode(1, [10, 12, 14]);
1142
- Mode.ALPHANUMERIC = new _Mode(2, [9, 11, 13]);
1143
- Mode.BYTE = new _Mode(4, [8, 16, 16]);
1144
- Mode.KANJI = new _Mode(8, [8, 10, 12]);
1145
- Mode.ECI = new _Mode(7, [0, 0, 0]);
1146
- QrSegment2.Mode = Mode;
1147
- })(qrcodegen2.QrSegment || (qrcodegen2.QrSegment = {}));
1148
- })(qrcodegen || (qrcodegen = {}));
1149
- var qrcodegen_default = qrcodegen;
1150
-
1151
- // src/index.tsx
1152
- /**
1153
- * @license qrcode.react
1154
- * Copyright (c) Paul O'Shannessy
1155
- * SPDX-License-Identifier: ISC
1156
- */
1157
- var ERROR_LEVEL_MAP = {
1158
- L: qrcodegen_default.QrCode.Ecc.LOW,
1159
- M: qrcodegen_default.QrCode.Ecc.MEDIUM,
1160
- Q: qrcodegen_default.QrCode.Ecc.QUARTILE,
1161
- H: qrcodegen_default.QrCode.Ecc.HIGH
1162
- };
1163
- var DEFAULT_SIZE = 128;
1164
- var DEFAULT_LEVEL = "L";
1165
- var DEFAULT_BGCOLOR = "#FFFFFF";
1166
- var DEFAULT_FGCOLOR = "#000000";
1167
- var DEFAULT_INCLUDEMARGIN = false;
1168
- var MARGIN_SIZE = 4;
1169
- var DEFAULT_IMG_SCALE = 0.1;
1170
- function generatePath(modules, margin = 0) {
1171
- const ops = [];
1172
- modules.forEach(function(row, y) {
1173
- let start = null;
1174
- row.forEach(function(cell, x) {
1175
- if (!cell && start !== null) {
1176
- ops.push(`M${start + margin} ${y + margin}h${x - start}v1H${start + margin}z`);
1177
- start = null;
1178
- return;
1179
- }
1180
- if (x === row.length - 1) {
1181
- if (!cell) {
1182
- return;
1183
- }
1184
- if (start === null) {
1185
- ops.push(`M${x + margin},${y + margin} h1v1H${x + margin}z`);
1186
- } else {
1187
- ops.push(`M${start + margin},${y + margin} h${x + 1 - start}v1H${start + margin}z`);
1188
- }
1189
- return;
1190
- }
1191
- if (cell && start === null) {
1192
- start = x;
1193
- }
1194
- });
1195
- });
1196
- return ops.join("");
1197
- }
1198
- function excavateModules(modules, excavation) {
1199
- return modules.slice().map((row, y) => {
1200
- if (y < excavation.y || y >= excavation.y + excavation.h) {
1201
- return row;
1202
- }
1203
- return row.map((cell, x) => {
1204
- if (x < excavation.x || x >= excavation.x + excavation.w) {
1205
- return cell;
1206
- }
1207
- return false;
1208
- });
1209
- });
1210
- }
1211
- function getImageSettings(cells, size, includeMargin, imageSettings) {
1212
- if (imageSettings == null) {
1213
- return null;
1214
- }
1215
- const margin = includeMargin ? MARGIN_SIZE : 0;
1216
- const numCells = cells.length + margin * 2;
1217
- const defaultSize = Math.floor(size * DEFAULT_IMG_SCALE);
1218
- const scale = numCells / size;
1219
- const w = (imageSettings.width || defaultSize) * scale;
1220
- const h = (imageSettings.height || defaultSize) * scale;
1221
- const x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;
1222
- const y = imageSettings.y == null ? cells.length / 2 - h / 2 : imageSettings.y * scale;
1223
- let excavation = null;
1224
- if (imageSettings.excavate) {
1225
- let floorX = Math.floor(x);
1226
- let floorY = Math.floor(y);
1227
- let ceilW = Math.ceil(w + x - floorX);
1228
- let ceilH = Math.ceil(h + y - floorY);
1229
- excavation = { x: floorX, y: floorY, w: ceilW, h: ceilH };
1230
- }
1231
- return { x, y, h, w, excavation };
1232
- }
1233
- var SUPPORTS_PATH2D = function() {
1234
- try {
1235
- new Path2D().addPath(new Path2D());
1236
- } catch (e) {
1237
- return false;
1238
- }
1239
- return true;
1240
- }();
1241
- function QRCodeCanvas(props) {
1242
- const _a = props, {
1243
- value,
1244
- size = DEFAULT_SIZE,
1245
- level = DEFAULT_LEVEL,
1246
- bgColor = DEFAULT_BGCOLOR,
1247
- fgColor = DEFAULT_FGCOLOR,
1248
- includeMargin = DEFAULT_INCLUDEMARGIN,
1249
- style,
1250
- imageSettings
1251
- } = _a, otherProps = __objRest(_a, [
1252
- "value",
1253
- "size",
1254
- "level",
1255
- "bgColor",
1256
- "fgColor",
1257
- "includeMargin",
1258
- "style",
1259
- "imageSettings"
1260
- ]);
1261
- const imgSrc = imageSettings == null ? void 0 : imageSettings.src;
1262
- const _canvas = React.useRef(null);
1263
- const _image = React.useRef(null);
1264
- const [isImgLoaded, setIsImageLoaded] = React.useState(false);
1265
- React.useEffect(() => {
1266
- if (_canvas.current != null) {
1267
- const canvas = _canvas.current;
1268
- const ctx = canvas.getContext("2d");
1269
- if (!ctx) {
1270
- return;
1271
- }
1272
- let cells = qrcodegen_default.QrCode.encodeText(value, ERROR_LEVEL_MAP[level]).getModules();
1273
- const margin = includeMargin ? MARGIN_SIZE : 0;
1274
- const numCells = cells.length + margin * 2;
1275
- const calculatedImageSettings = getImageSettings(cells, size, includeMargin, imageSettings);
1276
- const image = _image.current;
1277
- const haveImageToRender = calculatedImageSettings != null && image !== null && image.complete && image.naturalHeight !== 0 && image.naturalWidth !== 0;
1278
- if (haveImageToRender) {
1279
- if (calculatedImageSettings.excavation != null) {
1280
- cells = excavateModules(cells, calculatedImageSettings.excavation);
1281
- }
1282
- }
1283
- const pixelRatio = window.devicePixelRatio || 1;
1284
- canvas.height = canvas.width = size * pixelRatio;
1285
- const scale = size / numCells * pixelRatio;
1286
- ctx.scale(scale, scale);
1287
- ctx.fillStyle = bgColor;
1288
- ctx.fillRect(0, 0, numCells, numCells);
1289
- ctx.fillStyle = fgColor;
1290
- if (SUPPORTS_PATH2D) {
1291
- ctx.fill(new Path2D(generatePath(cells, margin)));
1292
- } else {
1293
- cells.forEach(function(row, rdx) {
1294
- row.forEach(function(cell, cdx) {
1295
- if (cell) {
1296
- ctx.fillRect(cdx + margin, rdx + margin, 1, 1);
1297
- }
1298
- });
1299
- });
1300
- }
1301
- if (haveImageToRender) {
1302
- ctx.drawImage(image, calculatedImageSettings.x + margin, calculatedImageSettings.y + margin, calculatedImageSettings.w, calculatedImageSettings.h);
1303
- }
1304
- }
1305
- });
1306
- React.useEffect(() => {
1307
- setIsImageLoaded(false);
1308
- }, [imgSrc]);
1309
- const canvasStyle = __spreadValues({ height: size, width: size }, style);
1310
- let img = null;
1311
- if (imgSrc != null) {
1312
- img = /* @__PURE__ */ React__default["default"].createElement("img", {
1313
- src: imgSrc,
1314
- key: imgSrc,
1315
- style: { display: "none" },
1316
- onLoad: () => {
1317
- setIsImageLoaded(true);
1318
- },
1319
- ref: _image
1320
- });
1321
- }
1322
- return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("canvas", __spreadValues({
1323
- style: canvasStyle,
1324
- height: size,
1325
- width: size,
1326
- ref: _canvas
1327
- }, otherProps)), img);
1328
- }
1329
- function QRCodeSVG(props) {
1330
- const _a = props, {
1331
- value,
1332
- size = DEFAULT_SIZE,
1333
- level = DEFAULT_LEVEL,
1334
- bgColor = DEFAULT_BGCOLOR,
1335
- fgColor = DEFAULT_FGCOLOR,
1336
- includeMargin = DEFAULT_INCLUDEMARGIN,
1337
- imageSettings
1338
- } = _a, otherProps = __objRest(_a, [
1339
- "value",
1340
- "size",
1341
- "level",
1342
- "bgColor",
1343
- "fgColor",
1344
- "includeMargin",
1345
- "imageSettings"
1346
- ]);
1347
- let cells = qrcodegen_default.QrCode.encodeText(value, ERROR_LEVEL_MAP[level]).getModules();
1348
- const margin = includeMargin ? MARGIN_SIZE : 0;
1349
- const numCells = cells.length + margin * 2;
1350
- const calculatedImageSettings = getImageSettings(cells, size, includeMargin, imageSettings);
1351
- let image = null;
1352
- if (imageSettings != null && calculatedImageSettings != null) {
1353
- if (calculatedImageSettings.excavation != null) {
1354
- cells = excavateModules(cells, calculatedImageSettings.excavation);
1355
- }
1356
- image = /* @__PURE__ */ React__default["default"].createElement("image", {
1357
- xlinkHref: imageSettings.src,
1358
- height: calculatedImageSettings.h,
1359
- width: calculatedImageSettings.w,
1360
- x: calculatedImageSettings.x + margin,
1361
- y: calculatedImageSettings.y + margin,
1362
- preserveAspectRatio: "none"
1363
- });
1364
- }
1365
- const fgPath = generatePath(cells, margin);
1366
- return /* @__PURE__ */ React__default["default"].createElement("svg", __spreadValues({
1367
- height: size,
1368
- width: size,
1369
- viewBox: `0 0 ${numCells} ${numCells}`
1370
- }, otherProps), /* @__PURE__ */ React__default["default"].createElement("path", {
1371
- fill: bgColor,
1372
- d: `M0,0 h${numCells}v${numCells}H0z`,
1373
- shapeRendering: "crispEdges"
1374
- }), /* @__PURE__ */ React__default["default"].createElement("path", {
1375
- fill: fgColor,
1376
- d: fgPath,
1377
- shapeRendering: "crispEdges"
1378
- }), image);
1379
- }
1380
- var QRCode$1 = (props) => {
1381
- const _a = props, { renderAs } = _a, otherProps = __objRest(_a, ["renderAs"]);
1382
- if (renderAs === "svg") {
1383
- return /* @__PURE__ */ React__default["default"].createElement(QRCodeSVG, __spreadValues({}, otherProps));
1384
- }
1385
- return /* @__PURE__ */ React__default["default"].createElement(QRCodeCanvas, __spreadValues({}, otherProps));
1386
- };
1387
-
1388
- var QRCode = function QRCode(_ref) {
1389
- var entity = _ref.entity,
1390
- url = _ref.url;
1391
- if (!entity) return null;
1392
- var id = entity.id,
1393
- name = entity.name;
1394
- var canvasId = "qrcode-share-".concat(id);
1395
- var handleDownload = function handleDownload() {
1396
- var canvas = document.getElementById(canvasId);
1397
- if (canvas) downloadCanvas(canvas, {
1398
- name: pure.slugify(name)
1399
- });
1400
- };
1401
- return /*#__PURE__*/React__default["default"].createElement("div", {
1402
- className: "flex flex-col space-y-4"
1403
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
1404
- lineHeight: "normal",
1405
- style: "body2",
1406
- weight: "medium"
1407
- }, /*#__PURE__*/React__default["default"].createElement(reactI18next.Trans, {
1408
- i18nKey: "neetoMolecules.shareViaLink.socialMediaShare.qrCodeInfo",
1409
- components: {
1410
- button: /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
1411
- "data-testid": "qr-code-download-button",
1412
- style: "link",
1413
- onClick: handleDownload
1414
- })
1415
- }
1416
- })), /*#__PURE__*/React__default["default"].createElement(QRCode$1, {
1417
- "data-testid": canvasId,
1418
- id: canvasId,
1419
- value: url
1420
- }));
1421
- };
1422
-
1423
- var SocialMedia = function SocialMedia(_ref) {
1424
- var entity = _ref.entity,
1425
- postTitle = _ref.postTitle,
1426
- url = _ref.url;
1427
- var _useTranslation = reactI18next.useTranslation(),
1428
- t = _useTranslation.t;
1429
- var socialMediaButtonClasses = "neeto-ui-bg-gray-200 hover:neeto-ui-bg-gray-300 flex h-12 w-12 cursor-pointer items-center justify-center neeto-ui-rounded-md transition-colors duration-300 ease-in-out";
1430
- return /*#__PURE__*/React__default["default"].createElement("div", {
1431
- className: "flex space-x-4 divide-x"
1432
- }, /*#__PURE__*/React__default["default"].createElement(QRCode, {
1433
- entity: entity,
1434
- url: url
1435
- }), /*#__PURE__*/React__default["default"].createElement("div", {
1436
- className: "space-y-4 pl-4",
1437
- "data-testid": "social-media-block"
1438
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
1439
- className: "neeto-ui-text-gray-800",
1440
- lineHeight: "normal",
1441
- style: "body2",
1442
- weight: "medium"
1443
- }, t("neetoMolecules.shareViaLink.socialMediaShare.title")), /*#__PURE__*/React__default["default"].createElement("div", {
1444
- className: "flex gap-4"
1445
- }, Object.entries(SOCIAL_MEDIA_OPTIONS).map(function (_ref2) {
1446
- var _ref3 = _slicedToArray(_ref2, 2),
1447
- key = _ref3[0],
1448
- _ref3$ = _ref3[1],
1449
- label = _ref3$.label,
1450
- Icon = _ref3$.icon,
1451
- generateShareUrl = _ref3$.generateShareUrl;
1452
- return /*#__PURE__*/React__default["default"].createElement("a", {
1453
- className: socialMediaButtonClasses,
1454
- "data-testid": "social-media-button-".concat(key),
1455
- href: generateShareUrl({
1456
- id: entity.id,
1457
- title: postTitle
1458
- }),
1459
- key: key,
1460
- rel: "noopener noreferrer",
1461
- target: "_blank",
1462
- title: label
1463
- }, /*#__PURE__*/React__default["default"].createElement(Icon, {
1464
- size: 24
1465
- }));
1466
- }))));
1467
- };
1468
-
1469
- var ShareViaLink = function ShareViaLink(_ref) {
1470
- var _ref$isLoading = _ref.isLoading,
1471
- isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
1472
- _ref$enabledOptions = _ref.enabledOptions,
1473
- enabledOptions = _ref$enabledOptions === void 0 ? {
1474
- regenerate: false,
1475
- edit: false
1476
- } : _ref$enabledOptions,
1477
- _ref$editUrlProps = _ref.editUrlProps,
1478
- editUrlProps = _ref$editUrlProps === void 0 ? {
1479
- prefix: "",
1480
- editablePath: ""
1481
- } : _ref$editUrlProps,
1482
- entity = _ref.entity,
1483
- entityName = _ref.entityName,
1484
- _ref$handleEdit = _ref.handleEdit,
1485
- handleEdit = _ref$handleEdit === void 0 ? pure.noop : _ref$handleEdit,
1486
- _ref$handleRegenerate = _ref.handleRegenerate,
1487
- handleRegenerate = _ref$handleRegenerate === void 0 ? pure.noop : _ref$handleRegenerate,
1488
- _ref$previewUrl = _ref.previewUrl,
1489
- previewUrl = _ref$previewUrl === void 0 ? "" : _ref$previewUrl,
1490
- socialMediaPostTitle = _ref.socialMediaPostTitle,
1491
- url = _ref.url;
1492
- return /*#__PURE__*/React__default["default"].createElement("div", {
1493
- className: "neeto-ui-border-gray-400 neeto-ui-shadow-xs neeto-ui-rounded-lg neeto-ui-bg-white col-span-2 space-y-4 border p-8",
1494
- "data-testid": "share-via-link"
1495
- }, /*#__PURE__*/React__default["default"].createElement(Link, {
1496
- editUrlProps: editUrlProps,
1497
- enabledOptions: enabledOptions,
1498
- entityName: entityName,
1499
- handleEdit: handleEdit,
1500
- handleRegenerate: handleRegenerate,
1501
- isLoading: isLoading,
1502
- previewUrl: previewUrl,
1503
- url: url
1504
- }), /*#__PURE__*/React__default["default"].createElement(SocialMedia, {
1505
- entity: entity,
1506
- url: url,
1507
- postTitle: socialMediaPostTitle
1508
- }));
1509
- };
1510
-
1511
- module.exports = ShareViaLink;
1512
- //# sourceMappingURL=ShareViaLink.cjs.js.map