@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,32 @@
|
|
|
1
|
+
import type { ViewStyle } from 'react-native';
|
|
2
|
+
import type { SpacingProps } from '../../core/utils/spacing';
|
|
3
|
+
import type { SizeValue } from '../../core/theme/sizes';
|
|
4
|
+
import type { ResponsiveProp } from '../../core/theme/breakpoints';
|
|
5
|
+
export interface GridProps extends SpacingProps {
|
|
6
|
+
/** Number of columns (can be responsive) */
|
|
7
|
+
columns?: ResponsiveProp<number>;
|
|
8
|
+
/** Gap between items */
|
|
9
|
+
gap?: SizeValue;
|
|
10
|
+
/** Row gap between items */
|
|
11
|
+
rowGap?: SizeValue;
|
|
12
|
+
/** Column gap between items */
|
|
13
|
+
columnGap?: SizeValue;
|
|
14
|
+
/** Make the grid take full width (100%) */
|
|
15
|
+
fullWidth?: boolean;
|
|
16
|
+
/** Children elements */
|
|
17
|
+
children?: React.ReactNode;
|
|
18
|
+
/** Custom styles */
|
|
19
|
+
style?: ViewStyle;
|
|
20
|
+
/** Test ID for testing */
|
|
21
|
+
testID?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface GridItemProps extends SpacingProps {
|
|
24
|
+
/** Column span (how many columns this item should span) - can be responsive */
|
|
25
|
+
span?: ResponsiveProp<number>;
|
|
26
|
+
/** Children elements */
|
|
27
|
+
children?: React.ReactNode;
|
|
28
|
+
/** Custom styles */
|
|
29
|
+
style?: ViewStyle;
|
|
30
|
+
/** Test ID for testing */
|
|
31
|
+
testID?: string;
|
|
32
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ViewStyle, View } from 'react-native';
|
|
3
|
+
import { SizeValue } from '../../core/theme/sizes';
|
|
4
|
+
export type HoverCardPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
5
|
+
export type HoverCardShadow = 'none' | 'sm' | 'md' | 'lg';
|
|
6
|
+
export interface HoverCardProps {
|
|
7
|
+
/** Floating content */
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
/** Target element that triggers hover card */
|
|
10
|
+
target: React.ReactElement;
|
|
11
|
+
/** Position relative to target */
|
|
12
|
+
position?: HoverCardPosition;
|
|
13
|
+
/** Offset gap between target and card */
|
|
14
|
+
offset?: number;
|
|
15
|
+
/** Delay before opening (ms) */
|
|
16
|
+
openDelay?: number;
|
|
17
|
+
/** Delay before closing (ms) */
|
|
18
|
+
closeDelay?: number;
|
|
19
|
+
/** Controlled opened state */
|
|
20
|
+
opened?: boolean;
|
|
21
|
+
/** Shadow size */
|
|
22
|
+
shadow?: HoverCardShadow;
|
|
23
|
+
/** Corner radius */
|
|
24
|
+
radius?: SizeValue;
|
|
25
|
+
/** Whether rendered in portal (not yet implemented) */
|
|
26
|
+
withinPortal?: boolean;
|
|
27
|
+
/** Fixed width */
|
|
28
|
+
width?: number;
|
|
29
|
+
/** Show directional arrow */
|
|
30
|
+
withArrow?: boolean;
|
|
31
|
+
/** Close on Escape (web) */
|
|
32
|
+
closeOnEscape?: boolean;
|
|
33
|
+
/** Called when opened */
|
|
34
|
+
onOpen?: () => void;
|
|
35
|
+
/** Called when closed */
|
|
36
|
+
onClose?: () => void;
|
|
37
|
+
/** Disable interactions */
|
|
38
|
+
disabled?: boolean;
|
|
39
|
+
/** Style override */
|
|
40
|
+
style?: ViewStyle;
|
|
41
|
+
/** Test id */
|
|
42
|
+
testID?: string;
|
|
43
|
+
/** z-index layering */
|
|
44
|
+
zIndex?: number;
|
|
45
|
+
/** Keep mounted (for animation / measurement) */
|
|
46
|
+
keepMounted?: boolean;
|
|
47
|
+
/** Trigger mode */
|
|
48
|
+
trigger?: 'hover' | 'click';
|
|
49
|
+
}
|
|
50
|
+
export interface HoverCardFactoryPayload {
|
|
51
|
+
props: HoverCardProps;
|
|
52
|
+
ref: View;
|
|
53
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IconRegistry } from './types';
|
|
2
|
+
export declare const iconRegistry: IconRegistry;
|
|
3
|
+
export declare const registerIcon: (name: string, definition: IconRegistry[string]) => void;
|
|
4
|
+
export declare const registerIcons: (icons: IconRegistry) => void;
|
|
5
|
+
export declare const getIconNames: () => string[];
|
|
6
|
+
export declare const hasIcon: (name: string) => boolean;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
2
|
+
import type { SizeValue } from '../../core/theme/sizes';
|
|
3
|
+
import type { SpacingProps } from '../../core/utils/spacing';
|
|
4
|
+
export type IconSize = SizeValue;
|
|
5
|
+
export type IconVariant = 'filled' | 'outlined';
|
|
6
|
+
export interface IconDefinition {
|
|
7
|
+
/** SVG path data or React component */
|
|
8
|
+
content: string | React.ComponentType<any>;
|
|
9
|
+
/** Default viewBox for the icon */
|
|
10
|
+
viewBox?: string;
|
|
11
|
+
/** Whether this is a filled or outlined icon */
|
|
12
|
+
variant?: IconVariant;
|
|
13
|
+
/** Keep stroke visible even when rendered as filled */
|
|
14
|
+
preserveStrokeOnFill?: boolean;
|
|
15
|
+
/** Human-readable description used in docs and tooling */
|
|
16
|
+
description?: string;
|
|
17
|
+
/** Optional keywords to help search/filter docs */
|
|
18
|
+
keywords?: string[];
|
|
19
|
+
}
|
|
20
|
+
export type IconRegistry = Record<string, IconDefinition>;
|
|
21
|
+
export interface IconProps extends SpacingProps {
|
|
22
|
+
/** Icon name from the registry */
|
|
23
|
+
name: string;
|
|
24
|
+
/** Size of the icon */
|
|
25
|
+
size?: IconSize;
|
|
26
|
+
/** Color of the icon */
|
|
27
|
+
color?: string;
|
|
28
|
+
/** Stroke thickness for outlined icons. Defaults to 1.5. */
|
|
29
|
+
stroke?: number;
|
|
30
|
+
/** Icon variant - overrides the default variant from icon definition */
|
|
31
|
+
variant?: IconVariant;
|
|
32
|
+
/** Additional styles */
|
|
33
|
+
style?: StyleProp<ViewStyle>;
|
|
34
|
+
/** Accessibility label */
|
|
35
|
+
label?: string;
|
|
36
|
+
/** Whether the icon is purely decorative (skip a11y) */
|
|
37
|
+
decorative?: boolean;
|
|
38
|
+
/** Whether to mirror this icon in RTL mode. If not specified, uses auto-detection based on icon name */
|
|
39
|
+
mirrorInRTL?: boolean;
|
|
40
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { SpacingProps, LayoutProps } from '../../core/utils';
|
|
2
|
+
import { BorderRadiusProps } from '../../core/theme/radius';
|
|
3
|
+
import { ShadowProps } from '../../core/theme/shadow';
|
|
4
|
+
import { SizeValue } from '../../core/theme/sizes';
|
|
5
|
+
import { TooltipProps } from '../Tooltip';
|
|
6
|
+
import { IconProps } from '../Icon/types';
|
|
7
|
+
export interface IconButtonProps extends SpacingProps, LayoutProps, BorderRadiusProps, ShadowProps {
|
|
8
|
+
/** Icon name from the registry */
|
|
9
|
+
icon: string;
|
|
10
|
+
/** Called when the button is pressed */
|
|
11
|
+
onPress?: () => void;
|
|
12
|
+
/** Called when the button layout is calculated */
|
|
13
|
+
onLayout?: (event: any) => void;
|
|
14
|
+
/** Button visual variant */
|
|
15
|
+
variant?: 'filled' | 'secondary' | 'outline' | 'ghost' | 'gradient' | 'none';
|
|
16
|
+
/** Button size */
|
|
17
|
+
size?: SizeValue;
|
|
18
|
+
/** Whether the button is disabled */
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
/** Whether button is in loading state (shows loader) */
|
|
21
|
+
loading?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Custom color override for the button. Accepts raw CSS color OR theme token syntax:
|
|
24
|
+
* - 'primary' (palette key -> uses middle shade 5)
|
|
25
|
+
* - 'primary.6' (palette key + shade index)
|
|
26
|
+
* - '#ff0000' / 'rgb(...)' direct colors
|
|
27
|
+
*/
|
|
28
|
+
colorVariant?: string;
|
|
29
|
+
/** Explicit icon color override (else derived automatically from variant & color) */
|
|
30
|
+
iconColor?: string;
|
|
31
|
+
/** Icon variant override */
|
|
32
|
+
iconVariant?: IconProps['variant'];
|
|
33
|
+
/** Icon size override (defaults to appropriate size for button size) */
|
|
34
|
+
iconSize?: IconProps['size'];
|
|
35
|
+
/** Tooltip text to show on hover/focus - when provided, wraps button in Tooltip component */
|
|
36
|
+
tooltip?: string;
|
|
37
|
+
/** Tooltip position when tooltip prop is used */
|
|
38
|
+
tooltipPosition?: TooltipProps['position'];
|
|
39
|
+
/** Accessibility label - highly recommended for icon-only buttons */
|
|
40
|
+
accessibilityLabel?: string;
|
|
41
|
+
/** Style overrides for the button container */
|
|
42
|
+
style?: any;
|
|
43
|
+
/** Test ID for testing */
|
|
44
|
+
testID?: string;
|
|
45
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ImageProps } from './types';
|
|
3
|
+
export declare function Image({ src, source, alt, accessibilityLabel, resizeMode, size, width, height, aspectRatio, borderWidth, borderColor, rounded, circle, fallback, loading, onLoad, onError, onLoadStart, onLoadEnd, containerStyle, imageStyle, testID, style, ...rest }: ImageProps): React.JSX.Element | null;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ViewStyle, ImageStyle } from 'react-native';
|
|
3
|
+
import { SizeValue, ColorValue, SpacingProps } from '../../core/theme/types';
|
|
4
|
+
import { LayoutProps } from '../../core/utils';
|
|
5
|
+
import { BorderRadiusProps } from '../../core/theme/radius';
|
|
6
|
+
export interface BaseComponentProps extends SpacingProps {
|
|
7
|
+
/** Component test ID for testing */
|
|
8
|
+
testID?: string;
|
|
9
|
+
/** Additional CSS styles */
|
|
10
|
+
style?: any;
|
|
11
|
+
}
|
|
12
|
+
export interface ImageProps extends BaseComponentProps, Omit<LayoutProps, 'width' | 'height'>, BorderRadiusProps {
|
|
13
|
+
/** Image source URI */
|
|
14
|
+
src: string;
|
|
15
|
+
/** Image source object (alternative to src) */
|
|
16
|
+
source?: {
|
|
17
|
+
uri: string;
|
|
18
|
+
} | number;
|
|
19
|
+
/** Alternative text for accessibility */
|
|
20
|
+
alt?: string;
|
|
21
|
+
/** Accessibility label */
|
|
22
|
+
accessibilityLabel?: string;
|
|
23
|
+
/** Image resize mode */
|
|
24
|
+
resizeMode?: 'cover' | 'contain' | 'stretch' | 'repeat' | 'center';
|
|
25
|
+
/** Image size preset */
|
|
26
|
+
size?: SizeValue | number;
|
|
27
|
+
/** Custom width */
|
|
28
|
+
width?: number | string;
|
|
29
|
+
/** Custom height */
|
|
30
|
+
height?: number | string;
|
|
31
|
+
/** Aspect ratio */
|
|
32
|
+
aspectRatio?: number;
|
|
33
|
+
/** Border width */
|
|
34
|
+
borderWidth?: number;
|
|
35
|
+
/** Border color */
|
|
36
|
+
borderColor?: ColorValue;
|
|
37
|
+
/** Whether image should be rounded */
|
|
38
|
+
rounded?: boolean;
|
|
39
|
+
/** Whether image should be circular */
|
|
40
|
+
circle?: boolean;
|
|
41
|
+
/** Fallback element to show on error */
|
|
42
|
+
fallback?: React.ReactNode;
|
|
43
|
+
/** Loading state element */
|
|
44
|
+
loading?: React.ReactNode;
|
|
45
|
+
/** Called when image loads successfully */
|
|
46
|
+
onLoad?: () => void;
|
|
47
|
+
/** Called when image fails to load */
|
|
48
|
+
onError?: (error: any) => void;
|
|
49
|
+
/** Called when image starts loading */
|
|
50
|
+
onLoadStart?: () => void;
|
|
51
|
+
/** Called when image finishes loading (success or error) */
|
|
52
|
+
onLoadEnd?: () => void;
|
|
53
|
+
/** Container style */
|
|
54
|
+
containerStyle?: ViewStyle;
|
|
55
|
+
/** Image style overrides */
|
|
56
|
+
imageStyle?: ImageStyle;
|
|
57
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { IndicatorProps } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Indicator: a small indicator positioned on the corner of a parent container.
|
|
5
|
+
* Usage: Wrap target with a relative container and place <Indicator /> as a sibling.
|
|
6
|
+
*/
|
|
7
|
+
export declare function Indicator({ size, color, borderColor, borderWidth, placement, offset, style, children, invisible, }: IndicatorProps): React.JSX.Element | null;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ViewStyle } from 'react-native';
|
|
2
|
+
import type { SizeValue } from '../../core/theme/types';
|
|
3
|
+
export interface IndicatorProps {
|
|
4
|
+
size?: SizeValue | number;
|
|
5
|
+
color?: string;
|
|
6
|
+
borderColor?: string;
|
|
7
|
+
borderWidth?: number;
|
|
8
|
+
placement?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
9
|
+
offset?: number;
|
|
10
|
+
style?: ViewStyle;
|
|
11
|
+
children?: React.ReactNode;
|
|
12
|
+
invisible?: boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TextInput } from 'react-native';
|
|
2
|
+
import { BaseInputProps, ExtendedTextInputProps } from './types';
|
|
3
|
+
interface TextInputBaseProps extends BaseInputProps {
|
|
4
|
+
/** Whether input is focused */
|
|
5
|
+
focused?: boolean;
|
|
6
|
+
/** Additional TextInput props */
|
|
7
|
+
textInputProps?: ExtendedTextInputProps;
|
|
8
|
+
/** External ref passthrough */
|
|
9
|
+
inputRef?: any;
|
|
10
|
+
/** Force secure entry regardless of type */
|
|
11
|
+
secureTextEntry?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare const TextInputBase: import("../../core/factory/factory").PlatformBlocksComponent<{
|
|
14
|
+
props: TextInputBaseProps;
|
|
15
|
+
ref: TextInput;
|
|
16
|
+
}>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { InputProps, PasswordInputProps, ValidationRule } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Performance-optimized Input component with memoization and debounced validation
|
|
5
|
+
*/
|
|
6
|
+
export declare const OptimizedInput: React.NamedExoticComponent<InputProps>;
|
|
7
|
+
/**
|
|
8
|
+
* Performance-optimized PasswordInput component
|
|
9
|
+
*/
|
|
10
|
+
export declare const OptimizedPasswordInput: React.NamedExoticComponent<PasswordInputProps>;
|
|
11
|
+
/**
|
|
12
|
+
* Custom hook for optimized input state management
|
|
13
|
+
*/
|
|
14
|
+
export declare function useOptimizedInputState(initialValue?: string, validation?: ValidationRule[], debounceMs?: number): {
|
|
15
|
+
value: string;
|
|
16
|
+
setValue: (newValue: string) => void;
|
|
17
|
+
error: string | null;
|
|
18
|
+
isValidating: boolean;
|
|
19
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { Input } from './Input';
|
|
2
|
+
export { PasswordInput } from './PasswordInput';
|
|
3
|
+
export { TextInputBase } from './InputBase';
|
|
4
|
+
export type { BaseInputProps, InputProps, PasswordInputProps, ValidationRule, PasswordStrengthRule } from './types';
|
|
5
|
+
export { validationRules, validateValue, calculatePasswordStrength } from './validation';
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { PlatformBlocksTheme, SizeValue } from '../../core/theme/types';
|
|
2
|
+
import { InputStyleProps } from './types';
|
|
3
|
+
export declare const createInputStyles: (theme: PlatformBlocksTheme, isRTL?: boolean) => {
|
|
4
|
+
getInputStyles: (props: InputStyleProps, radiusStyles?: any) => {
|
|
5
|
+
container: {
|
|
6
|
+
marginBottom: number;
|
|
7
|
+
width: "100%";
|
|
8
|
+
};
|
|
9
|
+
error: {
|
|
10
|
+
color: string;
|
|
11
|
+
fontSize: number;
|
|
12
|
+
marginTop: number;
|
|
13
|
+
};
|
|
14
|
+
helperText: {
|
|
15
|
+
color: string;
|
|
16
|
+
fontSize: number;
|
|
17
|
+
marginTop: number;
|
|
18
|
+
};
|
|
19
|
+
input: {
|
|
20
|
+
outlineWidth?: number | undefined;
|
|
21
|
+
border?: string | undefined;
|
|
22
|
+
backgroundColor?: string | undefined;
|
|
23
|
+
flex: number;
|
|
24
|
+
fontSize: number;
|
|
25
|
+
color: string;
|
|
26
|
+
paddingVertical: number;
|
|
27
|
+
paddingHorizontal: number;
|
|
28
|
+
minHeight: number;
|
|
29
|
+
fontFamily: string;
|
|
30
|
+
};
|
|
31
|
+
inputContainer: any;
|
|
32
|
+
label: {
|
|
33
|
+
color: string;
|
|
34
|
+
fontSize: number;
|
|
35
|
+
fontWeight: "600";
|
|
36
|
+
marginBottom: number;
|
|
37
|
+
};
|
|
38
|
+
leftSection: {
|
|
39
|
+
paddingLeft: number;
|
|
40
|
+
} | {
|
|
41
|
+
paddingRight: number;
|
|
42
|
+
};
|
|
43
|
+
required: {
|
|
44
|
+
color: string;
|
|
45
|
+
};
|
|
46
|
+
rightSection: {
|
|
47
|
+
alignItems: "center";
|
|
48
|
+
flexDirection: "row";
|
|
49
|
+
paddingRight: number;
|
|
50
|
+
} | {
|
|
51
|
+
alignItems: "center";
|
|
52
|
+
flexDirection: "row";
|
|
53
|
+
paddingLeft: number;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
getSizeStyles: (size: SizeValue) => {
|
|
57
|
+
fontSize: number;
|
|
58
|
+
padding: number;
|
|
59
|
+
minHeight: number;
|
|
60
|
+
} | {
|
|
61
|
+
fontSize: number;
|
|
62
|
+
padding: number;
|
|
63
|
+
minHeight: number;
|
|
64
|
+
} | {
|
|
65
|
+
fontSize: number;
|
|
66
|
+
padding: number;
|
|
67
|
+
minHeight: number;
|
|
68
|
+
} | {
|
|
69
|
+
fontSize: number;
|
|
70
|
+
padding: number;
|
|
71
|
+
minHeight: number;
|
|
72
|
+
} | {
|
|
73
|
+
fontSize: number;
|
|
74
|
+
padding: number;
|
|
75
|
+
minHeight: number;
|
|
76
|
+
} | {
|
|
77
|
+
fontSize: number;
|
|
78
|
+
padding: number;
|
|
79
|
+
minHeight: number;
|
|
80
|
+
} | {
|
|
81
|
+
fontSize: number;
|
|
82
|
+
padding: number;
|
|
83
|
+
minHeight: number;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { KeyboardTypeOptions, TextInputProps } from 'react-native';
|
|
3
|
+
import { SpacingProps } from '../../core/theme/types';
|
|
4
|
+
import { LayoutProps } from '../../core/utils';
|
|
5
|
+
import { BorderRadiusProps } from '../../core/theme/radius';
|
|
6
|
+
import { SizeValue } from '../../core/theme/types';
|
|
7
|
+
export interface ValidationRule {
|
|
8
|
+
type: 'required' | 'minLength' | 'maxLength' | 'pattern' | 'custom' | 'passwordStrength';
|
|
9
|
+
value?: any;
|
|
10
|
+
message: string;
|
|
11
|
+
validator?: (value: any, formValues?: Record<string, any>) => boolean | Promise<boolean>;
|
|
12
|
+
}
|
|
13
|
+
export interface PasswordStrengthRule extends Omit<ValidationRule, 'type'> {
|
|
14
|
+
type: 'passwordStrength';
|
|
15
|
+
requirements: {
|
|
16
|
+
minLength?: number;
|
|
17
|
+
requireUppercase?: boolean;
|
|
18
|
+
requireLowercase?: boolean;
|
|
19
|
+
requireNumbers?: boolean;
|
|
20
|
+
requireSymbols?: boolean;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface BaseInputProps extends SpacingProps, LayoutProps, BorderRadiusProps {
|
|
24
|
+
/** Input value */
|
|
25
|
+
value?: string;
|
|
26
|
+
/** Change handler */
|
|
27
|
+
onChangeText?: (text: string) => void;
|
|
28
|
+
/** Input label (string or component) */
|
|
29
|
+
label?: React.ReactNode;
|
|
30
|
+
/** Whether input is disabled */
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
/** Whether input is required */
|
|
33
|
+
required?: boolean;
|
|
34
|
+
/** Input placeholder */
|
|
35
|
+
placeholder?: string;
|
|
36
|
+
/** Error message */
|
|
37
|
+
error?: string;
|
|
38
|
+
/** Helper text */
|
|
39
|
+
helperText?: string;
|
|
40
|
+
/** Optional short description displayed directly under the label (above the field) */
|
|
41
|
+
description?: string;
|
|
42
|
+
/** Input size */
|
|
43
|
+
size?: SizeValue;
|
|
44
|
+
/** Whether to show required indicator */
|
|
45
|
+
withAsterisk?: boolean;
|
|
46
|
+
/** Input name for form integration */
|
|
47
|
+
name?: string;
|
|
48
|
+
/** Left section content */
|
|
49
|
+
leftSection?: React.ReactNode;
|
|
50
|
+
/** Right section content */
|
|
51
|
+
rightSection?: React.ReactNode;
|
|
52
|
+
/** Additional styling */
|
|
53
|
+
style?: any;
|
|
54
|
+
/** Accessibility label */
|
|
55
|
+
accessibilityLabel?: string;
|
|
56
|
+
/** Accessibility hint */
|
|
57
|
+
accessibilityHint?: string;
|
|
58
|
+
/** Test ID for testing */
|
|
59
|
+
testID?: string;
|
|
60
|
+
/** Debounce delay for validation in milliseconds */
|
|
61
|
+
debounceMs?: number;
|
|
62
|
+
/** Focus handler */
|
|
63
|
+
onFocus?: () => void;
|
|
64
|
+
/** Blur handler */
|
|
65
|
+
onBlur?: () => void;
|
|
66
|
+
/** Enter key press handler */
|
|
67
|
+
onEnter?: () => void;
|
|
68
|
+
/** Show built-in clear button when input has value */
|
|
69
|
+
clearable?: boolean;
|
|
70
|
+
/** Accessible label for the clear button */
|
|
71
|
+
clearButtonLabel?: string;
|
|
72
|
+
/** Callback when the clear button is pressed */
|
|
73
|
+
onClear?: () => void;
|
|
74
|
+
}
|
|
75
|
+
export type ExtendedTextInputProps = Omit<TextInputProps, keyof BaseInputProps> & {
|
|
76
|
+
onKeyDown?: (event: any) => void;
|
|
77
|
+
onKeyUp?: (event: any) => void;
|
|
78
|
+
};
|
|
79
|
+
export interface InputProps extends BaseInputProps {
|
|
80
|
+
/** Input type - determines styling and behavior */
|
|
81
|
+
type?: 'text' | 'password' | 'email' | 'tel' | 'number' | 'search';
|
|
82
|
+
/** Input validation rules */
|
|
83
|
+
validation?: ValidationRule[];
|
|
84
|
+
/** Auto-complete type */
|
|
85
|
+
autoComplete?: 'off' | 'password' | 'email' | 'tel' | 'url' | 'name' | 'additional-name' | 'address-line1' | 'address-line2' | 'birthdate-day' | 'birthdate-full' | 'birthdate-month' | 'birthdate-year' | 'cc-csc' | 'cc-exp' | 'cc-exp-month' | 'cc-exp-year' | 'cc-number' | 'country' | 'current-password' | 'family-name' | 'given-name' | 'honorific-prefix' | 'honorific-suffix' | 'new-password' | 'one-time-code' | 'organization' | 'organization-title' | 'postal-code' | 'street-address' | 'username';
|
|
86
|
+
/** Keyboard type for mobile */
|
|
87
|
+
keyboardType?: KeyboardTypeOptions;
|
|
88
|
+
/** Whether input is multiline */
|
|
89
|
+
multiline?: boolean;
|
|
90
|
+
/** Number of lines for multiline input */
|
|
91
|
+
numberOfLines?: number;
|
|
92
|
+
/** Minimum number of lines for multiline input (default: 1) */
|
|
93
|
+
minLines?: number;
|
|
94
|
+
/** Maximum number of lines for multiline input */
|
|
95
|
+
maxLines?: number;
|
|
96
|
+
/** Maximum length */
|
|
97
|
+
maxLength?: number;
|
|
98
|
+
/** Whether to secure text entry */
|
|
99
|
+
secureTextEntry?: boolean;
|
|
100
|
+
/** Additional TextInput props */
|
|
101
|
+
textInputProps?: ExtendedTextInputProps;
|
|
102
|
+
/** Ref to underlying TextInput (focus control) */
|
|
103
|
+
inputRef?: React.Ref<any>;
|
|
104
|
+
}
|
|
105
|
+
export interface PasswordInputProps extends Omit<InputProps, 'type' | 'secureTextEntry'> {
|
|
106
|
+
/** Whether to show password strength indicator */
|
|
107
|
+
showStrengthIndicator?: boolean;
|
|
108
|
+
/** Whether to show toggle visibility button */
|
|
109
|
+
showVisibilityToggle?: boolean;
|
|
110
|
+
/** Password strength validation rules */
|
|
111
|
+
strengthValidation?: PasswordStrengthRule[];
|
|
112
|
+
}
|
|
113
|
+
export interface InputStyleProps {
|
|
114
|
+
error?: boolean;
|
|
115
|
+
disabled?: boolean;
|
|
116
|
+
focused?: boolean;
|
|
117
|
+
size: SizeValue;
|
|
118
|
+
hasLeftSection?: boolean;
|
|
119
|
+
hasRightSection?: boolean;
|
|
120
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ValidationRule, PasswordStrengthRule } from '../types';
|
|
2
|
+
export declare const validateValue: (value: any, rules: ValidationRule[], formValues?: Record<string, any>) => Promise<string[]>;
|
|
3
|
+
export declare const validatePasswordStrength: (password: string, rule: PasswordStrengthRule) => boolean;
|
|
4
|
+
export declare const calculatePasswordStrength: (password: string, rules?: PasswordStrengthRule[]) => number;
|
|
5
|
+
export declare const validationRules: {
|
|
6
|
+
required: (message?: string) => ValidationRule;
|
|
7
|
+
minLength: (length: number, message?: string) => ValidationRule;
|
|
8
|
+
maxLength: (length: number, message?: string) => ValidationRule;
|
|
9
|
+
email: (message?: string) => ValidationRule;
|
|
10
|
+
url: (message?: string) => ValidationRule;
|
|
11
|
+
number: (message?: string) => ValidationRule;
|
|
12
|
+
passwordStrength: (requirements: PasswordStrengthRule["requirements"], message?: string) => PasswordStrengthRule;
|
|
13
|
+
custom: (validator: (value: any, formValues?: Record<string, any>) => boolean | Promise<boolean>, message: string) => ValidationRule;
|
|
14
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ValidationRule, PasswordStrengthRule } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Cached validation function to avoid repeated expensive validations
|
|
4
|
+
*/
|
|
5
|
+
export declare const validateValueCached: (value: any, rules: ValidationRule[], formValues?: Record<string, any>) => Promise<string[]>;
|
|
6
|
+
/**
|
|
7
|
+
* Optimized password strength calculator with progressive enhancement
|
|
8
|
+
*/
|
|
9
|
+
export declare function calculatePasswordStrengthOptimized(password: string, rules?: PasswordStrengthRule[]): number;
|
|
10
|
+
/**
|
|
11
|
+
* Debounced validation hook for forms
|
|
12
|
+
*/
|
|
13
|
+
export declare function useDebouncedValidation(debounceMs?: number): (value: any, rules: ValidationRule[], formValues?: Record<string, any> | undefined) => void;
|
|
14
|
+
/**
|
|
15
|
+
* Batch validation for multiple fields
|
|
16
|
+
*/
|
|
17
|
+
export declare function validateMultipleFields(fieldsData: Array<{
|
|
18
|
+
name: string;
|
|
19
|
+
value: any;
|
|
20
|
+
rules: ValidationRule[];
|
|
21
|
+
}>, formValues?: Record<string, any>): Promise<Record<string, string[]>>;
|
|
22
|
+
/**
|
|
23
|
+
* Clear validation caches (useful for memory management)
|
|
24
|
+
*/
|
|
25
|
+
export declare function clearValidationCaches(): void;
|
|
26
|
+
/**
|
|
27
|
+
* Get validation cache statistics for monitoring
|
|
28
|
+
*/
|
|
29
|
+
export declare function getValidationCacheStats(): {
|
|
30
|
+
validationCacheSize: number;
|
|
31
|
+
passwordStrengthCacheSize: number;
|
|
32
|
+
oldestEntry: number;
|
|
33
|
+
};
|