@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
package/dist/Radio.js ADDED
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { View } from "react-native";
3
+ import { useTheme } from "./Theme";
4
+ export const Radio = ({ selected }) => {
5
+ const { theme } = useTheme();
6
+ return (_jsx(View, { style: {
7
+ alignItems: "center",
8
+ borderColor: theme.text.secondaryDark,
9
+ borderRadius: 12,
10
+ borderWidth: 1,
11
+ height: 16,
12
+ justifyContent: "center",
13
+ width: 16,
14
+ }, children: selected ? (_jsx(View, { style: {
15
+ backgroundColor: theme.text.secondaryDark,
16
+ borderRadius: 6,
17
+ height: 10,
18
+ width: 10,
19
+ } })) : null }));
20
+ };
21
+ //# sourceMappingURL=Radio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio.js","sourceRoot":"","sources":["../src/Radio.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAGlC,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAEjC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAC,QAAQ,EAAa,EAAsB,EAAE;IAClE,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,EAAE,CAAC;IAC3B,OAAO,CACL,KAAC,IAAI,IACH,KAAK,EAAE;YACL,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;YACrC,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,QAAQ;YACxB,KAAK,EAAE,EAAE;SACV,YAEA,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,IAAI,IACH,KAAK,EAAE;gBACL,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;gBACzC,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,EAAE;aACV,GACD,CACH,CAAC,CAAC,CAAC,IAAI,GACH,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type React from "react";
2
+ import type { RadioFieldProps } from "./Common";
3
+ export declare const RadioField: ({ title, options, value, onChange, variant, }: RadioFieldProps) => React.ReactElement;
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { TouchableOpacity, View } from "react-native";
3
+ import { Heading } from "./Heading";
4
+ import { isMobileDevice } from "./MediaQuery";
5
+ import { Radio } from "./Radio";
6
+ import { Text } from "./Text";
7
+ export const RadioField = ({ title, options, value, onChange, variant = "rightText", }) => {
8
+ return (_jsxs(View, { style: { gap: isMobileDevice() ? 16 : 8 }, children: [_jsx(Heading, { size: "sm", children: title }), options.map((option) => {
9
+ var _a, _b, _c, _d, _e;
10
+ return (_jsxs(TouchableOpacity, { accessibilityHint: `Select ${option} from list of options`, "aria-label": (_a = option.label) !== null && _a !== void 0 ? _a : option.value, "aria-role": "button", onPress: () => onChange(option.value), style: {
11
+ flexDirection: "row",
12
+ justifyContent: "space-between",
13
+ }, children: [variant === "leftText" && _jsx(Text, { children: (_b = option.label) !== null && _b !== void 0 ? _b : option.value }), _jsx(Radio, { selected: option.value === value }, (_c = option.key) !== null && _c !== void 0 ? _c : option.value), variant === "rightText" && (_jsx(View, { style: { marginRight: 0 }, children: _jsx(Text, { children: (_d = option.label) !== null && _d !== void 0 ? _d : option.value }) }))] }, (_e = option.key) !== null && _e !== void 0 ? _e : option.value));
14
+ })] }));
15
+ };
16
+ //# sourceMappingURL=RadioField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioField.js","sourceRoot":"","sources":["../src/RadioField.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,gBAAgB,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAGpD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,GAAG,WAAW,GACL,EAAsB,EAAE;IACxC,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,EAAC,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,aAC3C,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,YAAE,KAAK,GAAW,EACnC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;gBAAC,OAAA,CACvB,MAAC,gBAAgB,IACf,iBAAiB,EAAE,UAAU,MAAM,uBAAuB,gBAC9C,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,KAAK,eAC9B,QAAQ,EAElB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACrC,KAAK,EAAE;wBACL,aAAa,EAAE,KAAK;wBACpB,cAAc,EAAE,eAAe;qBAChC,aAEA,OAAO,KAAK,UAAU,IAAI,KAAC,IAAI,cAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,KAAK,GAAQ,EACtE,KAAC,KAAK,IAAkC,QAAQ,EAAE,MAAM,CAAC,KAAK,KAAK,KAAK,IAA5D,MAAA,MAAM,CAAC,GAAG,mCAAI,MAAM,CAAC,KAAK,CAAsC,EAC3E,OAAO,KAAK,WAAW,IAAI,CAC1B,KAAC,IAAI,IAAC,KAAK,EAAE,EAAC,WAAW,EAAE,CAAC,EAAC,YAC3B,KAAC,IAAI,cAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,KAAK,GAAQ,GACtC,CACR,KAbI,MAAA,MAAM,CAAC,GAAG,mCAAI,MAAM,CAAC,KAAK,CAcd,CACpB,CAAA;aAAA,CAAC,IACG,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { ScrollView } from "react-native";
2
+ export { ScrollView };
@@ -0,0 +1,3 @@
1
+ import { ScrollView } from "react-native";
2
+ export { ScrollView };
3
+ //# sourceMappingURL=ScrollView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollView.js","sourceRoot":"","sources":["../src/ScrollView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,UAAU,EAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type React from "react";
2
+ export declare const SectionDivider: React.FC<{}>;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { View } from "react-native";
3
+ import { useTheme } from "./Theme";
4
+ export const SectionDivider = () => {
5
+ const { theme } = useTheme();
6
+ return (_jsx(View, { accessibilityRole: "none", "aria-hidden": true, style: {
7
+ backgroundColor: theme.primitives.neutral500,
8
+ height: 1,
9
+ width: "100%",
10
+ } }));
11
+ };
12
+ //# sourceMappingURL=SectionDivider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SectionDivider.js","sourceRoot":"","sources":["../src/SectionDivider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAEjC,MAAM,CAAC,MAAM,cAAc,GAAiB,GAAG,EAAE;IAC/C,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,EAAE,CAAC;IAC3B,OAAO,CACL,KAAC,IAAI,IACH,iBAAiB,EAAC,MAAM,iBACX,IAAI,EACjB,KAAK,EAAE;YACL,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU;YAC5C,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,MAAM;SACd,GACD,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type FC } from "react";
2
+ import type { SegmentedControlProps } from "./Common";
3
+ export declare const SegmentedControl: FC<SegmentedControlProps>;
@@ -0,0 +1,65 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useState } from "react";
3
+ import { Pressable, View } from "react-native";
4
+ import { Badge } from "./Badge";
5
+ import { Heading } from "./Heading";
6
+ import { Icon } from "./Icon";
7
+ import { useTheme } from "./Theme";
8
+ export const SegmentedControl = ({ items, onChange = () => { }, size = "md", selectedIndex, maxItems, badges = [], }) => {
9
+ const height = size === "md" ? 36 : 44;
10
+ const { theme } = useTheme();
11
+ const [startIndex, setStartIndex] = useState(0);
12
+ const handlePrevious = useCallback(() => {
13
+ setStartIndex((prev) => Math.max(0, prev - (maxItems !== null && maxItems !== void 0 ? maxItems : 4)));
14
+ }, [maxItems]);
15
+ const handleNext = useCallback(() => {
16
+ setStartIndex((prev) => Math.min(items.length - (maxItems !== null && maxItems !== void 0 ? maxItems : items.length), prev + (maxItems !== null && maxItems !== void 0 ? maxItems : 4)));
17
+ }, [items.length, maxItems]);
18
+ const visibleItems = maxItems ? items.slice(startIndex, startIndex + maxItems) : items;
19
+ const visibleBadges = maxItems ? badges.slice(startIndex, startIndex + maxItems) : badges;
20
+ const canScrollLeft = startIndex > 0;
21
+ const canScrollRight = maxItems ? startIndex + maxItems < items.length : false;
22
+ const shouldShowScrollButtons = maxItems ? maxItems < items.length : false;
23
+ return (_jsxs(View, { style: {
24
+ alignItems: "center",
25
+ display: "flex",
26
+ flexDirection: "row",
27
+ gap: 8,
28
+ }, children: [Boolean(shouldShowScrollButtons) && (_jsx(Pressable, { disabled: !canScrollLeft, onPress: handlePrevious, children: _jsx(Icon, { color: canScrollLeft ? "linkLight" : "extraLight", iconName: "chevron-left", size: "lg" }) })), _jsx(View, { style: {
29
+ alignItems: "center",
30
+ backgroundColor: theme.primitives.neutral300,
31
+ borderRadius: theme.primitives.radius3xl,
32
+ display: "flex",
33
+ flexDirection: "row",
34
+ flexGrow: 1,
35
+ flexShrink: 1,
36
+ height,
37
+ maxHeight: height,
38
+ overflow: "hidden",
39
+ }, children: _jsx(View, { style: {
40
+ display: "flex",
41
+ flexDirection: "row",
42
+ flexGrow: 1,
43
+ gap: 4,
44
+ height: height - 4,
45
+ paddingHorizontal: 4,
46
+ }, children: visibleItems.map((item, index) => {
47
+ var _a;
48
+ const actualIndex = startIndex + index;
49
+ return (_jsxs(Pressable, { "aria-role": "button", onPress: () => onChange(actualIndex), style: {
50
+ alignItems: "center",
51
+ backgroundColor: actualIndex === selectedIndex ? theme.surface.base : undefined,
52
+ borderRadius: theme.primitives.radius3xl,
53
+ display: "flex",
54
+ flexBasis: 0,
55
+ flexDirection: "row",
56
+ flexGrow: 1,
57
+ gap: 8,
58
+ height: "100%",
59
+ justifyContent: "center",
60
+ overflow: "hidden",
61
+ paddingHorizontal: 2,
62
+ }, children: [_jsx(Heading, { size: "sm", children: item }), visibleBadges[index] && (_jsx(Badge, { status: (_a = visibleBadges[index].status) !== null && _a !== void 0 ? _a : "info", value: visibleBadges[index].count, variant: "numberOnly" }))] }, actualIndex));
63
+ }) }) }), Boolean(shouldShowScrollButtons) && (_jsx(Pressable, { disabled: !canScrollRight, onPress: handleNext, children: _jsx(Icon, { color: canScrollRight ? "linkLight" : "extraLight", iconName: "chevron-right", size: "lg" }) }))] }));
64
+ };
65
+ //# sourceMappingURL=SegmentedControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SegmentedControl.js","sourceRoot":"","sources":["../src/SegmentedControl.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type React from "react";
2
+ import type { SelectBadgeProps } from "./Common";
3
+ export declare const SelectBadge: ({ value, status, secondary, customBackgroundColor, customTextColor, customBorderColor, disabled, options, onChange, }: SelectBadgeProps) => React.ReactElement;
@@ -0,0 +1,166 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Picker } from "@react-native-picker/picker";
3
+ import { useCallback, useMemo, useState } from "react";
4
+ import { Modal, Platform, Text, TouchableOpacity, View } from "react-native";
5
+ import { Icon } from "./Icon";
6
+ import { useTheme } from "./Theme";
7
+ export const SelectBadge = ({ value, status = "info", secondary = false, customBackgroundColor, customTextColor, customBorderColor, disabled = false, options, onChange, }) => {
8
+ const { theme } = useTheme();
9
+ const [showPicker, setShowPicker] = useState(false);
10
+ // Temporary state to manage value changes for ios picker
11
+ // Assures the badge display value persists when user scrolls through options
12
+ const [iosDisplayValue, setIosDisplayValue] = useState(value);
13
+ const secondaryBorderColors = {
14
+ custom: "#AAAAAA",
15
+ error: "#F39E9E",
16
+ info: "#8FC1D2",
17
+ neutral: "#AAAAAA",
18
+ success: "#7FD898",
19
+ warning: "#FCC58F",
20
+ };
21
+ let borderWidth = 0;
22
+ if (secondary || status === "custom")
23
+ borderWidth = 1;
24
+ let badgeColor = "inverted";
25
+ if (secondary) {
26
+ if (status === "error")
27
+ badgeColor = "error";
28
+ else if (status === "warning")
29
+ badgeColor = "warning";
30
+ else if (status === "info")
31
+ badgeColor = "secondaryDark";
32
+ else if (status === "success")
33
+ badgeColor = "success";
34
+ else if (status === "neutral")
35
+ badgeColor = "primary";
36
+ }
37
+ let badgeBgColor = "neutralDark";
38
+ if (status === "error")
39
+ badgeBgColor = secondary ? "errorLight" : "error";
40
+ else if (status === "warning")
41
+ badgeBgColor = secondary ? "warningLight" : "warning";
42
+ else if (status === "info")
43
+ badgeBgColor = secondary ? "secondaryLight" : "secondaryDark";
44
+ else if (status === "success")
45
+ badgeBgColor = secondary ? "successLight" : "success";
46
+ else if (status === "neutral")
47
+ badgeBgColor = secondary ? "neutralLight" : "neutralDark";
48
+ const backgroundColor = status === "custom" ? customBackgroundColor : theme.surface[badgeBgColor];
49
+ const borderColor = status === "custom" ? customBorderColor : secondaryBorderColors[status];
50
+ const textColor = status === "custom" ? customTextColor : theme.text[badgeColor];
51
+ let leftOfChevronBorderColor = textColor;
52
+ if (status === "custom")
53
+ leftOfChevronBorderColor = customBorderColor !== null && customBorderColor !== void 0 ? customBorderColor : textColor;
54
+ else if (secondary)
55
+ leftOfChevronBorderColor = borderColor;
56
+ const findSelectedItem = useCallback((v) => {
57
+ if (v !== undefined && v !== null) {
58
+ return options.find((opt) => opt.value === v) || null;
59
+ }
60
+ return null;
61
+ }, [options]);
62
+ const displayVal = useMemo(() => {
63
+ var _a, _b;
64
+ return (_b = (_a = findSelectedItem(value)) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : "---";
65
+ }, [value, findSelectedItem]);
66
+ const handleOnChange = useCallback((val) => {
67
+ const selectedItem = findSelectedItem(val);
68
+ if (selectedItem) {
69
+ onChange(selectedItem.value);
70
+ }
71
+ setShowPicker(false);
72
+ }, [findSelectedItem, onChange]);
73
+ const renderPickerItems = useCallback(() => {
74
+ return options === null || options === void 0 ? void 0 : options.map((item) => (_jsx(Picker.Item, { label: item.label, value: item.value }, item.key || item.label)));
75
+ }, [options]);
76
+ const renderIosPicker = useCallback(() => {
77
+ const handleValueChangeIos = (itemValue) => {
78
+ setIosDisplayValue(itemValue);
79
+ };
80
+ const handleSave = () => {
81
+ if (iosDisplayValue && !disabled) {
82
+ handleOnChange(iosDisplayValue);
83
+ }
84
+ else {
85
+ setShowPicker(false);
86
+ }
87
+ };
88
+ const handleDismiss = () => {
89
+ setShowPicker(false);
90
+ setIosDisplayValue(value);
91
+ };
92
+ return (_jsx(Modal, { animationType: "slide", onRequestClose: handleDismiss, supportedOrientations: ["portrait", "landscape"], transparent: true, visible: showPicker, children: _jsxs(View, { style: { flex: 1, justifyContent: "flex-end" }, children: [_jsx(TouchableOpacity, { accessibilityHint: "Closes the picker modal", accessibilityLabel: "Dismiss picker modal", activeOpacity: 1, onPress: handleDismiss, style: { flex: 1 } }), _jsxs(View, { style: {
93
+ backgroundColor: theme.surface.neutralLight,
94
+ borderTopColor: theme.border.default,
95
+ borderTopWidth: 1,
96
+ height: 215,
97
+ }, children: [_jsx(View, { style: {
98
+ alignItems: "center",
99
+ backgroundColor: "#f8f8f8",
100
+ height: 45,
101
+ justifyContent: "center",
102
+ width: "100%",
103
+ }, children: _jsx(TouchableOpacity, { accessibilityHint: "Saves the selected value", accessibilityLabel: "Save selected value", "aria-role": "button", hitSlop: { bottom: 4, left: 4, right: 4, top: 4 }, onPress: handleSave, style: {
104
+ alignSelf: "flex-end",
105
+ paddingRight: 12,
106
+ }, children: _jsx(View, { children: _jsx(Text, { style: {
107
+ color: "#007aff",
108
+ fontSize: 17,
109
+ fontWeight: "600",
110
+ paddingTop: 1,
111
+ }, children: "Save" }) }) }) }), _jsx(Picker, { enabled: !disabled, onValueChange: handleValueChangeIos, selectedValue: iosDisplayValue, children: renderPickerItems() })] })] }) }));
112
+ }, [showPicker, iosDisplayValue, disabled, theme, value, handleOnChange, renderPickerItems]);
113
+ const renderPicker = useCallback(() => {
114
+ var _a, _b;
115
+ return (_jsx(Picker, { enabled: !disabled, onValueChange: handleOnChange, selectedValue: (_b = (_a = findSelectedItem(value)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : undefined, style: [
116
+ {
117
+ color: "transparent",
118
+ height: "100%",
119
+ opacity: 0,
120
+ position: "absolute",
121
+ width: "100%",
122
+ },
123
+ // Android headless picker: transparent overlay to capture touches without visible UI.
124
+ Platform.OS !== "web" && { backgroundColor: "transparent" },
125
+ ], children: renderPickerItems() }));
126
+ }, [disabled, findSelectedItem, value, handleOnChange, renderPickerItems]);
127
+ return (_jsxs(View, { style: { alignItems: "flex-start", opacity: disabled ? 0.5 : 1 }, children: [_jsx(TouchableOpacity, { accessibilityHint: "Opens the options picker", accessibilityLabel: "Open select badge options", "aria-role": "button", disabled: disabled, onPress: () => setShowPicker(!showPicker), children: _jsxs(View, { style: {
128
+ alignItems: "center",
129
+ display: "flex",
130
+ flexDirection: "row",
131
+ height: 20,
132
+ width: "auto",
133
+ }, children: [_jsx(View, { style: {
134
+ alignItems: "center",
135
+ backgroundColor,
136
+ borderBottomLeftRadius: 4,
137
+ borderColor,
138
+ borderTopLeftRadius: 4,
139
+ borderWidth,
140
+ flexDirection: "row",
141
+ height: 20,
142
+ justifyContent: "center",
143
+ paddingHorizontal: theme.spacing.sm,
144
+ width: "auto",
145
+ }, children: _jsx(Text, { style: {
146
+ color: textColor,
147
+ fontFamily: "text",
148
+ fontSize: 10,
149
+ fontWeight: "700",
150
+ }, children: displayVal }) }), _jsx(View, { style: {
151
+ alignItems: "center",
152
+ backgroundColor,
153
+ borderBottomRightRadius: 4,
154
+ borderColor: leftOfChevronBorderColor,
155
+ borderLeftWidth: 1,
156
+ borderTopRightRadius: 4,
157
+ borderWidth,
158
+ flexDirection: "row",
159
+ height: 20,
160
+ justifyContent: "center",
161
+ paddingHorizontal: theme.spacing.xs,
162
+ paddingVertical: 1,
163
+ width: "auto",
164
+ }, children: _jsx(Icon, { color: textColor, iconName: showPicker ? "chevron-up" : "chevron-down", size: "sm" }) })] }) }), Platform.OS === "ios" ? renderIosPicker() : renderPicker()] }));
165
+ };
166
+ //# sourceMappingURL=SelectBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectBadge.js","sourceRoot":"","sources":["../src/SelectBadge.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { FC } from "react";
2
+ import type { SelectFieldProps } from "./Common";
3
+ export declare const SelectField: FC<SelectFieldProps>;
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { View } from "react-native";
3
+ import { FieldError, FieldHelperText, FieldTitle } from "./fieldElements";
4
+ import { RNPickerSelect } from "./PickerSelect";
5
+ export const SelectField = ({ disabled = false, errorText, helperText, options, requireValue = false, placeholder = "Please select an option.", title, value, onChange, }) => {
6
+ const clearOption = { label: placeholder !== null && placeholder !== void 0 ? placeholder : "---", value: "" };
7
+ return (_jsxs(View, { children: [title && _jsx(FieldTitle, { text: title }), Boolean(errorText) && _jsx(FieldError, { text: errorText }), _jsx(RNPickerSelect, { disabled: disabled, items: options, onValueChange: (v) => {
8
+ if (v === undefined || v === "") {
9
+ onChange("");
10
+ }
11
+ else {
12
+ onChange(v);
13
+ }
14
+ }, placeholder: !requireValue ? clearOption : {}, value: value !== null && value !== void 0 ? value : "" }), helperText && _jsx(FieldHelperText, { text: helperText })] }));
15
+ };
16
+ //# sourceMappingURL=SelectField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectField.js","sourceRoot":"","sources":["../src/SelectField.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAGlC,OAAO,EAAC,UAAU,EAAE,eAAe,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,EAChD,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,UAAU,EACV,OAAO,EACP,YAAY,GAAG,KAAK,EACpB,WAAW,GAAG,0BAA0B,EACxC,KAAK,EACL,KAAK,EACL,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,EAAC,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,KAAK,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC;IAE7D,OAAO,CACL,MAAC,IAAI,eACF,KAAK,IAAI,KAAC,UAAU,IAAC,IAAI,EAAE,KAAK,GAAI,EACpC,OAAO,CAAC,SAAS,CAAC,IAAI,KAAC,UAAU,IAAC,IAAI,EAAE,SAAU,GAAI,EACvD,KAAC,cAAc,IACb,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;oBACnB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;wBAChC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACf,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACd,CAAC;gBACH,CAAC,EACD,WAAW,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAC7C,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,GAClB,EACD,UAAU,IAAI,KAAC,eAAe,IAAC,IAAI,EAAE,UAAU,GAAI,IAC/C,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ReactElement } from "react";
2
+ import type { SideDrawerProps } from "./Common";
3
+ export declare const SideDrawer: ({ position, isOpen, renderContent, onClose, onOpen, drawerType, children, drawerStyles, }: SideDrawerProps) => ReactElement;
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback } from "react";
3
+ import { Platform, SafeAreaView } from "react-native";
4
+ import { Drawer } from "react-native-drawer-layout";
5
+ import { useTheme } from "./Theme";
6
+ const DEFAULT_STYLES = {
7
+ borderColor: "gray",
8
+ borderWidth: 1,
9
+ height: "100%",
10
+ width: Platform.OS === "web" ? "40%" : "95%",
11
+ };
12
+ const addWebScroll = (isOpen) => {
13
+ if (Platform.OS === "web") {
14
+ return { display: isOpen ? "flex" : "none", overflow: "scroll" };
15
+ }
16
+ else {
17
+ return {};
18
+ }
19
+ };
20
+ export const SideDrawer = ({ position = "left", isOpen, renderContent, onClose = () => { }, onOpen = () => { }, drawerType = "front", children, drawerStyles = {}, }) => {
21
+ const { theme } = useTheme();
22
+ const renderDrawerContent = useCallback(() => {
23
+ return _jsx(SafeAreaView, { children: renderContent() });
24
+ }, [renderContent]);
25
+ return (_jsx(Drawer, { drawerPosition: position, drawerStyle: [
26
+ DEFAULT_STYLES,
27
+ { backgroundColor: theme.surface.neutralLight },
28
+ drawerStyles,
29
+ addWebScroll(isOpen),
30
+ ], drawerType: drawerType, onClose: onClose, onOpen: onOpen, open: isOpen, renderDrawerContent: renderDrawerContent, children: children }));
31
+ };
32
+ //# sourceMappingURL=SideDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SideDrawer.js","sourceRoot":"","sources":["../src/SideDrawer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,WAAW,EAAC,MAAM,OAAO,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAiC,MAAM,cAAc,CAAC;AACpF,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAGlD,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAEjC,MAAM,cAAc,GAAyB;IAC3C,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;CAC7C,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,MAAe,EAAa,EAAE;IAClD,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,QAAQ,GAAG,MAAM,EACjB,MAAM,EACN,aAAa,EACb,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,MAAM,GAAG,GAAG,EAAE,GAAE,CAAC,EACjB,UAAU,GAAG,OAAO,EACpB,QAAQ,EACR,YAAY,GAAG,EAAE,GACD,EAAgB,EAAE;IAClC,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,EAAE,CAAC;IAC3B,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAiB,EAAE;QACzD,OAAO,KAAC,YAAY,cAAE,aAAa,EAAE,GAAgB,CAAC;IACxD,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,CACL,KAAC,MAAM,IACL,cAAc,EAAE,QAAQ,EACxB,WAAW,EAAE;YACX,cAAc;YACd,EAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,EAAC;YAC7C,YAAY;YACZ,YAAY,CAAC,MAAM,CAAC;SACrB,EACD,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,mBAAmB,EAAE,mBAAmB,YAEvC,QAAQ,GACF,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type ReactElement } from "react";
2
+ export interface SignatureProps {
3
+ onChange: (signature: string) => void;
4
+ onStart?: () => void;
5
+ onEnd?: () => void;
6
+ value?: string;
7
+ }
8
+ export declare const Signature: ({ onChange }: SignatureProps) => ReactElement | null;
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { Text, View } from "react-native";
4
+ import SignatureCanvas from "react-signature-canvas";
5
+ import { useTheme } from "./Theme";
6
+ export const Signature = ({ onChange }) => {
7
+ const ref = useRef(null);
8
+ const { theme } = useTheme();
9
+ const onClear = () => {
10
+ var _a;
11
+ (_a = ref.current) === null || _a === void 0 ? void 0 : _a.clear();
12
+ };
13
+ const onUpdatedSignature = () => {
14
+ var _a;
15
+ if ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.toDataURL()) {
16
+ onChange(ref.current.toDataURL());
17
+ }
18
+ };
19
+ return (_jsxs(View, { children: [_jsx(View, { style: { borderColor: theme.border.dark, borderWidth: 1, maxWidth: 300, width: "100%" }, children: _jsx(SignatureCanvas, { backgroundColor: theme.surface.base, onEnd: onUpdatedSignature, penColor: theme.text.secondaryDark, ref: ref }) }), _jsx(View, { children: _jsx(Text, { onPress: onClear, style: { color: theme.text.link, textDecorationLine: "underline" }, children: "Clear" }) })] }));
20
+ };
21
+ //# sourceMappingURL=Signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Signature.js","sourceRoot":"","sources":["../src/Signature.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,MAAM,EAAC,MAAM,OAAO,CAAC;AAChD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,eAAe,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AASjC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAC,QAAQ,EAAiB,EAAuB,EAAE;IAC3E,MAAM,GAAG,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAC;IAC1C,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,EAAE,CAAC;IAE3B,MAAM,OAAO,GAAG,GAAG,EAAE;;QACnB,MAAA,GAAG,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;;QAC9B,IAAI,MAAA,GAAG,CAAC,OAAO,0CAAE,SAAS,EAAE,EAAE,CAAC;YAC7B,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAC,YACzF,KAAC,eAAe,IACd,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EACnC,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,EAClC,GAAG,EAAE,GAAG,GACR,GACG,EACP,KAAC,IAAI,cACH,KAAC,IAAI,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAC,sBAEjF,GACF,IACF,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type FC } from "react";
2
+ interface Props {
3
+ onChange: (signature: string) => void;
4
+ onStart?: () => void;
5
+ onEnd?: () => void;
6
+ }
7
+ export declare const Signature: FC<Props>;
8
+ export {};
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { Text, View } from "react-native";
4
+ import SignatureScreen from "react-native-signature-canvas";
5
+ import { useTheme } from "./Theme";
6
+ const style = `.m-signature-pad--footer {display: none; margin: 0px;}`;
7
+ export const Signature = ({ onChange, onStart, onEnd }) => {
8
+ const ref = useRef(null);
9
+ const { theme } = useTheme();
10
+ const handleClear = () => {
11
+ var _a;
12
+ (_a = ref.current) === null || _a === void 0 ? void 0 : _a.clearSignature();
13
+ };
14
+ const onBegin = () => {
15
+ onStart === null || onStart === void 0 ? void 0 : onStart();
16
+ };
17
+ // Called after end of stroke. Kind of goofy if you ask me,
18
+ // but you need this in order to trigger the 'onOK' callback that gives us the actual image.
19
+ const handleEnd = () => {
20
+ var _a;
21
+ (_a = ref.current) === null || _a === void 0 ? void 0 : _a.readSignature();
22
+ onEnd === null || onEnd === void 0 ? void 0 : onEnd();
23
+ };
24
+ return (_jsxs(View, { style: { minWidth: 220 }, children: [_jsx(View, { style: { borderColor: theme.border.dark, borderWidth: 1, minHeight: 90 }, children: _jsx(SignatureScreen, { backgroundColor: theme.surface.base, onBegin: onBegin, onEnd: handleEnd, onOK: (img) => onChange(img), ref: ref, trimWhitespace: true, webStyle: style }) }), _jsx(View, { style: { flexDirection: "row" }, children: _jsx(Text, { onPress: handleClear, style: { color: theme.text.link, textDecorationLine: "underline" }, children: "Clear" }) })] }));
25
+ };
26
+ //# sourceMappingURL=Signature.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Signature.native.js","sourceRoot":"","sources":["../src/Signature.native.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAU,MAAM,EAAC,MAAM,OAAO,CAAC;AACtC,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,eAAwC,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAQjC,MAAM,KAAK,GAAG,wDAAwD,CAAC;AAEvE,MAAM,CAAC,MAAM,SAAS,GAAc,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAQ,EAAE,EAAE;IACxE,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC3C,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,EAAE,CAAC;IAE3B,MAAM,WAAW,GAAG,GAAG,EAAE;;QACvB,MAAA,GAAG,CAAC,OAAO,0CAAE,cAAc,EAAE,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;IACd,CAAC,CAAC;IAEF,2DAA2D;IAC3D,4FAA4F;IAC5F,MAAM,SAAS,GAAG,GAAG,EAAE;;QACrB,MAAA,GAAG,CAAC,OAAO,0CAAE,aAAa,EAAE,CAAC;QAC7B,KAAK,aAAL,KAAK,uBAAL,KAAK,EAAI,CAAC;IACZ,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,GAAG,EAAC,aAC1B,KAAC,IAAI,IAAC,KAAK,EAAE,EAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAC,YAC1E,KAAC,eAAe,IACd,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EACnC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC5B,GAAG,EAAE,GAAG,EACR,cAAc,QACd,QAAQ,EAAE,KAAK,GACf,GACG,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,EAAC,aAAa,EAAE,KAAK,EAAC,YACjC,KAAC,IAAI,IACH,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,EAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAC,sBAG3D,GACF,IACF,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ReactElement } from "react";
2
+ import type { SignatureFieldProps } from "./Common";
3
+ export declare const SignatureField: ({ disabled, title, value, onChange, onStart, onEnd, disabledText, errorText, }: SignatureFieldProps) => ReactElement;
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Image, View } from "react-native";
3
+ import { Heading } from "./Heading";
4
+ import { Icon } from "./Icon";
5
+ import { Signature } from "./Signature";
6
+ import { Text } from "./Text";
7
+ import { useTheme } from "./Theme";
8
+ // NOTE: When using this inside a ScrollView, you must set the scrollEnabled prop to false on the
9
+ // ScrollView onStart and to true onEnd or it will try to scroll the whole view around this
10
+ // component.
11
+ export const SignatureField = ({ disabled = false, title = "Signature", value, onChange, onStart, onEnd, disabledText, errorText, }) => {
12
+ const { theme } = useTheme();
13
+ if (disabled) {
14
+ if (value) {
15
+ return (_jsxs(View, { children: [_jsx(Heading, { size: "sm", children: title }), _jsx(View, { style: { marginVertical: 8 }, children: SignatureImage(value) }), _jsx(Text, { size: "sm", children: disabledText })] }));
16
+ }
17
+ else {
18
+ // we don't have a value so should show a grayed out signature field as a box
19
+ // there is no disabled state for the Signature components
20
+ return (_jsxs(View, { children: [_jsx(View, { style: {
21
+ backgroundColor: theme.surface.neutralLight,
22
+ height: 90,
23
+ marginVertical: 8,
24
+ width: 300,
25
+ } }), _jsx(Text, { size: "sm", children: disabledText })] }));
26
+ }
27
+ }
28
+ return (_jsxs(View, { children: [_jsx(Heading, { size: "sm", children: title }), Boolean(errorText) && (_jsxs(View, { style: { flexDirection: "row" }, children: [_jsx(Icon, { color: "error", iconName: "triangle-exclamation" }), _jsx(View, { style: { marginLeft: 4 }, children: _jsx(Text, { color: "error", children: errorText }) })] })), _jsx(View, { style: { marginVertical: 8 }, children: _jsx(Signature, { onChange: onChange, onEnd: () => {
29
+ onEnd === null || onEnd === void 0 ? void 0 : onEnd();
30
+ }, onStart: () => {
31
+ onStart === null || onStart === void 0 ? void 0 : onStart();
32
+ } }) })] }));
33
+ };
34
+ const SignatureImage = (image) => {
35
+ return (_jsx(Image, { accessibilityIgnoresInvertColors: false, resizeMode: "contain", source: { uri: image }, style: {
36
+ borderColor: "black",
37
+ borderWidth: 1,
38
+ height: 80,
39
+ width: 300,
40
+ } }));
41
+ };
42
+ //# sourceMappingURL=SignatureField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignatureField.js","sourceRoot":"","sources":["../src/SignatureField.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAEjC,iGAAiG;AACjG,2FAA2F;AAC3F,aAAa;AACb,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,WAAW,EACnB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,YAAY,EACZ,SAAS,GACW,EAAgB,EAAE;IACtC,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,EAAE,CAAC;IAC3B,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CACL,MAAC,IAAI,eACH,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,YAAE,KAAK,GAAW,EACpC,KAAC,IAAI,IAAC,KAAK,EAAE,EAAC,cAAc,EAAE,CAAC,EAAC,YAAG,cAAc,CAAC,KAAK,CAAC,GAAQ,EAChE,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,YAAE,YAAY,GAAQ,IAChC,CACR,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,6EAA6E;YAC7E,0DAA0D;YAC1D,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IACH,KAAK,EAAE;4BACL,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;4BAC3C,MAAM,EAAE,EAAE;4BACV,cAAc,EAAE,CAAC;4BACjB,KAAK,EAAE,GAAG;yBACX,GACD,EACF,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,YAAE,YAAY,GAAQ,IAChC,CACR,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,CACL,MAAC,IAAI,eACH,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,YAAE,KAAK,GAAW,EACnC,OAAO,CAAC,SAAS,CAAC,IAAI,CACrB,MAAC,IAAI,IAAC,KAAK,EAAE,EAAC,aAAa,EAAE,KAAK,EAAC,aACjC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,QAAQ,EAAC,sBAAsB,GAAG,EACtD,KAAC,IAAI,IAAC,KAAK,EAAE,EAAC,UAAU,EAAE,CAAC,EAAC,YAC1B,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,SAAS,GAAQ,GACjC,IACF,CACR,EACD,KAAC,IAAI,IAAC,KAAK,EAAE,EAAC,cAAc,EAAE,CAAC,EAAC,YAC9B,KAAC,SAAS,IACR,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,GAAG,EAAE;wBACV,KAAK,aAAL,KAAK,uBAAL,KAAK,EAAI,CAAC;oBACZ,CAAC,EACD,OAAO,EAAE,GAAG,EAAE;wBACZ,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;oBACd,CAAC,GACD,GACG,IACF,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAa,EAAgB,EAAE;IACrD,OAAO,CACL,KAAC,KAAK,IACJ,gCAAgC,EAAE,KAAK,EACvC,UAAU,EAAC,SAAS,EACpB,MAAM,EAAE,EAAC,GAAG,EAAE,KAAK,EAAC,EACpB,KAAK,EAAE;YACL,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,GAAG;SACX,GACD,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FC } from "react";
2
+ import type { SliderProps } from "./Common";
3
+ export declare const Slider: FC<SliderProps>;