@studio-helga/once-ui-core 1.7.8
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/README.md +54 -0
- package/dist/README.md +54 -0
- package/dist/components/Accordion.d.ts +25 -0
- package/dist/components/Accordion.d.ts.map +1 -0
- package/dist/components/Accordion.js +75 -0
- package/dist/components/Accordion.js.map +1 -0
- package/dist/components/Accordion.module.scss +5 -0
- package/dist/components/AccordionGroup.d.ts +16 -0
- package/dist/components/AccordionGroup.d.ts.map +1 -0
- package/dist/components/AccordionGroup.js +27 -0
- package/dist/components/AccordionGroup.js.map +1 -0
- package/dist/components/Animation.d.ts +34 -0
- package/dist/components/Animation.d.ts.map +1 -0
- package/dist/components/Animation.js +230 -0
- package/dist/components/Animation.js.map +1 -0
- package/dist/components/Arrow.d.ts +11 -0
- package/dist/components/Arrow.d.ts.map +1 -0
- package/dist/components/Arrow.js +33 -0
- package/dist/components/Arrow.js.map +1 -0
- package/dist/components/Arrow.module.scss +39 -0
- package/dist/components/ArrowNavigationContext.d.ts +33 -0
- package/dist/components/ArrowNavigationContext.d.ts.map +1 -0
- package/dist/components/ArrowNavigationContext.js +60 -0
- package/dist/components/ArrowNavigationContext.js.map +1 -0
- package/dist/components/AutoScroll.d.ts +14 -0
- package/dist/components/AutoScroll.d.ts.map +1 -0
- package/dist/components/AutoScroll.js +178 -0
- package/dist/components/AutoScroll.js.map +1 -0
- package/dist/components/AutoScroll.module.scss +9 -0
- package/dist/components/Avatar.d.ts +21 -0
- package/dist/components/Avatar.d.ts.map +1 -0
- package/dist/components/Avatar.js +54 -0
- package/dist/components/Avatar.js.map +1 -0
- package/dist/components/Avatar.module.scss +56 -0
- package/dist/components/AvatarGroup.d.ts +14 -0
- package/dist/components/AvatarGroup.d.ts.map +1 -0
- package/dist/components/AvatarGroup.js +20 -0
- package/dist/components/AvatarGroup.js.map +1 -0
- package/dist/components/AvatarGroup.module.scss +11 -0
- package/dist/components/Background.d.ts +49 -0
- package/dist/components/Background.d.ts.map +1 -0
- package/dist/components/Background.js +72 -0
- package/dist/components/Background.js.map +1 -0
- package/dist/components/Background.module.scss +23 -0
- package/dist/components/Badge.d.ts +17 -0
- package/dist/components/Badge.d.ts.map +1 -0
- package/dist/components/Badge.js +21 -0
- package/dist/components/Badge.js.map +1 -0
- package/dist/components/Badge.module.scss +67 -0
- package/dist/components/Banner.d.ts +6 -0
- package/dist/components/Banner.d.ts.map +1 -0
- package/dist/components/Banner.js +7 -0
- package/dist/components/Banner.js.map +1 -0
- package/dist/components/BlobFx.d.ts +8 -0
- package/dist/components/BlobFx.d.ts.map +1 -0
- package/dist/components/BlobFx.js +82 -0
- package/dist/components/BlobFx.js.map +1 -0
- package/dist/components/BlockQuote.d.ts +21 -0
- package/dist/components/BlockQuote.d.ts.map +1 -0
- package/dist/components/BlockQuote.js +10 -0
- package/dist/components/BlockQuote.js.map +1 -0
- package/dist/components/Button.d.ts +27 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.js +25 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/Button.module.scss +154 -0
- package/dist/components/Card.d.ts +13 -0
- package/dist/components/Card.d.ts.map +1 -0
- package/dist/components/Card.js +13 -0
- package/dist/components/Card.js.map +1 -0
- package/dist/components/Card.module.scss +7 -0
- package/dist/components/Carousel.d.ts +32 -0
- package/dist/components/Carousel.d.ts.map +1 -0
- package/dist/components/Carousel.js +156 -0
- package/dist/components/Carousel.js.map +1 -0
- package/dist/components/Carousel.module.scss +48 -0
- package/dist/components/CelebrationFx.d.ts +17 -0
- package/dist/components/CelebrationFx.d.ts.map +1 -0
- package/dist/components/CelebrationFx.js +314 -0
- package/dist/components/CelebrationFx.js.map +1 -0
- package/dist/components/Checkbox.d.ts +11 -0
- package/dist/components/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox.js +56 -0
- package/dist/components/Checkbox.js.map +1 -0
- package/dist/components/Chip.d.ts +17 -0
- package/dist/components/Chip.d.ts.map +1 -0
- package/dist/components/Chip.js +43 -0
- package/dist/components/Chip.js.map +1 -0
- package/dist/components/Chip.module.scss +39 -0
- package/dist/components/ClientFlex.d.ts +13 -0
- package/dist/components/ClientFlex.d.ts.map +1 -0
- package/dist/components/ClientFlex.js +110 -0
- package/dist/components/ClientFlex.js.map +1 -0
- package/dist/components/ClientGrid.d.ts +13 -0
- package/dist/components/ClientGrid.d.ts.map +1 -0
- package/dist/components/ClientGrid.js +110 -0
- package/dist/components/ClientGrid.js.map +1 -0
- package/dist/components/ColorInput.d.ts +11 -0
- package/dist/components/ColorInput.d.ts.map +1 -0
- package/dist/components/ColorInput.js +78 -0
- package/dist/components/ColorInput.js.map +1 -0
- package/dist/components/Column.d.ts +7 -0
- package/dist/components/Column.d.ts.map +1 -0
- package/dist/components/Column.js +10 -0
- package/dist/components/Column.js.map +1 -0
- package/dist/components/CompareImage.d.ts +16 -0
- package/dist/components/CompareImage.d.ts.map +1 -0
- package/dist/components/CompareImage.js +58 -0
- package/dist/components/CompareImage.js.map +1 -0
- package/dist/components/CompareImage.module.scss +14 -0
- package/dist/components/ContextMenu.d.ts +22 -0
- package/dist/components/ContextMenu.d.ts.map +1 -0
- package/dist/components/ContextMenu.js +224 -0
- package/dist/components/ContextMenu.js.map +1 -0
- package/dist/components/ContextMenu.module.scss +15 -0
- package/dist/components/CountFx.d.ts +15 -0
- package/dist/components/CountFx.d.ts.map +1 -0
- package/dist/components/CountFx.js +203 -0
- package/dist/components/CountFx.js.map +1 -0
- package/dist/components/CountdownFx.d.ts +11 -0
- package/dist/components/CountdownFx.d.ts.map +1 -0
- package/dist/components/CountdownFx.js +49 -0
- package/dist/components/CountdownFx.js.map +1 -0
- package/dist/components/Cursor.d.ts +8 -0
- package/dist/components/Cursor.d.ts.map +1 -0
- package/dist/components/Cursor.js +79 -0
- package/dist/components/Cursor.js.map +1 -0
- package/dist/components/CursorCard.d.ts +13 -0
- package/dist/components/CursorCard.d.ts.map +1 -0
- package/dist/components/CursorCard.js +63 -0
- package/dist/components/CursorCard.js.map +1 -0
- package/dist/components/CursorCard.module.scss +12 -0
- package/dist/components/DateInput.d.ts +18 -0
- package/dist/components/DateInput.d.ts.map +1 -0
- package/dist/components/DateInput.js +43 -0
- package/dist/components/DateInput.js.map +1 -0
- package/dist/components/DatePicker.d.ts +33 -0
- package/dist/components/DatePicker.d.ts.map +1 -0
- package/dist/components/DatePicker.js +487 -0
- package/dist/components/DatePicker.js.map +1 -0
- package/dist/components/DatePicker.module.scss +194 -0
- package/dist/components/DateRangeInput.d.ts +15 -0
- package/dist/components/DateRangeInput.d.ts.map +1 -0
- package/dist/components/DateRangeInput.js +45 -0
- package/dist/components/DateRangeInput.js.map +1 -0
- package/dist/components/DateRangePicker.d.ts +17 -0
- package/dist/components/DateRangePicker.d.ts.map +1 -0
- package/dist/components/DateRangePicker.js +78 -0
- package/dist/components/DateRangePicker.js.map +1 -0
- package/dist/components/Dialog.d.ts +21 -0
- package/dist/components/Dialog.d.ts.map +1 -0
- package/dist/components/Dialog.js +230 -0
- package/dist/components/Dialog.js.map +1 -0
- package/dist/components/Dialog.module.scss +33 -0
- package/dist/components/Dropdown.d.ts +13 -0
- package/dist/components/Dropdown.d.ts.map +1 -0
- package/dist/components/Dropdown.js +21 -0
- package/dist/components/Dropdown.js.map +1 -0
- package/dist/components/DropdownWrapper.d.ts +29 -0
- package/dist/components/DropdownWrapper.d.ts.map +1 -0
- package/dist/components/DropdownWrapper.js +505 -0
- package/dist/components/DropdownWrapper.js.map +1 -0
- package/dist/components/DropdownWrapper.module.scss +15 -0
- package/dist/components/ElementType.d.ts +14 -0
- package/dist/components/ElementType.d.ts.map +1 -0
- package/dist/components/ElementType.js +21 -0
- package/dist/components/ElementType.js.map +1 -0
- package/dist/components/EmojiPicker.d.ts +16 -0
- package/dist/components/EmojiPicker.d.ts.map +1 -0
- package/dist/components/EmojiPicker.js +178 -0
- package/dist/components/EmojiPicker.js.map +1 -0
- package/dist/components/EmojiPicker.module.scss +14 -0
- package/dist/components/EmojiPickerDropdown.d.ts +11 -0
- package/dist/components/EmojiPickerDropdown.d.ts.map +1 -0
- package/dist/components/EmojiPickerDropdown.js +14 -0
- package/dist/components/EmojiPickerDropdown.js.map +1 -0
- package/dist/components/Fade.d.ts +19 -0
- package/dist/components/Fade.d.ts.map +1 -0
- package/dist/components/Fade.js +43 -0
- package/dist/components/Fade.js.map +1 -0
- package/dist/components/Fade.module.scss +6 -0
- package/dist/components/FadingLettersFx.d.ts +15 -0
- package/dist/components/FadingLettersFx.d.ts.map +1 -0
- package/dist/components/FadingLettersFx.js +27 -0
- package/dist/components/FadingLettersFx.js.map +1 -0
- package/dist/components/FadingLettersFx.module.scss +71 -0
- package/dist/components/Feedback.d.ts +16 -0
- package/dist/components/Feedback.d.ts.map +1 -0
- package/dist/components/Feedback.js +16 -0
- package/dist/components/Feedback.js.map +1 -0
- package/dist/components/Flex.d.ts +11 -0
- package/dist/components/Flex.d.ts.map +1 -0
- package/dist/components/Flex.js +31 -0
- package/dist/components/Flex.js.map +1 -0
- package/dist/components/FlipFx.d.ts +17 -0
- package/dist/components/FlipFx.d.ts.map +1 -0
- package/dist/components/FlipFx.js +76 -0
- package/dist/components/FlipFx.js.map +1 -0
- package/dist/components/FocusTrap.d.ts +16 -0
- package/dist/components/FocusTrap.d.ts.map +1 -0
- package/dist/components/FocusTrap.js +87 -0
- package/dist/components/FocusTrap.js.map +1 -0
- package/dist/components/GlitchFx.d.ts +12 -0
- package/dist/components/GlitchFx.d.ts.map +1 -0
- package/dist/components/GlitchFx.js +41 -0
- package/dist/components/GlitchFx.js.map +1 -0
- package/dist/components/GlitchFx.module.scss +92 -0
- package/dist/components/Grid.d.ts +11 -0
- package/dist/components/Grid.d.ts.map +1 -0
- package/dist/components/Grid.js +32 -0
- package/dist/components/Grid.js.map +1 -0
- package/dist/components/Heading.d.ts +9 -0
- package/dist/components/Heading.d.ts.map +1 -0
- package/dist/components/Heading.js +50 -0
- package/dist/components/Heading.js.map +1 -0
- package/dist/components/HoloFx.d.ts +32 -0
- package/dist/components/HoloFx.d.ts.map +1 -0
- package/dist/components/HoloFx.js +90 -0
- package/dist/components/HoloFx.js.map +1 -0
- package/dist/components/HoloFx.module.scss +32 -0
- package/dist/components/Hover.d.ts +14 -0
- package/dist/components/Hover.d.ts.map +1 -0
- package/dist/components/Hover.js +99 -0
- package/dist/components/Hover.js.map +1 -0
- package/dist/components/Hover.module.scss +12 -0
- package/dist/components/HoverCard.d.ts +5 -0
- package/dist/components/HoverCard.d.ts.map +1 -0
- package/dist/components/HoverCard.js +10 -0
- package/dist/components/HoverCard.js.map +1 -0
- package/dist/components/HoverCard.module.scss +12 -0
- package/dist/components/Icon.d.ts +18 -0
- package/dist/components/Icon.d.ts.map +1 -0
- package/dist/components/Icon.js +35 -0
- package/dist/components/Icon.js.map +1 -0
- package/dist/components/Icon.module.scss +19 -0
- package/dist/components/IconButton.d.ts +23 -0
- package/dist/components/IconButton.d.ts.map +1 -0
- package/dist/components/IconButton.js +23 -0
- package/dist/components/IconButton.js.map +1 -0
- package/dist/components/IconButton.module.scss +34 -0
- package/dist/components/InfiniteScroll.d.ts +16 -0
- package/dist/components/InfiniteScroll.d.ts.map +1 -0
- package/dist/components/InfiniteScroll.js +52 -0
- package/dist/components/InfiniteScroll.js.map +1 -0
- package/dist/components/InlineCode.d.ts +10 -0
- package/dist/components/InlineCode.d.ts.map +1 -0
- package/dist/components/InlineCode.js +12 -0
- package/dist/components/InlineCode.js.map +1 -0
- package/dist/components/InlineCode.module.scss +5 -0
- package/dist/components/Input.d.ts +24 -0
- package/dist/components/Input.d.ts.map +1 -0
- package/dist/components/Input.js +82 -0
- package/dist/components/Input.js.map +1 -0
- package/dist/components/Input.module.scss +196 -0
- package/dist/components/InteractiveDetails.d.ts +15 -0
- package/dist/components/InteractiveDetails.d.ts.map +1 -0
- package/dist/components/InteractiveDetails.js +10 -0
- package/dist/components/InteractiveDetails.js.map +1 -0
- package/dist/components/Kbd.d.ts +12 -0
- package/dist/components/Kbd.d.ts.map +1 -0
- package/dist/components/Kbd.js +7 -0
- package/dist/components/Kbd.js.map +1 -0
- package/dist/components/LetterFx.d.ts +13 -0
- package/dist/components/LetterFx.d.ts.map +1 -0
- package/dist/components/LetterFx.js +80 -0
- package/dist/components/LetterFx.js.map +1 -0
- package/dist/components/Line.d.ts +9 -0
- package/dist/components/Line.d.ts.map +1 -0
- package/dist/components/Line.js +10 -0
- package/dist/components/Line.js.map +1 -0
- package/dist/components/List.d.ts +11 -0
- package/dist/components/List.d.ts.map +1 -0
- package/dist/components/List.js +13 -0
- package/dist/components/List.js.map +1 -0
- package/dist/components/List.module.scss +5 -0
- package/dist/components/ListItem.d.ts +10 -0
- package/dist/components/ListItem.d.ts.map +1 -0
- package/dist/components/ListItem.js +13 -0
- package/dist/components/ListItem.js.map +1 -0
- package/dist/components/Logo.d.ts +18 -0
- package/dist/components/Logo.d.ts.map +1 -0
- package/dist/components/Logo.js +99 -0
- package/dist/components/Logo.js.map +1 -0
- package/dist/components/LogoCloud.d.ts +14 -0
- package/dist/components/LogoCloud.d.ts.map +1 -0
- package/dist/components/LogoCloud.js +38 -0
- package/dist/components/LogoCloud.js.map +1 -0
- package/dist/components/LogoCloud.module.scss +42 -0
- package/dist/components/Mask.d.ts +15 -0
- package/dist/components/Mask.d.ts.map +1 -0
- package/dist/components/Mask.js +107 -0
- package/dist/components/Mask.js.map +1 -0
- package/dist/components/Mask.module.scss +8 -0
- package/dist/components/MasonryGrid.d.ts +22 -0
- package/dist/components/MasonryGrid.d.ts.map +1 -0
- package/dist/components/MasonryGrid.js +53 -0
- package/dist/components/MasonryGrid.js.map +1 -0
- package/dist/components/MasonryGrid.module.scss +199 -0
- package/dist/components/MatrixFx.d.ts +27 -0
- package/dist/components/MatrixFx.d.ts.map +1 -0
- package/dist/components/MatrixFx.js +799 -0
- package/dist/components/MatrixFx.js.map +1 -0
- package/dist/components/Media.d.ts +26 -0
- package/dist/components/Media.d.ts.map +1 -0
- package/dist/components/Media.js +112 -0
- package/dist/components/Media.js.map +1 -0
- package/dist/components/Modal.d.ts +11 -0
- package/dist/components/Modal.d.ts.map +1 -0
- package/dist/components/Modal.js +72 -0
- package/dist/components/Modal.js.map +1 -0
- package/dist/components/NavIcon.d.ts +11 -0
- package/dist/components/NavIcon.d.ts.map +1 -0
- package/dist/components/NavIcon.js +11 -0
- package/dist/components/NavIcon.js.map +1 -0
- package/dist/components/NavIcon.module.scss +25 -0
- package/dist/components/NumberInput.d.ts +13 -0
- package/dist/components/NumberInput.d.ts.map +1 -0
- package/dist/components/NumberInput.js +44 -0
- package/dist/components/NumberInput.js.map +1 -0
- package/dist/components/NumberInput.module.scss +18 -0
- package/dist/components/OTPInput.d.ts +13 -0
- package/dist/components/OTPInput.d.ts.map +1 -0
- package/dist/components/OTPInput.js +71 -0
- package/dist/components/OTPInput.js.map +1 -0
- package/dist/components/OTPInput.module.scss +26 -0
- package/dist/components/OgCard.d.ts +34 -0
- package/dist/components/OgCard.d.ts.map +1 -0
- package/dist/components/OgCard.js +102 -0
- package/dist/components/OgCard.js.map +1 -0
- package/dist/components/Option.d.ts +21 -0
- package/dist/components/Option.d.ts.map +1 -0
- package/dist/components/Option.js +93 -0
- package/dist/components/Option.js.map +1 -0
- package/dist/components/Option.module.scss +47 -0
- package/dist/components/Particle.d.ts +21 -0
- package/dist/components/Particle.d.ts.map +1 -0
- package/dist/components/Particle.js +140 -0
- package/dist/components/Particle.js.map +1 -0
- package/dist/components/PasswordInput.d.ts +4 -0
- package/dist/components/PasswordInput.d.ts.map +1 -0
- package/dist/components/PasswordInput.js +12 -0
- package/dist/components/PasswordInput.js.map +1 -0
- package/dist/components/ProgressBar.d.ts +15 -0
- package/dist/components/ProgressBar.d.ts.map +1 -0
- package/dist/components/ProgressBar.js +12 -0
- package/dist/components/ProgressBar.js.map +1 -0
- package/dist/components/Pulse.d.ts +13 -0
- package/dist/components/Pulse.d.ts.map +1 -0
- package/dist/components/Pulse.js +11 -0
- package/dist/components/Pulse.js.map +1 -0
- package/dist/components/Pulse.module.scss +22 -0
- package/dist/components/RadioButton.d.ts +15 -0
- package/dist/components/RadioButton.d.ts.map +1 -0
- package/dist/components/RadioButton.js +45 -0
- package/dist/components/RadioButton.js.map +1 -0
- package/dist/components/RevealFx.d.ts +16 -0
- package/dist/components/RevealFx.d.ts.map +1 -0
- package/dist/components/RevealFx.js +83 -0
- package/dist/components/RevealFx.js.map +1 -0
- package/dist/components/RevealFx.module.scss +27 -0
- package/dist/components/Row.d.ts +7 -0
- package/dist/components/Row.d.ts.map +1 -0
- package/dist/components/Row.js +10 -0
- package/dist/components/Row.js.map +1 -0
- package/dist/components/ScrollContainer.d.ts +9 -0
- package/dist/components/ScrollContainer.d.ts.map +1 -0
- package/dist/components/ScrollContainer.js +67 -0
- package/dist/components/ScrollContainer.js.map +1 -0
- package/dist/components/ScrollLock.d.ts +8 -0
- package/dist/components/ScrollLock.d.ts.map +1 -0
- package/dist/components/ScrollLock.js +112 -0
- package/dist/components/ScrollLock.js.map +1 -0
- package/dist/components/ScrollToTop.d.ts +7 -0
- package/dist/components/ScrollToTop.d.ts.map +1 -0
- package/dist/components/ScrollToTop.js +24 -0
- package/dist/components/ScrollToTop.js.map +1 -0
- package/dist/components/ScrollToTop.module.scss +11 -0
- package/dist/components/Scroller.d.ts +14 -0
- package/dist/components/Scroller.d.ts.map +1 -0
- package/dist/components/Scroller.js +100 -0
- package/dist/components/Scroller.js.map +1 -0
- package/dist/components/Scroller.module.scss +20 -0
- package/dist/components/SegmentedControl.d.ts +18 -0
- package/dist/components/SegmentedControl.d.ts.map +1 -0
- package/dist/components/SegmentedControl.js +70 -0
- package/dist/components/SegmentedControl.js.map +1 -0
- package/dist/components/Select.d.ts +19 -0
- package/dist/components/Select.d.ts.map +1 -0
- package/dist/components/Select.js +170 -0
- package/dist/components/Select.js.map +1 -0
- package/dist/components/ServerFlex.d.ts +12 -0
- package/dist/components/ServerFlex.d.ts.map +1 -0
- package/dist/components/ServerFlex.js +282 -0
- package/dist/components/ServerFlex.js.map +1 -0
- package/dist/components/ServerGrid.d.ts +13 -0
- package/dist/components/ServerGrid.d.ts.map +1 -0
- package/dist/components/ServerGrid.js +207 -0
- package/dist/components/ServerGrid.js.map +1 -0
- package/dist/components/SharedInteractiveStyles.module.scss +91 -0
- package/dist/components/ShineFx.d.ts +13 -0
- package/dist/components/ShineFx.d.ts.map +1 -0
- package/dist/components/ShineFx.js +19 -0
- package/dist/components/ShineFx.js.map +1 -0
- package/dist/components/ShineFx.module.scss +50 -0
- package/dist/components/Skeleton.d.ts +13 -0
- package/dist/components/Skeleton.d.ts.map +1 -0
- package/dist/components/Skeleton.js +12 -0
- package/dist/components/Skeleton.js.map +1 -0
- package/dist/components/Skeleton.module.scss +120 -0
- package/dist/components/Slider.d.ts +17 -0
- package/dist/components/Slider.d.ts.map +1 -0
- package/dist/components/Slider.js +29 -0
- package/dist/components/Slider.js.map +1 -0
- package/dist/components/Slider.module.scss +75 -0
- package/dist/components/SmartLink.d.ts +18 -0
- package/dist/components/SmartLink.d.ts.map +1 -0
- package/dist/components/SmartLink.js +36 -0
- package/dist/components/SmartLink.js.map +1 -0
- package/dist/components/Spinner.d.ts +11 -0
- package/dist/components/Spinner.d.ts.map +1 -0
- package/dist/components/Spinner.js +11 -0
- package/dist/components/Spinner.js.map +1 -0
- package/dist/components/Spinner.module.scss +71 -0
- package/dist/components/SplitView.d.ts +16 -0
- package/dist/components/SplitView.d.ts.map +1 -0
- package/dist/components/SplitView.js +80 -0
- package/dist/components/SplitView.js.map +1 -0
- package/dist/components/SplitView.module.scss +18 -0
- package/dist/components/StatusIndicator.d.ts +12 -0
- package/dist/components/StatusIndicator.d.ts.map +1 -0
- package/dist/components/StatusIndicator.js +11 -0
- package/dist/components/StatusIndicator.js.map +1 -0
- package/dist/components/StatusIndicator.module.scss +72 -0
- package/dist/components/StyleOverlay.d.ts +10 -0
- package/dist/components/StyleOverlay.d.ts.map +1 -0
- package/dist/components/StyleOverlay.js +17 -0
- package/dist/components/StyleOverlay.js.map +1 -0
- package/dist/components/StyleOverlay.module.scss +18 -0
- package/dist/components/StylePanel.d.ts +8 -0
- package/dist/components/StylePanel.d.ts.map +1 -0
- package/dist/components/StylePanel.js +193 -0
- package/dist/components/StylePanel.js.map +1 -0
- package/dist/components/StylePanel.module.scss +127 -0
- package/dist/components/Swiper.d.ts +17 -0
- package/dist/components/Swiper.d.ts.map +1 -0
- package/dist/components/Swiper.js +170 -0
- package/dist/components/Swiper.js.map +1 -0
- package/dist/components/Swiper.module.scss +31 -0
- package/dist/components/Switch.d.ts +17 -0
- package/dist/components/Switch.d.ts.map +1 -0
- package/dist/components/Switch.js +33 -0
- package/dist/components/Switch.js.map +1 -0
- package/dist/components/Switch.module.scss +102 -0
- package/dist/components/Table.d.ts +16 -0
- package/dist/components/Table.d.ts.map +1 -0
- package/dist/components/Table.js +44 -0
- package/dist/components/Table.js.map +1 -0
- package/dist/components/Table.module.scss +5 -0
- package/dist/components/Tag.d.ts +16 -0
- package/dist/components/Tag.d.ts.map +1 -0
- package/dist/components/Tag.js +14 -0
- package/dist/components/Tag.js.map +1 -0
- package/dist/components/Tag.module.scss +10 -0
- package/dist/components/TagInput.d.ts +9 -0
- package/dist/components/TagInput.d.ts.map +1 -0
- package/dist/components/TagInput.js +36 -0
- package/dist/components/TagInput.js.map +1 -0
- package/dist/components/Text.d.ts +9 -0
- package/dist/components/Text.d.ts.map +1 -0
- package/dist/components/Text.js +50 -0
- package/dist/components/Text.js.map +1 -0
- package/dist/components/Textarea.d.ts +24 -0
- package/dist/components/Textarea.d.ts.map +1 -0
- package/dist/components/Textarea.js +109 -0
- package/dist/components/Textarea.js.map +1 -0
- package/dist/components/ThemeInit.d.ts +20 -0
- package/dist/components/ThemeInit.d.ts.map +1 -0
- package/dist/components/ThemeInit.js +46 -0
- package/dist/components/ThemeInit.js.map +1 -0
- package/dist/components/ThemeSwitcher.d.ts +4 -0
- package/dist/components/ThemeSwitcher.d.ts.map +1 -0
- package/dist/components/ThemeSwitcher.js +21 -0
- package/dist/components/ThemeSwitcher.js.map +1 -0
- package/dist/components/TiltFx.d.ts +10 -0
- package/dist/components/TiltFx.d.ts.map +1 -0
- package/dist/components/TiltFx.js +67 -0
- package/dist/components/TiltFx.js.map +1 -0
- package/dist/components/TiltFx.module.scss +11 -0
- package/dist/components/Timeline.d.ts +18 -0
- package/dist/components/Timeline.d.ts.map +1 -0
- package/dist/components/Timeline.js +72 -0
- package/dist/components/Timeline.js.map +1 -0
- package/dist/components/Toast.d.ts +12 -0
- package/dist/components/Toast.d.ts.map +1 -0
- package/dist/components/Toast.js +29 -0
- package/dist/components/Toast.js.map +1 -0
- package/dist/components/Toast.module.scss +11 -0
- package/dist/components/Toaster.d.ts +19 -0
- package/dist/components/Toaster.d.ts.map +1 -0
- package/dist/components/Toaster.js +47 -0
- package/dist/components/Toaster.js.map +1 -0
- package/dist/components/Toaster.module.scss +58 -0
- package/dist/components/ToggleButton.d.ts +25 -0
- package/dist/components/ToggleButton.d.ts.map +1 -0
- package/dist/components/ToggleButton.js +20 -0
- package/dist/components/ToggleButton.js.map +1 -0
- package/dist/components/ToggleButton.module.scss +73 -0
- package/dist/components/Tooltip.d.ts +13 -0
- package/dist/components/Tooltip.d.ts.map +1 -0
- package/dist/components/Tooltip.js +15 -0
- package/dist/components/Tooltip.js.map +1 -0
- package/dist/components/Tooltip.module.scss +14 -0
- package/dist/components/TypeFx.d.ts +15 -0
- package/dist/components/TypeFx.d.ts.map +1 -0
- package/dist/components/TypeFx.js +84 -0
- package/dist/components/TypeFx.js.map +1 -0
- package/dist/components/User.d.ts +16 -0
- package/dist/components/User.d.ts.map +1 -0
- package/dist/components/User.js +13 -0
- package/dist/components/User.js.map +1 -0
- package/dist/components/UserMenu.d.ts +13 -0
- package/dist/components/UserMenu.d.ts.map +1 -0
- package/dist/components/UserMenu.js +13 -0
- package/dist/components/UserMenu.js.map +1 -0
- package/dist/components/UserMenu.module.scss +14 -0
- package/dist/components/WeatherFx.d.ts +18 -0
- package/dist/components/WeatherFx.d.ts.map +1 -0
- package/dist/components/WeatherFx.js +864 -0
- package/dist/components/WeatherFx.js.map +1 -0
- package/dist/components/index.d.ts +121 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +121 -0
- package/dist/components/index.js.map +1 -0
- package/dist/contexts/DataThemeProvider.d.ts +26 -0
- package/dist/contexts/DataThemeProvider.d.ts.map +1 -0
- package/dist/contexts/DataThemeProvider.js +103 -0
- package/dist/contexts/DataThemeProvider.js.map +1 -0
- package/dist/contexts/IconProvider.d.ts +12 -0
- package/dist/contexts/IconProvider.d.ts.map +1 -0
- package/dist/contexts/IconProvider.js +20 -0
- package/dist/contexts/IconProvider.js.map +1 -0
- package/dist/contexts/LayoutProvider.d.ts +27 -0
- package/dist/contexts/LayoutProvider.d.ts.map +1 -0
- package/dist/contexts/LayoutProvider.js +96 -0
- package/dist/contexts/LayoutProvider.js.map +1 -0
- package/dist/contexts/ThemeProvider.d.ts +49 -0
- package/dist/contexts/ThemeProvider.d.ts.map +1 -0
- package/dist/contexts/ThemeProvider.js +285 -0
- package/dist/contexts/ThemeProvider.js.map +1 -0
- package/dist/contexts/ToastProvider.d.ts +24 -0
- package/dist/contexts/ToastProvider.d.ts.map +1 -0
- package/dist/contexts/ToastProvider.js +34 -0
- package/dist/contexts/ToastProvider.js.map +1 -0
- package/dist/contexts/index.d.ts +6 -0
- package/dist/contexts/index.d.ts.map +1 -0
- package/dist/contexts/index.js +6 -0
- package/dist/contexts/index.js.map +1 -0
- package/dist/css/styles.css +1 -0
- package/dist/css/styles.css.map +1 -0
- package/dist/css/tokens.css +1 -0
- package/dist/css/tokens.css.map +1 -0
- package/dist/data/emoji-data.json +16062 -0
- package/dist/hooks/index.d.ts +8 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +8 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useArrowNavigation.d.ts +23 -0
- package/dist/hooks/useArrowNavigation.d.ts.map +1 -0
- package/dist/hooks/useArrowNavigation.js +205 -0
- package/dist/hooks/useArrowNavigation.js.map +1 -0
- package/dist/hooks/useDebounce.d.ts +2 -0
- package/dist/hooks/useDebounce.d.ts.map +1 -0
- package/dist/hooks/useDebounce.js +15 -0
- package/dist/hooks/useDebounce.js.map +1 -0
- package/dist/hooks/useFetchOg.d.ts +17 -0
- package/dist/hooks/useFetchOg.d.ts.map +1 -0
- package/dist/hooks/useFetchOg.js +63 -0
- package/dist/hooks/useFetchOg.js.map +1 -0
- package/dist/hooks/useHeadingLinks.d.ts +6 -0
- package/dist/hooks/useHeadingLinks.d.ts.map +1 -0
- package/dist/hooks/useHeadingLinks.js +17 -0
- package/dist/hooks/useHeadingLinks.js.map +1 -0
- package/dist/hooks/useInViewport.d.ts +3 -0
- package/dist/hooks/useInViewport.d.ts.map +1 -0
- package/dist/hooks/useInViewport.js +19 -0
- package/dist/hooks/useInViewport.js.map +1 -0
- package/dist/hooks/useReducedMotion.d.ts +8 -0
- package/dist/hooks/useReducedMotion.d.ts.map +1 -0
- package/dist/hooks/useReducedMotion.js +44 -0
- package/dist/hooks/useReducedMotion.js.map +1 -0
- package/dist/hooks/useResponsiveClasses.d.ts +9 -0
- package/dist/hooks/useResponsiveClasses.d.ts.map +1 -0
- package/dist/hooks/useResponsiveClasses.js +250 -0
- package/dist/hooks/useResponsiveClasses.js.map +1 -0
- package/dist/hooks/useStreamingData.d.ts +24 -0
- package/dist/hooks/useStreamingData.d.ts.map +1 -0
- package/dist/hooks/useStreamingData.js +89 -0
- package/dist/hooks/useStreamingData.js.map +1 -0
- package/dist/hooks/useStreamingViewport.d.ts +25 -0
- package/dist/hooks/useStreamingViewport.d.ts.map +1 -0
- package/dist/hooks/useStreamingViewport.js +120 -0
- package/dist/hooks/useStreamingViewport.js.map +1 -0
- package/dist/icons.d.ts +5 -0
- package/dist/icons.d.ts.map +1 -0
- package/dist/icons.js +56 -0
- package/dist/icons.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces.d.ts +177 -0
- package/dist/interfaces.d.ts.map +1 -0
- package/dist/interfaces.js +2 -0
- package/dist/interfaces.js.map +1 -0
- package/dist/modules/code/CodeBlock.d.ts +6 -0
- package/dist/modules/code/CodeBlock.d.ts.map +1 -0
- package/dist/modules/code/CodeBlock.impl.d.ts +34 -0
- package/dist/modules/code/CodeBlock.impl.d.ts.map +1 -0
- package/dist/modules/code/CodeBlock.impl.js +497 -0
- package/dist/modules/code/CodeBlock.impl.js.map +1 -0
- package/dist/modules/code/CodeBlock.js +14 -0
- package/dist/modules/code/CodeBlock.js.map +1 -0
- package/dist/modules/code/CodeBlock.module.scss +43 -0
- package/dist/modules/code/CodeDiff.css +175 -0
- package/dist/modules/code/CodeHighlight.css +116 -0
- package/dist/modules/code/LineNumber.css +34 -0
- package/dist/modules/data/BarChart.d.ts +6 -0
- package/dist/modules/data/BarChart.d.ts.map +1 -0
- package/dist/modules/data/BarChart.impl.d.ts +12 -0
- package/dist/modules/data/BarChart.impl.d.ts.map +1 -0
- package/dist/modules/data/BarChart.impl.js +129 -0
- package/dist/modules/data/BarChart.impl.js.map +1 -0
- package/dist/modules/data/BarChart.js +14 -0
- package/dist/modules/data/BarChart.js.map +1 -0
- package/dist/modules/data/ChartHeader.d.ts +14 -0
- package/dist/modules/data/ChartHeader.d.ts.map +1 -0
- package/dist/modules/data/ChartHeader.js +116 -0
- package/dist/modules/data/ChartHeader.js.map +1 -0
- package/dist/modules/data/ChartStatus.d.ts +10 -0
- package/dist/modules/data/ChartStatus.d.ts.map +1 -0
- package/dist/modules/data/ChartStatus.js +10 -0
- package/dist/modules/data/ChartStatus.js.map +1 -0
- package/dist/modules/data/DataTooltip.d.ts +16 -0
- package/dist/modules/data/DataTooltip.d.ts.map +1 -0
- package/dist/modules/data/DataTooltip.js +16 -0
- package/dist/modules/data/DataTooltip.js.map +1 -0
- package/dist/modules/data/Gauge.module.css +27 -0
- package/dist/modules/data/Gradient.d.ts +32 -0
- package/dist/modules/data/Gradient.d.ts.map +1 -0
- package/dist/modules/data/Gradient.js +56 -0
- package/dist/modules/data/Gradient.js.map +1 -0
- package/dist/modules/data/Legend.d.ts +15 -0
- package/dist/modules/data/Legend.d.ts.map +1 -0
- package/dist/modules/data/Legend.js +69 -0
- package/dist/modules/data/Legend.js.map +1 -0
- package/dist/modules/data/LineBarChart.d.ts +6 -0
- package/dist/modules/data/LineBarChart.d.ts.map +1 -0
- package/dist/modules/data/LineBarChart.impl.d.ts +12 -0
- package/dist/modules/data/LineBarChart.impl.d.ts.map +1 -0
- package/dist/modules/data/LineBarChart.impl.js +124 -0
- package/dist/modules/data/LineBarChart.impl.js.map +1 -0
- package/dist/modules/data/LineBarChart.js +14 -0
- package/dist/modules/data/LineBarChart.js.map +1 -0
- package/dist/modules/data/LineChart.d.ts +6 -0
- package/dist/modules/data/LineChart.d.ts.map +1 -0
- package/dist/modules/data/LineChart.impl.d.ts +17 -0
- package/dist/modules/data/LineChart.impl.d.ts.map +1 -0
- package/dist/modules/data/LineChart.impl.js +137 -0
- package/dist/modules/data/LineChart.impl.js.map +1 -0
- package/dist/modules/data/LineChart.js +14 -0
- package/dist/modules/data/LineChart.js.map +1 -0
- package/dist/modules/data/LinearGauge.d.ts +18 -0
- package/dist/modules/data/LinearGauge.d.ts.map +1 -0
- package/dist/modules/data/LinearGauge.js +78 -0
- package/dist/modules/data/LinearGauge.js.map +1 -0
- package/dist/modules/data/PieChart.d.ts +6 -0
- package/dist/modules/data/PieChart.d.ts.map +1 -0
- package/dist/modules/data/PieChart.impl.d.ts +18 -0
- package/dist/modules/data/PieChart.impl.d.ts.map +1 -0
- package/dist/modules/data/PieChart.impl.js +100 -0
- package/dist/modules/data/PieChart.impl.js.map +1 -0
- package/dist/modules/data/PieChart.js +14 -0
- package/dist/modules/data/PieChart.js.map +1 -0
- package/dist/modules/data/RadialGauge.d.ts +25 -0
- package/dist/modules/data/RadialGauge.d.ts.map +1 -0
- package/dist/modules/data/RadialGauge.js +94 -0
- package/dist/modules/data/RadialGauge.js.map +1 -0
- package/dist/modules/data/Swatch.d.ts +9 -0
- package/dist/modules/data/Swatch.d.ts.map +1 -0
- package/dist/modules/data/Swatch.js +44 -0
- package/dist/modules/data/Swatch.js.map +1 -0
- package/dist/modules/data/index.d.ts +14 -0
- package/dist/modules/data/index.d.ts.map +1 -0
- package/dist/modules/data/index.js +14 -0
- package/dist/modules/data/index.js.map +1 -0
- package/dist/modules/data/interfaces.d.ts +53 -0
- package/dist/modules/data/interfaces.d.ts.map +1 -0
- package/dist/modules/data/interfaces.js +2 -0
- package/dist/modules/data/interfaces.js.map +1 -0
- package/dist/modules/data/rechartsLoader.d.ts +2 -0
- package/dist/modules/data/rechartsLoader.d.ts.map +1 -0
- package/dist/modules/data/rechartsLoader.js +15 -0
- package/dist/modules/data/rechartsLoader.js.map +1 -0
- package/dist/modules/data/utils/colorDistribution.d.ts +10 -0
- package/dist/modules/data/utils/colorDistribution.d.ts.map +1 -0
- package/dist/modules/data/utils/colorDistribution.js +46 -0
- package/dist/modules/data/utils/colorDistribution.js.map +1 -0
- package/dist/modules/data/utils/formatDate.d.ts +12 -0
- package/dist/modules/data/utils/formatDate.d.ts.map +1 -0
- package/dist/modules/data/utils/formatDate.js +30 -0
- package/dist/modules/data/utils/formatDate.js.map +1 -0
- package/dist/modules/index.d.ts +6 -0
- package/dist/modules/index.d.ts.map +1 -0
- package/dist/modules/index.js +7 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/modules/media/MediaUpload.d.ts +6 -0
- package/dist/modules/media/MediaUpload.d.ts.map +1 -0
- package/dist/modules/media/MediaUpload.impl.d.ts +24 -0
- package/dist/modules/media/MediaUpload.impl.d.ts.map +1 -0
- package/dist/modules/media/MediaUpload.impl.js +106 -0
- package/dist/modules/media/MediaUpload.impl.js.map +1 -0
- package/dist/modules/media/MediaUpload.js +14 -0
- package/dist/modules/media/MediaUpload.js.map +1 -0
- package/dist/modules/media/MediaUpload.module.scss +24 -0
- package/dist/modules/navigation/HeadingLink.d.ts +11 -0
- package/dist/modules/navigation/HeadingLink.d.ts.map +1 -0
- package/dist/modules/navigation/HeadingLink.js +39 -0
- package/dist/modules/navigation/HeadingLink.js.map +1 -0
- package/dist/modules/navigation/HeadingLink.module.scss +15 -0
- package/dist/modules/navigation/HeadingNav.d.ts +8 -0
- package/dist/modules/navigation/HeadingNav.d.ts.map +1 -0
- package/dist/modules/navigation/HeadingNav.js +168 -0
- package/dist/modules/navigation/HeadingNav.js.map +1 -0
- package/dist/modules/navigation/Kbar.d.ts +34 -0
- package/dist/modules/navigation/Kbar.d.ts.map +1 -0
- package/dist/modules/navigation/Kbar.js +192 -0
- package/dist/modules/navigation/Kbar.js.map +1 -0
- package/dist/modules/navigation/Kbar.module.scss +60 -0
- package/dist/modules/navigation/MegaMenu.d.ts +28 -0
- package/dist/modules/navigation/MegaMenu.d.ts.map +1 -0
- package/dist/modules/navigation/MegaMenu.js +182 -0
- package/dist/modules/navigation/MegaMenu.js.map +1 -0
- package/dist/modules/navigation/MegaMenu.module.scss +14 -0
- package/dist/modules/navigation/MobileMegaMenu.d.ts +28 -0
- package/dist/modules/navigation/MobileMegaMenu.d.ts.map +1 -0
- package/dist/modules/navigation/MobileMegaMenu.js +22 -0
- package/dist/modules/navigation/MobileMegaMenu.js.map +1 -0
- package/dist/modules/navigation/index.d.ts +6 -0
- package/dist/modules/navigation/index.d.ts.map +1 -0
- package/dist/modules/navigation/index.js +6 -0
- package/dist/modules/navigation/index.js.map +1 -0
- package/dist/modules/seo/Meta.d.ts +29 -0
- package/dist/modules/seo/Meta.d.ts.map +1 -0
- package/dist/modules/seo/Meta.js +53 -0
- package/dist/modules/seo/Meta.js.map +1 -0
- package/dist/modules/seo/Schema.d.ts +19 -0
- package/dist/modules/seo/Schema.d.ts.map +1 -0
- package/dist/modules/seo/Schema.js +65 -0
- package/dist/modules/seo/Schema.js.map +1 -0
- package/dist/package.json +130 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +2 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/og-utils.d.ts +20 -0
- package/dist/server/og-utils.d.ts.map +1 -0
- package/dist/server/og-utils.js +125 -0
- package/dist/server/og-utils.js.map +1 -0
- package/dist/styles/background.scss +423 -0
- package/dist/styles/border.scss +546 -0
- package/dist/styles/breakpoints.scss +28 -0
- package/dist/styles/color.scss +183 -0
- package/dist/styles/display.scss +391 -0
- package/dist/styles/flex.scss +518 -0
- package/dist/styles/global.scss +36 -0
- package/dist/styles/grid.scss +293 -0
- package/dist/styles/index.scss +14 -0
- package/dist/styles/position.scss +1549 -0
- package/dist/styles/shadow.scss +19 -0
- package/dist/styles/size.scss +53 -0
- package/dist/styles/spacing.scss +1505 -0
- package/dist/styles/typography.scss +215 -0
- package/dist/styles/utilities.scss +23 -0
- package/dist/test/dialogTestUtils.d.ts +2 -0
- package/dist/test/dialogTestUtils.d.ts.map +1 -0
- package/dist/test/dialogTestUtils.js +12 -0
- package/dist/test/dialogTestUtils.js.map +1 -0
- package/dist/test/setup.d.ts +2 -0
- package/dist/test/setup.d.ts.map +1 -0
- package/dist/test/setup.js +59 -0
- package/dist/test/setup.js.map +1 -0
- package/dist/tokens/border.scss +95 -0
- package/dist/tokens/data.scss +107 -0
- package/dist/tokens/function.scss +742 -0
- package/dist/tokens/index.scss +8 -0
- package/dist/tokens/layout.scss +275 -0
- package/dist/tokens/scheme.scss +352 -0
- package/dist/tokens/shadow.scss +7 -0
- package/dist/tokens/theme.scss +639 -0
- package/dist/tokens/typography.scss +116 -0
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +16 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/MissingDependency.d.ts +7 -0
- package/dist/utils/MissingDependency.d.ts.map +1 -0
- package/dist/utils/MissingDependency.js +6 -0
- package/dist/utils/MissingDependency.js.map +1 -0
- package/dist/utils/devLogger.d.ts +13 -0
- package/dist/utils/devLogger.d.ts.map +1 -0
- package/dist/utils/devLogger.js +34 -0
- package/dist/utils/devLogger.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +155 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { CondensedTShirtSizes } from "@/types";
|
|
2
|
+
import { Card } from ".";
|
|
3
|
+
export interface OgServiceConfig {
|
|
4
|
+
proxyImageUrl?: (url: string) => string;
|
|
5
|
+
proxyFaviconUrl?: (url: string) => string;
|
|
6
|
+
fetchOgUrl?: string;
|
|
7
|
+
proxyOgUrl?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface OgData {
|
|
10
|
+
title: string;
|
|
11
|
+
description: string;
|
|
12
|
+
faviconUrl: string;
|
|
13
|
+
image: string;
|
|
14
|
+
url: string;
|
|
15
|
+
}
|
|
16
|
+
interface OgCardProps extends Omit<React.ComponentProps<typeof Card>, "title"> {
|
|
17
|
+
url?: string;
|
|
18
|
+
sizes?: string;
|
|
19
|
+
size?: CondensedTShirtSizes;
|
|
20
|
+
ogData?: Partial<OgData> | null;
|
|
21
|
+
direction?: "column" | "row" | "column-reverse" | "row-reverse";
|
|
22
|
+
serviceConfig?: OgServiceConfig;
|
|
23
|
+
title?: string | false;
|
|
24
|
+
description?: string | false;
|
|
25
|
+
favicon?: string | false;
|
|
26
|
+
image?: string | false;
|
|
27
|
+
cardUrl?: string | false;
|
|
28
|
+
}
|
|
29
|
+
declare const OgCard: {
|
|
30
|
+
({ url, ogData: providedOgData, direction, sizes, size, serviceConfig, title, description, favicon, image, cardUrl, ...card }: OgCardProps): import("react/jsx-runtime").JSX.Element | null;
|
|
31
|
+
displayName: string;
|
|
32
|
+
};
|
|
33
|
+
export { OgCard };
|
|
34
|
+
//# sourceMappingURL=OgCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OgCard.d.ts","sourceRoot":"","sources":["../../src/components/OgCard.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAA4B,IAAI,EAAY,MAAM,GAAG,CAAC;AAI7D,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,CAAC;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,gBAAgB,GAAG,aAAa,CAAC;IAChE,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC1B;AAuCD,QAAA,MAAM,MAAM;mIAaT,WAAW;;CAuJb,CAAC;AAGF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Column, Media, Text, Row, Card, Skeleton } from ".";
|
|
4
|
+
import { useOgData } from "../hooks/useFetchOg";
|
|
5
|
+
import { useMemo } from "react";
|
|
6
|
+
const formatDisplayUrl = (url) => {
|
|
7
|
+
if (!url)
|
|
8
|
+
return "";
|
|
9
|
+
try {
|
|
10
|
+
const urlObj = new URL(url);
|
|
11
|
+
let domain = urlObj.hostname;
|
|
12
|
+
domain = domain.replace(/^www\./, "");
|
|
13
|
+
return domain;
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
let formattedUrl = url.replace(/^https?:\/\//, "");
|
|
17
|
+
formattedUrl = formattedUrl.replace(/^www\./, "");
|
|
18
|
+
formattedUrl = formattedUrl.split("/")[0];
|
|
19
|
+
return formattedUrl;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const getFaviconUrl = (url, proxyFn) => {
|
|
23
|
+
if (!url)
|
|
24
|
+
return "";
|
|
25
|
+
try {
|
|
26
|
+
const urlObj = new URL(url);
|
|
27
|
+
const domain = urlObj.hostname;
|
|
28
|
+
const faviconSourceUrl = `https://www.google.com/s2/favicons?domain=${domain}&sz=64`;
|
|
29
|
+
// Use the provided proxy function or return the favicon URL directly
|
|
30
|
+
return proxyFn ? proxyFn(faviconSourceUrl) : faviconSourceUrl;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
return "";
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const OgCard = ({ url, ogData: providedOgData, direction = "column", sizes = "320px", size = "m", serviceConfig = {}, title, description, favicon, image, cardUrl, ...card }) => {
|
|
37
|
+
const { ogData: fetchedOgData, loading } = useOgData(url || null, serviceConfig.fetchOgUrl, serviceConfig.proxyOgUrl);
|
|
38
|
+
const data = providedOgData || fetchedOgData;
|
|
39
|
+
// Resolve content based on props
|
|
40
|
+
const resolvedTitle = useMemo(() => {
|
|
41
|
+
if (title === false)
|
|
42
|
+
return null;
|
|
43
|
+
if (typeof title === "string")
|
|
44
|
+
return title;
|
|
45
|
+
return data?.title;
|
|
46
|
+
}, [title, data?.title]);
|
|
47
|
+
const resolvedDescription = useMemo(() => {
|
|
48
|
+
if (description === false)
|
|
49
|
+
return null;
|
|
50
|
+
if (typeof description === "string")
|
|
51
|
+
return description;
|
|
52
|
+
return data?.description;
|
|
53
|
+
}, [description, data?.description]);
|
|
54
|
+
const resolvedFavicon = useMemo(() => {
|
|
55
|
+
if (favicon === false)
|
|
56
|
+
return null;
|
|
57
|
+
if (typeof favicon === "string")
|
|
58
|
+
return favicon;
|
|
59
|
+
return (data?.faviconUrl || (data?.url ? getFaviconUrl(data.url, serviceConfig.proxyFaviconUrl) : ""));
|
|
60
|
+
}, [favicon, data?.faviconUrl, data?.url, serviceConfig.proxyFaviconUrl]);
|
|
61
|
+
const resolvedImage = useMemo(() => {
|
|
62
|
+
if (image === false)
|
|
63
|
+
return null;
|
|
64
|
+
if (typeof image === "string")
|
|
65
|
+
return image;
|
|
66
|
+
return data?.image
|
|
67
|
+
? serviceConfig.proxyImageUrl
|
|
68
|
+
? serviceConfig.proxyImageUrl(data.image)
|
|
69
|
+
: data.image
|
|
70
|
+
: "";
|
|
71
|
+
}, [image, data?.image, serviceConfig.proxyImageUrl]);
|
|
72
|
+
const resolvedUrl = useMemo(() => {
|
|
73
|
+
if (cardUrl === false)
|
|
74
|
+
return null;
|
|
75
|
+
if (typeof cardUrl === "string")
|
|
76
|
+
return cardUrl;
|
|
77
|
+
return data?.url;
|
|
78
|
+
}, [cardUrl, data?.url]);
|
|
79
|
+
// With our updated useOgData hook, images are already proxied through the API
|
|
80
|
+
// We only need additional proxying if a custom proxyImageUrl function is provided
|
|
81
|
+
const proxiedImageUrl = useMemo(() => {
|
|
82
|
+
return resolvedImage || "";
|
|
83
|
+
}, [resolvedImage]);
|
|
84
|
+
if (!loading && (!data || (!resolvedImage && !resolvedTitle))) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
return (_jsxs(Card, { href: resolvedUrl || undefined, direction: direction, fillWidth: true, vertical: direction === "row" || direction === "row-reverse" ? "center" : undefined, gap: "4", radius: "l", background: "surface", border: "neutral-alpha-medium", ...card, children: [resolvedImage !== null && (proxiedImageUrl || loading) && (_jsx(Media, { minWidth: direction === "row" || direction === "row-reverse" ? 16 : undefined, maxWidth: direction === "row" || direction === "row-reverse" ? 24 : undefined, loading: loading, radius: "l", sizes: sizes, aspectRatio: "16/9", border: "neutral-alpha-weak", src: proxiedImageUrl })), _jsxs(Column, { fillWidth: true, paddingX: size === "s" ? "12" : size === "m" ? "20" : "32", paddingY: size === "s" ? "12" : size === "m" ? "16" : "24", gap: size === "s" || size === "m" ? "8" : "20", children: [resolvedFavicon !== null && (_jsxs(Row, { fillWidth: true, gap: "8", vertical: "center", children: [_jsx(Media, { aspectRatio: "1/1", sizes: "24px", src: resolvedFavicon, loading: loading, minWidth: "16", maxWidth: "16", fillWidth: false, radius: "xs", border: "neutral-alpha-weak" }), resolvedUrl &&
|
|
88
|
+
(loading ? (_jsx(Skeleton, { shape: "line", width: "xs", height: "xs" })) : (_jsx(Text, { variant: "label-default-s", onBackground: "neutral-weak", children: formatDisplayUrl(resolvedUrl) })))] })), _jsxs(Column, { fillWidth: true, gap: size === "s" ? "4" : size === "m" ? "8" : "12", children: [resolvedTitle !== null &&
|
|
89
|
+
(loading ? (_jsx(Skeleton, { shape: "line", width: "s", height: "s" })) : (resolvedTitle && (_jsx(Text, { variant: size === "s"
|
|
90
|
+
? "label-default-s"
|
|
91
|
+
: size === "m"
|
|
92
|
+
? "label-default-m"
|
|
93
|
+
: "label-default-l", children: resolvedTitle })))), resolvedDescription !== null &&
|
|
94
|
+
(loading ? (_jsxs(Column, { fillWidth: true, paddingY: "8", gap: "8", children: [_jsx(Skeleton, { shape: "line", width: "xl", height: "xs" }), _jsx(Skeleton, { shape: "line", width: "l", height: "xs" })] })) : resolvedDescription ? (_jsx(Text, { variant: size === "s"
|
|
95
|
+
? "label-default-s"
|
|
96
|
+
: size === "m"
|
|
97
|
+
? "label-default-m"
|
|
98
|
+
: "label-default-l", onBackground: "neutral-weak", children: resolvedDescription })) : null)] })] })] }));
|
|
99
|
+
};
|
|
100
|
+
OgCard.displayName = "OgCard";
|
|
101
|
+
export { OgCard };
|
|
102
|
+
//# sourceMappingURL=OgCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OgCard.js","sourceRoot":"","sources":["../../src/components/OgCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Row } from ".";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export interface OptionProps extends Omit<React.ComponentProps<typeof Row>, "onClick"> {
|
|
4
|
+
label?: React.ReactNode;
|
|
5
|
+
href?: string;
|
|
6
|
+
value: string;
|
|
7
|
+
hasPrefix?: React.ReactNode;
|
|
8
|
+
hasSuffix?: React.ReactNode;
|
|
9
|
+
description?: React.ReactNode;
|
|
10
|
+
danger?: boolean;
|
|
11
|
+
selected?: boolean;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
highlighted?: boolean;
|
|
14
|
+
tabIndex?: number;
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
onClick?: (value: string) => void;
|
|
17
|
+
onLinkClick?: () => void;
|
|
18
|
+
}
|
|
19
|
+
declare const Option: React.ForwardRefExoticComponent<Omit<OptionProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
20
|
+
export { Option };
|
|
21
|
+
//# sourceMappingURL=Option.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Option.d.ts","sourceRoot":"","sources":["../../src/components/Option.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA6B,GAAG,EAAE,MAAM,GAAG,CAAC;AAEnD,OAAO,KAAiE,MAAM,OAAO,CAAC;AAEtF,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC,EAAE,SAAS,CAAC;IACpF,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,QAAA,MAAM,MAAM,iGAqKX,CAAC;AAGF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { Text, ElementType, Column, Row } from ".";
|
|
5
|
+
import styles from "./Option.module.scss";
|
|
6
|
+
import { forwardRef, useRef, useEffect, useState } from "react";
|
|
7
|
+
const Option = forwardRef(({ label, value, href, hasPrefix, hasSuffix, description, danger, selected, disabled = false, highlighted, tabIndex, onClick, onLinkClick, children, ...flex }, ref) => {
|
|
8
|
+
// Track if the element has the highlighted class applied by ArrowNavigation
|
|
9
|
+
const [isHighlightedByClass, setIsHighlightedByClass] = useState(false);
|
|
10
|
+
// Use a more generic type that works with ElementType
|
|
11
|
+
const elementRef = useRef(null);
|
|
12
|
+
// Check for highlighted class applied by ArrowNavigation
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
if (!elementRef.current)
|
|
15
|
+
return;
|
|
16
|
+
const observer = new MutationObserver((mutations) => {
|
|
17
|
+
mutations.forEach((mutation) => {
|
|
18
|
+
if (mutation.type === "attributes" &&
|
|
19
|
+
(mutation.attributeName === "class" || mutation.attributeName === "data-highlighted")) {
|
|
20
|
+
if (mutation.target instanceof HTMLElement) {
|
|
21
|
+
const element = mutation.target;
|
|
22
|
+
const hasHighlighted = element.classList.contains("highlighted") ||
|
|
23
|
+
element.getAttribute("data-highlighted") === "true";
|
|
24
|
+
// If highlighted class was just added but element is being hovered, remove it immediately
|
|
25
|
+
if (hasHighlighted && element.matches(':hover')) {
|
|
26
|
+
element.classList.remove('highlighted');
|
|
27
|
+
element.removeAttribute('data-highlighted');
|
|
28
|
+
setIsHighlightedByClass(false);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
setIsHighlightedByClass(hasHighlighted);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
observer.observe(elementRef.current, {
|
|
38
|
+
attributes: true,
|
|
39
|
+
attributeFilter: ["class", "data-highlighted"],
|
|
40
|
+
});
|
|
41
|
+
// Initial check
|
|
42
|
+
const hasHighlighted = elementRef.current.classList.contains("highlighted") ||
|
|
43
|
+
elementRef.current.getAttribute("data-highlighted") === "true";
|
|
44
|
+
// Check if element is being hovered on initial check too
|
|
45
|
+
if (hasHighlighted && elementRef.current.matches(':hover')) {
|
|
46
|
+
elementRef.current.classList.remove('highlighted');
|
|
47
|
+
elementRef.current.removeAttribute('data-highlighted');
|
|
48
|
+
setIsHighlightedByClass(false);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
setIsHighlightedByClass(hasHighlighted);
|
|
52
|
+
}
|
|
53
|
+
return () => observer.disconnect();
|
|
54
|
+
}, []);
|
|
55
|
+
// Sync hover state with keyboard navigation by removing highlight from ALL options including self
|
|
56
|
+
const handleMouseEnter = () => {
|
|
57
|
+
if (!disabled) {
|
|
58
|
+
// Remove highlighted class from ALL options (including self) to let CSS :hover take over
|
|
59
|
+
if (elementRef.current?.parentElement) {
|
|
60
|
+
const allOptions = elementRef.current.parentElement.querySelectorAll('[role="option"]');
|
|
61
|
+
allOptions.forEach((option) => {
|
|
62
|
+
option.classList.remove('highlighted');
|
|
63
|
+
option.removeAttribute('data-highlighted');
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
return (_jsx(ElementType, { tabIndex: tabIndex, ref: (el) => {
|
|
69
|
+
// Forward the ref
|
|
70
|
+
if (typeof ref === "function") {
|
|
71
|
+
ref(el);
|
|
72
|
+
}
|
|
73
|
+
else if (ref) {
|
|
74
|
+
ref.current = el;
|
|
75
|
+
}
|
|
76
|
+
// Store our own ref
|
|
77
|
+
elementRef.current = el;
|
|
78
|
+
}, href: href, disabled: disabled, className: "reset-button-styles fill-width", onLinkClick: onLinkClick, onClick: () => onClick?.(value), onMouseEnter: handleMouseEnter, "data-value": value, role: "option", "aria-selected": selected, "aria-disabled": disabled, onKeyDown: (e) => {
|
|
79
|
+
if ((e.key === "Enter" || e.key === " ") && !disabled) {
|
|
80
|
+
e.preventDefault();
|
|
81
|
+
e.stopPropagation();
|
|
82
|
+
elementRef.current?.click();
|
|
83
|
+
}
|
|
84
|
+
}, children: _jsxs(Row, { fillWidth: true, vertical: "center", paddingX: "12", paddingY: "8", gap: "12", radius: "m", tabIndex: -1, borderWidth: 1, borderStyle: "solid", cursor: disabled ? "not-allowed" : "interactive", transition: "micro-medium", onBackground: "neutral-strong", className: classNames(styles.option, {
|
|
85
|
+
[styles.danger]: danger,
|
|
86
|
+
[styles.selected]: selected,
|
|
87
|
+
[styles.highlighted]: highlighted || isHighlightedByClass,
|
|
88
|
+
[styles.disabled]: disabled,
|
|
89
|
+
}), ...flex, children: [hasPrefix && _jsx(Row, { className: styles.prefix, children: hasPrefix }), _jsxs(Column, { fillWidth: true, align: "left", children: [_jsx(Text, { onBackground: "neutral-strong", variant: "label-default-s", truncate: true, children: label || children }), description && (_jsx(Text, { variant: "body-default-xs", onBackground: "neutral-weak", truncate: true, children: description }))] }), hasSuffix && _jsx(Row, { className: styles.suffix, children: hasSuffix })] }) }));
|
|
90
|
+
});
|
|
91
|
+
Option.displayName = "Option";
|
|
92
|
+
export { Option };
|
|
93
|
+
//# sourceMappingURL=Option.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Option.js","sourceRoot":"","sources":["../../src/components/Option.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
.option {
|
|
2
|
+
border-color: var(--static-transparent);
|
|
3
|
+
|
|
4
|
+
// Keyboard navigation highlight (lowest priority)
|
|
5
|
+
&.highlighted:not(:hover):not(:focus) {
|
|
6
|
+
background: var(--static-transparent);
|
|
7
|
+
border-color: var(--neutral-alpha-medium);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// Selected state (medium priority)
|
|
11
|
+
&.selected:not(:hover):not(:focus) {
|
|
12
|
+
background: var(--neutral-alpha-medium);
|
|
13
|
+
border-color: var(--neutral-alpha-medium);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// Hover/Focus state (highest priority - always overrides highlighted and selected)
|
|
17
|
+
&:hover, &:focus {
|
|
18
|
+
background: var(--neutral-alpha-weak);
|
|
19
|
+
border-color: var(--neutral-alpha-medium);
|
|
20
|
+
outline: none;
|
|
21
|
+
|
|
22
|
+
&:disabled {
|
|
23
|
+
background: var(--neutral-alpha-weak);
|
|
24
|
+
color: var(--neutral-on-background-weak);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&.danger {
|
|
29
|
+
color: var(--danger-on-background-medium);
|
|
30
|
+
|
|
31
|
+
&:hover, &:focus {
|
|
32
|
+
background: var(--danger-solid-strong);
|
|
33
|
+
color: var(--danger-on-solid-strong);
|
|
34
|
+
border-color: var(--danger-border-strong);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.focused {
|
|
40
|
+
background: var(--neutral-background-strong);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.disabled {
|
|
44
|
+
background: var(--neutral-alpha-weak);
|
|
45
|
+
color: var(--neutral-on-background-weak);
|
|
46
|
+
border: none;
|
|
47
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { SpacingToken } from "../types";
|
|
3
|
+
import { DisplayProps } from "../interfaces";
|
|
4
|
+
import { Flex } from ".";
|
|
5
|
+
interface ParticleProps extends React.ComponentProps<typeof Flex> {
|
|
6
|
+
density?: number;
|
|
7
|
+
color?: string;
|
|
8
|
+
size?: SpacingToken;
|
|
9
|
+
speed?: number;
|
|
10
|
+
interactive?: boolean;
|
|
11
|
+
mode?: "repel" | "attract";
|
|
12
|
+
intensity?: number;
|
|
13
|
+
opacity?: DisplayProps["opacity"];
|
|
14
|
+
reducedMotion?: boolean | "auto";
|
|
15
|
+
className?: string;
|
|
16
|
+
style?: React.CSSProperties;
|
|
17
|
+
children?: React.ReactNode;
|
|
18
|
+
}
|
|
19
|
+
declare const Particle: React.ForwardRefExoticComponent<Omit<ParticleProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
20
|
+
export { Particle };
|
|
21
|
+
//# sourceMappingURL=Particle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Particle.d.ts","sourceRoot":"","sources":["../../src/components/Particle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;AAIzB,UAAU,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,QAAQ,mGA0Lb,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import React, { useEffect, useRef } from "react";
|
|
4
|
+
import { Flex } from ".";
|
|
5
|
+
import { useInViewport } from "../hooks/useInViewport";
|
|
6
|
+
import { useReducedMotion } from "../hooks/useReducedMotion";
|
|
7
|
+
const Particle = React.forwardRef(({ density = 100, color = "brand-on-background-weak", size = "2", speed = 0.3, interactive = false, mode = "repel", intensity = 20, opacity = 100, reducedMotion = "auto", children, className, style, ...rest }, forwardedRef) => {
|
|
8
|
+
const containerRef = useRef(null);
|
|
9
|
+
const isInViewport = useInViewport(containerRef);
|
|
10
|
+
const { shouldAnimate } = useReducedMotion(reducedMotion);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (forwardedRef && "current" in forwardedRef) {
|
|
13
|
+
forwardedRef.current = containerRef.current;
|
|
14
|
+
}
|
|
15
|
+
else if (typeof forwardedRef === "function") {
|
|
16
|
+
forwardedRef(containerRef.current);
|
|
17
|
+
}
|
|
18
|
+
}, [forwardedRef]);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
const container = containerRef.current;
|
|
21
|
+
if (!container)
|
|
22
|
+
return;
|
|
23
|
+
// If reduced motion, render static particles with no animation loop
|
|
24
|
+
const effectiveDensity = shouldAnimate ? density : Math.min(density, 30);
|
|
25
|
+
const particleEls = [];
|
|
26
|
+
// Flat arrays for fast iteration — no Map lookups or style parsing per frame
|
|
27
|
+
const currentX = new Float32Array(effectiveDensity);
|
|
28
|
+
const currentY = new Float32Array(effectiveDensity);
|
|
29
|
+
const initialX = new Float32Array(effectiveDensity);
|
|
30
|
+
const initialY = new Float32Array(effectiveDensity);
|
|
31
|
+
const targetX = new Float32Array(effectiveDensity);
|
|
32
|
+
const targetY = new Float32Array(effectiveDensity);
|
|
33
|
+
let mousePosition = { x: -1000, y: -1000 };
|
|
34
|
+
let animationFrameId = null;
|
|
35
|
+
const parsedSize = `var(--static-space-${size})`;
|
|
36
|
+
const parsedOpacity = `${opacity}%`;
|
|
37
|
+
const movementSpeed = speed * 0.08;
|
|
38
|
+
const repulsionStrength = 0.15 * (speed || 1);
|
|
39
|
+
const handleMouseMove = (e) => {
|
|
40
|
+
const rect = container.getBoundingClientRect();
|
|
41
|
+
mousePosition = {
|
|
42
|
+
x: ((e.clientX - rect.left) / rect.width) * 100,
|
|
43
|
+
y: ((e.clientY - rect.top) / rect.height) * 100,
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
// Create particles using translate3d instead of left/top
|
|
47
|
+
for (let i = 0; i < effectiveDensity; i++) {
|
|
48
|
+
const el = document.createElement("div");
|
|
49
|
+
el.style.cssText = `
|
|
50
|
+
position:absolute;left:0;top:0;
|
|
51
|
+
width:${parsedSize};height:${parsedSize};
|
|
52
|
+
background:var(--${color});
|
|
53
|
+
border-radius:50%;
|
|
54
|
+
pointer-events:none;
|
|
55
|
+
opacity:${parsedOpacity};
|
|
56
|
+
will-change:transform;
|
|
57
|
+
`;
|
|
58
|
+
const ix = 10 + Math.random() * 80;
|
|
59
|
+
const iy = 10 + Math.random() * 80;
|
|
60
|
+
initialX[i] = ix;
|
|
61
|
+
initialY[i] = iy;
|
|
62
|
+
currentX[i] = ix;
|
|
63
|
+
currentY[i] = iy;
|
|
64
|
+
targetX[i] = ix;
|
|
65
|
+
targetY[i] = iy;
|
|
66
|
+
el.style.transform = `translate3d(${ix}cqw, ${iy}cqh, 0)`;
|
|
67
|
+
container.appendChild(el);
|
|
68
|
+
particleEls.push(el);
|
|
69
|
+
}
|
|
70
|
+
// If reduced motion or not in viewport initially, just place them statically
|
|
71
|
+
if (!shouldAnimate)
|
|
72
|
+
return () => cleanup();
|
|
73
|
+
const updateParticles = () => {
|
|
74
|
+
const time = Date.now() * 0.001 * speed;
|
|
75
|
+
for (let i = 0; i < effectiveDensity; i++) {
|
|
76
|
+
const cx = currentX[i];
|
|
77
|
+
const cy = currentY[i];
|
|
78
|
+
const baseNoiseX = Math.sin(time + i) * 0.5;
|
|
79
|
+
const baseNoiseY = Math.cos(time + i * 1.2) * 0.5;
|
|
80
|
+
let tx = initialX[i] + baseNoiseX;
|
|
81
|
+
let ty = initialY[i] + baseNoiseY;
|
|
82
|
+
if (interactive) {
|
|
83
|
+
const dx = mousePosition.x - cx;
|
|
84
|
+
const dy = mousePosition.y - cy;
|
|
85
|
+
const distance = Math.sqrt(dx * dx + dy * dy);
|
|
86
|
+
if (distance < intensity) {
|
|
87
|
+
const angle = Math.atan2(dy, dx);
|
|
88
|
+
if (mode === "attract") {
|
|
89
|
+
const minDistance = 8;
|
|
90
|
+
if (distance <= minDistance) {
|
|
91
|
+
tx = mousePosition.x;
|
|
92
|
+
ty = mousePosition.y;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
const normalizedDistance = Math.min(distance / intensity, 1);
|
|
96
|
+
const force = distance * repulsionStrength * normalizedDistance * 0.3;
|
|
97
|
+
tx = cx + Math.cos(angle) * force;
|
|
98
|
+
ty = cy + Math.sin(angle) * force;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
const force = (intensity - distance) * repulsionStrength;
|
|
103
|
+
tx -= Math.cos(angle) * force;
|
|
104
|
+
ty -= Math.sin(angle) * force;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
tx = Math.max(5, Math.min(95, tx));
|
|
109
|
+
ty = Math.max(5, Math.min(95, ty));
|
|
110
|
+
targetX[i] = tx;
|
|
111
|
+
targetY[i] = ty;
|
|
112
|
+
const nx = cx + (tx - cx) * movementSpeed;
|
|
113
|
+
const ny = cy + (ty - cy) * movementSpeed;
|
|
114
|
+
currentX[i] = nx;
|
|
115
|
+
currentY[i] = ny;
|
|
116
|
+
particleEls[i].style.transform = `translate3d(${nx}cqw, ${ny}cqh, 0)`;
|
|
117
|
+
}
|
|
118
|
+
animationFrameId = requestAnimationFrame(updateParticles);
|
|
119
|
+
};
|
|
120
|
+
if (interactive) {
|
|
121
|
+
container.addEventListener("mousemove", handleMouseMove, { passive: true });
|
|
122
|
+
}
|
|
123
|
+
// Start animation only if in viewport
|
|
124
|
+
if (isInViewport) {
|
|
125
|
+
animationFrameId = requestAnimationFrame(updateParticles);
|
|
126
|
+
}
|
|
127
|
+
function cleanup() {
|
|
128
|
+
container.removeEventListener("mousemove", handleMouseMove);
|
|
129
|
+
if (animationFrameId != null) {
|
|
130
|
+
cancelAnimationFrame(animationFrameId);
|
|
131
|
+
}
|
|
132
|
+
particleEls.forEach((el) => el.remove());
|
|
133
|
+
}
|
|
134
|
+
return () => cleanup();
|
|
135
|
+
}, [color, size, speed, interactive, intensity, opacity, density, mode, shouldAnimate, isInViewport]);
|
|
136
|
+
return (_jsx(Flex, { ref: containerRef, fill: true, position: "relative", pointerEvents: interactive ? "auto" : "none", className: className, style: { containerType: "size", ...style }, ...rest, children: children }));
|
|
137
|
+
});
|
|
138
|
+
Particle.displayName = "Particle";
|
|
139
|
+
export { Particle };
|
|
140
|
+
//# sourceMappingURL=Particle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Particle.js","sourceRoot":"","sources":["../../src/components/Particle.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasswordInput.d.ts","sourceRoot":"","sources":["../../src/components/PasswordInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAS,UAAU,EAAc,MAAM,GAAG,CAAC;AAElD,eAAO,MAAM,aAAa,qFAqBxB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useState, forwardRef } from "react";
|
|
4
|
+
import { Input, IconButton } from ".";
|
|
5
|
+
export const PasswordInput = forwardRef((props, ref) => {
|
|
6
|
+
const [showPassword, setShowPassword] = useState(false);
|
|
7
|
+
return (_jsx(Input, { ...props, ref: ref, type: showPassword ? "text" : "password", hasSuffix: _jsx(IconButton, { onClick: () => {
|
|
8
|
+
setShowPassword(!showPassword);
|
|
9
|
+
}, variant: "ghost", icon: showPassword ? "eyeOff" : "eye", size: "s", type: "button" }) }));
|
|
10
|
+
});
|
|
11
|
+
PasswordInput.displayName = "PasswordInput";
|
|
12
|
+
//# sourceMappingURL=PasswordInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasswordInput.js","sourceRoot":"","sources":["../../src/components/PasswordInput.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,KAAK,EAAc,UAAU,EAAE,MAAM,GAAG,CAAC;AAElD,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACnF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,OAAO,CACL,KAAC,KAAK,OACA,KAAK,EACT,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EACxC,SAAS,EACP,KAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE;gBACZ,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC;YACjC,CAAC,EACD,OAAO,EAAC,OAAO,EACf,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EACrC,IAAI,EAAC,GAAG,EACR,IAAI,EAAC,QAAQ,GACb,GAEJ,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Flex } from ".";
|
|
3
|
+
import { StyleProps } from "@/interfaces";
|
|
4
|
+
interface ProgressBarProps extends React.ComponentProps<typeof Flex> {
|
|
5
|
+
value: number;
|
|
6
|
+
min?: number;
|
|
7
|
+
max?: number;
|
|
8
|
+
label?: boolean;
|
|
9
|
+
barBackground?: StyleProps["solid"];
|
|
10
|
+
className?: string;
|
|
11
|
+
style?: React.CSSProperties;
|
|
12
|
+
}
|
|
13
|
+
declare const ProgressBar: React.ForwardRefExoticComponent<Omit<ProgressBarProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
+
export { ProgressBar };
|
|
15
|
+
//# sourceMappingURL=ProgressBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../src/components/ProgressBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAmB,IAAI,EAAQ,MAAM,GAAG,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,UAAU,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,QAAA,MAAM,WAAW,sGAoDhB,CAAC;AAGF,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef } from "react";
|
|
4
|
+
import classNames from "classnames";
|
|
5
|
+
import { Column, CountFx, Flex, Text } from ".";
|
|
6
|
+
const ProgressBar = forwardRef(({ value, min = 0, max = 100, label = true, barBackground = "brand-strong", className, style, ...rest }, ref) => {
|
|
7
|
+
const percent = Math.max(0, Math.min(100, ((value - min) / (max - min)) * 100));
|
|
8
|
+
return (_jsxs(Column, { horizontal: "center", gap: "16", fillWidth: true, ref: ref, style: style, className: classNames(className), ...rest, children: [_jsx(Flex, { background: "neutral-medium", border: "neutral-alpha-weak", fillWidth: true, radius: "full", overflow: "hidden", height: "8", role: "progressbar", "aria-valuenow": value, "aria-valuemin": min, "aria-valuemax": max, children: _jsx(Flex, { style: { width: `${percent}%`, transition: "width 1000ms ease-in-out" }, fillHeight: true, solid: barBackground, radius: "full" }) }), label && (_jsxs(Text, { align: "center", children: [_jsx(CountFx, { value: value, speed: 1000, duration: 1000, easing: "ease-in-out" }), "%"] }))] }));
|
|
9
|
+
});
|
|
10
|
+
ProgressBar.displayName = "ProgressBar";
|
|
11
|
+
export { ProgressBar };
|
|
12
|
+
//# sourceMappingURL=ProgressBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../src/components/ProgressBar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;AAahD,MAAM,WAAW,GAAG,UAAU,CAC5B,CACE,EACE,KAAK,EACL,GAAG,GAAG,CAAC,EACP,GAAG,GAAG,GAAG,EACT,KAAK,GAAG,IAAI,EACZ,aAAa,GAAG,cAAc,EAC9B,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChF,OAAO,CACL,MAAC,MAAM,IACL,UAAU,EAAC,QAAQ,EACnB,GAAG,EAAC,IAAI,EACR,SAAS,QACT,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,KAC5B,IAAI,aAER,KAAC,IAAI,IACH,UAAU,EAAC,gBAAgB,EAC3B,MAAM,EAAC,oBAAoB,EAC3B,SAAS,QACT,MAAM,EAAC,MAAM,EACb,QAAQ,EAAC,QAAQ,EACjB,MAAM,EAAC,GAAG,EACV,IAAI,EAAC,aAAa,mBACH,KAAK,mBACL,GAAG,mBACH,GAAG,YAElB,KAAC,IAAI,IACH,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,GAAG,EAAE,UAAU,EAAE,0BAA0B,EAAE,EACvE,UAAU,QACV,KAAK,EAAE,aAAa,EACpB,MAAM,EAAC,MAAM,GACb,GACG,EACN,KAAK,IAAI,CACR,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,aAClB,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAC,aAAa,GAAG,SACtE,CACR,IACM,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { Row } from ".";
|
|
3
|
+
import { CondensedTShirtSizes, ColorScheme } from "../types";
|
|
4
|
+
interface PulseProps extends React.ComponentProps<typeof Row> {
|
|
5
|
+
variant?: ColorScheme;
|
|
6
|
+
size?: CondensedTShirtSizes;
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
className?: string;
|
|
9
|
+
style?: React.CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
declare const Pulse: import("react").ForwardRefExoticComponent<Omit<PulseProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export { Pulse };
|
|
13
|
+
//# sourceMappingURL=Pulse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pulse.d.ts","sourceRoot":"","sources":["../../src/components/Pulse.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE7D,UAAU,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,CAAC;IAC3D,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,QAAA,MAAM,KAAK,oHAsBV,CAAC;AAGF,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef } from "react";
|
|
4
|
+
import { Row } from ".";
|
|
5
|
+
import styles from "./Pulse.module.scss";
|
|
6
|
+
const Pulse = forwardRef(({ children, className, style, size = "m", variant = "brand", ...flex }, ref) => {
|
|
7
|
+
return (_jsxs(Row, { ref: ref, minWidth: size === "s" ? "16" : size === "m" ? "24" : "32", minHeight: size === "s" ? "16" : size === "m" ? "24" : "32", center: true, "data-solid": "color", className: className, style: style, ...flex, children: [_jsx(Row, { position: "absolute", className: styles.position, children: _jsx(Row, { solid: `${variant}-medium`, radius: "full", className: styles.dot, width: size === "s" ? "32" : size === "m" ? "48" : "64", height: size === "s" ? "32" : size === "m" ? "48" : "64" }) }), _jsx(Row, { solid: `${variant}-strong`, minWidth: size === "s" ? "4" : size === "m" ? "8" : "12", minHeight: size === "s" ? "4" : size === "m" ? "8" : "12", radius: "full" })] }));
|
|
8
|
+
});
|
|
9
|
+
Pulse.displayName = "Pulse";
|
|
10
|
+
export { Pulse };
|
|
11
|
+
//# sourceMappingURL=Pulse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pulse.js","sourceRoot":"","sources":["../../src/components/Pulse.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAa,UAAU,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;AACxB,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAWzC,MAAM,KAAK,GAAG,UAAU,CACtB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,GAAG,GAAG,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,EAAc,EAAE,GAAG,EAAE,EAAE;IAC1F,OAAO,CACL,MAAC,GAAG,IAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,sBAAY,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,KAAM,IAAI,aAC5M,KAAC,GAAG,IAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,YACjD,KAAC,GAAG,IACF,KAAK,EAAE,GAAG,OAAO,SAAS,EAC1B,MAAM,EAAC,MAAM,EACb,SAAS,EAAE,MAAM,CAAC,GAAG,EACrB,KAAK,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EACvD,MAAM,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GACxD,GACE,EACN,KAAC,GAAG,IACF,KAAK,EAAE,GAAG,OAAO,SAAS,EAC1B,QAAQ,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EACxD,SAAS,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EACzD,MAAM,EAAC,MAAM,GACb,IACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,CAAC"}
|