@bigbinary/neeto-molecules 1.1.78 → 1.2.0-beta2

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 (351) hide show
  1. package/README.md +67 -52
  2. package/dist/Breadcrumbs.js +16 -19
  3. package/dist/Breadcrumbs.js.map +1 -1
  4. package/dist/BrowserSupport.js +41 -138
  5. package/dist/BrowserSupport.js.map +1 -1
  6. package/dist/Builder.js +207 -364
  7. package/dist/Builder.js.map +1 -1
  8. package/dist/CalendarView.js +40 -288
  9. package/dist/CalendarView.js.map +1 -1
  10. package/dist/Chevron-c639aa31.js +190 -0
  11. package/dist/Chevron-c639aa31.js.map +1 -0
  12. package/dist/Codeblock.js +26 -209
  13. package/dist/Codeblock.js.map +1 -1
  14. package/dist/Columns.js +16 -240
  15. package/dist/Columns.js.map +1 -1
  16. package/dist/ConfigurePageSidebar.js +97 -0
  17. package/dist/ConfigurePageSidebar.js.map +1 -0
  18. package/dist/ConfirmationModal.js +10 -10
  19. package/dist/ConfirmationModal.js.map +1 -1
  20. package/dist/Container.js +5 -1187
  21. package/dist/Container.js.map +1 -1
  22. package/dist/CopyToClipboardButton.js +26 -155
  23. package/dist/CopyToClipboardButton.js.map +1 -1
  24. package/dist/Currency.js +912 -0
  25. package/dist/Currency.js.map +1 -0
  26. package/dist/CustomDomain.js +37 -633
  27. package/dist/CustomDomain.js.map +1 -1
  28. package/dist/CustomDomainDashboard.js +69 -2192
  29. package/dist/CustomDomainDashboard.js.map +1 -1
  30. package/dist/DateFormat.js +6 -20
  31. package/dist/DateFormat.js.map +1 -1
  32. package/dist/DateRangeFilter.js +22 -77
  33. package/dist/DateRangeFilter.js.map +1 -1
  34. package/dist/DeleteArchiveModal.js +86 -0
  35. package/dist/DeleteArchiveModal.js.map +1 -0
  36. package/dist/DocumentEditor.js +43 -133
  37. package/dist/DocumentEditor.js.map +1 -1
  38. package/dist/DownloadMobileAppCallout.js +4 -4
  39. package/dist/DownloadMobileAppCallout.js.map +1 -1
  40. package/dist/DynamicVariables.js +12 -95
  41. package/dist/DynamicVariables.js.map +1 -1
  42. package/dist/EmailForm.js +79 -1741
  43. package/dist/EmailForm.js.map +1 -1
  44. package/dist/EmailPreview.js +32 -1213
  45. package/dist/EmailPreview.js.map +1 -1
  46. package/dist/EmojiPicker.js +106 -0
  47. package/dist/EmojiPicker.js.map +1 -0
  48. package/dist/EmojiReactions.js +69 -0
  49. package/dist/EmojiReactions.js.map +1 -0
  50. package/dist/ErrorPage.js +17 -26
  51. package/dist/ErrorPage.js.map +1 -1
  52. package/dist/FloatingActionMenu.js +646 -0
  53. package/dist/FloatingActionMenu.js.map +1 -0
  54. package/dist/Header.js +45 -117
  55. package/dist/Header.js.map +1 -1
  56. package/dist/HelpPopover.js +73 -0
  57. package/dist/HelpPopover.js.map +1 -0
  58. package/dist/IconPicker.js +36 -129
  59. package/dist/IconPicker.js.map +1 -1
  60. package/dist/ImageWithFallback.js +8 -144
  61. package/dist/ImageWithFallback.js.map +1 -1
  62. package/dist/InlineInput.js +25 -528
  63. package/dist/InlineInput.js.map +1 -1
  64. package/dist/Insights.js +305 -0
  65. package/dist/Insights.js.map +1 -0
  66. package/dist/IntegrationCard.js +42 -226
  67. package/dist/IntegrationCard.js.map +1 -1
  68. package/dist/IntegrationDisconnectAlert.js +6 -48
  69. package/dist/IntegrationDisconnectAlert.js.map +1 -1
  70. package/dist/IntegrationWalkthroughModal.js +10 -10
  71. package/dist/IntegrationWalkthroughModal.js.map +1 -1
  72. package/dist/IpRestriction.js +74 -221
  73. package/dist/IpRestriction.js.map +1 -1
  74. package/dist/KeyboardShortcuts.js +38 -128
  75. package/dist/KeyboardShortcuts.js.map +1 -1
  76. package/dist/LoginPage.js +44 -463
  77. package/dist/LoginPage.js.map +1 -1
  78. package/dist/MadeWith.js +32 -0
  79. package/dist/MadeWith.js.map +1 -0
  80. package/dist/MenuBar.js +34 -1295
  81. package/dist/MenuBar.js.map +1 -1
  82. package/dist/Metadata.js +65 -86
  83. package/dist/Metadata.js.map +1 -1
  84. package/dist/MoreDropdown.js +48 -107
  85. package/dist/MoreDropdown.js.map +1 -1
  86. package/dist/NavigationHeader.js +62 -733
  87. package/dist/NavigationHeader.js.map +1 -1
  88. package/dist/NeetoWidget.js +148 -316
  89. package/dist/NeetoWidget.js.map +1 -1
  90. package/dist/Onboarding.js +204 -0
  91. package/dist/Onboarding.js.map +1 -0
  92. package/dist/OptionFields.js +507 -0
  93. package/dist/OptionFields.js.map +1 -0
  94. package/dist/PageLoader.js +9 -112
  95. package/dist/PageLoader.js.map +1 -1
  96. package/dist/PhoneNumber.js +122 -201
  97. package/dist/PhoneNumber.js.map +1 -1
  98. package/dist/ProductEmbed.js +767 -0
  99. package/dist/ProductEmbed.js.map +1 -0
  100. package/dist/PublishBlock.js +19 -60
  101. package/dist/PublishBlock.js.map +1 -1
  102. package/dist/PublishYourItem.js +52 -0
  103. package/dist/PublishYourItem.js.map +1 -0
  104. package/dist/Rename.js +127 -394
  105. package/dist/Rename.js.map +1 -1
  106. package/dist/ResponsiveDevicePicker.js +8 -144
  107. package/dist/ResponsiveDevicePicker.js.map +1 -1
  108. package/dist/Schedule.js +134 -389
  109. package/dist/Schedule.js.map +1 -1
  110. package/dist/Scrollable.js +6 -89
  111. package/dist/Scrollable.js.map +1 -1
  112. package/dist/Search.js +54 -157
  113. package/dist/Search.js.map +1 -1
  114. package/dist/Security.js +72 -1567
  115. package/dist/Security.js.map +1 -1
  116. package/dist/SendToFields.js +51 -133
  117. package/dist/SendToFields.js.map +1 -1
  118. package/dist/Settings.js +141 -412
  119. package/dist/Settings.js.map +1 -1
  120. package/dist/ShareRecordingPane.js +189 -0
  121. package/dist/ShareRecordingPane.js.map +1 -0
  122. package/dist/ShareViaEmail.js +126 -551
  123. package/dist/ShareViaEmail.js.map +1 -1
  124. package/dist/ShareViaLink.js +127 -345
  125. package/dist/ShareViaLink.js.map +1 -1
  126. package/dist/Sidebar.js +161 -758
  127. package/dist/Sidebar.js.map +1 -1
  128. package/dist/StickyRibbonsContainer.js +81 -0
  129. package/dist/StickyRibbonsContainer.js.map +1 -0
  130. package/dist/SubHeader.js +63 -108
  131. package/dist/SubHeader.js.map +1 -1
  132. package/dist/SuffixedInput.js +105 -0
  133. package/dist/SuffixedInput.js.map +1 -0
  134. package/dist/TableWrapper.js +8 -9
  135. package/dist/TableWrapper.js.map +1 -1
  136. package/dist/Taxonomy.js +112 -1774
  137. package/dist/Taxonomy.js.map +1 -1
  138. package/dist/ThemeSidebar.js +168 -784
  139. package/dist/ThemeSidebar.js.map +1 -1
  140. package/dist/TimeFormat.js +8 -44
  141. package/dist/TimeFormat.js.map +1 -1
  142. package/dist/TimezoneMismatchModal.js +49 -84
  143. package/dist/TimezoneMismatchModal.js.map +1 -1
  144. package/dist/ToggleFeatureCard.js +46 -169
  145. package/dist/ToggleFeatureCard.js.map +1 -1
  146. package/dist/cjs/Breadcrumbs.js +49 -0
  147. package/dist/cjs/Breadcrumbs.js.map +1 -0
  148. package/dist/cjs/BrowserSupport.js +332 -0
  149. package/dist/cjs/BrowserSupport.js.map +1 -0
  150. package/dist/cjs/Builder.js +560 -0
  151. package/dist/cjs/Builder.js.map +1 -0
  152. package/dist/cjs/CalendarView.js +303 -0
  153. package/dist/cjs/CalendarView.js.map +1 -0
  154. package/dist/cjs/Chevron-5fe59f57.js +206 -0
  155. package/dist/cjs/Chevron-5fe59f57.js.map +1 -0
  156. package/dist/cjs/Codeblock.js +59 -0
  157. package/dist/cjs/Codeblock.js.map +1 -0
  158. package/dist/cjs/Columns.js +31 -0
  159. package/dist/cjs/Columns.js.map +1 -0
  160. package/dist/cjs/ConfigurePageSidebar.js +105 -0
  161. package/dist/cjs/ConfigurePageSidebar.js.map +1 -0
  162. package/dist/cjs/ConfirmationModal.js +120 -0
  163. package/dist/cjs/ConfirmationModal.js.map +1 -0
  164. package/dist/cjs/Container.js +36 -0
  165. package/dist/cjs/Container.js.map +1 -0
  166. package/dist/cjs/CopyToClipboardButton.js +90 -0
  167. package/dist/cjs/CopyToClipboardButton.js.map +1 -0
  168. package/dist/cjs/Currency.js +923 -0
  169. package/dist/cjs/Currency.js.map +1 -0
  170. package/dist/cjs/CustomDomain.js +126 -0
  171. package/dist/cjs/CustomDomain.js.map +1 -0
  172. package/dist/cjs/CustomDomainDashboard.js +202 -0
  173. package/dist/cjs/CustomDomainDashboard.js.map +1 -0
  174. package/dist/cjs/DateFormat.js +41 -0
  175. package/dist/cjs/DateFormat.js.map +1 -0
  176. package/dist/cjs/DateRangeFilter.js +183 -0
  177. package/dist/cjs/DateRangeFilter.js.map +1 -0
  178. package/dist/cjs/DeleteArchiveModal.js +93 -0
  179. package/dist/cjs/DeleteArchiveModal.js.map +1 -0
  180. package/dist/cjs/DocumentEditor.js +197 -0
  181. package/dist/cjs/DocumentEditor.js.map +1 -0
  182. package/dist/cjs/DownloadMobileAppCallout.js +45 -0
  183. package/dist/cjs/DownloadMobileAppCallout.js.map +1 -0
  184. package/dist/cjs/DynamicVariables.js +109 -0
  185. package/dist/cjs/DynamicVariables.js.map +1 -0
  186. package/dist/cjs/EmailForm.js +397 -0
  187. package/dist/cjs/EmailForm.js.map +1 -0
  188. package/dist/cjs/EmailPreview.js +139 -0
  189. package/dist/cjs/EmailPreview.js.map +1 -0
  190. package/dist/cjs/EmojiPicker.js +115 -0
  191. package/dist/cjs/EmojiPicker.js.map +1 -0
  192. package/dist/cjs/EmojiReactions.js +77 -0
  193. package/dist/cjs/EmojiReactions.js.map +1 -0
  194. package/dist/cjs/ErrorPage.js +180 -0
  195. package/dist/cjs/ErrorPage.js.map +1 -0
  196. package/dist/cjs/FloatingActionMenu.js +680 -0
  197. package/dist/cjs/FloatingActionMenu.js.map +1 -0
  198. package/dist/cjs/Header.js +107 -0
  199. package/dist/cjs/Header.js.map +1 -0
  200. package/dist/cjs/HelpPopover.js +82 -0
  201. package/dist/cjs/HelpPopover.js.map +1 -0
  202. package/dist/cjs/IconPicker.js +231 -0
  203. package/dist/cjs/IconPicker.js.map +1 -0
  204. package/dist/cjs/ImageWithFallback.js +56 -0
  205. package/dist/cjs/ImageWithFallback.js.map +1 -0
  206. package/dist/cjs/InlineInput.js +240 -0
  207. package/dist/cjs/InlineInput.js.map +1 -0
  208. package/dist/cjs/Insights.js +311 -0
  209. package/dist/cjs/Insights.js.map +1 -0
  210. package/dist/cjs/IntegrationCard.js +210 -0
  211. package/dist/cjs/IntegrationCard.js.map +1 -0
  212. package/dist/cjs/IntegrationDisconnectAlert.js +50 -0
  213. package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -0
  214. package/dist/cjs/IntegrationWalkthroughModal.js +51 -0
  215. package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -0
  216. package/dist/cjs/IpRestriction.js +527 -0
  217. package/dist/cjs/IpRestriction.js.map +1 -0
  218. package/dist/cjs/KeyboardShortcuts.js +284 -0
  219. package/dist/cjs/KeyboardShortcuts.js.map +1 -0
  220. package/dist/cjs/LoginPage.js +202 -0
  221. package/dist/cjs/LoginPage.js.map +1 -0
  222. package/dist/cjs/MadeWith.js +40 -0
  223. package/dist/cjs/MadeWith.js.map +1 -0
  224. package/dist/cjs/MenuBar.js +211 -0
  225. package/dist/cjs/MenuBar.js.map +1 -0
  226. package/dist/cjs/Metadata.js +196 -0
  227. package/dist/cjs/Metadata.js.map +1 -0
  228. package/dist/cjs/MoreDropdown.js +155 -0
  229. package/dist/cjs/MoreDropdown.js.map +1 -0
  230. package/dist/cjs/NavigationHeader.js +187 -0
  231. package/dist/cjs/NavigationHeader.js.map +1 -0
  232. package/dist/cjs/NeetoWidget.js +915 -0
  233. package/dist/cjs/NeetoWidget.js.map +1 -0
  234. package/dist/cjs/Onboarding.js +216 -0
  235. package/dist/cjs/Onboarding.js.map +1 -0
  236. package/dist/cjs/OptionFields.js +518 -0
  237. package/dist/cjs/OptionFields.js.map +1 -0
  238. package/dist/cjs/PageLoader.js +40 -0
  239. package/dist/cjs/PageLoader.js.map +1 -0
  240. package/dist/cjs/PhoneNumber.js +367 -0
  241. package/dist/cjs/PhoneNumber.js.map +1 -0
  242. package/dist/cjs/ProductEmbed.js +777 -0
  243. package/dist/cjs/ProductEmbed.js.map +1 -0
  244. package/dist/cjs/PublishBlock.js +127 -0
  245. package/dist/cjs/PublishBlock.js.map +1 -0
  246. package/dist/cjs/PublishYourItem.js +59 -0
  247. package/dist/cjs/PublishYourItem.js.map +1 -0
  248. package/dist/cjs/Rename.js +354 -0
  249. package/dist/cjs/Rename.js.map +1 -0
  250. package/dist/cjs/ResponsiveDevicePicker.js +68 -0
  251. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -0
  252. package/dist/cjs/Schedule.js +874 -0
  253. package/dist/cjs/Schedule.js.map +1 -0
  254. package/dist/cjs/Scrollable.js +49 -0
  255. package/dist/cjs/Scrollable.js.map +1 -0
  256. package/dist/cjs/Search.js +121 -0
  257. package/dist/cjs/Search.js.map +1 -0
  258. package/dist/cjs/Security.js +379 -0
  259. package/dist/cjs/Security.js.map +1 -0
  260. package/dist/cjs/SendToFields.js +275 -0
  261. package/dist/cjs/SendToFields.js.map +1 -0
  262. package/dist/cjs/Settings.js +217 -0
  263. package/dist/cjs/Settings.js.map +1 -0
  264. package/dist/cjs/ShareRecordingPane.js +199 -0
  265. package/dist/cjs/ShareRecordingPane.js.map +1 -0
  266. package/dist/cjs/ShareViaEmail.js +353 -0
  267. package/dist/cjs/ShareViaEmail.js.map +1 -0
  268. package/dist/cjs/ShareViaLink.js +508 -0
  269. package/dist/cjs/ShareViaLink.js.map +1 -0
  270. package/dist/cjs/Sidebar.js +292 -0
  271. package/dist/cjs/Sidebar.js.map +1 -0
  272. package/dist/cjs/StickyRibbonsContainer.js +90 -0
  273. package/dist/cjs/StickyRibbonsContainer.js.map +1 -0
  274. package/dist/cjs/SubHeader.js +181 -0
  275. package/dist/cjs/SubHeader.js.map +1 -0
  276. package/dist/cjs/SuffixedInput.js +114 -0
  277. package/dist/cjs/SuffixedInput.js.map +1 -0
  278. package/dist/cjs/TableWrapper.js +32 -0
  279. package/dist/cjs/TableWrapper.js.map +1 -0
  280. package/dist/cjs/Taxonomy.js +445 -0
  281. package/dist/cjs/Taxonomy.js.map +1 -0
  282. package/dist/cjs/ThemeSidebar.js +1443 -0
  283. package/dist/cjs/ThemeSidebar.js.map +1 -0
  284. package/dist/cjs/TimeFormat.js +15 -0
  285. package/dist/cjs/TimeFormat.js.map +1 -0
  286. package/dist/cjs/TimezoneMismatchModal.js +144 -0
  287. package/dist/cjs/TimezoneMismatchModal.js.map +1 -0
  288. package/dist/cjs/ToggleFeatureCard.js +213 -0
  289. package/dist/cjs/ToggleFeatureCard.js.map +1 -0
  290. package/dist/cjs/index-248c4f4c.js +1186 -0
  291. package/dist/cjs/index-248c4f4c.js.map +1 -0
  292. package/dist/cjs/index-7db1772e.js +544 -0
  293. package/dist/cjs/index-7db1772e.js.map +1 -0
  294. package/dist/cjs/inject-css-80a5faa3.js +6 -0
  295. package/dist/cjs/inject-css-80a5faa3.js.map +1 -0
  296. package/dist/cjs/useColumns-9978cf70.js +275 -0
  297. package/dist/cjs/useColumns-9978cf70.js.map +1 -0
  298. package/dist/index-7d311b7a.js +509 -0
  299. package/dist/index-7d311b7a.js.map +1 -0
  300. package/dist/index-e5588516.js +1184 -0
  301. package/dist/index-e5588516.js.map +1 -0
  302. package/dist/inject-css-c86de496.js +4 -0
  303. package/dist/inject-css-c86de496.js.map +1 -0
  304. package/dist/useColumns-751e9192.js +258 -0
  305. package/dist/useColumns-751e9192.js.map +1 -0
  306. package/package.json +30 -19
  307. package/src/translations/de.json +7 -0
  308. package/src/translations/en.json +191 -31
  309. package/src/translations/es.json +7 -0
  310. package/src/translations/fr.json +7 -0
  311. package/src/translations/nl.json +7 -0
  312. package/src/translations/pl.json +7 -0
  313. package/src/translations/pt.json +7 -0
  314. package/types/Breadcrumbs.d.ts +1 -0
  315. package/types/Builder.d.ts +61 -12
  316. package/types/Columns.d.ts +112 -5
  317. package/types/ConfigurePageSidebar.d.ts +43 -0
  318. package/types/CopyToClipboardButton.d.ts +3 -0
  319. package/types/Currency.d.ts +48 -0
  320. package/types/CustomDomain.d.ts +2 -0
  321. package/types/CustomDomainDashboard.d.ts +14 -0
  322. package/types/DateRangeFilter.d.ts +2 -0
  323. package/types/DeleteArchiveModal.d.ts +60 -0
  324. package/types/EmailForm.d.ts +1 -1
  325. package/types/EmojiPicker.d.ts +33 -0
  326. package/types/EmojiReactions.d.ts +60 -0
  327. package/types/ErrorPage.d.ts +1 -0
  328. package/types/FloatingActionMenu.d.ts +56 -0
  329. package/types/Header.d.ts +2 -1
  330. package/types/HelpPopover.d.ts +42 -0
  331. package/types/Insights.d.ts +108 -0
  332. package/types/IntegrationCard.d.ts +2 -0
  333. package/types/KeyboardShortcuts.d.ts +2 -2
  334. package/types/MadeWith.d.ts +16 -0
  335. package/types/MoreDropdown.d.ts +4 -1
  336. package/types/NavigationHeader.d.ts +3 -1
  337. package/types/Onboarding.d.ts +65 -0
  338. package/types/OptionFields.d.ts +63 -0
  339. package/types/PhoneNumber.d.ts +6 -2
  340. package/types/ProductEmbed.d.ts +87 -0
  341. package/types/Rename.d.ts +4 -1
  342. package/types/Schedule.d.ts +2 -0
  343. package/types/Search.d.ts +2 -0
  344. package/types/Settings.d.ts +13 -10
  345. package/types/ShareRecordingPane.d.ts +50 -0
  346. package/types/ShareViaLink.d.ts +15 -4
  347. package/types/Sidebar.d.ts +16 -32
  348. package/types/StickyRibbonsContainer.d.ts +26 -0
  349. package/types/SubHeader.d.ts +0 -1
  350. package/types/SuffixedInput.d.ts +43 -0
  351. package/types/ToggleFeatureCard.d.ts +8 -1
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var _extends = require('@babel/runtime/helpers/extends');
4
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
+ var React = require('react');
6
+ var neetoui = require('@bigbinary/neetoui');
7
+ var injectCss = require('./inject-css-80a5faa3.js');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
12
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
13
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
+
15
+ var css = ".neeto-molecules-pageloader__wrapper{height:100%;position:relative;width:100%}.neeto-molecules-pageloader__wrapper .neeto-molecules-pageloader{height:100%;left:0;position:absolute;top:0;width:100%}.neeto-molecules-pageloader__wrapper .neeto-molecules-pageloader__content{margin-bottom:16px;padding:8px;position:relative}.neeto-molecules-pageloader__wrapper .neeto-molecules-pageloader__text{color:rgb(var(--neeto-ui-gray-800));font-size:1.25rem;line-height:1.75rem;margin-bottom:4rem;text-align:center}.neeto-molecules-pageloader__loader{animation:neeto-molecules-pageloader-anim1 .8s linear infinite alternate,neeto-molecules-pageloader-anim2 1.6s linear infinite;aspect-ratio:1;border:5px solid #5bcc5a;border-radius:50%;width:36px}@keyframes neeto-molecules-pageloader-anim1{0%{-webkit-clip-path:polygon(50% 50%,0 0,50% 0,50% 0,50% 0,50% 0,50% 0);clip-path:polygon(50% 50%,0 0,50% 0,50% 0,50% 0,50% 0,50% 0)}12.5%{-webkit-clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 0,100% 0,100% 0);clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 0,100% 0,100% 0)}25%{-webkit-clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 100%,100% 100%,100% 100%);clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 100%,100% 100%,100% 100%)}50%{-webkit-clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 100%,50% 100%,0 100%);clip-path:polygon(50% 50%,0 0,50% 0,100% 0,100% 100%,50% 100%,0 100%)}62.5%{-webkit-clip-path:polygon(50% 50%,100% 0,100% 0,100% 0,100% 100%,50% 100%,0 100%);clip-path:polygon(50% 50%,100% 0,100% 0,100% 0,100% 100%,50% 100%,0 100%)}75%{-webkit-clip-path:polygon(50% 50%,100% 100%,100% 100%,100% 100%,100% 100%,50% 100%,0 100%);clip-path:polygon(50% 50%,100% 100%,100% 100%,100% 100%,100% 100%,50% 100%,0 100%)}to{-webkit-clip-path:polygon(50% 50%,50% 100%,50% 100%,50% 100%,50% 100%,50% 100%,0 100%);clip-path:polygon(50% 50%,50% 100%,50% 100%,50% 100%,50% 100%,50% 100%,0 100%)}}@keyframes neeto-molecules-pageloader-anim2{0%{transform:scaleY(1) rotate(0deg)}49.99%{transform:scaleY(1) rotate(135deg)}50%{transform:scaleY(-1) rotate(0deg)}to{transform:scaleY(-1) rotate(-135deg)}}";
16
+ injectCss.n(css,{});
17
+
18
+ var _excluded = ["text"];
19
+ var PageLoader = function PageLoader(_ref) {
20
+ var _ref$text = _ref.text,
21
+ text = _ref$text === void 0 ? "" : _ref$text,
22
+ otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
23
+ return /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
24
+ className: "neeto-molecules-pageloader__wrapper"
25
+ }, otherProps), /*#__PURE__*/React__default["default"].createElement("div", {
26
+ className: "neeto-molecules-pageloader neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-justify-center"
27
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
28
+ className: "neeto-molecules-pageloader__content neeto-ui-flex neeto-ui-flex-shrink-0 neeto-ui-items-center neeto-ui-justify-center",
29
+ "data-cy": "neeto-molecules-pageloader"
30
+ }, /*#__PURE__*/React__default["default"].createElement("div", {
31
+ className: "neeto-molecules-pageloader__loader"
32
+ })), text && /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
33
+ style: "h5",
34
+ weight: "semibold"
35
+ }, text)));
36
+ };
37
+ var PageLoader$1 = /*#__PURE__*/React__default["default"].memo(PageLoader);
38
+
39
+ module.exports = PageLoader$1;
40
+ //# sourceMappingURL=PageLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageLoader.js","sources":["../../src/components/PageLoader/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport \"./page-loader.scss\";\n\nconst PageLoader = ({ text = \"\", ...otherProps }) => (\n <div className=\"neeto-molecules-pageloader__wrapper\" {...otherProps}>\n <div className=\"neeto-molecules-pageloader neeto-ui-flex neeto-ui-flex-col neeto-ui-items-center neeto-ui-justify-center\">\n <div\n className=\"neeto-molecules-pageloader__content neeto-ui-flex neeto-ui-flex-shrink-0 neeto-ui-items-center neeto-ui-justify-center\"\n data-cy=\"neeto-molecules-pageloader\"\n >\n <div className=\"neeto-molecules-pageloader__loader\" />\n </div>\n {text && (\n <Typography style=\"h5\" weight=\"semibold\">\n {text}\n </Typography>\n )}\n </div>\n </div>\n);\n\nPageLoader.propTypes = {\n /**\n * Text to indicate loading status (optional).\n */\n text: PropTypes.string,\n};\n\nexport default React.memo(PageLoader);\n"],"names":["PageLoader","_ref","_ref$text","text","otherProps","_objectWithoutProperties","_excluded","React","createElement","_extends","className","Typography","style","weight","memo"],"mappings":";;;;;;;;;;;;;;;;;;AAOA,IAAMA,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,SAAA,GAAAD,IAAA,CAAME,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,SAAA;AAAKE,IAAAA,UAAU,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAAA,EAAA,oBAC5CC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAAC,4BAAA,CAAA;AAAKC,IAAAA,SAAS,EAAC,qCAAA;AAAqC,GAAA,EAAKN,UAAU,CAAA,eACjEG,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKE,IAAAA,SAAS,EAAC,0GAAA;GACbH,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEE,IAAAA,SAAS,EAAC,wHAAwH;IAClI,SAAQ,EAAA,4BAAA;GAERH,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKE,IAAAA,SAAS,EAAC,oCAAA;GAAsC,CAClD,CAAC,EACLP,IAAI,iBACHI,yBAAA,CAAAC,aAAA,CAACG,kBAAU,EAAA;AAACC,IAAAA,KAAK,EAAC,IAAI;AAACC,IAAAA,MAAM,EAAC,UAAA;GAC3BV,EAAAA,IACS,CAEX,CACF,CAAC,CAAA;AAAA,CACP,CAAA;AASD,mBAAA,aAAeI,yBAAK,CAACO,IAAI,CAACd,UAAU,CAAC;;;;"}
@@ -0,0 +1,367 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _extends = require('@babel/runtime/helpers/extends');
6
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
7
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
8
+ var React = require('react');
9
+ var formik = require('formik');
10
+ var shallow = require('zustand/shallow');
11
+ var classnames = require('classnames');
12
+ var min = require('libphonenumber-js/min');
13
+ var neetoCist = require('@bigbinary/neeto-cist');
14
+ var neetoui = require('@bigbinary/neetoui');
15
+ var reactI18next = require('react-i18next');
16
+ var countriesList = require('countries-list');
17
+ var ramda = require('ramda');
18
+ var reactQuery = require('@tanstack/react-query');
19
+ var withImmutableActions = require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
20
+ var zustand = require('zustand');
21
+ var middleware = require('zustand/middleware');
22
+ var i18next = require('i18next');
23
+ var yup = require('yup');
24
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
25
+
26
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
27
+
28
+ function _interopNamespace(e) {
29
+ if (e && e.__esModule) return e;
30
+ var n = Object.create(null);
31
+ if (e) {
32
+ Object.keys(e).forEach(function (k) {
33
+ if (k !== 'default') {
34
+ var d = Object.getOwnPropertyDescriptor(e, k);
35
+ Object.defineProperty(n, k, d.get ? d : {
36
+ enumerable: true,
37
+ get: function () { return e[k]; }
38
+ });
39
+ }
40
+ });
41
+ }
42
+ n["default"] = e;
43
+ return Object.freeze(n);
44
+ }
45
+
46
+ var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
47
+ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
48
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
49
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
50
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
51
+ var withImmutableActions__default = /*#__PURE__*/_interopDefaultLegacy(withImmutableActions);
52
+ var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
53
+ var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
54
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
55
+
56
+ var COUNTRY_PICKER_OPTIONS = min.getCountries().filter(function (code) {
57
+ return countriesList.countries[code];
58
+ }).map(function (code) {
59
+ return {
60
+ label: countriesList.countries[code].name,
61
+ value: code
62
+ };
63
+ }).sort(function (a, b) {
64
+ return a.label.localeCompare(b.label);
65
+ });
66
+ var COUNTRY_PICKER_STYLES = {
67
+ menuPortal: ramda.mergeLeft({
68
+ width: 196,
69
+ zIndex: 99999
70
+ }),
71
+ control: ramda.mergeLeft({
72
+ border: "none !important",
73
+ cursor: "pointer",
74
+ gap: 4
75
+ }),
76
+ input: ramda.assoc("position", "absolute !important"),
77
+ valueContainer: ramda.assoc("padding", "0 !important"),
78
+ indicatorsContainer: ramda.assoc("paddingRight", "0 !important")
79
+ };
80
+
81
+ var _excluded$4 = ["countryCode", "showEmoji"];
82
+ var SingleValue = function SingleValue(_ref) {
83
+ var countryCode = _ref.countryCode,
84
+ _ref$showEmoji = _ref.showEmoji,
85
+ showEmoji = _ref$showEmoji === void 0 ? false : _ref$showEmoji,
86
+ otherProps = _objectWithoutProperties__default["default"](_ref, _excluded$4);
87
+ if (!showEmoji) return null;
88
+ var countryData = countriesList.countries[countryCode];
89
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Tooltip, {
90
+ content: countryData === null || countryData === void 0 ? void 0 : countryData.name
91
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, _extends__default["default"]({
92
+ className: "cursor-pointer text-center text-xl",
93
+ style: "body2"
94
+ }, otherProps), countryData === null || countryData === void 0 ? void 0 : countryData.emoji));
95
+ };
96
+ var SingleValue$1 = /*#__PURE__*/React__default["default"].memo(SingleValue);
97
+
98
+ var _excluded$3 = ["countryCode", "setCountryCode", "onInputChange", "prefix", "phoneNumber"];
99
+ var CountryPicker = function CountryPicker(_ref) {
100
+ var countryCode = _ref.countryCode,
101
+ setCountryCode = _ref.setCountryCode,
102
+ onInputChange = _ref.onInputChange,
103
+ prefix = _ref.prefix,
104
+ phoneNumber = _ref.phoneNumber,
105
+ otherProps = _objectWithoutProperties__default["default"](_ref, _excluded$3);
106
+ var _useState = React.useState(""),
107
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
108
+ searchTerm = _useState2[0],
109
+ setSearchTerm = _useState2[1];
110
+ var handleCountryChange = function handleCountryChange(_ref2) {
111
+ var value = _ref2.value;
112
+ setCountryCode(value);
113
+ onInputChange(phoneNumber.replace(prefix, "+".concat(min.getCountryCallingCode(value))));
114
+ };
115
+ return /*#__PURE__*/React__default["default"].createElement("div", {
116
+ className: classnames__default["default"]("flex-shrink-0", {
117
+ "w-10": !searchTerm,
118
+ "w-24": searchTerm
119
+ })
120
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends__default["default"]({
121
+ isSearchable: true,
122
+ "data-testid": "phonenumber-country-picker",
123
+ options: COUNTRY_PICKER_OPTIONS,
124
+ strategy: "fixed",
125
+ styles: COUNTRY_PICKER_STYLES,
126
+ value: {
127
+ value: countryCode
128
+ },
129
+ components: {
130
+ SingleValue: function SingleValue() {
131
+ return /*#__PURE__*/React__default["default"].createElement(SingleValue$1, {
132
+ countryCode: countryCode,
133
+ showEmoji: true
134
+ });
135
+ }
136
+ },
137
+ isOptionSelected: function isOptionSelected(_ref3, _ref4) {
138
+ var value = _ref3.value;
139
+ var _ref5 = _slicedToArray__default["default"](_ref4, 1),
140
+ selectedOption = _ref5[0];
141
+ return (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.name) === value;
142
+ },
143
+ onChange: handleCountryChange,
144
+ onInputChange: setSearchTerm
145
+ }, otherProps)));
146
+ };
147
+ var CountryPicker$1 = /*#__PURE__*/React__default["default"].memo(CountryPicker);
148
+
149
+ /** @type {import("neetocommons/react-utils").ZustandStoreHook} */
150
+ var useCountryCodeStore = zustand.create(withImmutableActions__default["default"](middleware.persist(function (set, _) {
151
+ return {
152
+ countryCode: null,
153
+ setCountryCode: function setCountryCode(countryCode) {
154
+ return set({
155
+ countryCode: countryCode
156
+ });
157
+ }
158
+ };
159
+ }, {
160
+ name: "neeto-ip-location-country-code",
161
+ storage: middleware.createJSONStorage(function () {
162
+ return localStorage;
163
+ })
164
+ })));
165
+
166
+ var isPhoneNumberValid = function isPhoneNumberValid() {
167
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
168
+ for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
169
+ rest[_key - 1] = arguments[_key];
170
+ }
171
+ return min.isValidPhoneNumber.apply(void 0, [value].concat(rest));
172
+ };
173
+ var validation = function validation() {
174
+ var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : i18next__default["default"].t("neetoMolecules.phoneNumberInput.validations.invalid");
175
+ return yup__namespace.string().test("phoneNumber", message, function (phoneNumber) {
176
+ return phoneNumber ? min.isValidPhoneNumber(phoneNumber) : true;
177
+ });
178
+ };
179
+ var getPhoneData = function getPhoneData(value, defaultCountryCode) {
180
+ try {
181
+ var parsedValue = min.parsePhoneNumber(value, defaultCountryCode);
182
+ return {
183
+ phoneNumber: parsedValue.number,
184
+ international: parsedValue.formatInternational(),
185
+ countryCode: parsedValue.country || defaultCountryCode
186
+ };
187
+ } catch (_unused) {
188
+ return {
189
+ phoneNumber: value,
190
+ international: min.formatIncompletePhoneNumber(value, defaultCountryCode),
191
+ countryCode: defaultCountryCode
192
+ };
193
+ }
194
+ };
195
+ var getCursorPosition = function getCursorPosition(_ref) {
196
+ var event = _ref.event,
197
+ prevFormattedValue = _ref.prevFormattedValue,
198
+ newFormattedValue = _ref.newFormattedValue;
199
+ var inputType = event.nativeEvent.inputType,
200
+ _event$target = event.target,
201
+ newValue = _event$target.value,
202
+ selectionStart = _event$target.selectionStart;
203
+ if (selectionStart === newValue.length) return newFormattedValue.length;
204
+ var n = prevFormattedValue.substring(0, selectionStart).replace(/\s/g, "").length;
205
+ var cursor = 0;
206
+ for (var i = 0; i < n; ++i, ++cursor) {
207
+ if (newFormattedValue[cursor] === " ") ++cursor;
208
+ }
209
+ if (inputType !== "deleteContentBackward") {
210
+ if (newFormattedValue[selectionStart - 1] === " " && prevFormattedValue[selectionStart - 1] === " ") {
211
+ return cursor + 2;
212
+ } else if (prevFormattedValue[selectionStart - 1] === " ") {
213
+ return cursor + 1;
214
+ }
215
+ }
216
+ return cursor;
217
+ };
218
+
219
+ var useSetInitialCountry = function useSetInitialCountry(initialCountryCode, initialValue) {
220
+ var setCountryCode = useCountryCodeStore(ramda.prop("setCountryCode"));
221
+ var _getPhoneData = getPhoneData(initialValue),
222
+ countryCodeFromInitialValue = _getPhoneData.countryCode;
223
+ var isFetchLocationEnabled = !initialCountryCode && !countryCodeFromInitialValue;
224
+
225
+ // useQuery(
226
+ // "IP_LOOKUP_LOCATION",
227
+ // () => neetoIpLookupApi.fetchLocationDetails(),
228
+ // {
229
+ // enabled: isFetchLocationEnabled,
230
+ // onSuccess: ({ countryCode }) => setCountryCode(countryCode),
231
+ // }
232
+ // );
233
+
234
+ var _useQuery = reactQuery.useQuery({
235
+ queryKey: ["IP_LOOKUP_LOCATION"],
236
+ enabled: isFetchLocationEnabled
237
+ }),
238
+ _useQuery$data = _useQuery.data,
239
+ _useQuery$data2 = _useQuery$data === void 0 ? {} : _useQuery$data,
240
+ countryCode = _useQuery$data2.countryCode;
241
+ React.useEffect(function () {
242
+ if (isFetchLocationEnabled) return;
243
+ setCountryCode(countryCode || countryCodeFromInitialValue || initialCountryCode);
244
+ }, [countryCode]);
245
+ };
246
+
247
+ var _excluded$2 = ["value", "onChange", "className", "error", "selectProps", "initialCountryCode"];
248
+ var PhoneNumberInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
249
+ var _ref$value = _ref.value,
250
+ value = _ref$value === void 0 ? "" : _ref$value,
251
+ _ref$onChange = _ref.onChange,
252
+ onChange = _ref$onChange === void 0 ? neetoCist.noop : _ref$onChange,
253
+ className = _ref.className,
254
+ error = _ref.error,
255
+ selectProps = _ref.selectProps,
256
+ initialCountryCode = _ref.initialCountryCode,
257
+ inputProps = _objectWithoutProperties__default["default"](_ref, _excluded$2);
258
+ var _useTranslation = reactI18next.useTranslation(),
259
+ t = _useTranslation.t;
260
+ var internalValue = React.useRef(value);
261
+ var initialValue = React.useMemo(function () {
262
+ return value;
263
+ }, []);
264
+ var _useCountryCodeStore = useCountryCodeStore(function (store) {
265
+ return {
266
+ countryCode: store["countryCode"],
267
+ setCountryCode: store["setCountryCode"]
268
+ };
269
+ }, shallow.shallow),
270
+ countryCode = _useCountryCodeStore.countryCode,
271
+ setCountryCode = _useCountryCodeStore.setCountryCode;
272
+ useSetInitialCountry(initialCountryCode, initialValue);
273
+ var prefix = countryCode ? "+".concat(min.getCountryCallingCode(countryCode)) : "";
274
+ var formattedValue = min.formatIncompletePhoneNumber(value, countryCode);
275
+ var handleInputChange = React.useCallback(function (value) {
276
+ onChange(value);
277
+ internalValue.current = value;
278
+ }, []);
279
+ var handleChange = function handleChange(event) {
280
+ var _getPhoneData = getPhoneData(event.target.value, countryCode),
281
+ phoneNumber = _getPhoneData.phoneNumber,
282
+ newCountryCode = _getPhoneData.countryCode;
283
+ handleInputChange(phoneNumber);
284
+ setCountryCode(newCountryCode);
285
+ var cursor = getCursorPosition({
286
+ event: event,
287
+ prevFormattedValue: formattedValue,
288
+ newFormattedValue: min.formatIncompletePhoneNumber(phoneNumber, newCountryCode)
289
+ });
290
+ window.requestAnimationFrame(function () {
291
+ return event.target.setSelectionRange(cursor, cursor);
292
+ });
293
+ };
294
+ React.useEffect(function () {
295
+ if (internalValue.current === value) return;
296
+ setCountryCode(getPhoneData(value, countryCode).countryCode);
297
+ }, [value]);
298
+ return /*#__PURE__*/React__default["default"].createElement("div", {
299
+ className: classnames__default["default"]([className])
300
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends__default["default"]({
301
+ error: error,
302
+ ref: ref,
303
+ "data-testid": "phonenumber-input",
304
+ type: "tel",
305
+ value: formattedValue,
306
+ placeholder: t("neetoMolecules.phoneNumberInput.placeholder", {
307
+ prefix: prefix
308
+ }),
309
+ prefix: /*#__PURE__*/React__default["default"].createElement(CountryPicker$1, _extends__default["default"]({
310
+ countryCode: countryCode,
311
+ prefix: prefix,
312
+ setCountryCode: setCountryCode,
313
+ phoneNumber: value,
314
+ onInputChange: handleInputChange
315
+ }, selectProps)),
316
+ onChange: handleChange
317
+ }, inputProps)));
318
+ });
319
+ PhoneNumberInput.displayName = "PhoneNumberInput";
320
+
321
+ var _excluded$1 = ["name"];
322
+ var FormikPhoneNumberInput = function FormikPhoneNumberInput(_ref) {
323
+ var name = _ref.name,
324
+ props = _objectWithoutProperties__default["default"](_ref, _excluded$1);
325
+ var _useField = formik.useField(name),
326
+ _useField2 = _slicedToArray__default["default"](_useField, 3),
327
+ field = _useField2[0],
328
+ meta = _useField2[1],
329
+ setValue = _useField2[2].setValue;
330
+ return /*#__PURE__*/React__default["default"].createElement(PhoneNumberInput, _extends__default["default"]({}, field, {
331
+ error: meta.touched ? meta.error : "",
332
+ onChange: setValue
333
+ }, props));
334
+ };
335
+
336
+ var _excluded = ["className", "defaultCountry", "value", "showEmoji", "children"];
337
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
338
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
339
+ var PhoneNumber = function PhoneNumber(_ref) {
340
+ var className = _ref.className,
341
+ _ref$defaultCountry = _ref.defaultCountry,
342
+ defaultCountry = _ref$defaultCountry === void 0 ? "IN" : _ref$defaultCountry,
343
+ value = _ref.value,
344
+ _ref$showEmoji = _ref.showEmoji,
345
+ showEmoji = _ref$showEmoji === void 0 ? false : _ref$showEmoji,
346
+ children = _ref.children,
347
+ otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
348
+ var _getPhoneData = getPhoneData(value || children, defaultCountry),
349
+ international = _getPhoneData.international,
350
+ countryCode = _getPhoneData.countryCode;
351
+ return /*#__PURE__*/React__default["default"].createElement("div", {
352
+ className: classnames__default["default"](["flex items-center space-x-2", className])
353
+ }, /*#__PURE__*/React__default["default"].createElement(SingleValue$1, _objectSpread({
354
+ countryCode: countryCode,
355
+ showEmoji: showEmoji
356
+ }, otherProps)), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, _extends__default["default"]({
357
+ style: "body2"
358
+ }, otherProps), international));
359
+ };
360
+ var PhoneNumber$1 = /*#__PURE__*/React__default["default"].memo(PhoneNumber);
361
+
362
+ exports.FormikPhoneNumberInput = FormikPhoneNumberInput;
363
+ exports.PhoneNumber = PhoneNumber$1;
364
+ exports.PhoneNumberInput = PhoneNumberInput;
365
+ exports.isPhoneNumberValid = isPhoneNumberValid;
366
+ exports.validation = validation;
367
+ //# sourceMappingURL=PhoneNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhoneNumber.js","sources":["../../src/components/PhoneNumber/CountryPicker/constants.js","../../src/components/PhoneNumber/CountryPicker/SingleValue.jsx","../../src/components/PhoneNumber/CountryPicker/index.jsx","../../src/components/PhoneNumber/stores/useCountryCodeStore.js","../../src/components/PhoneNumber/utils.js","../../src/components/PhoneNumber/hooks/reactQuery/useSetInitialCountry.js","../../src/components/PhoneNumber/PhoneNumberInput.jsx","../../src/components/PhoneNumber/FormikPhoneNumberInput.jsx","../../src/components/PhoneNumber/PhoneNumber.jsx"],"sourcesContent":["import { countries } from \"countries-list\";\nimport { getCountries } from \"libphonenumber-js/min\";\nimport { mergeLeft, assoc } from \"ramda\";\n\nexport const COUNTRY_PICKER_OPTIONS = getCountries()\n .filter(code => countries[code])\n .map(code => ({ label: countries[code].name, value: code }))\n .sort((a, b) => a.label.localeCompare(b.label));\n\nexport const COUNTRY_PICKER_STYLES = {\n menuPortal: mergeLeft({ width: 196, zIndex: 99999 }),\n control: mergeLeft({\n border: \"none !important\",\n cursor: \"pointer\",\n gap: 4,\n }),\n input: assoc(\"position\", \"absolute !important\"),\n valueContainer: assoc(\"padding\", \"0 !important\"),\n indicatorsContainer: assoc(\"paddingRight\", \"0 !important\"),\n};\n","import React from \"react\";\n\nimport { countries } from \"countries-list\";\nimport { Tooltip, Typography } from \"neetoui\";\n\nconst SingleValue = ({ countryCode, showEmoji = false, ...otherProps }) => {\n if (!showEmoji) return null;\n\n const countryData = countries[countryCode];\n\n return (\n <Tooltip content={countryData?.name}>\n <Typography\n className=\"cursor-pointer text-center text-xl\"\n style=\"body2\"\n {...otherProps}\n >\n {countryData?.emoji}\n </Typography>\n </Tooltip>\n );\n};\n\nexport default React.memo(SingleValue);\n","import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { getCountryCallingCode } from \"libphonenumber-js/min\";\nimport { Select } from \"neetoui\";\n\nimport { COUNTRY_PICKER_OPTIONS, COUNTRY_PICKER_STYLES } from \"./constants\";\nimport SingleValue from \"./SingleValue\";\n\nconst CountryPicker = ({\n countryCode,\n setCountryCode,\n onInputChange,\n prefix,\n phoneNumber,\n ...otherProps\n}) => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const handleCountryChange = ({ value }) => {\n setCountryCode(value);\n\n onInputChange(\n phoneNumber.replace(prefix, `+${getCountryCallingCode(value)}`)\n );\n };\n\n return (\n <div\n className={classnames(\"flex-shrink-0\", {\n \"w-10\": !searchTerm,\n \"w-24\": searchTerm,\n })}\n >\n <Select\n isSearchable\n data-testid=\"phonenumber-country-picker\"\n options={COUNTRY_PICKER_OPTIONS}\n strategy=\"fixed\"\n styles={COUNTRY_PICKER_STYLES}\n value={{ value: countryCode }}\n components={{\n SingleValue: () => <SingleValue {...{ countryCode }} showEmoji />,\n }}\n isOptionSelected={({ value }, [selectedOption]) =>\n selectedOption?.name === value\n }\n onChange={handleCountryChange}\n onInputChange={setSearchTerm}\n {...otherProps}\n />\n </div>\n );\n};\n\nexport default React.memo(CountryPicker);\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { persist, createJSONStorage } from \"zustand/middleware\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nexport const useCountryCodeStore = create(\n withImmutableActions(\n persist(\n (set, _) => ({\n countryCode: null,\n setCountryCode: countryCode => set({ countryCode }),\n }),\n {\n name: \"neeto-ip-location-country-code\",\n storage: createJSONStorage(() => localStorage),\n }\n )\n )\n);\n","import i18next from \"i18next\";\nimport {\n formatIncompletePhoneNumber,\n isValidPhoneNumber,\n parsePhoneNumber,\n} from \"libphonenumber-js/min\";\nimport * as yup from \"yup\";\n\nexport const isPhoneNumberValid = (value = \"\", ...rest) =>\n isValidPhoneNumber(value, ...rest);\n\nexport const validation = (\n message = i18next.t(\"neetoMolecules.phoneNumberInput.validations.invalid\")\n) =>\n yup\n .string()\n .test(\"phoneNumber\", message, phoneNumber =>\n phoneNumber ? isValidPhoneNumber(phoneNumber) : true\n );\n\nexport const getPhoneData = (value, defaultCountryCode) => {\n try {\n const parsedValue = parsePhoneNumber(value, defaultCountryCode);\n\n return {\n phoneNumber: parsedValue.number,\n international: parsedValue.formatInternational(),\n countryCode: parsedValue.country || defaultCountryCode,\n };\n } catch {\n return {\n phoneNumber: value,\n international: formatIncompletePhoneNumber(value, defaultCountryCode),\n countryCode: defaultCountryCode,\n };\n }\n};\n\nexport const getCursorPosition = ({\n event,\n prevFormattedValue,\n newFormattedValue,\n}) => {\n const {\n nativeEvent: { inputType },\n target: { value: newValue, selectionStart },\n } = event;\n\n if (selectionStart === newValue.length) return newFormattedValue.length;\n\n const n = prevFormattedValue\n .substring(0, selectionStart)\n .replace(/\\s/g, \"\").length;\n\n let cursor = 0;\n for (let i = 0; i < n; ++i, ++cursor) {\n if (newFormattedValue[cursor] === \" \") ++cursor;\n }\n\n if (inputType !== \"deleteContentBackward\") {\n if (\n newFormattedValue[selectionStart - 1] === \" \" &&\n prevFormattedValue[selectionStart - 1] === \" \"\n ) {\n return cursor + 2;\n } else if (prevFormattedValue[selectionStart - 1] === \" \") {\n return cursor + 1;\n }\n }\n\n return cursor;\n};\n","import { useEffect } from \"react\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { prop } from \"ramda\";\n\nimport { useCountryCodeStore } from \"components/PhoneNumber/stores/useCountryCodeStore\";\nimport { getPhoneData } from \"components/PhoneNumber/utils\";\n\nconst useSetInitialCountry = (initialCountryCode, initialValue) => {\n const setCountryCode = useCountryCodeStore(prop(\"setCountryCode\"));\n\n const { countryCode: countryCodeFromInitialValue } =\n getPhoneData(initialValue);\n\n const isFetchLocationEnabled =\n !initialCountryCode && !countryCodeFromInitialValue;\n\n // useQuery(\n // \"IP_LOOKUP_LOCATION\",\n // () => neetoIpLookupApi.fetchLocationDetails(),\n // {\n // enabled: isFetchLocationEnabled,\n // onSuccess: ({ countryCode }) => setCountryCode(countryCode),\n // }\n // );\n\n const { data: { countryCode } = {} } = useQuery({\n queryKey: [\"IP_LOOKUP_LOCATION\"],\n enabled: isFetchLocationEnabled,\n });\n\n useEffect(() => {\n if (isFetchLocationEnabled) return;\n\n setCountryCode(\n countryCode || countryCodeFromInitialValue || initialCountryCode\n );\n }, [countryCode]);\n};\n\nexport default useSetInitialCountry;\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from \"react\";\n\nimport classnames from \"classnames\";\nimport {\n formatIncompletePhoneNumber,\n getCountryCallingCode,\n} from \"libphonenumber-js/min\";\nimport { noop } from \"neetocist\";\nimport { Input } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CountryPicker from \"./CountryPicker\";\nimport useSetInitialCountry from \"./hooks/reactQuery/useSetInitialCountry\";\nimport { useCountryCodeStore } from \"./stores/useCountryCodeStore\";\nimport { getCursorPosition, getPhoneData } from \"./utils\";\n\nconst PhoneNumberInput = forwardRef(\n (\n {\n value = \"\",\n onChange = noop,\n className,\n error,\n selectProps,\n initialCountryCode,\n ...inputProps\n },\n ref\n ) => {\n const { t } = useTranslation();\n\n const internalValue = useRef(value);\n const initialValue = useMemo(() => value, []);\n\n const { countryCode, setCountryCode } = useCountryCodeStore.pick();\n\n useSetInitialCountry(initialCountryCode, initialValue);\n\n const prefix = countryCode ? `+${getCountryCallingCode(countryCode)}` : \"\";\n const formattedValue = formatIncompletePhoneNumber(value, countryCode);\n\n const handleInputChange = useCallback(value => {\n onChange(value);\n internalValue.current = value;\n }, []);\n\n const handleChange = event => {\n const { phoneNumber, countryCode: newCountryCode } = getPhoneData(\n event.target.value,\n countryCode\n );\n handleInputChange(phoneNumber);\n setCountryCode(newCountryCode);\n\n const cursor = getCursorPosition({\n event,\n prevFormattedValue: formattedValue,\n newFormattedValue: formatIncompletePhoneNumber(\n phoneNumber,\n newCountryCode\n ),\n });\n\n window.requestAnimationFrame(() =>\n event.target.setSelectionRange(cursor, cursor)\n );\n };\n\n useEffect(() => {\n if (internalValue.current === value) return;\n\n setCountryCode(getPhoneData(value, countryCode).countryCode);\n }, [value]);\n\n return (\n <div className={classnames([className])}>\n <Input\n {...{ error, ref }}\n data-testid=\"phonenumber-input\"\n type=\"tel\"\n value={formattedValue}\n placeholder={t(\"neetoMolecules.phoneNumberInput.placeholder\", {\n prefix,\n })}\n prefix={\n <CountryPicker\n {...{ countryCode, prefix, setCountryCode }}\n phoneNumber={value}\n onInputChange={handleInputChange}\n {...selectProps}\n />\n }\n onChange={handleChange}\n {...inputProps}\n />\n </div>\n );\n }\n);\n\nPhoneNumberInput.displayName = \"PhoneNumberInput\";\n\nPhoneNumberInput.propTypes = {\n /**\n * To specify the text to be displayed in the component.\n */\n value: PropTypes.string,\n /**\n * To specify the function to be triggered when the `value` is updated.\n */\n onChange: PropTypes.func,\n /**\n * To specify external classNames that can be provided as overrides to the main wrapper.\n */\n className: PropTypes.string,\n /**\n * To specify the error message to be displayed below the input field.\n */\n error: PropTypes.string,\n /**\n * To specify the additional props to be provided to the country picker `Select` component.\n */\n selectProps: PropTypes.object,\n /**\n * To specify the initial country to be set when component is mounted. Setting this\n * disables the feature of setting the initial country based on user's IP address.\n */\n initialCountryCode: PropTypes.string,\n};\n\nexport default PhoneNumberInput;\n","import React from \"react\";\n\nimport { useField } from \"formik\";\n\nimport PhoneNumberInput from \"./PhoneNumberInput\";\n\nconst FormikPhoneNumberInput = ({ name, ...props }) => {\n const [field, meta, { setValue }] = useField(name);\n\n return (\n <PhoneNumberInput\n {...field}\n error={meta.touched ? meta.error : \"\"}\n onChange={setValue}\n {...props}\n />\n );\n};\n\nexport default FormikPhoneNumberInput;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { Typography } from \"neetoui\";\n\nimport SingleValue from \"./CountryPicker/SingleValue\";\nimport { getPhoneData } from \"./utils\";\n\nconst PhoneNumber = ({\n className,\n defaultCountry = \"IN\",\n value,\n showEmoji = false,\n children,\n ...otherProps\n}) => {\n const { international, countryCode } = getPhoneData(\n value || children,\n defaultCountry\n );\n\n return (\n <div className={classnames([\"flex items-center space-x-2\", className])}>\n <SingleValue {...{ countryCode, showEmoji, ...otherProps }} />\n <Typography style=\"body2\" {...otherProps}>\n {international}\n </Typography>\n </div>\n );\n};\nexport default React.memo(PhoneNumber);\n"],"names":["COUNTRY_PICKER_OPTIONS","getCountries","filter","code","countries","map","label","name","value","sort","a","b","localeCompare","COUNTRY_PICKER_STYLES","menuPortal","mergeLeft","width","zIndex","control","border","cursor","gap","input","assoc","valueContainer","indicatorsContainer","SingleValue","_ref","countryCode","_ref$showEmoji","showEmoji","otherProps","_objectWithoutProperties","_excluded","countryData","React","createElement","Tooltip","content","Typography","_extends","className","style","emoji","memo","CountryPicker","setCountryCode","onInputChange","prefix","phoneNumber","_useState","useState","_useState2","_slicedToArray","searchTerm","setSearchTerm","handleCountryChange","_ref2","replace","concat","getCountryCallingCode","classnames","Select","isSearchable","options","strategy","styles","components","_SingleValue","isOptionSelected","_ref3","_ref4","_ref5","selectedOption","onChange","useCountryCodeStore","create","withImmutableActions","persist","set","_","storage","createJSONStorage","localStorage","isPhoneNumberValid","arguments","length","undefined","_len","rest","Array","_key","isValidPhoneNumber","apply","validation","message","i18next","t","yup","string","test","getPhoneData","defaultCountryCode","parsedValue","parsePhoneNumber","number","international","formatInternational","country","_unused","formatIncompletePhoneNumber","getCursorPosition","event","prevFormattedValue","newFormattedValue","inputType","nativeEvent","_event$target","target","newValue","selectionStart","n","substring","i","useSetInitialCountry","initialCountryCode","initialValue","prop","_getPhoneData","countryCodeFromInitialValue","isFetchLocationEnabled","_useQuery","useQuery","queryKey","enabled","_useQuery$data","data","_useQuery$data2","useEffect","PhoneNumberInput","forwardRef","ref","_ref$value","_ref$onChange","noop","error","selectProps","inputProps","_useTranslation","useTranslation","internalValue","useRef","useMemo","_useCountryCodeStore","store","shallow","formattedValue","handleInputChange","useCallback","current","handleChange","newCountryCode","window","requestAnimationFrame","setSelectionRange","Input","type","placeholder","displayName","FormikPhoneNumberInput","props","_useField","useField","_useField2","field","meta","setValue","touched","PhoneNumber","_ref$defaultCountry","defaultCountry","children","_objectSpread"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAMA,sBAAsB,GAAGC,gBAAY,EAAE,CACjDC,MAAM,CAAC,UAAAC,IAAI,EAAA;EAAA,OAAIC,uBAAS,CAACD,IAAI,CAAC,CAAA;AAAA,CAAA,CAAC,CAC/BE,GAAG,CAAC,UAAAF,IAAI,EAAA;EAAA,OAAK;AAAEG,IAAAA,KAAK,EAAEF,uBAAS,CAACD,IAAI,CAAC,CAACI,IAAI;AAAEC,IAAAA,KAAK,EAAEL,IAAAA;GAAM,CAAA;AAAA,CAAC,CAAC,CAC3DM,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAA;EAAA,OAAKD,CAAC,CAACJ,KAAK,CAACM,aAAa,CAACD,CAAC,CAACL,KAAK,CAAC,CAAA;AAAA,CAAC,CAAA,CAAA;AAE1C,IAAMO,qBAAqB,GAAG;EACnCC,UAAU,EAAEC,eAAS,CAAC;AAAEC,IAAAA,KAAK,EAAE,GAAG;AAAEC,IAAAA,MAAM,EAAE,KAAA;AAAM,GAAC,CAAC;EACpDC,OAAO,EAAEH,eAAS,CAAC;AACjBI,IAAAA,MAAM,EAAE,iBAAiB;AACzBC,IAAAA,MAAM,EAAE,SAAS;AACjBC,IAAAA,GAAG,EAAE,CAAA;AACP,GAAC,CAAC;AACFC,EAAAA,KAAK,EAAEC,WAAK,CAAC,UAAU,EAAE,qBAAqB,CAAC;AAC/CC,EAAAA,cAAc,EAAED,WAAK,CAAC,SAAS,EAAE,cAAc,CAAC;AAChDE,EAAAA,mBAAmB,EAAEF,WAAK,CAAC,cAAc,EAAE,cAAc,CAAA;AAC3D,CAAC;;;ACdD,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAA0D;AAAA,EAAA,IAApDC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IAAAC,cAAA,GAAAF,IAAA,CAAEG,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;AAAKE,IAAAA,UAAU,GAAAC,4CAAA,CAAAL,IAAA,EAAAM,WAAA,CAAA,CAAA;AAClE,EAAA,IAAI,CAACH,SAAS,EAAE,OAAO,IAAI,CAAA;AAE3B,EAAA,IAAMI,WAAW,GAAG9B,uBAAS,CAACwB,WAAW,CAAC,CAAA;AAE1C,EAAA,oBACEO,yBAAA,CAAAC,aAAA,CAACC,eAAO,EAAA;AAACC,IAAAA,OAAO,EAAEJ,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAE3B,IAAAA;AAAK,GAAA,eAClC4B,yBAAA,CAAAC,aAAA,CAACG,kBAAU,EAAAC,4BAAA,CAAA;AACTC,IAAAA,SAAS,EAAC,oCAAoC;AAC9CC,IAAAA,KAAK,EAAC,OAAA;GACFX,EAAAA,UAAU,CAEbG,EAAAA,WAAW,KAAXA,IAAAA,IAAAA,WAAW,uBAAXA,WAAW,CAAES,KACJ,CACL,CAAC,CAAA;AAEd,CAAC,CAAA;AAED,oBAAA,aAAeR,yBAAK,CAACS,IAAI,CAAClB,WAAW,CAAC;;;ACdtC,IAAMmB,aAAa,GAAG,SAAhBA,aAAaA,CAAAlB,IAAA,EAOb;AAAA,EAAA,IANJC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXkB,cAAc,GAAAnB,IAAA,CAAdmB,cAAc;IACdC,aAAa,GAAApB,IAAA,CAAboB,aAAa;IACbC,MAAM,GAAArB,IAAA,CAANqB,MAAM;IACNC,WAAW,GAAAtB,IAAA,CAAXsB,WAAW;AACRlB,IAAAA,UAAU,GAAAC,4CAAA,CAAAL,IAAA,EAAAM,WAAA,CAAA,CAAA;AAEb,EAAA,IAAAiB,SAAA,GAAoCC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,kCAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAzCI,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAMI,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,KAAA,EAAkB;AAAA,IAAA,IAAZjD,KAAK,GAAAiD,KAAA,CAALjD,KAAK,CAAA;IAClCsC,cAAc,CAACtC,KAAK,CAAC,CAAA;AAErBuC,IAAAA,aAAa,CACXE,WAAW,CAACS,OAAO,CAACV,MAAM,EAAA,GAAA,CAAAW,MAAA,CAAMC,yBAAqB,CAACpD,KAAK,CAAC,CAAE,CAChE,CAAC,CAAA;GACF,CAAA;EAED,oBACE2B,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEK,IAAAA,SAAS,EAAEoB,8BAAU,CAAC,eAAe,EAAE;MACrC,MAAM,EAAE,CAACP,UAAU;AACnB,MAAA,MAAM,EAAEA,UAAAA;KACT,CAAA;AAAE,GAAA,eAEHnB,yBAAA,CAAAC,aAAA,CAAC0B,cAAM,EAAAtB,4BAAA,CAAA;IACLuB,YAAY,EAAA,IAAA;AACZ,IAAA,aAAA,EAAY,4BAA4B;AACxCC,IAAAA,OAAO,EAAEhE,sBAAuB;AAChCiE,IAAAA,QAAQ,EAAC,OAAO;AAChBC,IAAAA,MAAM,EAAErD,qBAAsB;AAC9BL,IAAAA,KAAK,EAAE;AAAEA,MAAAA,KAAK,EAAEoB,WAAAA;KAAc;AAC9BuC,IAAAA,UAAU,EAAE;MACVzC,WAAW,EAAE,SAAAA,WAAA,GAAA;AAAA,QAAA,oBAAMS,yBAAA,CAAAC,aAAA,CAACgC,aAAW,EAAA;AAAOxC,UAAAA,WAAW,EAAXA,WAAW;UAAIE,SAAS,EAAA,IAAA;AAAA,SAAE,CAAC,CAAA;AAAA,OAAA;KACjE;AACFuC,IAAAA,gBAAgB,EAAE,SAAAA,gBAAAC,CAAAA,KAAA,EAAAC,KAAA,EAAA;AAAA,MAAA,IAAG/D,KAAK,GAAA8D,KAAA,CAAL9D,KAAK,CAAA;AAAA,MAAA,IAAAgE,KAAA,GAAAnB,kCAAA,CAAAkB,KAAA,EAAA,CAAA,CAAA;AAAKE,QAAAA,cAAc,GAAAD,KAAA,CAAA,CAAA,CAAA,CAAA;MAAA,OAC3C,CAAAC,cAAc,KAAdA,IAAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAElE,IAAI,MAAKC,KAAK,CAAA;KAC/B;AACDkE,IAAAA,QAAQ,EAAElB,mBAAoB;AAC9BT,IAAAA,aAAa,EAAEQ,aAAAA;GACXxB,EAAAA,UAAU,CACf,CACE,CAAC,CAAA;AAEV,CAAC,CAAA;AAED,sBAAA,aAAeI,yBAAK,CAACS,IAAI,CAACC,aAAa,CAAC;;ACnDxC;AACO,IAAM8B,mBAAmB,GAAGC,cAAM,CACvCC,wCAAoB,CAClBC,kBAAO,CACL,UAACC,GAAG,EAAEC,CAAC,EAAA;EAAA,OAAM;AACXpD,IAAAA,WAAW,EAAE,IAAI;IACjBkB,cAAc,EAAE,SAAAA,cAAAA,CAAAlB,WAAW,EAAA;AAAA,MAAA,OAAImD,GAAG,CAAC;AAAEnD,QAAAA,WAAW,EAAXA,WAAAA;AAAY,OAAC,CAAC,CAAA;AAAA,KAAA;GACpD,CAAA;AAAA,CAAC,EACF;AACErB,EAAAA,IAAI,EAAE,gCAAgC;EACtC0E,OAAO,EAAEC,4BAAiB,CAAC,YAAA;AAAA,IAAA,OAAMC,YAAY,CAAA;AAAA,GAAA,CAAA;AAC/C,CACF,CACF,CACF,CAAC;;ACVYC,IAAAA,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAA;AAAA,EAAA,IAAI5E,KAAK,GAAA6E,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;EAAA,KAAAG,IAAAA,IAAA,GAAAH,SAAA,CAAAC,MAAA,EAAKG,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAA,CAAAA,GAAAA,IAAA,WAAAG,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA,EAAA,EAAA;AAAJF,IAAAA,IAAI,CAAAE,IAAA,GAAAN,CAAAA,CAAAA,GAAAA,SAAA,CAAAM,IAAA,CAAA,CAAA;AAAA,GAAA;EAAA,OACpDC,sBAAkB,CAAAC,KAAA,CAAA,KAAA,CAAA,EAAA,CAACrF,KAAK,CAAAmD,CAAAA,MAAA,CAAK8B,IAAI,CAAC,CAAA,CAAA;AAAA,EAAA;AAEvBK,IAAAA,UAAU,GAAG,SAAbA,UAAUA,GAAA;AAAA,EAAA,IACrBC,OAAO,GAAAV,SAAA,CAAAC,MAAA,QAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAGW,CAAAA,CAAAA,GAAAA,2BAAO,CAACC,CAAC,CAAC,qDAAqD,CAAC,CAAA;AAAA,EAAA,OAE1EC,cAAG,CACAC,MAAM,EAAE,CACRC,IAAI,CAAC,aAAa,EAAEL,OAAO,EAAE,UAAA9C,WAAW,EAAA;AAAA,IAAA,OACvCA,WAAW,GAAG2C,sBAAkB,CAAC3C,WAAW,CAAC,GAAG,IAAI,CAAA;AAAA,GACtD,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMoD,YAAY,GAAG,SAAfA,YAAYA,CAAI7F,KAAK,EAAE8F,kBAAkB,EAAK;EACzD,IAAI;AACF,IAAA,IAAMC,WAAW,GAAGC,oBAAgB,CAAChG,KAAK,EAAE8F,kBAAkB,CAAC,CAAA;IAE/D,OAAO;MACLrD,WAAW,EAAEsD,WAAW,CAACE,MAAM;AAC/BC,MAAAA,aAAa,EAAEH,WAAW,CAACI,mBAAmB,EAAE;AAChD/E,MAAAA,WAAW,EAAE2E,WAAW,CAACK,OAAO,IAAIN,kBAAAA;KACrC,CAAA;GACF,CAAC,OAAAO,OAAA,EAAM;IACN,OAAO;AACL5D,MAAAA,WAAW,EAAEzC,KAAK;AAClBkG,MAAAA,aAAa,EAAEI,+BAA2B,CAACtG,KAAK,EAAE8F,kBAAkB,CAAC;AACrE1E,MAAAA,WAAW,EAAE0E,kBAAAA;KACd,CAAA;AACH,GAAA;AACF,CAAC,CAAA;AAEM,IAAMS,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAApF,IAAA,EAIxB;AAAA,EAAA,IAHJqF,KAAK,GAAArF,IAAA,CAALqF,KAAK;IACLC,kBAAkB,GAAAtF,IAAA,CAAlBsF,kBAAkB;IAClBC,iBAAiB,GAAAvF,IAAA,CAAjBuF,iBAAiB,CAAA;AAEjB,EAAA,IACiBC,SAAS,GAEtBH,KAAK,CAFPI,WAAW,CAAID,SAAS;IAAAE,aAAA,GAEtBL,KAAK,CADPM,MAAM;IAAWC,QAAQ,GAAAF,aAAA,CAAf7G,KAAK;IAAYgH,cAAc,GAAAH,aAAA,CAAdG,cAAc,CAAA;EAG3C,IAAIA,cAAc,KAAKD,QAAQ,CAACjC,MAAM,EAAE,OAAO4B,iBAAiB,CAAC5B,MAAM,CAAA;AAEvE,EAAA,IAAMmC,CAAC,GAAGR,kBAAkB,CACzBS,SAAS,CAAC,CAAC,EAAEF,cAAc,CAAC,CAC5B9D,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC4B,MAAM,CAAA;EAE5B,IAAIlE,MAAM,GAAG,CAAC,CAAA;AACd,EAAA,KAAK,IAAIuG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,CAAC,EAAE,EAAEE,CAAC,EAAE,EAAEvG,MAAM,EAAE;IACpC,IAAI8F,iBAAiB,CAAC9F,MAAM,CAAC,KAAK,GAAG,EAAE,EAAEA,MAAM,CAAA;AACjD,GAAA;EAEA,IAAI+F,SAAS,KAAK,uBAAuB,EAAE;AACzC,IAAA,IACED,iBAAiB,CAACM,cAAc,GAAG,CAAC,CAAC,KAAK,GAAG,IAC7CP,kBAAkB,CAACO,cAAc,GAAG,CAAC,CAAC,KAAK,GAAG,EAC9C;MACA,OAAOpG,MAAM,GAAG,CAAC,CAAA;KAClB,MAAM,IAAI6F,kBAAkB,CAACO,cAAc,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;MACzD,OAAOpG,MAAM,GAAG,CAAC,CAAA;AACnB,KAAA;AACF,GAAA;AAEA,EAAA,OAAOA,MAAM,CAAA;AACf,CAAC;;AC/DD,IAAMwG,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,kBAAkB,EAAEC,YAAY,EAAK;EACjE,IAAMhF,cAAc,GAAG6B,mBAAmB,CAACoD,UAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;AAElE,EAAA,IAAAC,aAAA,GACE3B,YAAY,CAACyB,YAAY,CAAC;IADPG,2BAA2B,GAAAD,aAAA,CAAxCpG,WAAW,CAAA;AAGnB,EAAA,IAAMsG,sBAAsB,GAC1B,CAACL,kBAAkB,IAAI,CAACI,2BAA2B,CAAA;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEA,IAAAE,SAAA,GAAuCC,mBAAQ,CAAC;MAC9CC,QAAQ,EAAE,CAAC,oBAAoB,CAAC;AAChCC,MAAAA,OAAO,EAAEJ,sBAAAA;AACX,KAAC,CAAC;IAAAK,cAAA,GAAAJ,SAAA,CAHMK,IAAI;AAAAC,IAAAA,eAAA,GAAAF,cAAA,KAAA,KAAA,CAAA,GAAoB,EAAE,GAAAA,cAAA;IAAlB3G,WAAW,GAAA6G,eAAA,CAAX7G,WAAW,CAAA;AAK3B8G,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAIR,sBAAsB,EAAE,OAAA;AAE5BpF,IAAAA,cAAc,CACZlB,WAAW,IAAIqG,2BAA2B,IAAIJ,kBAChD,CAAC,CAAA;AACH,GAAC,EAAE,CAACjG,WAAW,CAAC,CAAC,CAAA;AACnB,CAAC;;;ACfK+G,IAAAA,gBAAgB,gBAAGC,gBAAU,CACjC,UAAAjH,IAAA,EAUEkH,GAAG,EACA;AAAA,EAAA,IAAAC,UAAA,GAAAnH,IAAA,CATDnB,KAAK;AAALA,IAAAA,KAAK,GAAAsI,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAC,aAAA,GAAApH,IAAA,CACV+C,QAAQ;AAARA,IAAAA,QAAQ,GAAAqE,aAAA,KAAGC,KAAAA,CAAAA,GAAAA,cAAI,GAAAD,aAAA;IACftG,SAAS,GAAAd,IAAA,CAATc,SAAS;IACTwG,KAAK,GAAAtH,IAAA,CAALsH,KAAK;IACLC,WAAW,GAAAvH,IAAA,CAAXuH,WAAW;IACXrB,kBAAkB,GAAAlG,IAAA,CAAlBkG,kBAAkB;AACfsB,IAAAA,UAAU,GAAAnH,4CAAA,CAAAL,IAAA,EAAAM,WAAA,CAAA,CAAA;AAIf,EAAA,IAAAmH,eAAA,GAAcC,2BAAc,EAAE;IAAtBpD,CAAC,GAAAmD,eAAA,CAADnD,CAAC,CAAA;AAET,EAAA,IAAMqD,aAAa,GAAGC,YAAM,CAAC/I,KAAK,CAAC,CAAA;EACnC,IAAMsH,YAAY,GAAG0B,aAAO,CAAC,YAAA;AAAA,IAAA,OAAMhJ,KAAK,CAAA;AAAA,GAAA,EAAE,EAAE,CAAC,CAAA;AAE7C,EAAA,IAAAiJ,oBAAA,GAAA9E,mBAAA,CAAA,UAAA+E,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQ9H,QAAAA,WAAW,EAAA8H,KAAA,CAAA,aAAA,CAAA;AAAE5G,QAAAA,cAAc,EAAA4G,KAAA,CAAA,gBAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,EAAAC,eAAA,CAAA;IAA3B/H,WAAW,GAAA6H,oBAAA,CAAX7H,WAAW;IAAEkB,cAAc,GAAA2G,oBAAA,CAAd3G,cAAc,CAAA;AAEnC8E,EAAAA,oBAAoB,CAACC,kBAAkB,EAAEC,YAAY,CAAC,CAAA;EAEtD,IAAM9E,MAAM,GAAGpB,WAAW,GAAA+B,GAAAA,CAAAA,MAAA,CAAOC,yBAAqB,CAAChC,WAAW,CAAC,CAAA,GAAK,EAAE,CAAA;AAC1E,EAAA,IAAMgI,cAAc,GAAG9C,+BAA2B,CAACtG,KAAK,EAAEoB,WAAW,CAAC,CAAA;AAEtE,EAAA,IAAMiI,iBAAiB,GAAGC,iBAAW,CAAC,UAAAtJ,KAAK,EAAI;IAC7CkE,QAAQ,CAAClE,KAAK,CAAC,CAAA;IACf8I,aAAa,CAACS,OAAO,GAAGvJ,KAAK,CAAA;GAC9B,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,IAAMwJ,YAAY,GAAG,SAAfA,YAAYA,CAAGhD,KAAK,EAAI;IAC5B,IAAAgB,aAAA,GAAqD3B,YAAY,CAC/DW,KAAK,CAACM,MAAM,CAAC9G,KAAK,EAClBoB,WACF,CAAC;MAHOqB,WAAW,GAAA+E,aAAA,CAAX/E,WAAW;MAAegH,cAAc,GAAAjC,aAAA,CAA3BpG,WAAW,CAAA;IAIhCiI,iBAAiB,CAAC5G,WAAW,CAAC,CAAA;IAC9BH,cAAc,CAACmH,cAAc,CAAC,CAAA;IAE9B,IAAM7I,MAAM,GAAG2F,iBAAiB,CAAC;AAC/BC,MAAAA,KAAK,EAALA,KAAK;AACLC,MAAAA,kBAAkB,EAAE2C,cAAc;AAClC1C,MAAAA,iBAAiB,EAAEJ,+BAA2B,CAC5C7D,WAAW,EACXgH,cACF,CAAA;AACF,KAAC,CAAC,CAAA;IAEFC,MAAM,CAACC,qBAAqB,CAAC,YAAA;MAAA,OAC3BnD,KAAK,CAACM,MAAM,CAAC8C,iBAAiB,CAAChJ,MAAM,EAAEA,MAAM,CAAC,CAAA;AAAA,KAChD,CAAC,CAAA;GACF,CAAA;AAEDsH,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAIY,aAAa,CAACS,OAAO,KAAKvJ,KAAK,EAAE,OAAA;IAErCsC,cAAc,CAACuD,YAAY,CAAC7F,KAAK,EAAEoB,WAAW,CAAC,CAACA,WAAW,CAAC,CAAA;AAC9D,GAAC,EAAE,CAACpB,KAAK,CAAC,CAAC,CAAA;EAEX,oBACE2B,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKK,IAAAA,SAAS,EAAEoB,8BAAU,CAAC,CAACpB,SAAS,CAAC,CAAA;AAAE,GAAA,eACtCN,yBAAA,CAAAC,aAAA,CAACiI,aAAK,EAAA7H,4BAAA,CAAA;AACEyG,IAAAA,KAAK,EAALA,KAAK;AAAEJ,IAAAA,GAAG,EAAHA,GAAG;AAChB,IAAA,aAAA,EAAY,mBAAmB;AAC/ByB,IAAAA,IAAI,EAAC,KAAK;AACV9J,IAAAA,KAAK,EAAEoJ,cAAe;AACtBW,IAAAA,WAAW,EAAEtE,CAAC,CAAC,6CAA6C,EAAE;AAC5DjD,MAAAA,MAAM,EAANA,MAAAA;AACF,KAAC,CAAE;AACHA,IAAAA,MAAM,eACJb,yBAAA,CAAAC,aAAA,CAACS,eAAa,EAAAL,4BAAA,CAAA;AACNZ,MAAAA,WAAW,EAAXA,WAAW;AAAEoB,MAAAA,MAAM,EAANA,MAAM;AAAEF,MAAAA,cAAc,EAAdA,cAAc;AACzCG,MAAAA,WAAW,EAAEzC,KAAM;AACnBuC,MAAAA,aAAa,EAAE8G,iBAAAA;KACXX,EAAAA,WAAW,CAChB,CACF;AACDxE,IAAAA,QAAQ,EAAEsF,YAAAA;GACNb,EAAAA,UAAU,CACf,CACE,CAAC,CAAA;AAEV,CACF,EAAC;AAEDR,gBAAgB,CAAC6B,WAAW,GAAG,kBAAkB;;;ACrGjD,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA9I,IAAA,EAA2B;AAAA,EAAA,IAArBpB,IAAI,GAAAoB,IAAA,CAAJpB,IAAI;AAAKmK,IAAAA,KAAK,GAAA1I,4CAAA,CAAAL,IAAA,EAAAM,WAAA,CAAA,CAAA;AAC9C,EAAA,IAAA0I,SAAA,GAAoCC,eAAQ,CAACrK,IAAI,CAAC;IAAAsK,UAAA,GAAAxH,kCAAA,CAAAsH,SAAA,EAAA,CAAA,CAAA;AAA3CG,IAAAA,KAAK,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,IAAI,GAAAF,UAAA,CAAA,CAAA,CAAA;IAAIG,QAAQ,GAAAH,UAAA,CAAA,CAAA,CAAA,CAARG,QAAQ,CAAA;EAE9B,oBACE7I,yBAAA,CAAAC,aAAA,CAACuG,gBAAgB,EAAAnG,4BAAA,KACXsI,KAAK,EAAA;IACT7B,KAAK,EAAE8B,IAAI,CAACE,OAAO,GAAGF,IAAI,CAAC9B,KAAK,GAAG,EAAG;AACtCvE,IAAAA,QAAQ,EAAEsG,QAAAA;GACNN,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN;;;;;ACTA,IAAMQ,WAAW,GAAG,SAAdA,WAAWA,CAAAvJ,IAAA,EAOX;AAAA,EAAA,IANJc,SAAS,GAAAd,IAAA,CAATc,SAAS;IAAA0I,mBAAA,GAAAxJ,IAAA,CACTyJ,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;IACrB3K,KAAK,GAAAmB,IAAA,CAALnB,KAAK;IAAAqB,cAAA,GAAAF,IAAA,CACLG,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IACjBwJ,QAAQ,GAAA1J,IAAA,CAAR0J,QAAQ;AACLtJ,IAAAA,UAAU,GAAAC,4CAAA,CAAAL,IAAA,EAAAM,SAAA,CAAA,CAAA;EAEb,IAAA+F,aAAA,GAAuC3B,YAAY,CACjD7F,KAAK,IAAI6K,QAAQ,EACjBD,cACF,CAAC;IAHO1E,aAAa,GAAAsB,aAAA,CAAbtB,aAAa;IAAE9E,WAAW,GAAAoG,aAAA,CAAXpG,WAAW,CAAA;EAKlC,oBACEO,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKK,IAAAA,SAAS,EAAEoB,8BAAU,CAAC,CAAC,6BAA6B,EAAEpB,SAAS,CAAC,CAAA;AAAE,GAAA,eACrEN,yBAAA,CAAAC,aAAA,CAACV,aAAW,EAAA4J,aAAA,CAAA;AAAO1J,IAAAA,WAAW,EAAXA,WAAW;AAAEE,IAAAA,SAAS,EAATA,SAAAA;GAAcC,EAAAA,UAAU,CAAK,CAAC,eAC9DI,yBAAA,CAAAC,aAAA,CAACG,kBAAU,EAAAC,4BAAA,CAAA;AAACE,IAAAA,KAAK,EAAC,OAAA;AAAO,GAAA,EAAKX,UAAU,CAAA,EACrC2E,aACS,CACT,CAAC,CAAA;AAEV,CAAC,CAAA;AACD,oBAAA,aAAevE,yBAAK,CAACS,IAAI,CAACsI,WAAW,CAAC;;;;;;;;"}