@terreno/ui 0.0.1

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 (446) hide show
  1. package/LICENSE +203 -0
  2. package/README.md +160 -0
  3. package/dist/Accordion.d.ts +3 -0
  4. package/dist/Accordion.js +30 -0
  5. package/dist/Accordion.js.map +1 -0
  6. package/dist/ActionSheet.d.ts +169 -0
  7. package/dist/ActionSheet.js +637 -0
  8. package/dist/ActionSheet.js.map +1 -0
  9. package/dist/AddressField.d.ts +3 -0
  10. package/dist/AddressField.js +18 -0
  11. package/dist/AddressField.js.map +1 -0
  12. package/dist/Avatar.d.ts +3 -0
  13. package/dist/Avatar.js +189 -0
  14. package/dist/Avatar.js.map +1 -0
  15. package/dist/Badge.d.ts +3 -0
  16. package/dist/Badge.js +100 -0
  17. package/dist/Badge.js.map +1 -0
  18. package/dist/Banner.d.ts +4 -0
  19. package/dist/Banner.js +103 -0
  20. package/dist/Banner.js.map +1 -0
  21. package/dist/Body.d.ts +3 -0
  22. package/dist/Body.js +17 -0
  23. package/dist/Body.js.map +1 -0
  24. package/dist/BooleanField.d.ts +3 -0
  25. package/dist/BooleanField.js +89 -0
  26. package/dist/BooleanField.js.map +1 -0
  27. package/dist/Box.d.ts +3 -0
  28. package/dist/Box.js +289 -0
  29. package/dist/Box.js.map +1 -0
  30. package/dist/Button.d.ts +3 -0
  31. package/dist/Button.js +105 -0
  32. package/dist/Button.js.map +1 -0
  33. package/dist/Card.d.ts +2 -0
  34. package/dist/Card.js +18 -0
  35. package/dist/Card.js.map +1 -0
  36. package/dist/CheckBox.d.ts +3 -0
  37. package/dist/CheckBox.js +28 -0
  38. package/dist/CheckBox.js.map +1 -0
  39. package/dist/Common.d.ts +2325 -0
  40. package/dist/Common.js +47 -0
  41. package/dist/Common.js.map +1 -0
  42. package/dist/CommonIconTypes.d.ts +3 -0
  43. package/dist/CommonIconTypes.js +2 -0
  44. package/dist/CommonIconTypes.js.map +1 -0
  45. package/dist/Constants.d.ts +12685 -0
  46. package/dist/Constants.js +3310 -0
  47. package/dist/Constants.js.map +1 -0
  48. package/dist/CustomSelectField.d.ts +3 -0
  49. package/dist/CustomSelectField.js +59 -0
  50. package/dist/CustomSelectField.js.map +1 -0
  51. package/dist/DataTable.d.ts +3 -0
  52. package/dist/DataTable.js +190 -0
  53. package/dist/DataTable.js.map +1 -0
  54. package/dist/DateTimeActionSheet.d.ts +2 -0
  55. package/dist/DateTimeActionSheet.js +270 -0
  56. package/dist/DateTimeActionSheet.js.map +1 -0
  57. package/dist/DateTimeField.d.ts +3 -0
  58. package/dist/DateTimeField.js +514 -0
  59. package/dist/DateTimeField.js.map +1 -0
  60. package/dist/DateUtilities.d.ts +57 -0
  61. package/dist/DateUtilities.js +308 -0
  62. package/dist/DateUtilities.js.map +1 -0
  63. package/dist/DecimalRangeActionSheet.d.ts +6 -0
  64. package/dist/DecimalRangeActionSheet.js +45 -0
  65. package/dist/DecimalRangeActionSheet.js.map +1 -0
  66. package/dist/DismissButton.d.ts +3 -0
  67. package/dist/DismissButton.js +12 -0
  68. package/dist/DismissButton.js.map +1 -0
  69. package/dist/EmailField.d.ts +3 -0
  70. package/dist/EmailField.js +48 -0
  71. package/dist/EmailField.js.map +1 -0
  72. package/dist/EmojiSelector.d.ts +113 -0
  73. package/dist/EmojiSelector.js +322 -0
  74. package/dist/EmojiSelector.js.map +1 -0
  75. package/dist/ErrorBoundary.d.ts +19 -0
  76. package/dist/ErrorBoundary.js +30 -0
  77. package/dist/ErrorBoundary.js.map +1 -0
  78. package/dist/ErrorPage.d.ts +6 -0
  79. package/dist/ErrorPage.js +15 -0
  80. package/dist/ErrorPage.js.map +1 -0
  81. package/dist/Field.d.ts +3 -0
  82. package/dist/Field.js +80 -0
  83. package/dist/Field.js.map +1 -0
  84. package/dist/FlatList.d.ts +2 -0
  85. package/dist/FlatList.js +3 -0
  86. package/dist/FlatList.js.map +1 -0
  87. package/dist/Heading.d.ts +3 -0
  88. package/dist/Heading.js +43 -0
  89. package/dist/Heading.js.map +1 -0
  90. package/dist/HeightActionSheet.d.ts +11 -0
  91. package/dist/HeightActionSheet.js +46 -0
  92. package/dist/HeightActionSheet.js.map +1 -0
  93. package/dist/Hyperlink.d.ts +30 -0
  94. package/dist/Hyperlink.js +144 -0
  95. package/dist/Hyperlink.js.map +1 -0
  96. package/dist/Icon.d.ts +3 -0
  97. package/dist/Icon.js +15 -0
  98. package/dist/Icon.js.map +1 -0
  99. package/dist/IconButton.d.ts +3 -0
  100. package/dist/IconButton.js +111 -0
  101. package/dist/IconButton.js.map +1 -0
  102. package/dist/Image.d.ts +8 -0
  103. package/dist/Image.js +37 -0
  104. package/dist/Image.js.map +1 -0
  105. package/dist/ImageBackground.d.ts +10 -0
  106. package/dist/ImageBackground.js +9 -0
  107. package/dist/ImageBackground.js.map +1 -0
  108. package/dist/InfoModalIcon.d.ts +3 -0
  109. package/dist/InfoModalIcon.js +10 -0
  110. package/dist/InfoModalIcon.js.map +1 -0
  111. package/dist/InfoTooltipButton.d.ts +3 -0
  112. package/dist/InfoTooltipButton.js +6 -0
  113. package/dist/InfoTooltipButton.js.map +1 -0
  114. package/dist/Link.d.ts +3 -0
  115. package/dist/Link.js +10 -0
  116. package/dist/Link.js.map +1 -0
  117. package/dist/MarkdownView.d.ts +5 -0
  118. package/dist/MarkdownView.js +44 -0
  119. package/dist/MarkdownView.js.map +1 -0
  120. package/dist/MediaQuery.d.ts +4 -0
  121. package/dist/MediaQuery.js +52 -0
  122. package/dist/MediaQuery.js.map +1 -0
  123. package/dist/MobileAddressAutoComplete.d.ts +2 -0
  124. package/dist/MobileAddressAutoComplete.js +54 -0
  125. package/dist/MobileAddressAutoComplete.js.map +1 -0
  126. package/dist/Modal.d.ts +3 -0
  127. package/dist/Modal.js +127 -0
  128. package/dist/Modal.js.map +1 -0
  129. package/dist/ModalSheet.d.ts +6 -0
  130. package/dist/ModalSheet.js +42 -0
  131. package/dist/ModalSheet.js.map +1 -0
  132. package/dist/MultiselectField.d.ts +3 -0
  133. package/dist/MultiselectField.js +45 -0
  134. package/dist/MultiselectField.js.map +1 -0
  135. package/dist/NumberField.d.ts +3 -0
  136. package/dist/NumberField.js +60 -0
  137. package/dist/NumberField.js.map +1 -0
  138. package/dist/NumberPickerActionSheet.d.ts +7 -0
  139. package/dist/NumberPickerActionSheet.js +22 -0
  140. package/dist/NumberPickerActionSheet.js.map +1 -0
  141. package/dist/OpenAPIContext.d.ts +4 -0
  142. package/dist/OpenAPIContext.js +53 -0
  143. package/dist/OpenAPIContext.js.map +1 -0
  144. package/dist/Page.d.ts +7 -0
  145. package/dist/Page.js +24 -0
  146. package/dist/Page.js.map +1 -0
  147. package/dist/Pagination.d.ts +3 -0
  148. package/dist/Pagination.js +106 -0
  149. package/dist/Pagination.js.map +1 -0
  150. package/dist/PasswordField.d.ts +2 -0
  151. package/dist/PasswordField.js +6 -0
  152. package/dist/PasswordField.js.map +1 -0
  153. package/dist/Permissions.d.ts +2 -0
  154. package/dist/Permissions.js +35 -0
  155. package/dist/Permissions.js.map +1 -0
  156. package/dist/PhoneNumberField.d.ts +3 -0
  157. package/dist/PhoneNumberField.js +83 -0
  158. package/dist/PhoneNumberField.js.map +1 -0
  159. package/dist/PickerSelect.d.ts +46 -0
  160. package/dist/PickerSelect.js +306 -0
  161. package/dist/PickerSelect.js.map +1 -0
  162. package/dist/Radio.d.ts +3 -0
  163. package/dist/Radio.js +21 -0
  164. package/dist/Radio.js.map +1 -0
  165. package/dist/RadioField.d.ts +3 -0
  166. package/dist/RadioField.js +16 -0
  167. package/dist/RadioField.js.map +1 -0
  168. package/dist/ScrollView.d.ts +2 -0
  169. package/dist/ScrollView.js +3 -0
  170. package/dist/ScrollView.js.map +1 -0
  171. package/dist/SectionDivider.d.ts +2 -0
  172. package/dist/SectionDivider.js +12 -0
  173. package/dist/SectionDivider.js.map +1 -0
  174. package/dist/SegmentedControl.d.ts +3 -0
  175. package/dist/SegmentedControl.js +65 -0
  176. package/dist/SegmentedControl.js.map +1 -0
  177. package/dist/SelectBadge.d.ts +3 -0
  178. package/dist/SelectBadge.js +166 -0
  179. package/dist/SelectBadge.js.map +1 -0
  180. package/dist/SelectField.d.ts +3 -0
  181. package/dist/SelectField.js +16 -0
  182. package/dist/SelectField.js.map +1 -0
  183. package/dist/SideDrawer.d.ts +3 -0
  184. package/dist/SideDrawer.js +32 -0
  185. package/dist/SideDrawer.js.map +1 -0
  186. package/dist/Signature.d.ts +8 -0
  187. package/dist/Signature.js +21 -0
  188. package/dist/Signature.js.map +1 -0
  189. package/dist/Signature.native.d.ts +8 -0
  190. package/dist/Signature.native.js +26 -0
  191. package/dist/Signature.native.js.map +1 -0
  192. package/dist/SignatureField.d.ts +3 -0
  193. package/dist/SignatureField.js +42 -0
  194. package/dist/SignatureField.js.map +1 -0
  195. package/dist/Slider.d.ts +3 -0
  196. package/dist/Slider.js +78 -0
  197. package/dist/Slider.js.map +1 -0
  198. package/dist/Spinner.d.ts +3 -0
  199. package/dist/Spinner.js +33 -0
  200. package/dist/Spinner.js.map +1 -0
  201. package/dist/SplitPage.d.ts +2 -0
  202. package/dist/SplitPage.js +139 -0
  203. package/dist/SplitPage.js.map +1 -0
  204. package/dist/SplitPage.native.d.ts +2 -0
  205. package/dist/SplitPage.native.js +75 -0
  206. package/dist/SplitPage.native.js.map +1 -0
  207. package/dist/TapToEdit.d.ts +4 -0
  208. package/dist/TapToEdit.js +170 -0
  209. package/dist/TapToEdit.js.map +1 -0
  210. package/dist/TerrenoProvider.d.ts +6 -0
  211. package/dist/TerrenoProvider.js +10 -0
  212. package/dist/TerrenoProvider.js.map +1 -0
  213. package/dist/Text.d.ts +3 -0
  214. package/dist/Text.js +95 -0
  215. package/dist/Text.js.map +1 -0
  216. package/dist/TextArea.d.ts +3 -0
  217. package/dist/TextArea.js +6 -0
  218. package/dist/TextArea.js.map +1 -0
  219. package/dist/TextField.d.ts +3 -0
  220. package/dist/TextField.js +144 -0
  221. package/dist/TextField.js.map +1 -0
  222. package/dist/TextFieldNumberActionSheet.d.ts +7 -0
  223. package/dist/TextFieldNumberActionSheet.js +20 -0
  224. package/dist/TextFieldNumberActionSheet.js.map +1 -0
  225. package/dist/Theme.d.ts +96 -0
  226. package/dist/Theme.js +213 -0
  227. package/dist/Theme.js.map +1 -0
  228. package/dist/TimezonePicker.d.ts +11 -0
  229. package/dist/TimezonePicker.js +27 -0
  230. package/dist/TimezonePicker.js.map +1 -0
  231. package/dist/Toast.d.ts +23 -0
  232. package/dist/Toast.js +157 -0
  233. package/dist/Toast.js.map +1 -0
  234. package/dist/Tooltip.d.ts +3 -0
  235. package/dist/Tooltip.js +289 -0
  236. package/dist/Tooltip.js.map +1 -0
  237. package/dist/UnifiedAddressAutoComplete.d.ts +2 -0
  238. package/dist/UnifiedAddressAutoComplete.js +23 -0
  239. package/dist/UnifiedAddressAutoComplete.js.map +1 -0
  240. package/dist/Unifier.d.ts +43 -0
  241. package/dist/Unifier.js +154 -0
  242. package/dist/Unifier.js.map +1 -0
  243. package/dist/Utilities.d.ts +56 -0
  244. package/dist/Utilities.js +193 -0
  245. package/dist/Utilities.js.map +1 -0
  246. package/dist/WebAddressAutocomplete.d.ts +3 -0
  247. package/dist/WebAddressAutocomplete.js +61 -0
  248. package/dist/WebAddressAutocomplete.js.map +1 -0
  249. package/dist/fieldElements/FieldError.d.ts +6 -0
  250. package/dist/fieldElements/FieldError.js +9 -0
  251. package/dist/fieldElements/FieldError.js.map +1 -0
  252. package/dist/fieldElements/FieldHelperText.d.ts +6 -0
  253. package/dist/fieldElements/FieldHelperText.js +8 -0
  254. package/dist/fieldElements/FieldHelperText.js.map +1 -0
  255. package/dist/fieldElements/FieldTitle.d.ts +6 -0
  256. package/dist/fieldElements/FieldTitle.js +16 -0
  257. package/dist/fieldElements/FieldTitle.js.map +1 -0
  258. package/dist/fieldElements/index.d.ts +3 -0
  259. package/dist/fieldElements/index.js +4 -0
  260. package/dist/fieldElements/index.js.map +1 -0
  261. package/dist/icons/MobileIcon.d.ts +2 -0
  262. package/dist/icons/MobileIcon.js +18 -0
  263. package/dist/icons/MobileIcon.js.map +1 -0
  264. package/dist/icons/OfflineIcon.d.ts +2 -0
  265. package/dist/icons/OfflineIcon.js +18 -0
  266. package/dist/icons/OfflineIcon.js.map +1 -0
  267. package/dist/icons/OnlineIcon.d.ts +2 -0
  268. package/dist/icons/OnlineIcon.js +19 -0
  269. package/dist/icons/OnlineIcon.js.map +1 -0
  270. package/dist/icons/OutOfficeIcon.d.ts +2 -0
  271. package/dist/icons/OutOfficeIcon.js +18 -0
  272. package/dist/icons/OutOfficeIcon.js.map +1 -0
  273. package/dist/icons/index.d.ts +4 -0
  274. package/dist/icons/index.js +5 -0
  275. package/dist/icons/index.js.map +1 -0
  276. package/dist/index.d.ts +1328 -0
  277. package/dist/index.js +89 -0
  278. package/dist/index.js.map +1 -0
  279. package/dist/table/Table.d.ts +3 -0
  280. package/dist/table/Table.js +53 -0
  281. package/dist/table/Table.js.map +1 -0
  282. package/dist/table/TableBadge.d.ts +6 -0
  283. package/dist/table/TableBadge.js +23 -0
  284. package/dist/table/TableBadge.js.map +1 -0
  285. package/dist/table/TableBoolean.d.ts +6 -0
  286. package/dist/table/TableBoolean.js +37 -0
  287. package/dist/table/TableBoolean.js.map +1 -0
  288. package/dist/table/TableDate.d.ts +3 -0
  289. package/dist/table/TableDate.js +27 -0
  290. package/dist/table/TableDate.js.map +1 -0
  291. package/dist/table/TableHeader.d.ts +6 -0
  292. package/dist/table/TableHeader.js +10 -0
  293. package/dist/table/TableHeader.js.map +1 -0
  294. package/dist/table/TableHeaderCell.d.ts +6 -0
  295. package/dist/table/TableHeaderCell.js +54 -0
  296. package/dist/table/TableHeaderCell.js.map +1 -0
  297. package/dist/table/TableIconButton.d.ts +3 -0
  298. package/dist/table/TableIconButton.js +39 -0
  299. package/dist/table/TableIconButton.js.map +1 -0
  300. package/dist/table/TableNumber.d.ts +3 -0
  301. package/dist/table/TableNumber.js +18 -0
  302. package/dist/table/TableNumber.js.map +1 -0
  303. package/dist/table/TableRow.d.ts +6 -0
  304. package/dist/table/TableRow.js +22 -0
  305. package/dist/table/TableRow.js.map +1 -0
  306. package/dist/table/TableText.d.ts +3 -0
  307. package/dist/table/TableText.js +18 -0
  308. package/dist/table/TableText.js.map +1 -0
  309. package/dist/table/TableTitle.d.ts +3 -0
  310. package/dist/table/TableTitle.js +21 -0
  311. package/dist/table/TableTitle.js.map +1 -0
  312. package/dist/table/tableContext.d.ts +5 -0
  313. package/dist/table/tableContext.js +38 -0
  314. package/dist/table/tableContext.js.map +1 -0
  315. package/dist/useStoredState.d.ts +1 -0
  316. package/dist/useStoredState.js +49 -0
  317. package/dist/useStoredState.js.map +1 -0
  318. package/package.json +123 -0
  319. package/src/Accordion.test.tsx +104 -0
  320. package/src/Accordion.tsx +81 -0
  321. package/src/ActionSheet.tsx +881 -0
  322. package/src/AddressField.test.tsx +120 -0
  323. package/src/AddressField.tsx +122 -0
  324. package/src/Avatar.test.tsx +163 -0
  325. package/src/Avatar.tsx +298 -0
  326. package/src/Badge.test.tsx +116 -0
  327. package/src/Badge.tsx +136 -0
  328. package/src/Banner.tsx +200 -0
  329. package/src/Body.tsx +34 -0
  330. package/src/BooleanField.tsx +141 -0
  331. package/src/Box.test.tsx +662 -0
  332. package/src/Box.tsx +368 -0
  333. package/src/Button.tsx +196 -0
  334. package/src/Card.tsx +19 -0
  335. package/src/CheckBox.tsx +45 -0
  336. package/src/Common.ts +2787 -0
  337. package/src/CommonIconTypes.ts +2030 -0
  338. package/src/Constants.ts +3311 -0
  339. package/src/CustomSelectField.tsx +115 -0
  340. package/src/DataTable.tsx +674 -0
  341. package/src/DateTimeActionSheet.tsx +559 -0
  342. package/src/DateTimeField.test.tsx +393 -0
  343. package/src/DateTimeField.tsx +777 -0
  344. package/src/DateUtilities.test.ts +440 -0
  345. package/src/DateUtilities.tsx +370 -0
  346. package/src/DecimalRangeActionSheet.tsx +85 -0
  347. package/src/DismissButton.tsx +31 -0
  348. package/src/EmailField.tsx +66 -0
  349. package/src/EmojiSelector.test.tsx +61 -0
  350. package/src/EmojiSelector.tsx +510 -0
  351. package/src/ErrorBoundary.tsx +37 -0
  352. package/src/ErrorPage.tsx +41 -0
  353. package/src/Field.tsx +101 -0
  354. package/src/FlatList.tsx +2 -0
  355. package/src/Heading.tsx +66 -0
  356. package/src/HeightActionSheet.tsx +91 -0
  357. package/src/Hyperlink.tsx +179 -0
  358. package/src/Icon.tsx +36 -0
  359. package/src/IconButton.tsx +217 -0
  360. package/src/Image.tsx +51 -0
  361. package/src/ImageBackground.tsx +14 -0
  362. package/src/InfoModalIcon.tsx +42 -0
  363. package/src/InfoTooltipButton.tsx +16 -0
  364. package/src/Link.tsx +22 -0
  365. package/src/MarkdownView.tsx +67 -0
  366. package/src/MediaQuery.ts +46 -0
  367. package/src/MobileAddressAutoComplete.tsx +126 -0
  368. package/src/Modal.tsx +300 -0
  369. package/src/ModalSheet.tsx +58 -0
  370. package/src/MultiselectField.tsx +112 -0
  371. package/src/NumberField.tsx +67 -0
  372. package/src/NumberPickerActionSheet.tsx +51 -0
  373. package/src/OpenAPIContext.tsx +74 -0
  374. package/src/Page.tsx +105 -0
  375. package/src/Pagination.tsx +169 -0
  376. package/src/PasswordField.tsx +7 -0
  377. package/src/Permissions.ts +43 -0
  378. package/src/PhoneNumberField.tsx +109 -0
  379. package/src/PickerSelect.tsx +571 -0
  380. package/src/Radio.tsx +33 -0
  381. package/src/RadioField.tsx +43 -0
  382. package/src/ScrollView.tsx +2 -0
  383. package/src/SectionDivider.tsx +18 -0
  384. package/src/SegmentedControl.tsx +126 -0
  385. package/src/SelectBadge.tsx +280 -0
  386. package/src/SelectField.tsx +41 -0
  387. package/src/SideDrawer.tsx +56 -0
  388. package/src/Signature.native.tsx +57 -0
  389. package/src/Signature.tsx +44 -0
  390. package/src/SignatureField.tsx +92 -0
  391. package/src/Slider.tsx +199 -0
  392. package/src/Spinner.tsx +35 -0
  393. package/src/SplitPage.native.tsx +163 -0
  394. package/src/SplitPage.tsx +304 -0
  395. package/src/TapToEdit.tsx +292 -0
  396. package/src/TerrenoProvider.tsx +31 -0
  397. package/src/Text.tsx +123 -0
  398. package/src/TextArea.test.tsx +255 -0
  399. package/src/TextArea.tsx +8 -0
  400. package/src/TextField.test.tsx +487 -0
  401. package/src/TextField.tsx +260 -0
  402. package/src/TextFieldNumberActionSheet.tsx +46 -0
  403. package/src/Theme.tsx +248 -0
  404. package/src/TimezonePicker.tsx +45 -0
  405. package/src/Toast.tsx +234 -0
  406. package/src/Tooltip.tsx +407 -0
  407. package/src/UnifiedAddressAutoComplete.tsx +66 -0
  408. package/src/Unifier.ts +172 -0
  409. package/src/Utilities.tsx +329 -0
  410. package/src/WebAddressAutocomplete.tsx +84 -0
  411. package/src/__snapshots__/Accordion.test.tsx.snap +126 -0
  412. package/src/__snapshots__/AddressField.test.tsx.snap +1197 -0
  413. package/src/__snapshots__/Avatar.test.tsx.snap +57 -0
  414. package/src/__snapshots__/Badge.test.tsx.snap +55 -0
  415. package/src/__snapshots__/Box.test.tsx.snap +162 -0
  416. package/src/__snapshots__/EmojiSelector.test.tsx.snap +422 -0
  417. package/src/__snapshots__/TextArea.test.tsx.snap +521 -0
  418. package/src/__snapshots__/TextField.test.tsx.snap +569 -0
  419. package/src/bunSetup.ts +1235 -0
  420. package/src/fieldElements/FieldError.tsx +24 -0
  421. package/src/fieldElements/FieldHelperText.tsx +20 -0
  422. package/src/fieldElements/FieldTitle.tsx +31 -0
  423. package/src/fieldElements/index.tsx +3 -0
  424. package/src/icons/MobileIcon.tsx +40 -0
  425. package/src/icons/OfflineIcon.tsx +37 -0
  426. package/src/icons/OnlineIcon.tsx +39 -0
  427. package/src/icons/OutOfficeIcon.tsx +36 -0
  428. package/src/icons/index.ts +4 -0
  429. package/src/index.tsx +1375 -0
  430. package/src/polyfill.d.ts +11 -0
  431. package/src/table/Table.tsx +109 -0
  432. package/src/table/TableBadge.tsx +46 -0
  433. package/src/table/TableBoolean.tsx +70 -0
  434. package/src/table/TableDate.tsx +38 -0
  435. package/src/table/TableHeader.tsx +20 -0
  436. package/src/table/TableHeaderCell.tsx +94 -0
  437. package/src/table/TableIconButton.tsx +61 -0
  438. package/src/table/TableNumber.tsx +29 -0
  439. package/src/table/TableRow.tsx +67 -0
  440. package/src/table/TableText.tsx +29 -0
  441. package/src/table/TableTitle.tsx +31 -0
  442. package/src/table/tableContext.tsx +67 -0
  443. package/src/test-utils.tsx +27 -0
  444. package/src/types/react-native-swiper-flatlist.d.ts +56 -0
  445. package/src/useStoredState.test.tsx +143 -0
  446. package/src/useStoredState.ts +56 -0
