@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.
- package/LICENSE +21 -0
- package/README.md +44 -0
- package/lib/cjs/index.js +35531 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/components/Accessibility/AccessibilityDemo.d.ts +5 -0
- package/lib/components/Accessibility/AccessibilityHelpers.d.ts +49 -0
- package/lib/components/Accessibility/AccessibilityTesting.d.ts +24 -0
- package/lib/components/Accessibility/AccessibleComponents.d.ts +20 -0
- package/lib/components/Accessibility/index.d.ts +2 -0
- package/lib/components/Accordion/Accordion.d.ts +9 -0
- package/lib/components/Accordion/AccordionItem.d.ts +23 -0
- package/lib/components/Accordion/defaults.d.ts +13 -0
- package/lib/components/Accordion/hooks/useAccordionItemAnimation.d.ts +17 -0
- package/lib/components/Accordion/hooks/useMeasuredHeight.d.ts +8 -0
- package/lib/components/Accordion/index.d.ts +5 -0
- package/lib/components/Accordion/styles.d.ts +17 -0
- package/lib/components/Accordion/tokens.d.ts +12 -0
- package/lib/components/Accordion/types.d.ts +180 -0
- package/lib/components/Alert/Alert.d.ts +2 -0
- package/lib/components/Alert/index.d.ts +2 -0
- package/lib/components/Alert/types.d.ts +25 -0
- package/lib/components/AppShell/AppShell.d.ts +48 -0
- package/lib/components/AppShell/BottomAppBar.d.ts +3 -0
- package/lib/components/AppShell/MobileMenu.d.ts +10 -0
- package/lib/components/AppShell/StatusBarManager.d.ts +7 -0
- package/lib/components/AppShell/app-layout/AppLayoutProvider.d.ts +8 -0
- package/lib/components/AppShell/app-layout/AppLayoutRenderer.d.ts +5 -0
- package/lib/components/AppShell/app-layout/context.d.ts +4 -0
- package/lib/components/AppShell/app-layout/defineAppLayout.d.ts +2 -0
- package/lib/components/AppShell/app-layout/index.d.ts +5 -0
- package/lib/components/AppShell/app-layout/types.d.ts +120 -0
- package/lib/components/AppShell/context.d.ts +44 -0
- package/lib/components/AppShell/defaults.d.ts +6 -0
- package/lib/components/AppShell/hooks/useBreakpoint.d.ts +9 -0
- package/lib/components/AppShell/hooks/useResponsiveValue.d.ts +2 -0
- package/lib/components/AppShell/index.d.ts +12 -0
- package/lib/components/AppShell/meta.schema.d.ts +14 -0
- package/lib/components/AppShell/types.d.ts +228 -0
- package/lib/components/AppStoreBadge/AppStoreBadge.d.ts +5 -0
- package/lib/components/AppStoreBadge/ConvenienceComponents.d.ts +88 -0
- package/lib/components/AppStoreBadge/examples/usage-examples.d.ts +4 -0
- package/lib/components/AppStoreBadge/index.d.ts +3 -0
- package/lib/components/AppStoreBadge/types.d.ts +36 -0
- package/lib/components/AppStoreButton/AppStoreButton.d.ts +5 -0
- package/lib/components/AppStoreButton/ConvenienceComponents.d.ts +8 -0
- package/lib/components/AppStoreButton/index.d.ts +3 -0
- package/lib/components/AppStoreButton/types.d.ts +36 -0
- package/lib/components/AudioPlayer/AudioPlayer.d.ts +3 -0
- package/lib/components/AudioPlayer/AudioPlayerDemo.d.ts +2 -0
- package/lib/components/AudioPlayer/index.d.ts +2 -0
- package/lib/components/AudioPlayer/types.d.ts +232 -0
- package/lib/components/AutoComplete/AutoComplete.d.ts +6 -0
- package/lib/components/AutoComplete/index.d.ts +2 -0
- package/lib/components/AutoComplete/types.d.ts +120 -0
- package/lib/components/Avatar/Avatar.d.ts +3 -0
- package/lib/components/Avatar/AvatarGroup.d.ts +3 -0
- package/lib/components/Avatar/index.d.ts +3 -0
- package/lib/components/Avatar/types.d.ts +30 -0
- package/lib/components/Badge/Badge.d.ts +4 -0
- package/lib/components/Badge/index.d.ts +3 -0
- package/lib/components/Badge/types.d.ts +26 -0
- package/lib/components/Block/Block.d.ts +36 -0
- package/lib/components/Block/index.d.ts +2 -0
- package/lib/components/Block/types.d.ts +102 -0
- package/lib/components/Block/utils.d.ts +28 -0
- package/lib/components/Blockquote/Blockquote.d.ts +3 -0
- package/lib/components/Blockquote/BlockquoteAttribution.d.ts +3 -0
- package/lib/components/Blockquote/BlockquoteAuthor.d.ts +3 -0
- package/lib/components/Blockquote/BlockquoteMeta.d.ts +3 -0
- package/lib/components/Blockquote/BlockquoteSource.d.ts +3 -0
- package/lib/components/Blockquote/index.d.ts +6 -0
- package/lib/components/Blockquote/styles.d.ts +80 -0
- package/lib/components/Blockquote/types.d.ts +74 -0
- package/lib/components/BrandButton/BrandButton.d.ts +3 -0
- package/lib/components/BrandButton/index.d.ts +2 -0
- package/lib/components/BrandButton/types.d.ts +23 -0
- package/lib/components/BrandIcon/BrandIcon.d.ts +27 -0
- package/lib/components/BrandIcon/brands.d.ts +520 -0
- package/lib/components/BrandIcon/index.d.ts +2 -0
- package/lib/components/Breadcrumbs/Breadcrumbs.d.ts +6 -0
- package/lib/components/Breadcrumbs/index.d.ts +2 -0
- package/lib/components/Breadcrumbs/types.d.ts +35 -0
- package/lib/components/Button/Button.d.ts +3 -0
- package/lib/components/Button/SoundButton.d.ts +22 -0
- package/lib/components/Button/defaults.d.ts +7 -0
- package/lib/components/Button/index.d.ts +2 -0
- package/lib/components/Button/styles/resolver.d.ts +7 -0
- package/lib/components/Button/tokens.d.ts +16 -0
- package/lib/components/Button/types.d.ts +67 -0
- package/lib/components/Calendar/Calendar.d.ts +3 -0
- package/lib/components/Calendar/Day.d.ts +3 -0
- package/lib/components/Calendar/Month.d.ts +3 -0
- package/lib/components/Calendar/MonthPicker.d.ts +2 -0
- package/lib/components/Calendar/YearPicker.d.ts +2 -0
- package/lib/components/Calendar/index.d.ts +8 -0
- package/lib/components/Calendar/types.d.ts +92 -0
- package/lib/components/Calendar/utils.d.ts +31 -0
- package/lib/components/Can/Can.d.ts +30 -0
- package/lib/components/Can/PermissionDemo.d.ts +2 -0
- package/lib/components/Can/ability.d.ts +89 -0
- package/lib/components/Can/builder.d.ts +113 -0
- package/lib/components/Can/context.d.ts +25 -0
- package/lib/components/Can/index.d.ts +6 -0
- package/lib/components/Can/types.d.ts +228 -0
- package/lib/components/Card/Card.d.ts +3 -0
- package/lib/components/Card/index.d.ts +2 -0
- package/lib/components/Card/types.d.ts +15 -0
- package/lib/components/Carousel/Carousel.d.ts +4 -0
- package/lib/components/Carousel/index.d.ts +2 -0
- package/lib/components/Carousel/styles.d.ts +21 -0
- package/lib/components/Carousel/types.d.ts +51 -0
- package/lib/components/Checkbox/Checkbox.d.ts +4 -0
- package/lib/components/Checkbox/index.d.ts +2 -0
- package/lib/components/Checkbox/styles.d.ts +71 -0
- package/lib/components/Checkbox/types.d.ts +52 -0
- package/lib/components/Chip/Chip.d.ts +4 -0
- package/lib/components/Chip/index.d.ts +3 -0
- package/lib/components/Chip/types.d.ts +22 -0
- package/lib/components/CodeBlock/CodeBlock.d.ts +16 -0
- package/lib/components/CodeBlock/index.d.ts +3 -0
- package/lib/components/CodeBlock/type.d.ts +40 -0
- package/lib/components/CodeBlock/types.d.ts +44 -0
- package/lib/components/CodeBlock/utils.d.ts +38 -0
- package/lib/components/ColorPicker/ColorPicker.d.ts +8 -0
- package/lib/components/ColorPicker/index.d.ts +2 -0
- package/lib/components/ColorPicker/styles.d.ts +35 -0
- package/lib/components/ColorPicker/types.d.ts +69 -0
- package/lib/components/ColorPicker/utils.d.ts +8 -0
- package/lib/components/ColorSwatch/ColorSwatch.d.ts +6 -0
- package/lib/components/ColorSwatch/index.d.ts +2 -0
- package/lib/components/ColorSwatch/types.d.ts +29 -0
- package/lib/components/Container/Container.d.ts +3 -0
- package/lib/components/Container/index.d.ts +2 -0
- package/lib/components/Container/types.d.ts +31 -0
- package/lib/components/ContextMenu/ContextMenu.d.ts +5 -0
- package/lib/components/ContextMenu/index.d.ts +2 -0
- package/lib/components/ContextMenu/types.d.ts +36 -0
- package/lib/components/CopyButton/CopyButton.d.ts +10 -0
- package/lib/components/CopyButton/index.d.ts +2 -0
- package/lib/components/CopyButton/types.d.ts +37 -0
- package/lib/components/DataTable/AdvancedFilterControl.d.ts +10 -0
- package/lib/components/DataTable/ColumnSettings.d.ts +16 -0
- package/lib/components/DataTable/DataTable.d.ts +5 -0
- package/lib/components/DataTable/hooks/useColumnSettings.d.ts +12 -0
- package/lib/components/DataTable/hooks/useDataTableState.d.ts +41 -0
- package/lib/components/DataTable/hooks/useRowSelection.d.ts +40 -0
- package/lib/components/DataTable/index.d.ts +1 -0
- package/lib/components/DataTable/types.d.ts +223 -0
- package/lib/components/DatePicker/DatePicker.d.ts +4 -0
- package/lib/components/DatePicker/index.d.ts +8 -0
- package/lib/components/DatePicker/types.d.ts +47 -0
- package/lib/components/DatePicker/utils.d.ts +30 -0
- package/lib/components/DatePickerInput/DatePickerInput.d.ts +4 -0
- package/lib/components/DatePickerInput/index.d.ts +2 -0
- package/lib/components/DatePickerInput/types.d.ts +41 -0
- package/lib/components/Dialog/Dialog.d.ts +3 -0
- package/lib/components/Dialog/DialogContext.d.ts +11 -0
- package/lib/components/Dialog/DialogRenderer.d.ts +2 -0
- package/lib/components/Dialog/hooks/useSimpleDialog.d.ts +25 -0
- package/lib/components/Dialog/index.d.ts +6 -0
- package/lib/components/Dialog/types.d.ts +35 -0
- package/lib/components/Disclaimer/Disclaimer.d.ts +11 -0
- package/lib/components/Disclaimer/disclaimerUtils.d.ts +21 -0
- package/lib/components/Disclaimer/index.d.ts +6 -0
- package/lib/components/Disclaimer/withDisclaimer.d.ts +13 -0
- package/lib/components/Divider/Divider.d.ts +2 -0
- package/lib/components/Divider/index.d.ts +2 -0
- package/lib/components/Divider/types.d.ts +22 -0
- package/lib/components/EmojiPicker/EmojiPicker.d.ts +6 -0
- package/lib/components/EmojiPicker/index.d.ts +2 -0
- package/lib/components/EmojiPicker/types.d.ts +29 -0
- package/lib/components/FileInput/FileInput.d.ts +3 -0
- package/lib/components/FileInput/index.d.ts +2 -0
- package/lib/components/FileInput/types.d.ts +82 -0
- package/lib/components/Flex/Flex.d.ts +38 -0
- package/lib/components/Flex/helpers.d.ts +13 -0
- package/lib/components/Flex/index.d.ts +2 -0
- package/lib/components/FloatingActions/FloatingActions.d.ts +29 -0
- package/lib/components/FloatingActions/index.d.ts +2 -0
- package/lib/components/Form/FormBase.d.ts +3 -0
- package/lib/components/Form/FormContext.d.ts +16 -0
- package/lib/components/Form/FormError.d.ts +3 -0
- package/lib/components/Form/FormField.d.ts +3 -0
- package/lib/components/Form/FormInput.d.ts +3 -0
- package/lib/components/Form/FormLabel.d.ts +3 -0
- package/lib/components/Form/FormSubmit.d.ts +3 -0
- package/lib/components/Form/OptimizedForm.d.ts +22 -0
- package/lib/components/Form/index.d.ts +9 -0
- package/lib/components/Form/types.d.ts +104 -0
- package/lib/components/FormLayout/FormField.d.ts +3 -0
- package/lib/components/FormLayout/FormGroup.d.ts +3 -0
- package/lib/components/FormLayout/FormLayout.d.ts +3 -0
- package/lib/components/FormLayout/FormSection.d.ts +3 -0
- package/lib/components/FormLayout/index.d.ts +5 -0
- package/lib/components/FormLayout/types.d.ts +31 -0
- package/lib/components/Forms/ContactForm.d.ts +3 -0
- package/lib/components/Forms/ForgotPasswordForm.d.ts +3 -0
- package/lib/components/Forms/LoginForm.d.ts +3 -0
- package/lib/components/Forms/SignupForm.d.ts +3 -0
- package/lib/components/Forms/index.d.ts +5 -0
- package/lib/components/Forms/types.d.ts +89 -0
- package/lib/components/Gallery/Gallery.d.ts +3 -0
- package/lib/components/Gallery/GalleryControls.d.ts +3 -0
- package/lib/components/Gallery/GalleryMetadata.d.ts +3 -0
- package/lib/components/Gallery/GalleryNew.d.ts +3 -0
- package/lib/components/Gallery/GalleryThumbnails.d.ts +3 -0
- package/lib/components/Gallery/index.d.ts +5 -0
- package/lib/components/Gallery/types.d.ts +68 -0
- package/lib/components/Gauge/Gauge.d.ts +41 -0
- package/lib/components/Gauge/index.d.ts +9 -0
- package/lib/components/Gauge/styles.d.ts +57 -0
- package/lib/components/Gauge/types.d.ts +210 -0
- package/lib/components/Gauge/utils.d.ts +72 -0
- package/lib/components/GradientText/GradientText.d.ts +46 -0
- package/lib/components/GradientText/index.d.ts +2 -0
- package/lib/components/GradientText/types.d.ts +39 -0
- package/lib/components/Grid/Grid.d.ts +11 -0
- package/lib/components/Grid/index.d.ts +2 -0
- package/lib/components/Grid/types.d.ts +32 -0
- package/lib/components/HoverCard/HoverCard.d.ts +2 -0
- package/lib/components/HoverCard/index.d.ts +2 -0
- package/lib/components/HoverCard/types.d.ts +53 -0
- package/lib/components/Icon/Icon.d.ts +6 -0
- package/lib/components/Icon/icons/actions.d.ts +2 -0
- package/lib/components/Icon/icons/data.d.ts +2 -0
- package/lib/components/Icon/icons/multimedia.d.ts +2 -0
- package/lib/components/Icon/icons/navigation.d.ts +2 -0
- package/lib/components/Icon/icons/platforms.d.ts +2 -0
- package/lib/components/Icon/icons/status.d.ts +2 -0
- package/lib/components/Icon/icons/ui.d.ts +2 -0
- package/lib/components/Icon/index.d.ts +2 -0
- package/lib/components/Icon/registry.d.ts +6 -0
- package/lib/components/Icon/types.d.ts +40 -0
- package/lib/components/IconButton/IconButton.d.ts +3 -0
- package/lib/components/IconButton/index.d.ts +2 -0
- package/lib/components/IconButton/types.d.ts +45 -0
- package/lib/components/Image/Image.d.ts +3 -0
- package/lib/components/Image/index.d.ts +2 -0
- package/lib/components/Image/types.d.ts +57 -0
- package/lib/components/Indicator/Indicator.d.ts +7 -0
- package/lib/components/Indicator/index.d.ts +2 -0
- package/lib/components/Indicator/types.d.ts +13 -0
- package/lib/components/Input/Input.d.ts +6 -0
- package/lib/components/Input/InputBase.d.ts +17 -0
- package/lib/components/Input/OptimizedInput.d.ts +19 -0
- package/lib/components/Input/PasswordInput.d.ts +3 -0
- package/lib/components/Input/index.d.ts +5 -0
- package/lib/components/Input/styles.d.ts +85 -0
- package/lib/components/Input/types.d.ts +120 -0
- package/lib/components/Input/validation/index.d.ts +14 -0
- package/lib/components/Input/validation/optimized.d.ts +33 -0
- package/lib/components/KeyCap/KeyCap.d.ts +6 -0
- package/lib/components/KeyCap/index.d.ts +3 -0
- package/lib/components/KeyCap/styles.d.ts +11 -0
- package/lib/components/KeyCap/types.d.ts +54 -0
- package/lib/components/Layout/Layout.d.ts +18 -0
- package/lib/components/Layout/index.d.ts +1 -0
- package/lib/components/Link/Link.d.ts +31 -0
- package/lib/components/Link/index.d.ts +2 -0
- package/lib/components/ListGroup/ListGroup.d.ts +19 -0
- package/lib/components/ListGroup/index.d.ts +2 -0
- package/lib/components/ListGroup/types.d.ts +26 -0
- package/lib/components/Loader/Loader.d.ts +8 -0
- package/lib/components/Loader/index.d.ts +2 -0
- package/lib/components/Loader/types.d.ts +18 -0
- package/lib/components/LoadingOverlay/LoadingOverlay.d.ts +3 -0
- package/lib/components/LoadingOverlay/index.d.ts +2 -0
- package/lib/components/LoadingOverlay/types.d.ts +16 -0
- package/lib/components/Lottie/Lottie.d.ts +30 -0
- package/lib/components/Lottie/index.d.ts +2 -0
- package/lib/components/Markdown/Markdown.d.ts +66 -0
- package/lib/components/Markdown/index.d.ts +1 -0
- package/lib/components/Masonry/Masonry.d.ts +7 -0
- package/lib/components/Masonry/index.d.ts +2 -0
- package/lib/components/Masonry/types.d.ts +39 -0
- package/lib/components/Menu/Menu.d.ts +29 -0
- package/lib/components/Menu/index.d.ts +2 -0
- package/lib/components/Menu/styles.d.ts +13 -0
- package/lib/components/Menu/types.d.ts +71 -0
- package/lib/components/MenuItemButton/MenuItemButton.d.ts +39 -0
- package/lib/components/MenuItemButton/index.d.ts +2 -0
- package/lib/components/MiniCalendar/MiniCalendar.d.ts +3 -0
- package/lib/components/MiniCalendar/index.d.ts +1 -0
- package/lib/components/MonthPicker/MonthPicker.d.ts +3 -0
- package/lib/components/MonthPicker/index.d.ts +2 -0
- package/lib/components/MonthPicker/types.d.ts +26 -0
- package/lib/components/MonthPickerInput/MonthPickerInput.d.ts +4 -0
- package/lib/components/MonthPickerInput/index.d.ts +2 -0
- package/lib/components/MonthPickerInput/types.d.ts +30 -0
- package/lib/components/Navigation/DrawerNavigator.d.ts +7 -0
- package/lib/components/Navigation/NavigationContainer.d.ts +11 -0
- package/lib/components/Navigation/NavigationContext.d.ts +11 -0
- package/lib/components/Navigation/Screen.d.ts +6 -0
- package/lib/components/Navigation/StackNavigator.d.ts +7 -0
- package/lib/components/Navigation/index.d.ts +6 -0
- package/lib/components/Navigation/types.d.ts +70 -0
- package/lib/components/NavigationProgress/NavigationProgress.d.ts +4 -0
- package/lib/components/NavigationProgress/defaults.d.ts +8 -0
- package/lib/components/NavigationProgress/hooks/useNavigationProgressState.d.ts +1 -0
- package/lib/components/NavigationProgress/index.d.ts +2 -0
- package/lib/components/NavigationProgress/styles/resolver.d.ts +1 -0
- package/lib/components/NavigationProgress/tokens.d.ts +4 -0
- package/lib/components/NavigationProgress/types.d.ts +30 -0
- package/lib/components/NumberInput/NumberInput.d.ts +5 -0
- package/lib/components/NumberInput/index.d.ts +2 -0
- package/lib/components/NumberInput/types.d.ts +76 -0
- package/lib/components/Overlay/Overlay.d.ts +4 -0
- package/lib/components/Overlay/index.d.ts +2 -0
- package/lib/components/Overlay/types.d.ts +27 -0
- package/lib/components/Pagination/Pagination.d.ts +6 -0
- package/lib/components/Pagination/index.d.ts +2 -0
- package/lib/components/Pagination/types.d.ts +58 -0
- package/lib/components/PhoneInput/PhoneInput.d.ts +3 -0
- package/lib/components/PhoneInput/index.d.ts +2 -0
- package/lib/components/PhoneInput/types.d.ts +27 -0
- package/lib/components/PinInput/PinInput.d.ts +6 -0
- package/lib/components/PinInput/index.d.ts +2 -0
- package/lib/components/PinInput/types.d.ts +41 -0
- package/lib/components/PressAnimation/PressAnimation.d.ts +29 -0
- package/lib/components/PressAnimation/index.d.ts +2 -0
- package/lib/components/Progress/Progress.d.ts +11 -0
- package/lib/components/Progress/index.d.ts +2 -0
- package/lib/components/Progress/types.d.ts +48 -0
- package/lib/components/QRCode/QRCode.d.ts +11 -0
- package/lib/components/QRCode/QRCodeSVG.d.ts +6 -0
- package/lib/components/QRCode/core/buildMatrix.d.ts +11 -0
- package/lib/components/QRCode/core/encoder.d.ts +12 -0
- package/lib/components/QRCode/core/mask.d.ts +2 -0
- package/lib/components/QRCode/core/mode.d.ts +6 -0
- package/lib/components/QRCode/core/reedSolomon.d.ts +1 -0
- package/lib/components/QRCode/core/tables.d.ts +24 -0
- package/lib/components/QRCode/index.d.ts +3 -0
- package/lib/components/QRCode/optimizations.d.ts +20 -0
- package/lib/components/QRCode/types.d.ts +76 -0
- package/lib/components/Radio/Radio.d.ts +10 -0
- package/lib/components/Radio/index.d.ts +2 -0
- package/lib/components/Radio/styles.d.ts +81 -0
- package/lib/components/Radio/types.d.ts +79 -0
- package/lib/components/Rating/Rating.d.ts +2 -0
- package/lib/components/Rating/index.d.ts +2 -0
- package/lib/components/Rating/types.d.ts +35 -0
- package/lib/components/Reveal/Reveal.d.ts +4 -0
- package/lib/components/Reveal/index.d.ts +2 -0
- package/lib/components/Reveal/types.d.ts +53 -0
- package/lib/components/RichTextEditor/RichTextEditor.d.ts +3 -0
- package/lib/components/RichTextEditor/index.d.ts +2 -0
- package/lib/components/RichTextEditor/styles.d.ts +61 -0
- package/lib/components/RichTextEditor/types.d.ts +150 -0
- package/lib/components/Search/Search.d.ts +6 -0
- package/lib/components/Search/index.d.ts +2 -0
- package/lib/components/Search/test-component.d.ts +3 -0
- package/lib/components/Search/types.d.ts +27 -0
- package/lib/components/SegmentedControl/SegmentedControl.d.ts +6 -0
- package/lib/components/SegmentedControl/index.d.ts +2 -0
- package/lib/components/SegmentedControl/types.d.ts +62 -0
- package/lib/components/Select/Select.d.ts +6 -0
- package/lib/components/Select/Select.types.d.ts +31 -0
- package/lib/components/Select/index.d.ts +2 -0
- package/lib/components/Select/types.d.ts +25 -0
- package/lib/components/ShimmerText/ShimmerText.d.ts +33 -0
- package/lib/components/ShimmerText/index.d.ts +2 -0
- package/lib/components/ShimmerText/types.d.ts +33 -0
- package/lib/components/Skeleton/Skeleton.d.ts +2 -0
- package/lib/components/Skeleton/index.d.ts +2 -0
- package/lib/components/Skeleton/types.d.ts +30 -0
- package/lib/components/Slider/Slider.d.ts +10 -0
- package/lib/components/Slider/SliderCore.d.ts +57 -0
- package/lib/components/Slider/index.d.ts +2 -0
- package/lib/components/Slider/types.d.ts +133 -0
- package/lib/components/Space/Space.d.ts +4 -0
- package/lib/components/Space/index.d.ts +2 -0
- package/lib/components/Space/types.d.ts +17 -0
- package/lib/components/Spoiler/Spoiler.d.ts +5 -0
- package/lib/components/Spoiler/index.d.ts +2 -0
- package/lib/components/Spoiler/types.d.ts +40 -0
- package/lib/components/Spotlight/DirectSpotlightState.d.ts +41 -0
- package/lib/components/Spotlight/Spotlight.d.ts +19 -0
- package/lib/components/Spotlight/SpotlightController.d.ts +13 -0
- package/lib/components/Spotlight/SpotlightStore.d.ts +32 -0
- package/lib/components/Spotlight/SpotlightTypes.d.ts +29 -0
- package/lib/components/Spotlight/index.d.ts +6 -0
- package/lib/components/Spotlight/types.d.ts +66 -0
- package/lib/components/Stepper/Stepper.d.ts +12 -0
- package/lib/components/Stepper/index.d.ts +2 -0
- package/lib/components/Stepper/types.d.ts +68 -0
- package/lib/components/Switch/Switch.d.ts +6 -0
- package/lib/components/Switch/index.d.ts +2 -0
- package/lib/components/Switch/styles.d.ts +85 -0
- package/lib/components/Switch/types.d.ts +54 -0
- package/lib/components/Table/Table.d.ts +115 -0
- package/lib/components/Table/index.d.ts +1 -0
- package/lib/components/TableOfContents/TableOfContents.d.ts +3 -0
- package/lib/components/TableOfContents/index.d.ts +2 -0
- package/lib/components/TableOfContents/types.d.ts +77 -0
- package/lib/components/Tabs/Tabs.d.ts +3 -0
- package/lib/components/Tabs/index.d.ts +2 -0
- package/lib/components/Tabs/types.d.ts +182 -0
- package/lib/components/Text/Text.d.ts +51 -0
- package/lib/components/Text/aliases.d.ts +22 -0
- package/lib/components/Text/index.d.ts +2 -0
- package/lib/components/TextArea/TextArea.d.ts +6 -0
- package/lib/components/TextArea/index.d.ts +2 -0
- package/lib/components/TextArea/meta/index.d.ts +97 -0
- package/lib/components/TextArea/styles.d.ts +95 -0
- package/lib/components/TextArea/types.d.ts +33 -0
- package/lib/components/TimePicker/TimePicker.d.ts +3 -0
- package/lib/components/TimePicker/index.d.ts +2 -0
- package/lib/components/TimePicker/types.d.ts +32 -0
- package/lib/components/TimePickerInput/index.d.ts +2 -0
- package/lib/components/Timeline/Timeline.d.ts +13 -0
- package/lib/components/Timeline/index.d.ts +2 -0
- package/lib/components/Timeline/types.d.ts +53 -0
- package/lib/components/Title/Title.d.ts +10 -0
- package/lib/components/Title/index.d.ts +2 -0
- package/lib/components/Title/types.d.ts +55 -0
- package/lib/components/Toast/Toast.d.ts +8 -0
- package/lib/components/Toast/ToastProvider.d.ts +88 -0
- package/lib/components/Toast/index.d.ts +3 -0
- package/lib/components/Toast/types.d.ts +78 -0
- package/lib/components/Toggle/Toggle.d.ts +10 -0
- package/lib/components/Toggle/ToggleBar.d.ts +42 -0
- package/lib/components/Toggle/index.d.ts +4 -0
- package/lib/components/Toggle/types.d.ts +68 -0
- package/lib/components/Tooltip/Tooltip.d.ts +2 -0
- package/lib/components/Tooltip/index.d.ts +2 -0
- package/lib/components/Tooltip/types.d.ts +44 -0
- package/lib/components/Tree/Tree.d.ts +5 -0
- package/lib/components/Tree/index.d.ts +2 -0
- package/lib/components/Tree/types.d.ts +65 -0
- package/lib/components/Video/NativeVideoPlayer.d.ts +33 -0
- package/lib/components/Video/Video.d.ts +3 -0
- package/lib/components/Video/VideoControls.d.ts +17 -0
- package/lib/components/Video/VideoTimeline.d.ts +12 -0
- package/lib/components/Video/YouTubePlayer.d.ts +44 -0
- package/lib/components/Video/index.d.ts +2 -0
- package/lib/components/Video/types.d.ts +145 -0
- package/lib/components/Waveform/Waveform.d.ts +3 -0
- package/lib/components/Waveform/WaveformSkeleton.d.ts +9 -0
- package/lib/components/Waveform/index.d.ts +4 -0
- package/lib/components/Waveform/styles.d.ts +53 -0
- package/lib/components/Waveform/types.d.ts +124 -0
- package/lib/components/Waveform/utils.d.ts +95 -0
- package/lib/components/YearPicker/YearPicker.d.ts +3 -0
- package/lib/components/YearPicker/index.d.ts +2 -0
- package/lib/components/YearPicker/types.d.ts +24 -0
- package/lib/components/YearPickerInput/YearPickerInput.d.ts +4 -0
- package/lib/components/YearPickerInput/index.d.ts +2 -0
- package/lib/components/YearPickerInput/types.d.ts +26 -0
- package/lib/components/_internal/FieldHeader.d.ts +21 -0
- package/lib/components/index.d.ts +164 -0
- package/lib/components/optimized.d.ts +74 -0
- package/lib/components/types.d.ts +57 -0
- package/lib/contexts/TitleRegistryContext.d.ts +20 -0
- package/lib/contexts/index.d.ts +1 -0
- package/lib/core/accessibility/advancedHooks.d.ts +82 -0
- package/lib/core/accessibility/constants.d.ts +85 -0
- package/lib/core/accessibility/context.d.ts +5 -0
- package/lib/core/accessibility/hooks.d.ts +33 -0
- package/lib/core/accessibility/index.d.ts +6 -0
- package/lib/core/accessibility/types.d.ts +35 -0
- package/lib/core/accessibility/utils.d.ts +56 -0
- package/lib/core/animations/index.d.ts +2 -0
- package/lib/core/animations/transitions.d.ts +31 -0
- package/lib/core/components/ClearButton.d.ts +15 -0
- package/lib/core/components/InputContainer.d.ts +19 -0
- package/lib/core/design-tokens.d.ts +292 -0
- package/lib/core/factory/factory.d.ts +33 -0
- package/lib/core/factory/index.d.ts +4 -0
- package/lib/core/factory/polymorphicFactory.d.ts +38 -0
- package/lib/core/haptics/HapticsProvider.d.ts +14 -0
- package/lib/core/hooks/useDropdownPositioning.d.ts +61 -0
- package/lib/core/hooks/usePopoverPositioning.d.ts +33 -0
- package/lib/core/i18n/I18nContext.d.ts +8 -0
- package/lib/core/i18n/index.d.ts +2 -0
- package/lib/core/i18n/types.d.ts +22 -0
- package/lib/core/index.d.ts +15 -0
- package/lib/core/interactive-states.d.ts +41 -0
- package/lib/core/motion/ReducedMotionProvider.d.ts +10 -0
- package/lib/core/motion/motionTokens.d.ts +12 -0
- package/lib/core/providers/DirectionProvider.d.ts +88 -0
- package/lib/core/providers/OverlayProvider.d.ts +40 -0
- package/lib/core/providers/OverlayRenderer.d.ts +7 -0
- package/lib/core/providers/index.d.ts +5 -0
- package/lib/core/responsive/index.d.ts +22 -0
- package/lib/core/sound/context.d.ts +21 -0
- package/lib/core/sound/hooks.d.ts +214 -0
- package/lib/core/sound/index.d.ts +5 -0
- package/lib/core/sound/mockContext.d.ts +21 -0
- package/lib/core/sound/sounds.d.ts +17 -0
- package/lib/core/sound/types.d.ts +79 -0
- package/lib/core/style-factory.d.ts +23 -0
- package/lib/core/theme/CSSVariables.d.ts +9 -0
- package/lib/core/theme/PlatformBlocksProvider.d.ts +52 -0
- package/lib/core/theme/ThemeModeProvider.d.ts +42 -0
- package/lib/core/theme/ThemeProvider.d.ts +19 -0
- package/lib/core/theme/breakpoints.d.ts +34 -0
- package/lib/core/theme/darkTheme.d.ts +2 -0
- package/lib/core/theme/defaultTheme.d.ts +2 -0
- package/lib/core/theme/index.d.ts +12 -0
- package/lib/core/theme/radius.d.ts +132 -0
- package/lib/core/theme/shadow.d.ts +119 -0
- package/lib/core/theme/sizes.d.ts +185 -0
- package/lib/core/theme/types.d.ts +190 -0
- package/lib/core/theme/unified-sizing.d.ts +65 -0
- package/lib/core/theme/useColorScheme.d.ts +6 -0
- package/lib/core/theme/utils.d.ts +9 -0
- package/lib/core/unified-styles.d.ts +12 -0
- package/lib/core/utils/UniversalCSS.d.ts +14 -0
- package/lib/core/utils/debounce.d.ts +16 -0
- package/lib/core/utils/hash.d.ts +4 -0
- package/lib/core/utils/index.d.ts +38 -0
- package/lib/core/utils/layout.d.ts +44 -0
- package/lib/core/utils/performance.d.ts +30 -0
- package/lib/core/utils/positioning-enhanced.d.ts +88 -0
- package/lib/core/utils/rtl.d.ts +174 -0
- package/lib/core/utils/shadow.d.ts +13 -0
- package/lib/core/utils/spacing.d.ts +56 -0
- package/lib/core/utils/universal.d.ts +47 -0
- package/lib/core/utils/universalSimple.d.ts +37 -0
- package/lib/core/utils/withUniversalProps.d.ts +26 -0
- package/lib/esm/index.js +35209 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/hooks/index.d.ts +6 -0
- package/lib/hooks/useClipboard.d.ts +20 -0
- package/lib/hooks/useHaptics.d.ts +22 -0
- package/lib/hooks/useHotkeys.d.ts +42 -0
- package/lib/hooks/useMaskedInput.d.ts +35 -0
- package/lib/hooks/useScrollSpy.d.ts +38 -0
- package/lib/hooks/useTitleRegistration.d.ts +14 -0
- package/lib/index.d.ts +220 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/mask.d.ts +138 -0
- 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,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;
|