@platform-blocks/ui 0.1.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 (533) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +44 -0
  3. package/lib/cjs/index.js +35531 -0
  4. package/lib/cjs/index.js.map +1 -0
  5. package/lib/components/Accessibility/AccessibilityDemo.d.ts +5 -0
  6. package/lib/components/Accessibility/AccessibilityHelpers.d.ts +49 -0
  7. package/lib/components/Accessibility/AccessibilityTesting.d.ts +24 -0
  8. package/lib/components/Accessibility/AccessibleComponents.d.ts +20 -0
  9. package/lib/components/Accessibility/index.d.ts +2 -0
  10. package/lib/components/Accordion/Accordion.d.ts +9 -0
  11. package/lib/components/Accordion/AccordionItem.d.ts +23 -0
  12. package/lib/components/Accordion/defaults.d.ts +13 -0
  13. package/lib/components/Accordion/hooks/useAccordionItemAnimation.d.ts +17 -0
  14. package/lib/components/Accordion/hooks/useMeasuredHeight.d.ts +8 -0
  15. package/lib/components/Accordion/index.d.ts +5 -0
  16. package/lib/components/Accordion/styles.d.ts +17 -0
  17. package/lib/components/Accordion/tokens.d.ts +12 -0
  18. package/lib/components/Accordion/types.d.ts +180 -0
  19. package/lib/components/Alert/Alert.d.ts +2 -0
  20. package/lib/components/Alert/index.d.ts +2 -0
  21. package/lib/components/Alert/types.d.ts +25 -0
  22. package/lib/components/AppShell/AppShell.d.ts +48 -0
  23. package/lib/components/AppShell/BottomAppBar.d.ts +3 -0
  24. package/lib/components/AppShell/MobileMenu.d.ts +10 -0
  25. package/lib/components/AppShell/StatusBarManager.d.ts +7 -0
  26. package/lib/components/AppShell/app-layout/AppLayoutProvider.d.ts +8 -0
  27. package/lib/components/AppShell/app-layout/AppLayoutRenderer.d.ts +5 -0
  28. package/lib/components/AppShell/app-layout/context.d.ts +4 -0
  29. package/lib/components/AppShell/app-layout/defineAppLayout.d.ts +2 -0
  30. package/lib/components/AppShell/app-layout/index.d.ts +5 -0
  31. package/lib/components/AppShell/app-layout/types.d.ts +120 -0
  32. package/lib/components/AppShell/context.d.ts +44 -0
  33. package/lib/components/AppShell/defaults.d.ts +6 -0
  34. package/lib/components/AppShell/hooks/useBreakpoint.d.ts +9 -0
  35. package/lib/components/AppShell/hooks/useResponsiveValue.d.ts +2 -0
  36. package/lib/components/AppShell/index.d.ts +12 -0
  37. package/lib/components/AppShell/meta.schema.d.ts +14 -0
  38. package/lib/components/AppShell/types.d.ts +228 -0
  39. package/lib/components/AppStoreBadge/AppStoreBadge.d.ts +5 -0
  40. package/lib/components/AppStoreBadge/ConvenienceComponents.d.ts +88 -0
  41. package/lib/components/AppStoreBadge/examples/usage-examples.d.ts +4 -0
  42. package/lib/components/AppStoreBadge/index.d.ts +3 -0
  43. package/lib/components/AppStoreBadge/types.d.ts +36 -0
  44. package/lib/components/AppStoreButton/AppStoreButton.d.ts +5 -0
  45. package/lib/components/AppStoreButton/ConvenienceComponents.d.ts +8 -0
  46. package/lib/components/AppStoreButton/index.d.ts +3 -0
  47. package/lib/components/AppStoreButton/types.d.ts +36 -0
  48. package/lib/components/AudioPlayer/AudioPlayer.d.ts +3 -0
  49. package/lib/components/AudioPlayer/AudioPlayerDemo.d.ts +2 -0
  50. package/lib/components/AudioPlayer/index.d.ts +2 -0
  51. package/lib/components/AudioPlayer/types.d.ts +232 -0
  52. package/lib/components/AutoComplete/AutoComplete.d.ts +6 -0
  53. package/lib/components/AutoComplete/index.d.ts +2 -0
  54. package/lib/components/AutoComplete/types.d.ts +120 -0
  55. package/lib/components/Avatar/Avatar.d.ts +3 -0
  56. package/lib/components/Avatar/AvatarGroup.d.ts +3 -0
  57. package/lib/components/Avatar/index.d.ts +3 -0
  58. package/lib/components/Avatar/types.d.ts +30 -0
  59. package/lib/components/Badge/Badge.d.ts +4 -0
  60. package/lib/components/Badge/index.d.ts +3 -0
  61. package/lib/components/Badge/types.d.ts +26 -0
  62. package/lib/components/Block/Block.d.ts +36 -0
  63. package/lib/components/Block/index.d.ts +2 -0
  64. package/lib/components/Block/types.d.ts +102 -0
  65. package/lib/components/Block/utils.d.ts +28 -0
  66. package/lib/components/Blockquote/Blockquote.d.ts +3 -0
  67. package/lib/components/Blockquote/BlockquoteAttribution.d.ts +3 -0
  68. package/lib/components/Blockquote/BlockquoteAuthor.d.ts +3 -0
  69. package/lib/components/Blockquote/BlockquoteMeta.d.ts +3 -0
  70. package/lib/components/Blockquote/BlockquoteSource.d.ts +3 -0
  71. package/lib/components/Blockquote/index.d.ts +6 -0
  72. package/lib/components/Blockquote/styles.d.ts +80 -0
  73. package/lib/components/Blockquote/types.d.ts +74 -0
  74. package/lib/components/BrandButton/BrandButton.d.ts +3 -0
  75. package/lib/components/BrandButton/index.d.ts +2 -0
  76. package/lib/components/BrandButton/types.d.ts +23 -0
  77. package/lib/components/BrandIcon/BrandIcon.d.ts +27 -0
  78. package/lib/components/BrandIcon/brands.d.ts +520 -0
  79. package/lib/components/BrandIcon/index.d.ts +2 -0
  80. package/lib/components/Breadcrumbs/Breadcrumbs.d.ts +6 -0
  81. package/lib/components/Breadcrumbs/index.d.ts +2 -0
  82. package/lib/components/Breadcrumbs/types.d.ts +35 -0
  83. package/lib/components/Button/Button.d.ts +3 -0
  84. package/lib/components/Button/SoundButton.d.ts +22 -0
  85. package/lib/components/Button/defaults.d.ts +7 -0
  86. package/lib/components/Button/index.d.ts +2 -0
  87. package/lib/components/Button/styles/resolver.d.ts +7 -0
  88. package/lib/components/Button/tokens.d.ts +16 -0
  89. package/lib/components/Button/types.d.ts +67 -0
  90. package/lib/components/Calendar/Calendar.d.ts +3 -0
  91. package/lib/components/Calendar/Day.d.ts +3 -0
  92. package/lib/components/Calendar/Month.d.ts +3 -0
  93. package/lib/components/Calendar/MonthPicker.d.ts +2 -0
  94. package/lib/components/Calendar/YearPicker.d.ts +2 -0
  95. package/lib/components/Calendar/index.d.ts +8 -0
  96. package/lib/components/Calendar/types.d.ts +92 -0
  97. package/lib/components/Calendar/utils.d.ts +31 -0
  98. package/lib/components/Can/Can.d.ts +30 -0
  99. package/lib/components/Can/PermissionDemo.d.ts +2 -0
  100. package/lib/components/Can/ability.d.ts +89 -0
  101. package/lib/components/Can/builder.d.ts +113 -0
  102. package/lib/components/Can/context.d.ts +25 -0
  103. package/lib/components/Can/index.d.ts +6 -0
  104. package/lib/components/Can/types.d.ts +228 -0
  105. package/lib/components/Card/Card.d.ts +3 -0
  106. package/lib/components/Card/index.d.ts +2 -0
  107. package/lib/components/Card/types.d.ts +15 -0
  108. package/lib/components/Carousel/Carousel.d.ts +4 -0
  109. package/lib/components/Carousel/index.d.ts +2 -0
  110. package/lib/components/Carousel/styles.d.ts +21 -0
  111. package/lib/components/Carousel/types.d.ts +51 -0
  112. package/lib/components/Checkbox/Checkbox.d.ts +4 -0
  113. package/lib/components/Checkbox/index.d.ts +2 -0
  114. package/lib/components/Checkbox/styles.d.ts +71 -0
  115. package/lib/components/Checkbox/types.d.ts +52 -0
  116. package/lib/components/Chip/Chip.d.ts +4 -0
  117. package/lib/components/Chip/index.d.ts +3 -0
  118. package/lib/components/Chip/types.d.ts +22 -0
  119. package/lib/components/CodeBlock/CodeBlock.d.ts +16 -0
  120. package/lib/components/CodeBlock/index.d.ts +3 -0
  121. package/lib/components/CodeBlock/type.d.ts +40 -0
  122. package/lib/components/CodeBlock/types.d.ts +44 -0
  123. package/lib/components/CodeBlock/utils.d.ts +38 -0
  124. package/lib/components/ColorPicker/ColorPicker.d.ts +8 -0
  125. package/lib/components/ColorPicker/index.d.ts +2 -0
  126. package/lib/components/ColorPicker/styles.d.ts +35 -0
  127. package/lib/components/ColorPicker/types.d.ts +69 -0
  128. package/lib/components/ColorPicker/utils.d.ts +8 -0
  129. package/lib/components/ColorSwatch/ColorSwatch.d.ts +6 -0
  130. package/lib/components/ColorSwatch/index.d.ts +2 -0
  131. package/lib/components/ColorSwatch/types.d.ts +29 -0
  132. package/lib/components/Container/Container.d.ts +3 -0
  133. package/lib/components/Container/index.d.ts +2 -0
  134. package/lib/components/Container/types.d.ts +31 -0
  135. package/lib/components/ContextMenu/ContextMenu.d.ts +5 -0
  136. package/lib/components/ContextMenu/index.d.ts +2 -0
  137. package/lib/components/ContextMenu/types.d.ts +36 -0
  138. package/lib/components/CopyButton/CopyButton.d.ts +10 -0
  139. package/lib/components/CopyButton/index.d.ts +2 -0
  140. package/lib/components/CopyButton/types.d.ts +37 -0
  141. package/lib/components/DataTable/AdvancedFilterControl.d.ts +10 -0
  142. package/lib/components/DataTable/ColumnSettings.d.ts +16 -0
  143. package/lib/components/DataTable/DataTable.d.ts +5 -0
  144. package/lib/components/DataTable/hooks/useColumnSettings.d.ts +12 -0
  145. package/lib/components/DataTable/hooks/useDataTableState.d.ts +41 -0
  146. package/lib/components/DataTable/hooks/useRowSelection.d.ts +40 -0
  147. package/lib/components/DataTable/index.d.ts +1 -0
  148. package/lib/components/DataTable/types.d.ts +223 -0
  149. package/lib/components/DatePicker/DatePicker.d.ts +4 -0
  150. package/lib/components/DatePicker/index.d.ts +8 -0
  151. package/lib/components/DatePicker/types.d.ts +47 -0
  152. package/lib/components/DatePicker/utils.d.ts +30 -0
  153. package/lib/components/DatePickerInput/DatePickerInput.d.ts +4 -0
  154. package/lib/components/DatePickerInput/index.d.ts +2 -0
  155. package/lib/components/DatePickerInput/types.d.ts +41 -0
  156. package/lib/components/Dialog/Dialog.d.ts +3 -0
  157. package/lib/components/Dialog/DialogContext.d.ts +11 -0
  158. package/lib/components/Dialog/DialogRenderer.d.ts +2 -0
  159. package/lib/components/Dialog/hooks/useSimpleDialog.d.ts +25 -0
  160. package/lib/components/Dialog/index.d.ts +6 -0
  161. package/lib/components/Dialog/types.d.ts +35 -0
  162. package/lib/components/Disclaimer/Disclaimer.d.ts +11 -0
  163. package/lib/components/Disclaimer/disclaimerUtils.d.ts +21 -0
  164. package/lib/components/Disclaimer/index.d.ts +6 -0
  165. package/lib/components/Disclaimer/withDisclaimer.d.ts +13 -0
  166. package/lib/components/Divider/Divider.d.ts +2 -0
  167. package/lib/components/Divider/index.d.ts +2 -0
  168. package/lib/components/Divider/types.d.ts +22 -0
  169. package/lib/components/EmojiPicker/EmojiPicker.d.ts +6 -0
  170. package/lib/components/EmojiPicker/index.d.ts +2 -0
  171. package/lib/components/EmojiPicker/types.d.ts +29 -0
  172. package/lib/components/FileInput/FileInput.d.ts +3 -0
  173. package/lib/components/FileInput/index.d.ts +2 -0
  174. package/lib/components/FileInput/types.d.ts +82 -0
  175. package/lib/components/Flex/Flex.d.ts +38 -0
  176. package/lib/components/Flex/helpers.d.ts +13 -0
  177. package/lib/components/Flex/index.d.ts +2 -0
  178. package/lib/components/FloatingActions/FloatingActions.d.ts +29 -0
  179. package/lib/components/FloatingActions/index.d.ts +2 -0
  180. package/lib/components/Form/FormBase.d.ts +3 -0
  181. package/lib/components/Form/FormContext.d.ts +16 -0
  182. package/lib/components/Form/FormError.d.ts +3 -0
  183. package/lib/components/Form/FormField.d.ts +3 -0
  184. package/lib/components/Form/FormInput.d.ts +3 -0
  185. package/lib/components/Form/FormLabel.d.ts +3 -0
  186. package/lib/components/Form/FormSubmit.d.ts +3 -0
  187. package/lib/components/Form/OptimizedForm.d.ts +22 -0
  188. package/lib/components/Form/index.d.ts +9 -0
  189. package/lib/components/Form/types.d.ts +104 -0
  190. package/lib/components/FormLayout/FormField.d.ts +3 -0
  191. package/lib/components/FormLayout/FormGroup.d.ts +3 -0
  192. package/lib/components/FormLayout/FormLayout.d.ts +3 -0
  193. package/lib/components/FormLayout/FormSection.d.ts +3 -0
  194. package/lib/components/FormLayout/index.d.ts +5 -0
  195. package/lib/components/FormLayout/types.d.ts +31 -0
  196. package/lib/components/Forms/ContactForm.d.ts +3 -0
  197. package/lib/components/Forms/ForgotPasswordForm.d.ts +3 -0
  198. package/lib/components/Forms/LoginForm.d.ts +3 -0
  199. package/lib/components/Forms/SignupForm.d.ts +3 -0
  200. package/lib/components/Forms/index.d.ts +5 -0
  201. package/lib/components/Forms/types.d.ts +89 -0
  202. package/lib/components/Gallery/Gallery.d.ts +3 -0
  203. package/lib/components/Gallery/GalleryControls.d.ts +3 -0
  204. package/lib/components/Gallery/GalleryMetadata.d.ts +3 -0
  205. package/lib/components/Gallery/GalleryNew.d.ts +3 -0
  206. package/lib/components/Gallery/GalleryThumbnails.d.ts +3 -0
  207. package/lib/components/Gallery/index.d.ts +5 -0
  208. package/lib/components/Gallery/types.d.ts +68 -0
  209. package/lib/components/Gauge/Gauge.d.ts +41 -0
  210. package/lib/components/Gauge/index.d.ts +9 -0
  211. package/lib/components/Gauge/styles.d.ts +57 -0
  212. package/lib/components/Gauge/types.d.ts +210 -0
  213. package/lib/components/Gauge/utils.d.ts +72 -0
  214. package/lib/components/GradientText/GradientText.d.ts +46 -0
  215. package/lib/components/GradientText/index.d.ts +2 -0
  216. package/lib/components/GradientText/types.d.ts +39 -0
  217. package/lib/components/Grid/Grid.d.ts +11 -0
  218. package/lib/components/Grid/index.d.ts +2 -0
  219. package/lib/components/Grid/types.d.ts +32 -0
  220. package/lib/components/HoverCard/HoverCard.d.ts +2 -0
  221. package/lib/components/HoverCard/index.d.ts +2 -0
  222. package/lib/components/HoverCard/types.d.ts +53 -0
  223. package/lib/components/Icon/Icon.d.ts +6 -0
  224. package/lib/components/Icon/icons/actions.d.ts +2 -0
  225. package/lib/components/Icon/icons/data.d.ts +2 -0
  226. package/lib/components/Icon/icons/multimedia.d.ts +2 -0
  227. package/lib/components/Icon/icons/navigation.d.ts +2 -0
  228. package/lib/components/Icon/icons/platforms.d.ts +2 -0
  229. package/lib/components/Icon/icons/status.d.ts +2 -0
  230. package/lib/components/Icon/icons/ui.d.ts +2 -0
  231. package/lib/components/Icon/index.d.ts +2 -0
  232. package/lib/components/Icon/registry.d.ts +6 -0
  233. package/lib/components/Icon/types.d.ts +40 -0
  234. package/lib/components/IconButton/IconButton.d.ts +3 -0
  235. package/lib/components/IconButton/index.d.ts +2 -0
  236. package/lib/components/IconButton/types.d.ts +45 -0
  237. package/lib/components/Image/Image.d.ts +3 -0
  238. package/lib/components/Image/index.d.ts +2 -0
  239. package/lib/components/Image/types.d.ts +57 -0
  240. package/lib/components/Indicator/Indicator.d.ts +7 -0
  241. package/lib/components/Indicator/index.d.ts +2 -0
  242. package/lib/components/Indicator/types.d.ts +13 -0
  243. package/lib/components/Input/Input.d.ts +6 -0
  244. package/lib/components/Input/InputBase.d.ts +17 -0
  245. package/lib/components/Input/OptimizedInput.d.ts +19 -0
  246. package/lib/components/Input/PasswordInput.d.ts +3 -0
  247. package/lib/components/Input/index.d.ts +5 -0
  248. package/lib/components/Input/styles.d.ts +85 -0
  249. package/lib/components/Input/types.d.ts +120 -0
  250. package/lib/components/Input/validation/index.d.ts +14 -0
  251. package/lib/components/Input/validation/optimized.d.ts +33 -0
  252. package/lib/components/KeyCap/KeyCap.d.ts +6 -0
  253. package/lib/components/KeyCap/index.d.ts +3 -0
  254. package/lib/components/KeyCap/styles.d.ts +11 -0
  255. package/lib/components/KeyCap/types.d.ts +54 -0
  256. package/lib/components/Layout/Layout.d.ts +18 -0
  257. package/lib/components/Layout/index.d.ts +1 -0
  258. package/lib/components/Link/Link.d.ts +31 -0
  259. package/lib/components/Link/index.d.ts +2 -0
  260. package/lib/components/ListGroup/ListGroup.d.ts +19 -0
  261. package/lib/components/ListGroup/index.d.ts +2 -0
  262. package/lib/components/ListGroup/types.d.ts +26 -0
  263. package/lib/components/Loader/Loader.d.ts +8 -0
  264. package/lib/components/Loader/index.d.ts +2 -0
  265. package/lib/components/Loader/types.d.ts +18 -0
  266. package/lib/components/LoadingOverlay/LoadingOverlay.d.ts +3 -0
  267. package/lib/components/LoadingOverlay/index.d.ts +2 -0
  268. package/lib/components/LoadingOverlay/types.d.ts +16 -0
  269. package/lib/components/Lottie/Lottie.d.ts +30 -0
  270. package/lib/components/Lottie/index.d.ts +2 -0
  271. package/lib/components/Markdown/Markdown.d.ts +66 -0
  272. package/lib/components/Markdown/index.d.ts +1 -0
  273. package/lib/components/Masonry/Masonry.d.ts +7 -0
  274. package/lib/components/Masonry/index.d.ts +2 -0
  275. package/lib/components/Masonry/types.d.ts +39 -0
  276. package/lib/components/Menu/Menu.d.ts +29 -0
  277. package/lib/components/Menu/index.d.ts +2 -0
  278. package/lib/components/Menu/styles.d.ts +13 -0
  279. package/lib/components/Menu/types.d.ts +71 -0
  280. package/lib/components/MenuItemButton/MenuItemButton.d.ts +39 -0
  281. package/lib/components/MenuItemButton/index.d.ts +2 -0
  282. package/lib/components/MiniCalendar/MiniCalendar.d.ts +3 -0
  283. package/lib/components/MiniCalendar/index.d.ts +1 -0
  284. package/lib/components/MonthPicker/MonthPicker.d.ts +3 -0
  285. package/lib/components/MonthPicker/index.d.ts +2 -0
  286. package/lib/components/MonthPicker/types.d.ts +26 -0
  287. package/lib/components/MonthPickerInput/MonthPickerInput.d.ts +4 -0
  288. package/lib/components/MonthPickerInput/index.d.ts +2 -0
  289. package/lib/components/MonthPickerInput/types.d.ts +30 -0
  290. package/lib/components/Navigation/DrawerNavigator.d.ts +7 -0
  291. package/lib/components/Navigation/NavigationContainer.d.ts +11 -0
  292. package/lib/components/Navigation/NavigationContext.d.ts +11 -0
  293. package/lib/components/Navigation/Screen.d.ts +6 -0
  294. package/lib/components/Navigation/StackNavigator.d.ts +7 -0
  295. package/lib/components/Navigation/index.d.ts +6 -0
  296. package/lib/components/Navigation/types.d.ts +70 -0
  297. package/lib/components/NavigationProgress/NavigationProgress.d.ts +4 -0
  298. package/lib/components/NavigationProgress/defaults.d.ts +8 -0
  299. package/lib/components/NavigationProgress/hooks/useNavigationProgressState.d.ts +1 -0
  300. package/lib/components/NavigationProgress/index.d.ts +2 -0
  301. package/lib/components/NavigationProgress/styles/resolver.d.ts +1 -0
  302. package/lib/components/NavigationProgress/tokens.d.ts +4 -0
  303. package/lib/components/NavigationProgress/types.d.ts +30 -0
  304. package/lib/components/NumberInput/NumberInput.d.ts +5 -0
  305. package/lib/components/NumberInput/index.d.ts +2 -0
  306. package/lib/components/NumberInput/types.d.ts +76 -0
  307. package/lib/components/Overlay/Overlay.d.ts +4 -0
  308. package/lib/components/Overlay/index.d.ts +2 -0
  309. package/lib/components/Overlay/types.d.ts +27 -0
  310. package/lib/components/Pagination/Pagination.d.ts +6 -0
  311. package/lib/components/Pagination/index.d.ts +2 -0
  312. package/lib/components/Pagination/types.d.ts +58 -0
  313. package/lib/components/PhoneInput/PhoneInput.d.ts +3 -0
  314. package/lib/components/PhoneInput/index.d.ts +2 -0
  315. package/lib/components/PhoneInput/types.d.ts +27 -0
  316. package/lib/components/PinInput/PinInput.d.ts +6 -0
  317. package/lib/components/PinInput/index.d.ts +2 -0
  318. package/lib/components/PinInput/types.d.ts +41 -0
  319. package/lib/components/PressAnimation/PressAnimation.d.ts +29 -0
  320. package/lib/components/PressAnimation/index.d.ts +2 -0
  321. package/lib/components/Progress/Progress.d.ts +11 -0
  322. package/lib/components/Progress/index.d.ts +2 -0
  323. package/lib/components/Progress/types.d.ts +48 -0
  324. package/lib/components/QRCode/QRCode.d.ts +11 -0
  325. package/lib/components/QRCode/QRCodeSVG.d.ts +6 -0
  326. package/lib/components/QRCode/core/buildMatrix.d.ts +11 -0
  327. package/lib/components/QRCode/core/encoder.d.ts +12 -0
  328. package/lib/components/QRCode/core/mask.d.ts +2 -0
  329. package/lib/components/QRCode/core/mode.d.ts +6 -0
  330. package/lib/components/QRCode/core/reedSolomon.d.ts +1 -0
  331. package/lib/components/QRCode/core/tables.d.ts +24 -0
  332. package/lib/components/QRCode/index.d.ts +3 -0
  333. package/lib/components/QRCode/optimizations.d.ts +20 -0
  334. package/lib/components/QRCode/types.d.ts +76 -0
  335. package/lib/components/Radio/Radio.d.ts +10 -0
  336. package/lib/components/Radio/index.d.ts +2 -0
  337. package/lib/components/Radio/styles.d.ts +81 -0
  338. package/lib/components/Radio/types.d.ts +79 -0
  339. package/lib/components/Rating/Rating.d.ts +2 -0
  340. package/lib/components/Rating/index.d.ts +2 -0
  341. package/lib/components/Rating/types.d.ts +35 -0
  342. package/lib/components/Reveal/Reveal.d.ts +4 -0
  343. package/lib/components/Reveal/index.d.ts +2 -0
  344. package/lib/components/Reveal/types.d.ts +53 -0
  345. package/lib/components/RichTextEditor/RichTextEditor.d.ts +3 -0
  346. package/lib/components/RichTextEditor/index.d.ts +2 -0
  347. package/lib/components/RichTextEditor/styles.d.ts +61 -0
  348. package/lib/components/RichTextEditor/types.d.ts +150 -0
  349. package/lib/components/Search/Search.d.ts +6 -0
  350. package/lib/components/Search/index.d.ts +2 -0
  351. package/lib/components/Search/test-component.d.ts +3 -0
  352. package/lib/components/Search/types.d.ts +27 -0
  353. package/lib/components/SegmentedControl/SegmentedControl.d.ts +6 -0
  354. package/lib/components/SegmentedControl/index.d.ts +2 -0
  355. package/lib/components/SegmentedControl/types.d.ts +62 -0
  356. package/lib/components/Select/Select.d.ts +6 -0
  357. package/lib/components/Select/Select.types.d.ts +31 -0
  358. package/lib/components/Select/index.d.ts +2 -0
  359. package/lib/components/Select/types.d.ts +25 -0
  360. package/lib/components/ShimmerText/ShimmerText.d.ts +33 -0
  361. package/lib/components/ShimmerText/index.d.ts +2 -0
  362. package/lib/components/ShimmerText/types.d.ts +33 -0
  363. package/lib/components/Skeleton/Skeleton.d.ts +2 -0
  364. package/lib/components/Skeleton/index.d.ts +2 -0
  365. package/lib/components/Skeleton/types.d.ts +30 -0
  366. package/lib/components/Slider/Slider.d.ts +10 -0
  367. package/lib/components/Slider/SliderCore.d.ts +57 -0
  368. package/lib/components/Slider/index.d.ts +2 -0
  369. package/lib/components/Slider/types.d.ts +133 -0
  370. package/lib/components/Space/Space.d.ts +4 -0
  371. package/lib/components/Space/index.d.ts +2 -0
  372. package/lib/components/Space/types.d.ts +17 -0
  373. package/lib/components/Spoiler/Spoiler.d.ts +5 -0
  374. package/lib/components/Spoiler/index.d.ts +2 -0
  375. package/lib/components/Spoiler/types.d.ts +40 -0
  376. package/lib/components/Spotlight/DirectSpotlightState.d.ts +41 -0
  377. package/lib/components/Spotlight/Spotlight.d.ts +19 -0
  378. package/lib/components/Spotlight/SpotlightController.d.ts +13 -0
  379. package/lib/components/Spotlight/SpotlightStore.d.ts +32 -0
  380. package/lib/components/Spotlight/SpotlightTypes.d.ts +29 -0
  381. package/lib/components/Spotlight/index.d.ts +6 -0
  382. package/lib/components/Spotlight/types.d.ts +66 -0
  383. package/lib/components/Stepper/Stepper.d.ts +12 -0
  384. package/lib/components/Stepper/index.d.ts +2 -0
  385. package/lib/components/Stepper/types.d.ts +68 -0
  386. package/lib/components/Switch/Switch.d.ts +6 -0
  387. package/lib/components/Switch/index.d.ts +2 -0
  388. package/lib/components/Switch/styles.d.ts +85 -0
  389. package/lib/components/Switch/types.d.ts +54 -0
  390. package/lib/components/Table/Table.d.ts +115 -0
  391. package/lib/components/Table/index.d.ts +1 -0
  392. package/lib/components/TableOfContents/TableOfContents.d.ts +3 -0
  393. package/lib/components/TableOfContents/index.d.ts +2 -0
  394. package/lib/components/TableOfContents/types.d.ts +77 -0
  395. package/lib/components/Tabs/Tabs.d.ts +3 -0
  396. package/lib/components/Tabs/index.d.ts +2 -0
  397. package/lib/components/Tabs/types.d.ts +182 -0
  398. package/lib/components/Text/Text.d.ts +51 -0
  399. package/lib/components/Text/aliases.d.ts +22 -0
  400. package/lib/components/Text/index.d.ts +2 -0
  401. package/lib/components/TextArea/TextArea.d.ts +6 -0
  402. package/lib/components/TextArea/index.d.ts +2 -0
  403. package/lib/components/TextArea/meta/index.d.ts +97 -0
  404. package/lib/components/TextArea/styles.d.ts +95 -0
  405. package/lib/components/TextArea/types.d.ts +33 -0
  406. package/lib/components/TimePicker/TimePicker.d.ts +3 -0
  407. package/lib/components/TimePicker/index.d.ts +2 -0
  408. package/lib/components/TimePicker/types.d.ts +32 -0
  409. package/lib/components/TimePickerInput/index.d.ts +2 -0
  410. package/lib/components/Timeline/Timeline.d.ts +13 -0
  411. package/lib/components/Timeline/index.d.ts +2 -0
  412. package/lib/components/Timeline/types.d.ts +53 -0
  413. package/lib/components/Title/Title.d.ts +10 -0
  414. package/lib/components/Title/index.d.ts +2 -0
  415. package/lib/components/Title/types.d.ts +55 -0
  416. package/lib/components/Toast/Toast.d.ts +8 -0
  417. package/lib/components/Toast/ToastProvider.d.ts +88 -0
  418. package/lib/components/Toast/index.d.ts +3 -0
  419. package/lib/components/Toast/types.d.ts +78 -0
  420. package/lib/components/Toggle/Toggle.d.ts +10 -0
  421. package/lib/components/Toggle/ToggleBar.d.ts +42 -0
  422. package/lib/components/Toggle/index.d.ts +4 -0
  423. package/lib/components/Toggle/types.d.ts +68 -0
  424. package/lib/components/Tooltip/Tooltip.d.ts +2 -0
  425. package/lib/components/Tooltip/index.d.ts +2 -0
  426. package/lib/components/Tooltip/types.d.ts +44 -0
  427. package/lib/components/Tree/Tree.d.ts +5 -0
  428. package/lib/components/Tree/index.d.ts +2 -0
  429. package/lib/components/Tree/types.d.ts +65 -0
  430. package/lib/components/Video/NativeVideoPlayer.d.ts +33 -0
  431. package/lib/components/Video/Video.d.ts +3 -0
  432. package/lib/components/Video/VideoControls.d.ts +17 -0
  433. package/lib/components/Video/VideoTimeline.d.ts +12 -0
  434. package/lib/components/Video/YouTubePlayer.d.ts +44 -0
  435. package/lib/components/Video/index.d.ts +2 -0
  436. package/lib/components/Video/types.d.ts +145 -0
  437. package/lib/components/Waveform/Waveform.d.ts +3 -0
  438. package/lib/components/Waveform/WaveformSkeleton.d.ts +9 -0
  439. package/lib/components/Waveform/index.d.ts +4 -0
  440. package/lib/components/Waveform/styles.d.ts +53 -0
  441. package/lib/components/Waveform/types.d.ts +124 -0
  442. package/lib/components/Waveform/utils.d.ts +95 -0
  443. package/lib/components/YearPicker/YearPicker.d.ts +3 -0
  444. package/lib/components/YearPicker/index.d.ts +2 -0
  445. package/lib/components/YearPicker/types.d.ts +24 -0
  446. package/lib/components/YearPickerInput/YearPickerInput.d.ts +4 -0
  447. package/lib/components/YearPickerInput/index.d.ts +2 -0
  448. package/lib/components/YearPickerInput/types.d.ts +26 -0
  449. package/lib/components/_internal/FieldHeader.d.ts +21 -0
  450. package/lib/components/index.d.ts +164 -0
  451. package/lib/components/optimized.d.ts +74 -0
  452. package/lib/components/types.d.ts +57 -0
  453. package/lib/contexts/TitleRegistryContext.d.ts +20 -0
  454. package/lib/contexts/index.d.ts +1 -0
  455. package/lib/core/accessibility/advancedHooks.d.ts +82 -0
  456. package/lib/core/accessibility/constants.d.ts +85 -0
  457. package/lib/core/accessibility/context.d.ts +5 -0
  458. package/lib/core/accessibility/hooks.d.ts +33 -0
  459. package/lib/core/accessibility/index.d.ts +6 -0
  460. package/lib/core/accessibility/types.d.ts +35 -0
  461. package/lib/core/accessibility/utils.d.ts +56 -0
  462. package/lib/core/animations/index.d.ts +2 -0
  463. package/lib/core/animations/transitions.d.ts +31 -0
  464. package/lib/core/components/ClearButton.d.ts +15 -0
  465. package/lib/core/components/InputContainer.d.ts +19 -0
  466. package/lib/core/design-tokens.d.ts +292 -0
  467. package/lib/core/factory/factory.d.ts +33 -0
  468. package/lib/core/factory/index.d.ts +4 -0
  469. package/lib/core/factory/polymorphicFactory.d.ts +38 -0
  470. package/lib/core/haptics/HapticsProvider.d.ts +14 -0
  471. package/lib/core/hooks/useDropdownPositioning.d.ts +61 -0
  472. package/lib/core/hooks/usePopoverPositioning.d.ts +33 -0
  473. package/lib/core/i18n/I18nContext.d.ts +8 -0
  474. package/lib/core/i18n/index.d.ts +2 -0
  475. package/lib/core/i18n/types.d.ts +22 -0
  476. package/lib/core/index.d.ts +15 -0
  477. package/lib/core/interactive-states.d.ts +41 -0
  478. package/lib/core/motion/ReducedMotionProvider.d.ts +10 -0
  479. package/lib/core/motion/motionTokens.d.ts +12 -0
  480. package/lib/core/providers/DirectionProvider.d.ts +88 -0
  481. package/lib/core/providers/OverlayProvider.d.ts +40 -0
  482. package/lib/core/providers/OverlayRenderer.d.ts +7 -0
  483. package/lib/core/providers/index.d.ts +5 -0
  484. package/lib/core/responsive/index.d.ts +22 -0
  485. package/lib/core/sound/context.d.ts +21 -0
  486. package/lib/core/sound/hooks.d.ts +214 -0
  487. package/lib/core/sound/index.d.ts +5 -0
  488. package/lib/core/sound/mockContext.d.ts +21 -0
  489. package/lib/core/sound/sounds.d.ts +17 -0
  490. package/lib/core/sound/types.d.ts +79 -0
  491. package/lib/core/style-factory.d.ts +23 -0
  492. package/lib/core/theme/CSSVariables.d.ts +9 -0
  493. package/lib/core/theme/PlatformBlocksProvider.d.ts +52 -0
  494. package/lib/core/theme/ThemeModeProvider.d.ts +42 -0
  495. package/lib/core/theme/ThemeProvider.d.ts +19 -0
  496. package/lib/core/theme/breakpoints.d.ts +34 -0
  497. package/lib/core/theme/darkTheme.d.ts +2 -0
  498. package/lib/core/theme/defaultTheme.d.ts +2 -0
  499. package/lib/core/theme/index.d.ts +12 -0
  500. package/lib/core/theme/radius.d.ts +132 -0
  501. package/lib/core/theme/shadow.d.ts +119 -0
  502. package/lib/core/theme/sizes.d.ts +185 -0
  503. package/lib/core/theme/types.d.ts +190 -0
  504. package/lib/core/theme/unified-sizing.d.ts +65 -0
  505. package/lib/core/theme/useColorScheme.d.ts +6 -0
  506. package/lib/core/theme/utils.d.ts +9 -0
  507. package/lib/core/unified-styles.d.ts +12 -0
  508. package/lib/core/utils/UniversalCSS.d.ts +14 -0
  509. package/lib/core/utils/debounce.d.ts +16 -0
  510. package/lib/core/utils/hash.d.ts +4 -0
  511. package/lib/core/utils/index.d.ts +38 -0
  512. package/lib/core/utils/layout.d.ts +44 -0
  513. package/lib/core/utils/performance.d.ts +30 -0
  514. package/lib/core/utils/positioning-enhanced.d.ts +88 -0
  515. package/lib/core/utils/rtl.d.ts +174 -0
  516. package/lib/core/utils/shadow.d.ts +13 -0
  517. package/lib/core/utils/spacing.d.ts +56 -0
  518. package/lib/core/utils/universal.d.ts +47 -0
  519. package/lib/core/utils/universalSimple.d.ts +37 -0
  520. package/lib/core/utils/withUniversalProps.d.ts +26 -0
  521. package/lib/esm/index.js +35209 -0
  522. package/lib/esm/index.js.map +1 -0
  523. package/lib/hooks/index.d.ts +6 -0
  524. package/lib/hooks/useClipboard.d.ts +20 -0
  525. package/lib/hooks/useHaptics.d.ts +22 -0
  526. package/lib/hooks/useHotkeys.d.ts +42 -0
  527. package/lib/hooks/useMaskedInput.d.ts +35 -0
  528. package/lib/hooks/useScrollSpy.d.ts +38 -0
  529. package/lib/hooks/useTitleRegistration.d.ts +14 -0
  530. package/lib/index.d.ts +220 -0
  531. package/lib/utils/index.d.ts +1 -0
  532. package/lib/utils/mask.d.ts +138 -0
  533. package/package.json +148 -0