@@ -0,0 +1,154 @@
1
+ import AsyncStorage from "@react-native-async-storage/async-storage";
2
+ import * as Clipboard from "expo-clipboard";
3
+ import * as Haptics from "expo-haptics";
4
+ import { Dimensions, Keyboard, Linking, Platform, Vibration } from "react-native";
5
+ import { requestPermissions } from "./Permissions";
6
+ // Changes a color luminance
7
+ export function changeColorLuminance(hex, luminanceChange) {
8
+ // Validate hex string, strip "#" if present.
9
+ hex = String(hex).replace(/[^0-9a-f]/gi, "");
10
+ if (hex.length === 3) {
11
+ hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
12
+ }
13
+ else if (hex.length !== 6) {
14
+ throw new Error(`Invalid color hex: ${hex}`);
15
+ }
16
+ let luminance;
17
+ switch (luminanceChange) {
18
+ case "light":
19
+ luminance = -0.2;
20
+ break;
21
+ case "lighter":
22
+ luminance = -0.33;
23
+ break;
24
+ case "dark":
25
+ luminance = 0.2;
26
+ break;
27
+ case "darker":
28
+ luminance = 0.33;
29
+ break;
30
+ default:
31
+ throw new Error(`Cannot change luminance to ${luminanceChange}`);
32
+ }
33
+ // Convert to decimal and change luminosity
34
+ let rgb = "#";
35
+ for (let i = 0; i < 3; i++) {
36
+ const decimal = parseInt(hex.substr(i * 2, 2), 16);
37
+ const appliedLuminance = Math.round(Math.min(Math.max(0, decimal + decimal * luminance), 255)).toString(16);
38
+ // 0 pad, if necessary.
39
+ rgb += `00${appliedLuminance}`.substr(appliedLuminance.length);
40
+ }
41
+ return rgb;
42
+ }
43
+ class UnifierClass {
44
+ constructor() {
45
+ this._web = false;
46
+ this._dev = false;
47
+ this.navigation = {
48
+ dismissOverlay: () => {
49
+ console.warn("Dismiss overlay not supported.");
50
+ },
51
+ };
52
+ // tracking: Tracking,
53
+ this.utils = {
54
+ copyToClipboard: (text) => {
55
+ Clipboard.setString(text);
56
+ },
57
+ dimensions: () => ({
58
+ height: Dimensions.get("window").height,
59
+ width: Dimensions.get("window").width,
60
+ }),
61
+ dismissKeyboard: () => {
62
+ Keyboard.dismiss();
63
+ },
64
+ haptic: () => {
65
+ if (Platform.OS !== "web") {
66
+ return Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light);
67
+ }
68
+ return;
69
+ },
70
+ makePurchase: () => {
71
+ console.warn("Make purchase not supported yet.");
72
+ },
73
+ openUrl: async (url) => {
74
+ return Linking.openURL(url);
75
+ },
76
+ orientationChange: (callback) => {
77
+ Dimensions.addEventListener("change", () => {
78
+ const screen = Dimensions.get("screen");
79
+ const isPortrait = screen.width < screen.height;
80
+ callback(isPortrait ? "portrait" : "landscape");
81
+ });
82
+ },
83
+ PaymentService: () => {
84
+ console.warn("Make purchase not supported yet.");
85
+ },
86
+ requestPermissions: async (_perm) => {
87
+ return requestPermissions(_perm);
88
+ // return requestPermissions(perm);
89
+ },
90
+ vibrate: (pattern) => {
91
+ Vibration.vibrate(pattern || [100], false);
92
+ },
93
+ // keepAwake: (activate: boolean) => {
94
+ // if (activate) {
95
+ // activateKeepAwake();
96
+ // } else {
97
+ // deactivateKeepAwake();
98
+ // }
99
+ // },
100
+ };
101
+ this.storage = {
102
+ getItem: async (key, defaultValue) => {
103
+ try {
104
+ const jsonValue = await AsyncStorage.getItem(key);
105
+ if (jsonValue) {
106
+ const value = JSON.parse(jsonValue);
107
+ if (value === null || value === undefined) {
108
+ return defaultValue;
109
+ }
110
+ else {
111
+ return value;
112
+ }
113
+ }
114
+ else if (defaultValue !== undefined) {
115
+ return defaultValue;
116
+ }
117
+ else {
118
+ return null;
119
+ }
120
+ }
121
+ catch (error) {
122
+ console.error(`[storage] Error reading ${key}`, error);
123
+ return defaultValue || null;
124
+ }
125
+ },
126
+ setItem: async (key, item) => {
127
+ try {
128
+ const jsonValue = JSON.stringify(item);
129
+ await AsyncStorage.setItem(key, jsonValue);
130
+ }
131
+ catch (error) {
132
+ console.error(`[storage] Error storing ${key}`, item, error);
133
+ throw new Error(error);
134
+ }
135
+ },
136
+ };
137
+ this.tracking = {
138
+ log: (message) => {
139
+ console.info(message);
140
+ },
141
+ };
142
+ this.initIcons = () => {
143
+ console.debug("[unifier] Initializing icons");
144
+ };
145
+ }
146
+ get web() {
147
+ return this._web;
148
+ }
149
+ get dev() {
150
+ return this._dev;
151
+ }
152
+ }
153
+ export const Unifier = new UnifierClass();
154
+ //# sourceMappingURL=Unifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Unifier.js","sourceRoot":"","sources":["../src/Unifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import type { APIError, BaseProfile, IconSize } from "./Common";
2
+ export declare function mergeInlineStyles(inlineStyle?: any, newStyle?: any): {
3
+ __style: any;
4
+ };
5
+ export declare function isTestUser(profile?: BaseProfile): boolean | "" | undefined;
6
+ export declare const iconNumberToSize: (size?: number) => IconSize;
7
+ interface InlineStyle {
8
+ [key: string]: string | number | undefined;
9
+ }
10
+ export interface Style {
11
+ className: Set<string>;
12
+ inlineStyle: InlineStyle;
13
+ }
14
+ export declare const identity: () => Style;
15
+ export declare const fromClassName: (...classNames: string[]) => Style;
16
+ export declare const fromInlineStyle: (inlineStyle: InlineStyle) => Style;
17
+ export declare const concat: (styles: Style[]) => Style;
18
+ export declare const mapClassName: (fn: (x: string) => string) => ({ className, inlineStyle }: Style) => Style;
19
+ export declare const toProps: ({ className, inlineStyle, }: Style) => {
20
+ className: string;
21
+ style: InlineStyle;
22
+ };
23
+ type Functor<T> = (n: T) => Style;
24
+ export declare const toggle: (...classNames: string[]) => (val?: boolean) => Style;
25
+ export declare const mapping: (map: {
26
+ [key: string]: string;
27
+ }) => (val: string) => Style;
28
+ export declare const range: (scale: string) => (n: number) => Style;
29
+ export declare const rangeWithoutZero: (scale: string) => (n: number) => Style;
30
+ export declare function bind<T>(fn: Functor<T>, scope: {
31
+ readonly [key: string]: string;
32
+ } | any): (val: T) => Style;
33
+ export declare const union: <T>(...fns: Functor<T>[]) => (val: T) => Style;
34
+ export declare const isNative: () => boolean;
35
+ export type AddressComponentType = {
36
+ long_name: string;
37
+ short_name: string;
38
+ types: string[];
39
+ };
40
+ export declare const findAddressComponent: (components: AddressComponentType[], type: string) => string;
41
+ interface ProcessAddressComponentOptions {
42
+ includeCounty?: boolean;
43
+ }
44
+ export declare const processAddressComponents: (addressComponents: AddressComponentType[] | undefined, options?: ProcessAddressComponentOptions) => {
45
+ address1: string;
46
+ city: string;
47
+ state: string;
48
+ zipcode: string;
49
+ countyName?: string;
50
+ countyCode?: string;
51
+ };
52
+ export declare const isValidGoogleApiKey: (apiKey: string) => boolean;
53
+ export declare function formattedCountyCode(state: string, countyName: string): string;
54
+ export declare function isAPIError(error: any): error is APIError;
55
+ export declare function printAPIError(error: APIError, details?: boolean): string;
56
+ export {};
@@ -0,0 +1,193 @@
1
+ // Originally based on https://github.com/pinterest/gestalt
2
+ // Forked, updated to Typescript, and added features.
3
+ import get from "lodash/get";
4
+ import { Platform } from "react-native";
5
+ import { COUNTY_AND_COUNTY_EQUIVALENT_ENTITIES } from "./Constants";
6
+ export function mergeInlineStyles(inlineStyle, newStyle) {
7
+ const inline = get(inlineStyle, "__style");
8
+ return {
9
+ __style: Object.assign(Object.assign({}, inline), newStyle),
10
+ };
11
+ }
12
+ export function isTestUser(profile) {
13
+ return ((profile === null || profile === void 0 ? void 0 : profile.email) &&
14
+ (profile.email.indexOf("nang.io") > -1 || profile.email.indexOf("example.com") > -1));
15
+ }
16
+ export const iconNumberToSize = (size = 16) => {
17
+ let iconSize;
18
+ if (size < 8) {
19
+ iconSize = "xs";
20
+ }
21
+ else if (size < 12) {
22
+ iconSize = "sm";
23
+ }
24
+ else if (size < 14) {
25
+ iconSize = "md";
26
+ }
27
+ else if (size < 20) {
28
+ iconSize = "lg";
29
+ }
30
+ else {
31
+ iconSize = "xl";
32
+ }
33
+ return iconSize;
34
+ };
35
+ export const identity = () => ({
36
+ className: new Set(),
37
+ inlineStyle: {},
38
+ });
39
+ export const fromClassName = (...classNames) => ({
40
+ className: new Set(classNames),
41
+ inlineStyle: {},
42
+ });
43
+ export const fromInlineStyle = (inlineStyle) => ({
44
+ className: new Set(),
45
+ inlineStyle,
46
+ });
47
+ export const concat = (styles) => styles.reduce(({ className: classNameA, inlineStyle: inlineStyleA }, { className: classNameB, inlineStyle: inlineStyleB }) => ({
48
+ className: new Set([...classNameA, ...classNameB]),
49
+ inlineStyle: Object.assign(Object.assign({}, inlineStyleA), inlineStyleB),
50
+ }), identity());
51
+ export const mapClassName = (fn) => ({ className, inlineStyle }) => ({
52
+ className: new Set(Array.from(className).map(fn)),
53
+ inlineStyle,
54
+ });
55
+ export const toProps = ({ className, inlineStyle, }) => {
56
+ const props = {};
57
+ if (className.size > 0) {
58
+ // Sorting here ensures that classNames are always stable, reducing diff
59
+ // churn. Box usually has a small number of properties so it's not a perf
60
+ // concern.
61
+ props.className = Array.from(className).sort().join(" ");
62
+ }
63
+ if (Object.keys(inlineStyle).length > 0) {
64
+ props.style = inlineStyle;
65
+ }
66
+ return props;
67
+ };
68
+ // Adds a classname when a property is present.
69
+ //
70
+ // <Box top />
71
+ //
72
+ export const toggle = (...classNames) => (val) => val ? fromClassName(...classNames) : identity();
73
+ // Maps string values to classes
74
+ //
75
+ // <Box alignItems="center" />
76
+ //
77
+ export const mapping = (map) => (val) => Object.hasOwn(map, val) ? fromClassName(map[val]) : identity();
78
+ // Maps a range of integers to a range of classnames
79
+ //
80
+ // <Box padding={1} />
81
+ //
82
+ export const range = (scale) => (n) => fromClassName(`${scale}${n < 0 ? `N${Math.abs(n)}` : n}`);
83
+ // Like `range`, maps a range of integers to a range of classnames, excluding
84
+ // zero values.
85
+ //
86
+ // <Box padding={0} />
87
+ export const rangeWithoutZero = (scale) => (n) => n === 0 ? identity() : range(scale)(n);
88
+ // Binds a string classname to the value in an object. Useful when interacting
89
+ // with ranges that need to come dynamically from a style object. This is
90
+ // similar to the NPM package 'classnames/bind'.
91
+ export function bind(fn, scope) {
92
+ const map = mapClassName((name) => scope[name]);
93
+ return (val) => map(fn(val));
94
+ }
95
+ // This takes a series of the previously defined functors, runs them all
96
+ // against a value and returns the set of their classnames.
97
+ export const union = (...fns) => (val) => concat(fns.map((fn) => fn(val)));
98
+ export const isNative = () => {
99
+ return ["android", "ios"].includes(Platform.OS);
100
+ };
101
+ export const findAddressComponent = (components, type) => {
102
+ var _a, _b;
103
+ return ((_b = (_a = components.find((component) => component.types.includes(type))) === null || _a === void 0 ? void 0 : _a.long_name) !== null && _b !== void 0 ? _b : "");
104
+ };
105
+ export const processAddressComponents = (addressComponents, options) => {
106
+ let processedAddressComponents = {
107
+ address1: "",
108
+ city: "",
109
+ state: "",
110
+ zipcode: "",
111
+ };
112
+ if (!addressComponents || addressComponents.length === 0) {
113
+ console.warn("Invalid address components");
114
+ if (options === null || options === void 0 ? void 0 : options.includeCounty) {
115
+ return Object.assign(Object.assign({}, processedAddressComponents), { countyCode: "", countyName: "" });
116
+ }
117
+ else {
118
+ return processedAddressComponents;
119
+ }
120
+ }
121
+ const streetNumber = findAddressComponent(addressComponents, "street_number");
122
+ const streetName = findAddressComponent(addressComponents, "route");
123
+ const city = findAddressComponent(addressComponents, "locality");
124
+ const state = findAddressComponent(addressComponents, "administrative_area_level_1");
125
+ const zipcode = findAddressComponent(addressComponents, "postal_code");
126
+ processedAddressComponents = {
127
+ address1: `${streetNumber} ${streetName}`.trim(),
128
+ city,
129
+ state,
130
+ zipcode,
131
+ };
132
+ if (options === null || options === void 0 ? void 0 : options.includeCounty) {
133
+ const countyName = findAddressComponent(addressComponents, "administrative_area_level_2");
134
+ if (state && countyName) {
135
+ const countyCode = formattedCountyCode(state, countyName);
136
+ processedAddressComponents = Object.assign(Object.assign({}, processedAddressComponents), { countyCode,
137
+ countyName });
138
+ }
139
+ else {
140
+ processedAddressComponents = Object.assign(Object.assign({}, processedAddressComponents), { countyName });
141
+ }
142
+ }
143
+ return processedAddressComponents;
144
+ };
145
+ // Google does not provide a way to validate API keys, so we have to do it ourselves
146
+ export const isValidGoogleApiKey = (apiKey) => {
147
+ if (typeof apiKey !== "string" || apiKey.trim().length === 0) {
148
+ console.warn("Google API key validation failed: key is not a string or is empty");
149
+ return false;
150
+ }
151
+ // Typical Google API keys are around 39 characters
152
+ if (apiKey.length < 30 || apiKey.length > 50) {
153
+ console.warn("Google API key validation failed: key is invalid length");
154
+ return false;
155
+ }
156
+ // Check the presence of alphanumeric characters and dashes
157
+ const apiKeyRegex = /^[A-Za-z0-9-_]+$/;
158
+ if (!apiKeyRegex.test(apiKey)) {
159
+ console.warn("Google API key validation failed: key contains invalid characters");
160
+ return false;
161
+ }
162
+ return true;
163
+ };
164
+ export function formattedCountyCode(state, countyName) {
165
+ // Remove whitespace and convert to lowercase for comparison
166
+ const stateKey = state
167
+ .replace(/\s+/g, "")
168
+ .toLowerCase();
169
+ const stateData = COUNTY_AND_COUNTY_EQUIVALENT_ENTITIES[stateKey];
170
+ // Remove whitespace, periods, apostrophes, and dashes for comparison
171
+ const countyKey = countyName
172
+ .trim()
173
+ .toLowerCase()
174
+ .replace(/[\s.'-]/g, "");
175
+ const countyData = stateData === null || stateData === void 0 ? void 0 : stateData[countyKey];
176
+ if (!countyData) {
177
+ return "";
178
+ }
179
+ return `${countyData.stateFP}${countyData.countyFP}`;
180
+ }
181
+ export function isAPIError(error) {
182
+ var _a;
183
+ return (_a = error === null || error === void 0 ? void 0 : error.data) === null || _a === void 0 ? void 0 : _a.title;
184
+ }
185
+ export function printAPIError(error, details = true) {
186
+ var _a, _b, _c;
187
+ let message = (_a = error.data) === null || _a === void 0 ? void 0 : _a.title;
188
+ if (((_b = error.data) === null || _b === void 0 ? void 0 : _b.detail) && details) {
189
+ message = `${message}: ${(_c = error.data) === null || _c === void 0 ? void 0 : _c.detail}`;
190
+ }
191
+ return message;
192
+ }
193
+ //# sourceMappingURL=Utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Utilities.js","sourceRoot":"","sources":["../src/Utilities.tsx"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,qDAAqD;AACrD,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAC,qCAAqC,EAAC,MAAM,aAAa,CAAC;AAElE,MAAM,UAAU,iBAAiB,CAAC,WAAiB,EAAE,QAAc;IACjE,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC3C,OAAO;QACL,OAAO,kCACF,MAAM,GACN,QAAQ,CACZ;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAqB;IAC9C,OAAO,CACL,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK;QACd,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CACrF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAI,GAAG,EAAE,EAAY,EAAE;IACtD,IAAI,QAAkB,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACrB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACrB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACrB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AA6BF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAU,EAAE,CAAC,CAAC;IACpC,SAAS,EAAE,IAAI,GAAG,EAAE;IACpB,WAAW,EAAE,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAG,UAAoB,EAAS,EAAE,CAAC,CAAC;IAChE,SAAS,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC;IAC9B,WAAW,EAAE,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAAwB,EAAS,EAAE,CAAC,CAAC;IACnE,SAAS,EAAE,IAAI,GAAG,EAAE;IACpB,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAe,EAAS,EAAE,CAC/C,MAAM,CAAC,MAAM,CACX,CACE,EAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAC,EAClD,EAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAC,EAClD,EAAE,CAAC,CAAC;IACJ,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;IAClD,WAAW,kCAAM,YAAY,GAAK,YAAY,CAAC;CAChD,CAAC,EACF,QAAQ,EAAE,CACX,CAAC;AAEJ,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,EAAyB,EAAE,EAAE,CAC9B,CAAC,EAAC,SAAS,EAAE,WAAW,EAAQ,EAAS,EAAE,CAAC,CAAC;IAC3C,SAAS,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjD,WAAW;CACZ,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACtB,SAAS,EACT,WAAW,GACL,EAA2C,EAAE;IACnD,MAAM,KAAK,GAAQ,EAAE,CAAC;IAEtB,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvB,wEAAwE;QACxE,yEAAyE;QACzE,WAAW;QACX,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;IAC5B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAYF,+CAA+C;AAC/C,EAAE;AACF,kBAAkB;AAClB,EAAE;AACF,MAAM,CAAC,MAAM,MAAM,GACjB,CAAC,GAAG,UAAoB,EAAE,EAAE,CAC5B,CAAC,GAAa,EAAE,EAAE,CAChB,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEpD,gCAAgC;AAChC,EAAE;AACF,kCAAkC;AAClC,EAAE;AACF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAA4B,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE,CACvE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEjE,oDAAoD;AACpD,EAAE;AACF,0BAA0B;AAC1B,EAAE;AACF,MAAM,CAAC,MAAM,KAAK,GAChB,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,CAAS,EAAS,EAAE,CACnB,aAAa,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE9D,6EAA6E;AAC7E,eAAe;AACf,EAAE;AACF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,CAAS,EAAS,EAAE,CACnB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3C,8EAA8E;AAC9E,yEAAyE;AACzE,gDAAgD;AAChD,MAAM,UAAU,IAAI,CAClB,EAAc,EACd,KAIO;IAEP,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAM,EAAS,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,wEAAwE;AACxE,2DAA2D;AAC3D,MAAM,CAAC,MAAM,KAAK,GAChB,CAAK,GAAG,GAAiB,EAAE,EAAE,CAC7B,CAAC,GAAM,EAAE,EAAE,CACT,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAY,EAAE;IACpC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAkC,EAAE,IAAY,EAAU,EAAE;;IAC/F,OAAO,CACL,MAAA,MAAA,UAAU,CAAC,IAAI,CAAC,CAAC,SAA+B,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,0CAChF,SAAS,mCAAI,EAAE,CACpB,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,iBAAqD,EACrD,OAAwC,EACxC,EAAE;IACF,IAAI,0BAA0B,GAO1B;QACF,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC3C,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE,CAAC;YAC3B,uCACK,0BAA0B,KAC7B,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,EAAE,IACd;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,0BAA0B,CAAC;QACpC,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAEvE,0BAA0B,GAAG;QAC3B,QAAQ,EAAE,GAAG,YAAY,IAAI,UAAU,EAAE,CAAC,IAAI,EAAE;QAChD,IAAI;QACJ,KAAK;QACL,OAAO;KACR,CAAC;IAEF,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;QAC1F,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAC1D,0BAA0B,mCACrB,0BAA0B,KAC7B,UAAU;gBACV,UAAU,GACX,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,0BAA0B,mCACrB,0BAA0B,KAC7B,UAAU,GACX,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,0BAA0B,CAAC;AACpC,CAAC,CAAC;AAEF,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAW,EAAE;IAC7D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,mDAAmD;IACnD,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,2DAA2D;IAC3D,MAAM,WAAW,GAAG,kBAAkB,CAAC;IACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,UAAkB;IACnE,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,KAAK;SACnB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;SACnB,WAAW,EAAwD,CAAC;IAEvE,MAAM,SAAS,GAAG,qCAAqC,CAAC,QAAQ,CAAC,CAAC;IAElE,qEAAqE;IACrE,MAAM,SAAS,GAAG,UAAU;SACzB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,UAAU,EAAE,EAAE,CAA2B,CAAC;IAErD,MAAM,UAAU,GAGZ,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,SAAS,CAAC,CAAC;IAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,GAAG,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAU;;IACnC,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,KAAK,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAe,EAAE,OAAO,GAAG,IAAI;;IAC3D,IAAI,OAAO,GAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,KAAK,CAAC;IAChC,IAAI,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,MAAM,KAAI,OAAO,EAAE,CAAC;QAClC,OAAO,GAAG,GAAG,OAAO,KAAK,MAAA,KAAK,CAAC,IAAI,0CAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ReactElement } from "react";
2
+ import type { AddressAutocompleteProps } from "./Common";
3
+ export declare const WebAddressAutocomplete: ({ disabled, googleMapsApiKey, includeCounty, inputValue, handleAddressChange, handleAutoCompleteChange, }: AddressAutocompleteProps) => ReactElement;
@@ -0,0 +1,61 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from "react";
3
+ import { GOOGLE_PLACES_API_RESTRICTIONS } from "./Constants";
4
+ import { TextField } from "./TextField";
5
+ import { processAddressComponents } from "./Utilities";
6
+ const loadGooglePlacesScript = (googleMapsApiKey, callbackName) => {
7
+ return new Promise((resolve, reject) => {
8
+ var _a, _b;
9
+ if ((_b = (_a = window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.places) {
10
+ resolve();
11
+ return;
12
+ }
13
+ window[callbackName] = () => resolve();
14
+ const script = document.createElement("script");
15
+ script.src = `https://maps.googleapis.com/maps/api/js?key=${googleMapsApiKey}&libraries=places&callback=${callbackName}`;
16
+ script.async = true;
17
+ script.defer = true;
18
+ script.onerror = () => reject(new Error("Google Maps script failed to load"));
19
+ document.head.appendChild(script);
20
+ return;
21
+ });
22
+ };
23
+ export const WebAddressAutocomplete = ({ disabled, googleMapsApiKey, includeCounty, inputValue, handleAddressChange, handleAutoCompleteChange, }) => {
24
+ const [scriptLoaded, setScriptLoaded] = useState(true);
25
+ const autocompleteInputRef = useRef(null);
26
+ // Load the Google Maps script and initialize the autocomplete.
27
+ useEffect(() => {
28
+ const callbackName = "initAutocomplete";
29
+ if (!googleMapsApiKey) {
30
+ setScriptLoaded(false);
31
+ return;
32
+ }
33
+ loadGooglePlacesScript(googleMapsApiKey, callbackName)
34
+ .then(() => {
35
+ const autocomplete = new window.google.maps.places.Autocomplete(autocompleteInputRef.current, {
36
+ componentRestrictions: { country: GOOGLE_PLACES_API_RESTRICTIONS.components.country },
37
+ fields: Object.values(GOOGLE_PLACES_API_RESTRICTIONS.fields),
38
+ });
39
+ autocomplete.addListener("place_changed", () => {
40
+ const place = autocomplete.getPlace();
41
+ const addressComponents = place === null || place === void 0 ? void 0 : place.address_components;
42
+ const formattedAddressObject = processAddressComponents(addressComponents, {
43
+ includeCounty,
44
+ });
45
+ handleAutoCompleteChange(formattedAddressObject);
46
+ });
47
+ })
48
+ .catch((error) => {
49
+ console.warn(error);
50
+ setScriptLoaded(false);
51
+ });
52
+ // Cleanup
53
+ return () => {
54
+ window[callbackName] = null;
55
+ };
56
+ }, [googleMapsApiKey, includeCounty, handleAutoCompleteChange]);
57
+ return (_jsx(TextField, { disabled: disabled, inputRef: scriptLoaded ? (ref) => (autocompleteInputRef.current = ref) : undefined, onChange: (value) => {
58
+ handleAddressChange(value);
59
+ }, placeholder: "Enter an address", type: "text", value: inputValue }));
60
+ };
61
+ //# sourceMappingURL=WebAddressAutocomplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebAddressAutocomplete.js","sourceRoot":"","sources":["../src/WebAddressAutocomplete.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { FC } from "react";
2
+ interface FieldErrorProps {
3
+ text: string;
4
+ }
5
+ export declare const FieldError: FC<FieldErrorProps>;
6
+ export {};
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text, View } from "react-native";
3
+ import { Icon } from "../Icon";
4
+ import { useTheme } from "../Theme";
5
+ export const FieldError = ({ text }) => {
6
+ const { theme } = useTheme();
7
+ return (_jsxs(View, { style: { alignItems: "center", flexDirection: "row", marginVertical: 2 }, children: [_jsx(Icon, { color: "error", iconName: "triangle-exclamation", size: "sm" }), _jsx(View, { style: { marginLeft: 4 }, children: _jsx(Text, { style: { color: theme.text.error, fontSize: 12 }, children: text }) })] }));
8
+ };
9
+ //# sourceMappingURL=FieldError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldError.js","sourceRoot":"","sources":["../../src/fieldElements/FieldError.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAExC,OAAO,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAMlC,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE;IACxD,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,EAAE,CAAC;IAE3B,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,EAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAC,aAC1E,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,QAAQ,EAAC,sBAAsB,EAAC,IAAI,EAAC,IAAI,GAAG,EAChE,KAAC,IAAI,IAAC,KAAK,EAAE,EAAC,UAAU,EAAE,CAAC,EAAC,YAC1B,KAAC,IAAI,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAC,YAAG,IAAI,GAAQ,GAC9D,IACF,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { FC } from "react";
2
+ interface FieldHelperTextProps {
3
+ text: string;
4
+ }
5
+ export declare const FieldHelperText: FC<FieldHelperTextProps>;
6
+ export {};
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text, View } from "react-native";
3
+ import { useTheme } from "../Theme";
4
+ export const FieldHelperText = ({ text }) => {
5
+ const { theme } = useTheme();
6
+ return (_jsx(View, { style: { marginTop: 2 }, children: _jsx(Text, { style: { color: theme.text.primary, fontSize: 12, lineHeight: 16 }, children: text }) }));
7
+ };
8
+ //# sourceMappingURL=FieldHelperText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldHelperText.js","sourceRoot":"","sources":["../../src/fieldElements/FieldHelperText.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAExC,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAMlC,MAAM,CAAC,MAAM,eAAe,GAA6B,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE;IAClE,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,EAAE,CAAC;IAE3B,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,EAAC,SAAS,EAAE,CAAC,EAAC,YACzB,KAAC,IAAI,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAC,YAAG,IAAI,GAAQ,GAChF,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { FC } from "react";
2
+ interface FieldTitleProps {
3
+ text: string;
4
+ }
5
+ export declare const FieldTitle: FC<FieldTitleProps>;
6
+ export {};
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text } from "react-native";
3
+ import { isMobileDevice } from "../MediaQuery";
4
+ import { useTheme } from "../Theme";
5
+ import { isNative } from "../Utilities";
6
+ export const FieldTitle = ({ text }) => {
7
+ const { theme } = useTheme();
8
+ const isMobileOrNative = isMobileDevice() || isNative();
9
+ return (_jsx(Text, { style: {
10
+ color: theme.text.primary,
11
+ fontSize: isMobileOrNative ? 14 : 16,
12
+ fontWeight: 600,
13
+ lineHeight: 22.4,
14
+ }, children: text }));
15
+ };
16
+ //# sourceMappingURL=FieldTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldTitle.js","sourceRoot":"","sources":["../../src/fieldElements/FieldTitle.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAMtC,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE;IACxD,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,EAAE,CAAC;IAC3B,MAAM,gBAAgB,GAAG,cAAc,EAAE,IAAI,QAAQ,EAAE,CAAC;IAExD,OAAO,CACL,KAAC,IAAI,IACH,KAAK,EAAE;YACL,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO;YACzB,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACpC,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,IAAI;SACjB,YAEA,IAAI,GACA,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./FieldError";
2
+ export * from "./FieldHelperText";
3
+ export * from "./FieldTitle";
@@ -0,0 +1,4 @@
1
+ export * from "./FieldError";
2
+ export * from "./FieldHelperText";
3
+ export * from "./FieldTitle";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fieldElements/index.tsx"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { CustomSvgProps } from "../Common";
2
+ export declare const MobileIcon: ({ doNotDisturb, ...props }: CustomSvgProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import Svg, { Path } from "react-native-svg";
14
+ export const MobileIcon = (_a) => {
15
+ var { doNotDisturb } = _a, props = __rest(_a, ["doNotDisturb"]);
16
+ return (_jsxs(Svg, Object.assign({ fill: "none", height: 33, viewBox: "0 0 33 45", width: 30 }, props, { children: [_jsx(Path, { d: "M3 7h24v35H3z", fill: "#fff" }), _jsx(Path, { d: "M8.864 5.5A5.867 5.867 0 0 0 3 11.364v26.182a5.867 5.867 0 0 0 5.864 5.863h15.272A5.867 5.867 0 0 0 30 37.546V11.364A5.867 5.867 0 0 0 24.136 5.5H8.864Zm1.5 7.364h12.272v18.818H10.364V12.864Z", fill: "#3EA45C", stroke: "#fff", strokeWidth: 3 }), _jsx(Path, { d: "M14.622 37.249h3.768a.789.582 0 0 1 .789.582.789.582 0 0 1-.789.581h-3.779a.789.582 0 0 1-.789-.581.8.582 0 0 1 .8-.582Z", fill: "#fff", stroke: "#fff" }), doNotDisturb && (_jsxs(_Fragment, { children: [_jsx(Path, { d: "M21 4h8l-8 6.857h8", stroke: "#fff", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 8 }), _jsx(Path, { d: "M21 4h8l-8 6.857h8", stroke: "#3EA45C", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3 })] }))] })));
17
+ };
18
+ //# sourceMappingURL=MobileIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MobileIcon.js","sourceRoot":"","sources":["../../src/icons/MobileIcon.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,GAAG,EAAE,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAI3C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAwC,EAAE,EAAE;QAA5C,EAAC,YAAY,OAA2B,EAAtB,KAAK,cAAvB,gBAAwB,CAAD;IAChD,OAAO,CACL,MAAC,GAAG,kBAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAE,EAAE,EAAE,OAAO,EAAC,WAAW,EAAC,KAAK,EAAE,EAAE,IAAM,KAAK,eACnE,KAAC,IAAI,IAAC,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAG,EACtC,KAAC,IAAI,IACH,CAAC,EAAC,iMAAiM,EACnM,IAAI,EAAC,SAAS,EACd,MAAM,EAAC,MAAM,EACb,WAAW,EAAE,CAAC,GACd,EACF,KAAC,IAAI,IACH,CAAC,EAAC,0HAA0H,EAC5H,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,MAAM,GACb,EACD,YAAY,IAAI,CACf,8BACE,KAAC,IAAI,IACH,CAAC,EAAC,oBAAoB,EACtB,MAAM,EAAC,MAAM,EACb,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,WAAW,EAAE,CAAC,GACd,EACF,KAAC,IAAI,IACH,CAAC,EAAC,oBAAoB,EACtB,MAAM,EAAC,SAAS,EAChB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,WAAW,EAAE,CAAC,GACd,IACD,CACJ,KACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { CustomSvgProps } from "../Common";
2
+ export declare const OfflineIcon: ({ doNotDisturb, ...props }: CustomSvgProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import Svg, { Path } from "react-native-svg";
14
+ export const OfflineIcon = (_a) => {
15
+ var { doNotDisturb } = _a, props = __rest(_a, ["doNotDisturb"]);
16
+ return (_jsxs(Svg, Object.assign({ fill: "none", height: 33, width: 30 }, props, { children: [_jsx(Path, { d: "M28.5 18c0 7.456-6.044 13.5-13.5 13.5S1.5 25.456 1.5 18 7.544 4.5 15 4.5 28.5 10.544 28.5 18Z", fill: "#2B6072", stroke: "#fff", strokeWidth: 3 }), _jsx(Path, { d: "M24.5 18a9.5 9.5 0 1 1-19 0 9.5 9.5 0 0 1 19 0Z", fill: "#fff", stroke: "#9A9A9A", strokeWidth: 5 }), doNotDisturb && (_jsxs(_Fragment, { children: [_jsx(Path, { d: "M18 4h8l-8 6.857h8", stroke: "#fff", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 8 }), _jsx(Path, { d: "M18 4h8l-8 6.857h8", stroke: "#9A9A9A", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3 })] }))] })));
17
+ };
18
+ //# sourceMappingURL=OfflineIcon.js.map