@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,3 @@
1
+ import React from 'react';
2
+ import type { DayProps } from './types';
3
+ export declare const Day: React.FC<DayProps>;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import type { MonthProps } from './types';
3
+ export declare const Month: React.FC<MonthProps>;
@@ -0,0 +1,2 @@
1
+ export { MonthPicker } from '../MonthPicker';
2
+ export type { MonthPickerProps } from '../MonthPicker/types';
@@ -0,0 +1,2 @@
1
+ export { YearPicker } from '../YearPicker';
2
+ export type { YearPickerProps } from '../YearPicker/types';
@@ -0,0 +1,8 @@
1
+ export { Calendar } from './Calendar';
2
+ export { MiniCalendar } from '../MiniCalendar/MiniCalendar';
3
+ export { MonthPicker } from '../MonthPicker';
4
+ export { YearPicker } from '../YearPicker';
5
+ export { Month } from './Month';
6
+ export { Day } from './Day';
7
+ export { dateUtils } from './utils';
8
+ export type { CalendarProps, MiniCalendarProps, MonthPickerProps, YearPickerProps, MonthProps, DayProps, CalendarLevel, CalendarType, CalendarValue, } from './types';
@@ -0,0 +1,92 @@
1
+ import React from 'react';
2
+ import { ViewStyle } from 'react-native';
3
+ import { SizeValue } from '../../core/theme/types';
4
+ export type CalendarLevel = 'month' | 'year' | 'decade';
5
+ export type CalendarType = 'single' | 'multiple' | 'range';
6
+ export type CalendarValue = Date | Date[] | [Date | null, Date | null] | null;
7
+ export interface CalendarProps {
8
+ level?: CalendarLevel;
9
+ defaultLevel?: CalendarLevel;
10
+ onLevelChange?: (level: CalendarLevel) => void;
11
+ date?: Date;
12
+ defaultDate?: Date;
13
+ onDateChange?: (date: Date) => void;
14
+ value?: CalendarValue;
15
+ onChange?: (value: CalendarValue) => void;
16
+ type?: CalendarType;
17
+ minDate?: Date;
18
+ maxDate?: Date;
19
+ excludeDate?: (date: Date) => boolean;
20
+ locale?: string;
21
+ firstDayOfWeek?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
22
+ weekendDays?: number[];
23
+ withCellSpacing?: boolean;
24
+ hideOutsideDates?: boolean;
25
+ hideWeekdays?: boolean;
26
+ highlightToday?: boolean;
27
+ numberOfMonths?: number;
28
+ getDayProps?: (date: Date) => Partial<DayProps>;
29
+ renderDay?: (date: Date) => React.ReactNode;
30
+ size?: SizeValue;
31
+ static?: boolean;
32
+ }
33
+ export interface MiniCalendarProps {
34
+ value?: Date | null;
35
+ onChange?: (date: Date | null) => void;
36
+ numberOfDays?: number;
37
+ defaultDate?: Date;
38
+ minDate?: Date;
39
+ maxDate?: Date;
40
+ nextControlProps?: any;
41
+ previousControlProps?: any;
42
+ getDayProps?: (date: Date) => Partial<DayProps>;
43
+ renderDay?: (date: Date) => React.ReactNode;
44
+ locale?: string;
45
+ size?: SizeValue;
46
+ }
47
+ export type { MonthPickerProps } from '../MonthPicker/types';
48
+ export type { YearPickerProps } from '../YearPicker/types';
49
+ export interface MonthProps {
50
+ month: Date;
51
+ value?: CalendarValue;
52
+ onChange?: (value: CalendarValue) => void;
53
+ type?: CalendarType;
54
+ hoveredDate?: Date | null;
55
+ onDayHover?: (date: Date) => void;
56
+ onDayHoverEnd?: () => void;
57
+ minDate?: Date;
58
+ maxDate?: Date;
59
+ excludeDate?: (date: Date) => boolean;
60
+ firstDayOfWeek?: number;
61
+ weekendDays?: number[];
62
+ hideOutsideDates?: boolean;
63
+ hideWeekdays?: boolean;
64
+ highlightToday?: boolean;
65
+ withCellSpacing?: boolean;
66
+ getDayProps?: (date: Date) => Partial<DayProps>;
67
+ renderDay?: (date: Date) => React.ReactNode;
68
+ size?: SizeValue;
69
+ locale?: string;
70
+ }
71
+ export interface DayProps {
72
+ date: Date;
73
+ selected?: boolean;
74
+ inRange?: boolean;
75
+ firstInRange?: boolean;
76
+ lastInRange?: boolean;
77
+ previewed?: boolean;
78
+ previewedInRange?: boolean;
79
+ previewedFirstInRange?: boolean;
80
+ previewedLastInRange?: boolean;
81
+ weekend?: boolean;
82
+ outside?: boolean;
83
+ today?: boolean;
84
+ disabled?: boolean;
85
+ onPress?: () => void;
86
+ onMouseEnter?: () => void;
87
+ onMouseLeave?: () => void;
88
+ size?: SizeValue;
89
+ style?: ViewStyle;
90
+ children?: React.ReactNode;
91
+ [key: string]: any;
92
+ }
@@ -0,0 +1,31 @@
1
+ export declare const dateUtils: {
2
+ startOfDay: (date: Date) => Date;
3
+ endOfDay: (date: Date) => Date;
4
+ startOfMonth: (date: Date) => Date;
5
+ endOfMonth: (date: Date) => Date;
6
+ startOfYear: (date: Date) => Date;
7
+ endOfYear: (date: Date) => Date;
8
+ addDays: (date: Date, days: number) => Date;
9
+ addMonths: (date: Date, months: number) => Date;
10
+ addYears: (date: Date, years: number) => Date;
11
+ isSameDay: (date1: Date, date2: Date) => boolean;
12
+ isSameMonth: (date1: Date, date2: Date) => boolean;
13
+ isSameYear: (date1: Date, date2: Date) => boolean;
14
+ isToday: (date: Date) => boolean;
15
+ isWeekend: (date: Date, weekendDays?: number[]) => boolean;
16
+ isInRange: (date: Date, start: Date | null, end: Date | null) => boolean;
17
+ isBetween: (date: Date, start: Date | null, end: Date | null) => boolean;
18
+ getDaysInMonth: (date: Date) => number;
19
+ getMonthCalendar: (date: Date, firstDayOfWeek?: number) => Date[][];
20
+ getMonthNames: (locale?: string) => string[];
21
+ getWeekdayNames: (locale?: string, format?: "long" | "short" | "narrow") => string[];
22
+ formatDate: (date: Date, format: string, locale?: string) => string;
23
+ parseDate: (value: string) => Date | null;
24
+ getDecadeRange: (year: number) => [number, number];
25
+ getYearsInDecade: (date: Date) => number[];
26
+ clampDate: (date: Date, minDate?: Date, maxDate?: Date) => Date;
27
+ isDateDisabled: (date: Date, minDate?: Date, maxDate?: Date, excludeDate?: (date: Date) => boolean) => boolean;
28
+ getDaysInRange: (startDate: Date, numberOfDays: number) => Date[];
29
+ startOfWeek: (date: Date, firstDayOfWeek?: number) => Date;
30
+ getMonthsInYear: (year: number) => Date[];
31
+ };
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { CanProps, CanWithConditionsProps, CannotProps, PermissionGateProps } from './types';
3
+ /**
4
+ * Can Component - Renders children if permission is granted
5
+ */
6
+ export declare const Can: React.FC<CanProps>;
7
+ /**
8
+ * Can Component with conditions - For object-level permissions
9
+ */
10
+ export declare const CanWithConditions: React.FC<CanWithConditionsProps>;
11
+ /**
12
+ * Cannot Component - Renders children if permission is NOT granted
13
+ */
14
+ export declare const Cannot: React.FC<CannotProps>;
15
+ /**
16
+ * Permission Gate - Requires ALL permissions to pass
17
+ */
18
+ export declare const PermissionGate: React.FC<PermissionGateProps>;
19
+ /**
20
+ * Higher-Order Component for permission checking
21
+ */
22
+ export declare function withCan<P extends object>(action: string, subject?: any, field?: string): (Component: React.ComponentType<P>) => React.FC<P & {
23
+ fallback?: React.ReactNode;
24
+ }>;
25
+ /**
26
+ * Higher-Order Component for permission denial checking
27
+ */
28
+ export declare function withCannot<P extends object>(action: string, subject?: any, field?: string): (Component: React.ComponentType<P>) => React.FC<P & {
29
+ fallback?: React.ReactNode;
30
+ }>;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const PermissionDemo: React.FC;
@@ -0,0 +1,89 @@
1
+ import { Action, Subject, Field, PermissionRule, PermissionCheck, Ability } from './types';
2
+ /**
3
+ * Core Ability class for managing permissions
4
+ */
5
+ export declare class AbilityCore implements Ability {
6
+ private rules;
7
+ private cache;
8
+ constructor(rules?: PermissionRule[]);
9
+ /**
10
+ * Check if action is allowed on subject
11
+ */
12
+ can(action: Action, subject: Subject, field?: Field): boolean;
13
+ /**
14
+ * Check if action is forbidden on subject
15
+ */
16
+ cannot(action: Action, subject: Subject, field?: Field): boolean;
17
+ /**
18
+ * Get detailed permission check result
19
+ */
20
+ check(action: Action, subject: Subject, field?: Field): PermissionCheck;
21
+ /**
22
+ * Update ability rules and clear cache
23
+ */
24
+ update(rules: PermissionRule[]): void;
25
+ /**
26
+ * Get all current rules
27
+ */
28
+ getRules(): PermissionRule[];
29
+ /**
30
+ * Clear all rules and cache
31
+ */
32
+ clear(): void;
33
+ /**
34
+ * Perform the actual permission check
35
+ */
36
+ private performCheck;
37
+ /**
38
+ * Check if a rule matches the current permission check
39
+ */
40
+ private ruleMatches;
41
+ /**
42
+ * Check if subject matches any of the rule subjects
43
+ */
44
+ private subjectMatches;
45
+ /**
46
+ * Check if conditions match the subject object
47
+ */
48
+ private conditionsMatch;
49
+ /**
50
+ * Check if two values match (handles various comparison types)
51
+ */
52
+ private valuesMatch;
53
+ /**
54
+ * Generate cache key for permission check
55
+ */
56
+ private getCacheKey;
57
+ }
58
+ /**
59
+ * Create a new Ability instance
60
+ */
61
+ export declare function createAbility(rules?: PermissionRule[]): Ability;
62
+ /**
63
+ * Helper to create permission rules
64
+ */
65
+ export declare const definePermissions: (rules: PermissionRule[]) => PermissionRule[];
66
+ /**
67
+ * Common permission actions
68
+ */
69
+ export declare const Actions: {
70
+ readonly CREATE: "create";
71
+ readonly READ: "read";
72
+ readonly UPDATE: "update";
73
+ readonly DELETE: "delete";
74
+ readonly MANAGE: "manage";
75
+ readonly VIEW: "view";
76
+ readonly EDIT: "edit";
77
+ readonly PUBLISH: "publish";
78
+ readonly ARCHIVE: "archive";
79
+ readonly APPROVE: "approve";
80
+ readonly REJECT: "reject";
81
+ };
82
+ /**
83
+ * Helper to create subject types
84
+ */
85
+ export declare const subject: (type: string, data?: object) => object;
86
+ /**
87
+ * Check if subject is of specific type
88
+ */
89
+ export declare const subjectType: (subject: any) => string;
@@ -0,0 +1,113 @@
1
+ import { AbilityCore } from './ability';
2
+ import { PermissionRule } from './types';
3
+ /**
4
+ * Fluent API for building permissions
5
+ */
6
+ export declare class PermissionBuilder {
7
+ private rules;
8
+ /**
9
+ * Grant permission
10
+ */
11
+ allow(action: string, subject?: any, field?: string): this;
12
+ /**
13
+ * Deny permission
14
+ */
15
+ forbid(action: string, subject?: any, field?: string): this;
16
+ /**
17
+ * Conditional permission
18
+ */
19
+ allowIf(action: string, subject?: any, conditions?: Record<string, any>, field?: string): this;
20
+ /**
21
+ * Conditional denial
22
+ */
23
+ forbidIf(action: string, subject?: any, conditions?: Record<string, any>, field?: string): this;
24
+ /**
25
+ * Grant all actions on a subject
26
+ */
27
+ manage(subject: any): this;
28
+ /**
29
+ * Forbid all actions on a subject
30
+ */
31
+ forbidAll(subject: any): this;
32
+ /**
33
+ * Role-based permissions
34
+ */
35
+ role(roleName: string, callback: (role: RoleBuilder) => void): this;
36
+ /**
37
+ * Build the ability with all rules
38
+ */
39
+ build(): AbilityCore;
40
+ /**
41
+ * Get all rules
42
+ */
43
+ getRules(): PermissionRule[];
44
+ /**
45
+ * Clear all rules
46
+ */
47
+ clear(): this;
48
+ /**
49
+ * Merge rules from another builder
50
+ */
51
+ merge(other: PermissionBuilder): this;
52
+ }
53
+ /**
54
+ * Role-specific permission builder
55
+ */
56
+ export declare class RoleBuilder {
57
+ private roleName;
58
+ private rules;
59
+ constructor(roleName: string);
60
+ /**
61
+ * Grant permission for this role
62
+ */
63
+ can(action: string, subject?: any, field?: string): this;
64
+ /**
65
+ * Deny permission for this role
66
+ */
67
+ cannot(action: string, subject?: any, field?: string): this;
68
+ /**
69
+ * Manage all actions on subject for this role
70
+ */
71
+ manage(subject: any): this;
72
+ /**
73
+ * Get all rules for this role
74
+ */
75
+ getRules(): PermissionRule[];
76
+ }
77
+ /**
78
+ * Common permission patterns
79
+ */
80
+ export declare class PermissionPatterns {
81
+ /**
82
+ * Admin permissions - can do everything
83
+ */
84
+ static admin(): PermissionBuilder;
85
+ /**
86
+ * User permissions - basic CRUD on own resources
87
+ */
88
+ static user(userId: string): PermissionBuilder;
89
+ /**
90
+ * Guest permissions - read-only public content
91
+ */
92
+ static guest(): PermissionBuilder;
93
+ /**
94
+ * Moderator permissions - manage content but not users
95
+ */
96
+ static moderator(): PermissionBuilder;
97
+ /**
98
+ * Owner permissions - full control over owned resources
99
+ */
100
+ static owner(ownerId: string): PermissionBuilder;
101
+ }
102
+ /**
103
+ * Helper function to create a new permission builder
104
+ */
105
+ export declare function permissions(): PermissionBuilder;
106
+ /**
107
+ * Helper function to create ability from rules array
108
+ */
109
+ export declare function defineAbility(callback: (builder: PermissionBuilder) => void): AbilityCore;
110
+ /**
111
+ * Helper function to create common role-based abilities
112
+ */
113
+ export declare function defineRoleAbility(role: string, callback: (role: RoleBuilder) => void): AbilityCore;
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { PermissionProviderProps, PermissionContextValue } from './types';
3
+ /**
4
+ * Permission Provider Component
5
+ */
6
+ export declare const PermissionProvider: React.FC<PermissionProviderProps>;
7
+ /**
8
+ * Hook to access permission context
9
+ */
10
+ export declare const usePermissions: (options?: {
11
+ required?: boolean;
12
+ debug?: boolean;
13
+ }) => PermissionContextValue;
14
+ /**
15
+ * Hook to check a specific permission
16
+ */
17
+ export declare const useCan: (action: string, subject: any, field?: string) => boolean;
18
+ /**
19
+ * Hook to check if permission is denied
20
+ */
21
+ export declare const useCannot: (action: string, subject: any, field?: string) => boolean;
22
+ /**
23
+ * Hook to get the current ability instance
24
+ */
25
+ export declare const useAbility: () => import("./types").Ability;
@@ -0,0 +1,6 @@
1
+ export { Can, CanWithConditions, Cannot, PermissionGate, withCan, withCannot } from './Can';
2
+ export { PermissionProvider, usePermissions, useAbility } from './context';
3
+ export { AbilityCore } from './ability';
4
+ export { PermissionBuilder, RoleBuilder, PermissionPatterns, permissions, defineAbility, defineRoleAbility } from './builder';
5
+ export type { Action, Subject, Field, Conditions, PermissionRule, PermissionCheck, Ability, CanProps, CanWithConditionsProps, CannotProps, PermissionGateProps, PermissionContextValue, PermissionProviderProps, UsePermissionsOptions } from './types';
6
+ export { AbilityCore as PermissionAbility } from './ability';
@@ -0,0 +1,228 @@
1
+ import React from 'react';
2
+ import { ViewStyle } from 'react-native';
3
+ /**
4
+ * Possible permission actions
5
+ */
6
+ export type Action = string;
7
+ /**
8
+ * Subject type - can be string, class, or object
9
+ */
10
+ export type Subject = string | Function | object;
11
+ /**
12
+ * Field within a subject
13
+ */
14
+ export type Field = string;
15
+ /**
16
+ * Conditions for permissions (for object-level permissions)
17
+ */
18
+ export type Conditions = Record<string, any>;
19
+ /**
20
+ * Permission rule definition
21
+ */
22
+ export interface PermissionRule {
23
+ /** Action being performed */
24
+ action: Action | Action[];
25
+ /** Subject being acted upon */
26
+ subject: Subject | Subject[];
27
+ /** Fields within the subject (optional) */
28
+ fields?: Field[];
29
+ /** Conditions that must be met (optional) */
30
+ conditions?: Conditions;
31
+ /** Whether this rule grants or denies permission */
32
+ inverted?: boolean;
33
+ /** Human-readable reason for the rule */
34
+ reason?: string;
35
+ }
36
+ /**
37
+ * Permission check result
38
+ */
39
+ export interface PermissionCheck {
40
+ /** Whether permission is granted */
41
+ allowed: boolean;
42
+ /** Reason for the decision */
43
+ reason?: string;
44
+ /** Matched rule */
45
+ rule?: PermissionRule;
46
+ }
47
+ /**
48
+ * Ability interface for checking permissions
49
+ */
50
+ export interface Ability {
51
+ /** Check if action is allowed on subject */
52
+ can(action: Action, subject: Subject, field?: Field): boolean;
53
+ /** Check if action is forbidden on subject */
54
+ cannot(action: Action, subject: Subject, field?: Field): boolean;
55
+ /** Get detailed permission check result */
56
+ check(action: Action, subject: Subject, field?: Field): PermissionCheck;
57
+ /** Update ability rules */
58
+ update(rules: PermissionRule[]): void;
59
+ /** Get all current rules */
60
+ getRules(): PermissionRule[];
61
+ /** Clear all rules */
62
+ clear(): void;
63
+ }
64
+ /**
65
+ * Can component props for basic usage
66
+ */
67
+ export interface CanProps {
68
+ /** Action to check */
69
+ I: Action;
70
+ /** Subject to check against */
71
+ a?: Subject;
72
+ /** Specific field to check (optional) */
73
+ field?: Field;
74
+ /** Children to render when permission is granted */
75
+ children?: React.ReactNode;
76
+ /** Alternative content when permission is denied */
77
+ fallback?: React.ReactNode;
78
+ /** Custom ability instance (optional) */
79
+ ability?: Ability;
80
+ /** Additional styles */
81
+ style?: ViewStyle;
82
+ /** Test ID for testing */
83
+ testID?: string;
84
+ /** Whether to passthrough (render children regardless) for development */
85
+ passthrough?: boolean;
86
+ }
87
+ /**
88
+ * Enhanced Can component props with conditions
89
+ */
90
+ export interface CanWithConditionsProps extends Omit<CanProps, 'a'> {
91
+ /** Subject instance with data for condition checking */
92
+ this: object;
93
+ }
94
+ /**
95
+ * Cannot component props (inverse of Can)
96
+ */
97
+ export interface CannotProps extends CanProps {
98
+ }
99
+ /**
100
+ * Permission gate props for route-level protection
101
+ */
102
+ export interface PermissionGateProps {
103
+ /** Required permissions (all must pass) */
104
+ permissions: Array<{
105
+ action: Action;
106
+ subject: Subject;
107
+ field?: Field;
108
+ }>;
109
+ /** Children to render when all permissions pass */
110
+ children: React.ReactNode;
111
+ /** Fallback when permissions fail */
112
+ fallback?: React.ReactNode;
113
+ /** Custom ability instance */
114
+ ability?: Ability;
115
+ /** Redirect function for navigation-based fallbacks */
116
+ onUnauthorized?: () => void;
117
+ }
118
+ /**
119
+ * Permission context value
120
+ */
121
+ export interface PermissionContextValue {
122
+ /** Current ability instance */
123
+ ability: Ability;
124
+ /** Update ability rules */
125
+ updateAbility: (rules: PermissionRule[]) => void;
126
+ /** Check if user can perform action */
127
+ can: (action: Action, subject: Subject, field?: Field) => boolean;
128
+ /** Check if user cannot perform action */
129
+ cannot: (action: Action, subject: Subject, field?: Field) => boolean;
130
+ /** Get current user context */
131
+ user?: any;
132
+ /** Update user context */
133
+ setUser?: (user: any) => void;
134
+ }
135
+ /**
136
+ * Permission provider props
137
+ */
138
+ export interface PermissionProviderProps {
139
+ /** Initial permission rules */
140
+ rules?: PermissionRule[];
141
+ /** Initial user context */
142
+ user?: any;
143
+ /** Children components */
144
+ children: React.ReactNode;
145
+ /** Development mode settings */
146
+ dev?: {
147
+ /** Log permission checks */
148
+ logChecks?: boolean;
149
+ /** Warn about missing permissions */
150
+ warnMissing?: boolean;
151
+ /** Allow passthrough in development */
152
+ allowPassthrough?: boolean;
153
+ };
154
+ }
155
+ /**
156
+ * Hook options for usePermissions
157
+ */
158
+ export interface UsePermissionsOptions {
159
+ /** Whether to log permission checks */
160
+ debug?: boolean;
161
+ /** Throw error if no ability found */
162
+ required?: boolean;
163
+ }
164
+ /**
165
+ * Permission definition for bulk operations
166
+ */
167
+ export interface PermissionDefinition {
168
+ /** Actions for this resource */
169
+ actions: Action[];
170
+ /** Subject type */
171
+ subject: Subject;
172
+ /** Default conditions */
173
+ conditions?: Conditions;
174
+ /** Description */
175
+ description?: string;
176
+ }
177
+ /**
178
+ * Role-based permission set
179
+ */
180
+ export interface RolePermissions {
181
+ /** Role name */
182
+ role: string;
183
+ /** Permission rules for this role */
184
+ rules: PermissionRule[];
185
+ /** Description of the role */
186
+ description?: string;
187
+ /** Whether role is active */
188
+ active?: boolean;
189
+ }
190
+ /**
191
+ * Permission builder for fluent API
192
+ */
193
+ export interface PermissionBuilder {
194
+ /** Add a permission rule */
195
+ allow(action: Action | Action[]): PermissionSubjectBuilder;
196
+ /** Add a denial rule */
197
+ deny(action: Action | Action[]): PermissionSubjectBuilder;
198
+ /** Build the rules array */
199
+ build(): PermissionRule[];
200
+ }
201
+ export interface PermissionSubjectBuilder {
202
+ /** Specify the subject */
203
+ on(subject: Subject | Subject[]): PermissionFieldBuilder;
204
+ }
205
+ export interface PermissionFieldBuilder {
206
+ /** Specify fields (optional) */
207
+ fields(fields: Field[]): PermissionConditionBuilder;
208
+ /** Specify conditions */
209
+ when(conditions: Conditions): PermissionRuleBuilder;
210
+ /** Add reason */
211
+ because(reason: string): PermissionRuleBuilder;
212
+ /** Finish building this rule */
213
+ build(): PermissionRule;
214
+ }
215
+ export interface PermissionConditionBuilder {
216
+ /** Specify conditions */
217
+ when(conditions: Conditions): PermissionRuleBuilder;
218
+ /** Add reason */
219
+ because(reason: string): PermissionRuleBuilder;
220
+ /** Finish building this rule */
221
+ build(): PermissionRule;
222
+ }
223
+ export interface PermissionRuleBuilder {
224
+ /** Add reason */
225
+ because(reason: string): PermissionRuleBuilder;
226
+ /** Finish building this rule */
227
+ build(): PermissionRule;
228
+ }
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import type { CardProps } from './types';
3
+ export declare const Card: React.FC<CardProps>;
@@ -0,0 +1,2 @@
1
+ export { Card } from './Card';
2
+ export type { CardProps } from './types';
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { PlatformBlocksTheme } from '../../core/theme';
3
+ import { SpacingProps, LayoutProps } from '../../core/utils';
4
+ import { BorderRadiusProps } from '../../core/theme/radius';
5
+ import { ShadowProps } from '../../core/theme/shadow';
6
+ export interface CardProps extends SpacingProps, LayoutProps, BorderRadiusProps, ShadowProps {
7
+ children?: React.ReactNode;
8
+ variant?: 'outline' | 'filled';
9
+ padding?: number;
10
+ style?: any;
11
+ onPress?: () => void;
12
+ disabled?: boolean;
13
+ onContextMenu?: (e: any) => void;
14
+ }
15
+ export type { PlatformBlocksTheme };
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { CarouselProps } from './types';
3
+ export declare const Carousel: React.FC<CarouselProps>;
4
+ export default Carousel;
@@ -0,0 +1,2 @@
1
+ export { default as Carousel } from './Carousel';
2
+ export type { CarouselProps } from './types';