@@ -0,0 +1,88 @@
1
+ import React, { ReactNode } from 'react';
2
+ /**
3
+ * Direction type - left-to-right or right-to-left
4
+ */
5
+ export type Direction = 'ltr' | 'rtl';
6
+ /**
7
+ * Direction context value interface
8
+ */
9
+ export interface DirectionContextValue {
10
+ /** Current text direction */
11
+ dir: Direction;
12
+ /** Whether current direction is RTL */
13
+ isRTL: boolean;
14
+ /** Set the text direction */
15
+ setDirection: (direction: Direction) => void;
16
+ /** Toggle between LTR and RTL */
17
+ toggleDirection: () => void;
18
+ }
19
+ /**
20
+ * Storage controller interface for persisting direction preference
21
+ */
22
+ export interface StorageController {
23
+ getItem: (key: string) => Promise<string | null>;
24
+ setItem: (key: string, value: string) => Promise<void>;
25
+ }
26
+ /**
27
+ * DirectionProvider props
28
+ */
29
+ export interface DirectionProviderProps {
30
+ /** Initial direction. If not provided, will auto-detect from platform */
31
+ initialDirection?: Direction;
32
+ /** Optional storage controller for persisting direction */
33
+ storage?: StorageController;
34
+ /** Storage key for persisting direction preference */
35
+ storageKey?: string;
36
+ /** Children to render */
37
+ children: ReactNode;
38
+ }
39
+ /**
40
+ * Direction Context
41
+ */
42
+ declare const DirectionContext: React.Context<DirectionContextValue | null>;
43
+ /**
44
+ * DirectionProvider Component
45
+ *
46
+ * Provides direction context for the entire app. Manages LTR/RTL state
47
+ * and syncs with platform-specific direction settings.
48
+ *
49
+ * @example
50
+ * ```tsx
51
+ * import { DirectionProvider } from '@platform-blocks/ui';
52
+ *
53
+ * function App() {
54
+ * return (
55
+ * <DirectionProvider initialDirection="ltr">
56
+ * <YourApp />
57
+ * </DirectionProvider>
58
+ * );
59
+ * }
60
+ * ```
61
+ */
62
+ export declare const DirectionProvider: React.FC<DirectionProviderProps>;
63
+ /**
64
+ * Hook to access direction context
65
+ *
66
+ * @throws Error if used outside DirectionProvider
67
+ *
68
+ * @example
69
+ * ```tsx
70
+ * function MyComponent() {
71
+ * const { dir, isRTL, setDirection, toggleDirection } = useDirection();
72
+ *
73
+ * return (
74
+ * <View style={{ flexDirection: isRTL ? 'row-reverse' : 'row' }}>
75
+ * <Text>Direction: {dir}</Text>
76
+ * <Button onPress={toggleDirection}>Toggle</Button>
77
+ * </View>
78
+ * );
79
+ * }
80
+ * ```
81
+ */
82
+ export declare const useDirection: () => DirectionContextValue;
83
+ /**
84
+ * Hook to safely access direction context with fallback
85
+ * Use this if you want to support components outside DirectionProvider
86
+ */
87
+ export declare const useDirectionSafe: () => DirectionContextValue;
88
+ export { DirectionContext };
@@ -0,0 +1,40 @@
1
+ import React, { ReactNode } from 'react';
2
+ export interface OverlayConfig {
3
+ id: string;
4
+ content: ReactNode;
5
+ trigger?: 'click' | 'hover' | 'contextmenu' | 'manual';
6
+ placement?: 'top' | 'bottom' | 'left' | 'right' | 'auto';
7
+ offset?: number;
8
+ anchor?: {
9
+ x: number;
10
+ y: number;
11
+ width: number;
12
+ height: number;
13
+ };
14
+ width?: number | string;
15
+ maxWidth?: number | string;
16
+ maxHeight?: number | string;
17
+ onClose?: () => void;
18
+ closeOnClickOutside?: boolean;
19
+ closeOnEscape?: boolean;
20
+ strategy?: 'absolute' | 'fixed' | 'portal';
21
+ zIndex?: number;
22
+ viewport?: {
23
+ padding: number;
24
+ };
25
+ }
26
+ interface OverlayApiValue {
27
+ openOverlay: (config: Omit<OverlayConfig, 'id'>) => string;
28
+ closeOverlay: (id: string) => void;
29
+ closeAllOverlays: () => void;
30
+ updateOverlay: (id: string, updates: Partial<OverlayConfig>) => void;
31
+ }
32
+ export declare function OverlayProvider({ children }: {
33
+ children: ReactNode;
34
+ }): React.JSX.Element;
35
+ export declare function useOverlay(): {
36
+ overlays: OverlayConfig[];
37
+ } & OverlayApiValue;
38
+ export declare function useOverlayApi(): OverlayApiValue;
39
+ export declare function useOverlays(): OverlayConfig[];
40
+ export {};
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { ViewStyle } from 'react-native';
3
+ export interface OverlayRendererProps {
4
+ /** Additional styles for the overlay container */
5
+ style?: ViewStyle;
6
+ }
7
+ export declare function OverlayRenderer({ style }?: OverlayRendererProps): React.JSX.Element | null;
@@ -0,0 +1,5 @@
1
+ export { OverlayProvider, useOverlay } from './OverlayProvider';
2
+ export { OverlayRenderer } from './OverlayRenderer';
3
+ export type { OverlayConfig } from './OverlayProvider';
4
+ export { DirectionProvider, useDirection, useDirectionSafe, DirectionContext } from './DirectionProvider';
5
+ export type { Direction, DirectionContextValue, DirectionProviderProps, StorageController } from './DirectionProvider';
@@ -0,0 +1,22 @@
1
+ export type Breakpoint = 'base' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
2
+ declare const BREAKPOINTS: {
3
+ readonly base: 0;
4
+ readonly xs: 480;
5
+ readonly sm: 576;
6
+ readonly md: 768;
7
+ readonly lg: 992;
8
+ readonly xl: 1200;
9
+ };
10
+ export type ResponsiveValue<T> = T | Partial<Record<Breakpoint, T>>;
11
+ export type ResponsiveSize = ResponsiveValue<number>;
12
+ export type ResponsiveString = ResponsiveValue<string>;
13
+ export type ResponsiveBoolean = ResponsiveValue<boolean>;
14
+ declare const useBreakpoint: () => Breakpoint;
15
+ declare const useIsMobile: () => boolean;
16
+ declare const resolveResponsiveValue: <T>(value: ResponsiveValue<T>, currentBreakpoint: Breakpoint) => T;
17
+ declare const useResponsiveValue: <T>(value: ResponsiveValue<T>) => T;
18
+ declare const createResponsiveStyle: <T extends Record<string, any>>(styleValue: ResponsiveValue<T>, breakpoint: Breakpoint) => T;
19
+ declare const isResponsiveValue: <T>(value: ResponsiveValue<T>) => value is Partial<Record<Breakpoint, T>>;
20
+ declare const createResponsiveCSS: <T>(property: string, value: ResponsiveValue<T>, unit?: string) => Record<string, any>;
21
+ declare const getResponsiveSpacing: (value: ResponsiveValue<number | string>, breakpoint: Breakpoint, multiplier?: number) => number;
22
+ export { BREAKPOINTS, useBreakpoint, useIsMobile, resolveResponsiveValue, useResponsiveValue, createResponsiveStyle, isResponsiveValue, createResponsiveCSS, getResponsiveSpacing, };
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import type { SoundContextType, SoundAsset, HapticFeedbackOptions } from './types';
3
+ interface SoundProviderProps {
4
+ children: React.ReactNode;
5
+ /** Initial sound assets to register */
6
+ initialSounds?: SoundAsset[];
7
+ /** Whether to enable audio mode on iOS */
8
+ enableAudioMode?: boolean;
9
+ }
10
+ export declare const SoundProvider: React.FC<SoundProviderProps>;
11
+ /**
12
+ * Hook to access the sound context
13
+ */
14
+ export declare const useSound: () => SoundContextType;
15
+ /**
16
+ * Hook for haptic feedback
17
+ */
18
+ export declare const useHaptics: () => {
19
+ triggerHaptic: (options?: HapticFeedbackOptions) => Promise<void>;
20
+ };
21
+ export {};
@@ -0,0 +1,214 @@
1
+ import type { SoundOptions, HapticFeedbackOptions } from './types';
2
+ /**
3
+ * Default sound IDs for common UI interactions
4
+ * Apps can override these by providing different IDs to the hooks
5
+ */
6
+ export declare const DEFAULT_SOUND_IDS: {
7
+ BUTTON_PRESS: string;
8
+ BUTTON_HOVER: string;
9
+ NAVIGATION_FORWARD: string;
10
+ NAVIGATION_BACK: string;
11
+ SUCCESS: string;
12
+ ERROR: string;
13
+ WARNING: string;
14
+ INPUT_FOCUS: string;
15
+ INPUT_TYPE: string;
16
+ NOTIFICATION: string;
17
+ MESSAGE_RECEIVED: string;
18
+ MODAL_OPEN: string;
19
+ MODAL_CLOSE: string;
20
+ SELECT: string;
21
+ DESELECT: string;
22
+ LOADING_START: string;
23
+ LOADING_COMPLETE: string;
24
+ };
25
+ /**
26
+ * Hook for button interaction sounds and haptics
27
+ */
28
+ export declare const useButtonFeedback: (soundIds?: {
29
+ press?: string;
30
+ hover?: string;
31
+ }) => {
32
+ onPress: (options?: {
33
+ sound?: SoundOptions;
34
+ haptic?: HapticFeedbackOptions;
35
+ playSound?: boolean;
36
+ playHaptic?: boolean;
37
+ }) => Promise<void>;
38
+ onHover: (options?: SoundOptions) => Promise<void>;
39
+ };
40
+ /**
41
+ * Hook for form input feedback
42
+ */
43
+ export declare const useInputFeedback: (soundIds?: {
44
+ focus?: string;
45
+ type?: string;
46
+ error?: string;
47
+ success?: string;
48
+ }) => {
49
+ onFocus: (options?: SoundOptions) => Promise<void>;
50
+ onType: (options?: SoundOptions) => Promise<void>;
51
+ onValidationError: (options?: {
52
+ sound?: SoundOptions;
53
+ haptic?: HapticFeedbackOptions;
54
+ }) => Promise<void>;
55
+ onValidationSuccess: (options?: {
56
+ sound?: SoundOptions;
57
+ haptic?: HapticFeedbackOptions;
58
+ }) => Promise<void>;
59
+ };
60
+ /**
61
+ * Hook for navigation feedback
62
+ */
63
+ export declare const useNavigationFeedback: (soundIds?: {
64
+ forward?: string;
65
+ back?: string;
66
+ }) => {
67
+ onNavigateForward: (options?: {
68
+ sound?: SoundOptions;
69
+ haptic?: HapticFeedbackOptions;
70
+ }) => Promise<void>;
71
+ onNavigateBack: (options?: {
72
+ sound?: SoundOptions;
73
+ haptic?: HapticFeedbackOptions;
74
+ }) => Promise<void>;
75
+ };
76
+ /**
77
+ * Hook for modal/dialog feedback
78
+ */
79
+ export declare const useModalFeedback: (soundIds?: {
80
+ open?: string;
81
+ close?: string;
82
+ }) => {
83
+ onOpen: (options?: {
84
+ sound?: SoundOptions;
85
+ haptic?: HapticFeedbackOptions;
86
+ }) => Promise<void>;
87
+ onClose: (options?: {
88
+ sound?: SoundOptions;
89
+ haptic?: HapticFeedbackOptions;
90
+ }) => Promise<void>;
91
+ };
92
+ /**
93
+ * Hook for selection feedback
94
+ */
95
+ export declare const useSelectionFeedback: (soundIds?: {
96
+ select?: string;
97
+ deselect?: string;
98
+ }) => {
99
+ onSelect: (options?: {
100
+ sound?: SoundOptions;
101
+ haptic?: HapticFeedbackOptions;
102
+ }) => Promise<void>;
103
+ onDeselect: (options?: {
104
+ sound?: SoundOptions;
105
+ haptic?: HapticFeedbackOptions;
106
+ }) => Promise<void>;
107
+ };
108
+ /**
109
+ * Hook for loading state feedback
110
+ */
111
+ export declare const useLoadingFeedback: (soundIds?: {
112
+ start?: string;
113
+ complete?: string;
114
+ }) => {
115
+ onStart: (options?: SoundOptions) => Promise<void>;
116
+ onComplete: (options?: {
117
+ sound?: SoundOptions;
118
+ haptic?: HapticFeedbackOptions;
119
+ }) => Promise<void>;
120
+ };
121
+ /**
122
+ * Hook for notification feedback
123
+ */
124
+ export declare const useNotificationFeedback: (soundIds?: {
125
+ notification?: string;
126
+ success?: string;
127
+ warning?: string;
128
+ error?: string;
129
+ messageReceived?: string;
130
+ }) => {
131
+ onNotification: (options?: {
132
+ sound?: SoundOptions;
133
+ haptic?: HapticFeedbackOptions;
134
+ type?: "info" | "success" | "warning" | "error";
135
+ }) => Promise<void>;
136
+ onMessageReceived: (options?: {
137
+ sound?: SoundOptions;
138
+ haptic?: HapticFeedbackOptions;
139
+ }) => Promise<void>;
140
+ };
141
+ /**
142
+ * Combined hook for all UI feedback types
143
+ */
144
+ export declare const useUIFeedback: () => {
145
+ button: {
146
+ onPress: (options?: {
147
+ sound?: SoundOptions;
148
+ haptic?: HapticFeedbackOptions;
149
+ playSound?: boolean;
150
+ playHaptic?: boolean;
151
+ }) => Promise<void>;
152
+ onHover: (options?: SoundOptions) => Promise<void>;
153
+ };
154
+ input: {
155
+ onFocus: (options?: SoundOptions) => Promise<void>;
156
+ onType: (options?: SoundOptions) => Promise<void>;
157
+ onValidationError: (options?: {
158
+ sound?: SoundOptions;
159
+ haptic?: HapticFeedbackOptions;
160
+ }) => Promise<void>;
161
+ onValidationSuccess: (options?: {
162
+ sound?: SoundOptions;
163
+ haptic?: HapticFeedbackOptions;
164
+ }) => Promise<void>;
165
+ };
166
+ navigation: {
167
+ onNavigateForward: (options?: {
168
+ sound?: SoundOptions;
169
+ haptic?: HapticFeedbackOptions;
170
+ }) => Promise<void>;
171
+ onNavigateBack: (options?: {
172
+ sound?: SoundOptions;
173
+ haptic?: HapticFeedbackOptions;
174
+ }) => Promise<void>;
175
+ };
176
+ modal: {
177
+ onOpen: (options?: {
178
+ sound?: SoundOptions;
179
+ haptic?: HapticFeedbackOptions;
180
+ }) => Promise<void>;
181
+ onClose: (options?: {
182
+ sound?: SoundOptions;
183
+ haptic?: HapticFeedbackOptions;
184
+ }) => Promise<void>;
185
+ };
186
+ selection: {
187
+ onSelect: (options?: {
188
+ sound?: SoundOptions;
189
+ haptic?: HapticFeedbackOptions;
190
+ }) => Promise<void>;
191
+ onDeselect: (options?: {
192
+ sound?: SoundOptions;
193
+ haptic?: HapticFeedbackOptions;
194
+ }) => Promise<void>;
195
+ };
196
+ loading: {
197
+ onStart: (options?: SoundOptions) => Promise<void>;
198
+ onComplete: (options?: {
199
+ sound?: SoundOptions;
200
+ haptic?: HapticFeedbackOptions;
201
+ }) => Promise<void>;
202
+ };
203
+ notification: {
204
+ onNotification: (options?: {
205
+ sound?: SoundOptions;
206
+ haptic?: HapticFeedbackOptions;
207
+ type?: "info" | "success" | "warning" | "error";
208
+ }) => Promise<void>;
209
+ onMessageReceived: (options?: {
210
+ sound?: SoundOptions;
211
+ haptic?: HapticFeedbackOptions;
212
+ }) => Promise<void>;
213
+ };
214
+ };
@@ -0,0 +1,5 @@
1
+ export * from './types';
2
+ export * from './sounds';
3
+ export * from './hooks';
4
+ export { SoundProvider, useSound, useHaptics } from './context';
5
+ export * from './mockContext';
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import type { SoundContextType, SoundAsset, HapticFeedbackOptions } from './types';
3
+ interface MockSoundProviderProps {
4
+ children: React.ReactNode;
5
+ /** Initial sound assets to register */
6
+ initialSounds?: SoundAsset[];
7
+ /** Whether to log sound actions to console */
8
+ enableLogging?: boolean;
9
+ }
10
+ export declare const MockSoundProvider: React.FC<MockSoundProviderProps>;
11
+ /**
12
+ * Hook to access the mock sound context
13
+ */
14
+ export declare const useMockSound: () => SoundContextType;
15
+ /**
16
+ * Mock haptic feedback hook
17
+ */
18
+ export declare const useMockHaptics: () => {
19
+ triggerHaptic: (options?: HapticFeedbackOptions) => Promise<void>;
20
+ };
21
+ export {};
@@ -0,0 +1,17 @@
1
+ import type { SoundAsset } from './types';
2
+ /**
3
+ * Utility functions for working with sound collections
4
+ * These are used by apps to organize their own sound configurations
5
+ */
6
+ /**
7
+ * Get all sounds from a sound collection as an array
8
+ */
9
+ export declare const getAllSounds: (sounds: Record<string, SoundAsset>) => SoundAsset[];
10
+ /**
11
+ * Get sounds by category from a sound collection
12
+ */
13
+ export declare const getSoundsByCategory: (sounds: Record<string, SoundAsset>, category: SoundAsset["category"]) => SoundAsset[];
14
+ /**
15
+ * Create a sound asset with sensible defaults
16
+ */
17
+ export declare const createSound: (id: string, source: any, options: Partial<Omit<SoundAsset, "id" | "source">>) => SoundAsset;
@@ -0,0 +1,79 @@
1
+ export interface SoundOptions {
2
+ /** Volume level (0.0 to 1.0) */
3
+ volume?: number;
4
+ /** Whether to loop the sound */
5
+ loop?: boolean;
6
+ /** Playback rate (0.5 to 2.0) */
7
+ rate?: number;
8
+ /** Delay before playing (in milliseconds) */
9
+ delay?: number;
10
+ /** Seek to specific position before playing (in seconds) */
11
+ seekTo?: number;
12
+ }
13
+ export interface SoundAsset {
14
+ /** Unique identifier for the sound */
15
+ id: string;
16
+ /** Path to the sound file */
17
+ source: any;
18
+ /** Default options for this sound */
19
+ defaultOptions?: SoundOptions;
20
+ /** Human-readable name */
21
+ name?: string;
22
+ /** Category for organization */
23
+ category?: SoundCategory;
24
+ /** Whether this sound respects reduced motion preferences */
25
+ respectsReducedMotion?: boolean;
26
+ }
27
+ export type SoundCategory = 'ui' | 'feedback' | 'notification' | 'alert' | 'success' | 'error' | 'navigation' | 'ambient' | 'custom';
28
+ export interface SoundContextType {
29
+ /** Whether sounds are globally enabled */
30
+ enabled: boolean;
31
+ /** Global volume (0.0 to 1.0) */
32
+ volume: number;
33
+ /** Whether reduced motion preference affects sounds */
34
+ respectsReducedMotion: boolean;
35
+ /** Play a sound by ID */
36
+ playSound: (soundId: string, options?: SoundOptions) => Promise<void>;
37
+ /** Stop a specific sound */
38
+ stopSound: (soundId: string) => Promise<void>;
39
+ /** Stop all sounds */
40
+ stopAllSounds: () => Promise<void>;
41
+ /** Preload sounds for better performance */
42
+ preloadSounds: (soundIds: string[]) => Promise<void>;
43
+ /** Register a new sound asset */
44
+ registerSound: (sound: SoundAsset) => void;
45
+ /** Unregister a sound asset */
46
+ unregisterSound: (soundId: string) => Promise<void>;
47
+ /** Enable/disable sounds globally */
48
+ setEnabled: (enabled: boolean) => void;
49
+ /** Set global volume */
50
+ setVolume: (volume: number) => void;
51
+ /** Set reduced motion respect */
52
+ setRespectsReducedMotion: (respects: boolean) => void;
53
+ /** Get current sound state */
54
+ getSoundState: (soundId: string) => SoundState | null;
55
+ }
56
+ export interface SoundState {
57
+ /** Whether the sound is currently playing */
58
+ playing: boolean;
59
+ /** Whether the sound is loaded and ready to play */
60
+ isLoaded: boolean;
61
+ /** Current position in seconds */
62
+ currentTime: number;
63
+ /** Duration in seconds */
64
+ duration: number;
65
+ /** Current volume */
66
+ volume: number;
67
+ /** Whether the sound is muted */
68
+ muted: boolean;
69
+ /** Whether the sound is looping */
70
+ loop: boolean;
71
+ /** Current playback rate */
72
+ playbackRate: number;
73
+ }
74
+ export interface HapticFeedbackOptions {
75
+ /** Type of haptic feedback */
76
+ type?: 'light' | 'medium' | 'heavy' | 'success' | 'warning' | 'error' | 'selection';
77
+ /** Whether to respect reduced motion preferences */
78
+ respectsReducedMotion?: boolean;
79
+ }
@@ -0,0 +1,23 @@
1
+ import { ViewStyle, TextStyle } from 'react-native';
2
+ import { PlatformBlocksTheme, SizeValue } from './theme/types';
3
+ /**
4
+ * Factory for creating consistent component styles
5
+ * This centralizes styling logic and ensures consistency across components
6
+ */
7
+ export interface StyleFactoryConfig {
8
+ component: 'input' | 'button' | 'card' | 'badge' | 'select' | 'generic';
9
+ variant?: string;
10
+ size?: SizeValue;
11
+ disabled?: boolean;
12
+ error?: boolean;
13
+ focused?: boolean;
14
+ radius?: any;
15
+ }
16
+ /**
17
+ * Base component style factory
18
+ */
19
+ export declare function createComponentStyles(theme: PlatformBlocksTheme, config: StyleFactoryConfig): {
20
+ container: ViewStyle;
21
+ content: ViewStyle;
22
+ text: TextStyle;
23
+ };
@@ -0,0 +1,9 @@
1
+ interface CSSVariablesProps {
2
+ /** CSS selector where variables should be applied */
3
+ selector?: string;
4
+ }
5
+ /**
6
+ * Component that injects CSS variables based on the current theme
7
+ */
8
+ export declare function CSSVariables({ selector }: CSSVariablesProps): null;
9
+ export {};
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ import { PlatformBlocksThemeProviderProps } from './ThemeProvider';
3
+ import { ThemeModeConfig } from './ThemeModeProvider';
4
+ export interface PlatformBlocksProviderProps extends Omit<PlatformBlocksThemeProviderProps, 'children'> {
5
+ /** Your application */
6
+ children: React.ReactNode;
7
+ /** Whether to inject CSS variables */
8
+ withCSSVariables?: boolean;
9
+ /** CSS selector where variables should be applied */
10
+ cssVariablesSelector?: string;
11
+ /**
12
+ * Color scheme mode:
13
+ * - 'auto': automatically follows OS preference
14
+ * - 'light': force light mode
15
+ * - 'dark': force dark mode
16
+ */
17
+ colorSchemeMode?: 'auto' | 'light' | 'dark';
18
+ /** Whether to enable overlay system (menus, tooltips, etc.) */
19
+ withOverlays?: boolean;
20
+ /** Whether to inject global CSS for universal props (lightHidden/darkHidden) */
21
+ withGlobalCSS?: boolean;
22
+ /** Enhanced theme mode configuration */
23
+ themeModeConfig?: ThemeModeConfig;
24
+ /** Lazily mount Spotlight search UI at library level (opt-in) */
25
+ withSpotlight?: boolean;
26
+ /** Configure Spotlight behavior at provider level */
27
+ spotlightConfig?: {
28
+ shortcut?: string | string[] | null;
29
+ actions?: any[];
30
+ placeholder?: string;
31
+ limit?: number;
32
+ highlightQuery?: boolean;
33
+ /** Render Spotlight even when no actions provided (useful to inject later) */
34
+ alwaysMount?: boolean;
35
+ };
36
+ /** i18n: initial active locale */
37
+ locale?: string;
38
+ /** i18n: fallback locale */
39
+ fallbackLocale?: string;
40
+ /** i18n: resources map */
41
+ i18nResources?: Record<string, {
42
+ translation: Record<string, any>;
43
+ }>;
44
+ }
45
+ /**
46
+ * Main provider component for Platform Blocks library
47
+ * Provides theme context and injects CSS variables
48
+ */
49
+ export declare function PlatformBlocksProvider({ children, theme, inherit, withCSSVariables, cssVariablesSelector, colorSchemeMode, withOverlays, withSpotlight, withGlobalCSS, themeModeConfig, spotlightConfig, locale, fallbackLocale, i18nResources }: PlatformBlocksProviderProps): React.JSX.Element;
50
+ export declare namespace PlatformBlocksProvider {
51
+ var displayName: string;
52
+ }
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ export type ColorSchemeMode = 'light' | 'dark' | 'auto';
3
+ export interface ThemeModeConfig {
4
+ /** Initial color scheme mode */
5
+ initialMode?: ColorSchemeMode;
6
+ /** Custom persistence functions (optional) */
7
+ persistence?: {
8
+ get: () => ColorSchemeMode | null;
9
+ set: (mode: ColorSchemeMode) => void;
10
+ };
11
+ /** Custom DOM manipulation (web only, optional) */
12
+ domConfig?: {
13
+ selector: string;
14
+ lightClass: string;
15
+ darkClass: string;
16
+ attribute: string;
17
+ };
18
+ }
19
+ interface ThemeModeContextValue {
20
+ mode: ColorSchemeMode;
21
+ setMode: (mode: ColorSchemeMode) => void;
22
+ cycleMode: () => void;
23
+ actualColorScheme: 'light' | 'dark';
24
+ }
25
+ /**
26
+ * Enhanced theme mode provider that manages color scheme with persistence
27
+ */
28
+ export declare function ThemeModeProvider({ children, config }: {
29
+ children: React.ReactNode;
30
+ config?: ThemeModeConfig;
31
+ }): React.JSX.Element;
32
+ /**
33
+ * Hook to access theme mode context
34
+ */
35
+ export declare function useThemeMode(): ThemeModeContextValue;
36
+ /**
37
+ * Hook to get only the resolved color scheme for theming
38
+ */
39
+ export declare function useColorScheme(): 'light' | 'dark';
40
+ export declare function useOptionalThemeMode(): ThemeModeContextValue | null;
41
+ export declare function useOptionalColorScheme(): 'light' | 'dark' | null;
42
+ export {};
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { PlatformBlocksTheme, PlatformBlocksThemeOverride } from './types';
3
+ export interface PlatformBlocksThemeProviderProps {
4
+ /** Theme override object */
5
+ theme?: PlatformBlocksThemeOverride;
6
+ /** Whether to inherit theme from parent provider */
7
+ inherit?: boolean;
8
+ /** Children to render */
9
+ children: React.ReactNode;
10
+ }
11
+ export declare function PlatformBlocksThemeProvider({ theme, inherit, children }: PlatformBlocksThemeProviderProps): React.JSX.Element;
12
+ /**
13
+ * Hook to access the current theme
14
+ */
15
+ export declare function useTheme(): PlatformBlocksTheme;
16
+ /**
17
+ * Hook that safely returns theme or default theme
18
+ */
19
+ export declare function useSafePlatformBlocksTheme(): PlatformBlocksTheme;