@once-ui-system/core 1.7.12 → 1.8.0
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/AGENTS.md +53 -0
- package/README.md +27 -0
- package/agent/once-ui-codegen.mdc +27 -0
- package/ai/catalog.json +195 -634
- package/ai/components/Banner.json +2 -2
- package/ai/components/BlobFx.json +2 -2
- package/ai/components/Carousel.json +1 -0
- package/ai/components/ChartHeader.json +2 -2
- package/ai/components/Checkbox.json +2 -1
- package/ai/components/CompareImage.json +2 -1
- package/ai/components/ContextMenu.json +2 -2
- package/ai/components/Dialog.json +2 -0
- package/ai/components/HoverCard.json +2 -2
- package/ai/components/InfiniteScroll.json +2 -2
- package/ai/components/OgCard.json +3 -2
- package/ai/components/RadioButton.json +2 -1
- package/ai/components/ScrollContainer.json +2 -2
- package/ai/components/SegmentedControl.json +2 -2
- package/ai/components/Select.json +1 -1
- package/ai/components/SplitView.json +2 -2
- package/ai/components/Swiper.json +1 -0
- package/ai/components/Table.json +17 -2
- package/ai/components/ThemeSwitcher.json +2 -2
- package/ai/components/Tooltip.json +2 -2
- package/ai/examples/blocks/content/chat1content.ts +2 -0
- package/ai/examples/dashboard.tsx +1 -1
- package/ai/examples/settings.tsx +32 -28
- package/ai/manifest.json +2 -2
- package/ai/spec.json +64 -68
- package/dist/AGENTS.md +53 -0
- package/dist/README.md +27 -0
- package/dist/agent/once-ui-codegen.mdc +27 -0
- package/dist/ai/catalog.json +195 -634
- package/dist/ai/components/Banner.json +2 -2
- package/dist/ai/components/BlobFx.json +2 -2
- package/dist/ai/components/Carousel.json +1 -0
- package/dist/ai/components/ChartHeader.json +2 -2
- package/dist/ai/components/Checkbox.json +2 -1
- package/dist/ai/components/CompareImage.json +2 -1
- package/dist/ai/components/ContextMenu.json +2 -2
- package/dist/ai/components/Dialog.json +2 -0
- package/dist/ai/components/HoverCard.json +2 -2
- package/dist/ai/components/InfiniteScroll.json +2 -2
- package/dist/ai/components/OgCard.json +3 -2
- package/dist/ai/components/RadioButton.json +2 -1
- package/dist/ai/components/ScrollContainer.json +2 -2
- package/dist/ai/components/SegmentedControl.json +2 -2
- package/dist/ai/components/Select.json +1 -1
- package/dist/ai/components/SplitView.json +2 -2
- package/dist/ai/components/Swiper.json +1 -0
- package/dist/ai/components/Table.json +17 -2
- package/dist/ai/components/ThemeSwitcher.json +2 -2
- package/dist/ai/components/Tooltip.json +2 -2
- package/dist/ai/manifest.json +2 -2
- package/dist/ai/spec.json +64 -68
- package/dist/components/Accordion.js +1 -1
- package/dist/components/Accordion.js.map +1 -1
- package/dist/components/AccordionGroup.d.ts +1 -1
- package/dist/components/AccordionGroup.d.ts.map +1 -1
- package/dist/components/AccordionGroup.js +3 -3
- package/dist/components/AccordionGroup.js.map +1 -1
- package/dist/components/Animation.d.ts +1 -1
- package/dist/components/Animation.d.ts.map +1 -1
- package/dist/components/Arrow.d.ts +1 -1
- package/dist/components/Arrow.d.ts.map +1 -1
- package/dist/components/Arrow.js +4 -4
- package/dist/components/Arrow.js.map +1 -1
- package/dist/components/ArrowNavigationContext.d.ts +2 -1
- package/dist/components/ArrowNavigationContext.d.ts.map +1 -1
- package/dist/components/ArrowNavigationContext.js +5 -3
- package/dist/components/ArrowNavigationContext.js.map +1 -1
- package/dist/components/Avatar.d.ts +2 -2
- package/dist/components/Avatar.d.ts.map +1 -1
- package/dist/components/AvatarGroup.js +1 -1
- package/dist/components/AvatarGroup.js.map +1 -1
- package/dist/components/Background.js +1 -1
- package/dist/components/Background.js.map +1 -1
- package/dist/components/Badge.js +1 -1
- package/dist/components/Badge.js.map +1 -1
- package/dist/components/Banner.d.ts.map +1 -1
- package/dist/components/Banner.js +1 -0
- package/dist/components/Banner.js.map +1 -1
- package/dist/components/BlobFx.d.ts +1 -1
- package/dist/components/BlobFx.d.ts.map +1 -1
- package/dist/components/BlobFx.js +3 -2
- package/dist/components/BlobFx.js.map +1 -1
- package/dist/components/Button.js +1 -1
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Card.js +1 -1
- package/dist/components/Card.js.map +1 -1
- package/dist/components/Carousel.d.ts +3 -2
- package/dist/components/Carousel.d.ts.map +1 -1
- package/dist/components/Carousel.js +5 -5
- package/dist/components/Carousel.js.map +1 -1
- package/dist/components/Checkbox.d.ts +1 -0
- package/dist/components/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox.js +5 -5
- package/dist/components/Checkbox.js.map +1 -1
- package/dist/components/Chip.js +1 -1
- package/dist/components/Chip.js.map +1 -1
- package/dist/components/ClientFlex.d.ts.map +1 -1
- package/dist/components/ClientFlex.js +124 -5
- package/dist/components/ClientFlex.js.map +1 -1
- package/dist/components/CompareImage.d.ts +2 -1
- package/dist/components/CompareImage.d.ts.map +1 -1
- package/dist/components/CompareImage.js +4 -4
- package/dist/components/CompareImage.js.map +1 -1
- package/dist/components/ContextMenu.d.ts +2 -2
- package/dist/components/ContextMenu.d.ts.map +1 -1
- package/dist/components/ContextMenu.js +3 -3
- package/dist/components/ContextMenu.js.map +1 -1
- package/dist/components/CountFx.d.ts +1 -1
- package/dist/components/CountFx.d.ts.map +1 -1
- package/dist/components/CountFx.js +6 -6
- package/dist/components/CountFx.js.map +1 -1
- package/dist/components/CountdownFx.d.ts +1 -1
- package/dist/components/CountdownFx.d.ts.map +1 -1
- package/dist/components/CountdownFx.js +4 -4
- package/dist/components/CountdownFx.js.map +1 -1
- package/dist/components/Cursor.d.ts +1 -1
- package/dist/components/Cursor.d.ts.map +1 -1
- package/dist/components/Cursor.js +6 -6
- package/dist/components/Cursor.js.map +1 -1
- package/dist/components/DateInput.d.ts +1 -1
- package/dist/components/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput.js +6 -5
- package/dist/components/DateInput.js.map +1 -1
- package/dist/components/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker.js +5 -5
- package/dist/components/DatePicker.js.map +1 -1
- package/dist/components/DateRangeInput.d.ts +2 -2
- package/dist/components/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput.js +6 -4
- package/dist/components/DateRangeInput.js.map +1 -1
- package/dist/components/DateRangePicker.d.ts +1 -1
- package/dist/components/DateRangePicker.d.ts.map +1 -1
- package/dist/components/DateRangePicker.js +3 -3
- package/dist/components/DateRangePicker.js.map +1 -1
- package/dist/components/Dialog.d.ts +2 -0
- package/dist/components/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog.js +32 -15
- package/dist/components/Dialog.js.map +1 -1
- package/dist/components/Dropdown.d.ts.map +1 -1
- package/dist/components/Dropdown.js +1 -1
- package/dist/components/Dropdown.js.map +1 -1
- package/dist/components/DropdownWrapper.d.ts.map +1 -1
- package/dist/components/DropdownWrapper.js +14 -11
- package/dist/components/DropdownWrapper.js.map +1 -1
- package/dist/components/ElementType.d.ts +1 -1
- package/dist/components/ElementType.d.ts.map +1 -1
- package/dist/components/ElementType.js +6 -4
- package/dist/components/ElementType.js.map +1 -1
- package/dist/components/EmojiPickerDropdown.d.ts +1 -1
- package/dist/components/EmojiPickerDropdown.d.ts.map +1 -1
- package/dist/components/EmojiPickerDropdown.js +4 -2
- package/dist/components/EmojiPickerDropdown.js.map +1 -1
- package/dist/components/Fade.js +1 -1
- package/dist/components/Fade.js.map +1 -1
- package/dist/components/FlipFx.d.ts.map +1 -1
- package/dist/components/FlipFx.js +2 -4
- package/dist/components/FlipFx.js.map +1 -1
- package/dist/components/FocusTrap.d.ts +1 -1
- package/dist/components/FocusTrap.d.ts.map +1 -1
- package/dist/components/FocusTrap.js +3 -3
- package/dist/components/FocusTrap.js.map +1 -1
- package/dist/components/GlitchFx.js +1 -1
- package/dist/components/GlitchFx.js.map +1 -1
- package/dist/components/Heading.js +1 -1
- package/dist/components/Heading.js.map +1 -1
- package/dist/components/HoloFx.d.ts +1 -1
- package/dist/components/HoloFx.d.ts.map +1 -1
- package/dist/components/HoloFx.js +17 -8
- package/dist/components/HoloFx.js.map +1 -1
- package/dist/components/Icon.js +1 -1
- package/dist/components/Icon.js.map +1 -1
- package/dist/components/IconButton.js +1 -1
- package/dist/components/IconButton.js.map +1 -1
- package/dist/components/InlineCode.js +1 -1
- package/dist/components/InlineCode.js.map +1 -1
- package/dist/components/Input.js +1 -1
- package/dist/components/Input.js.map +1 -1
- package/dist/components/LetterFx.js +1 -1
- package/dist/components/LetterFx.js.map +1 -1
- package/dist/components/ListItem.js +1 -1
- package/dist/components/ListItem.js.map +1 -1
- package/dist/components/Logo.d.ts +1 -1
- package/dist/components/Logo.d.ts.map +1 -1
- package/dist/components/Logo.js +6 -10
- package/dist/components/Logo.js.map +1 -1
- package/dist/components/LogoCloud.js +1 -1
- package/dist/components/LogoCloud.js.map +1 -1
- package/dist/components/Mask.js +1 -1
- package/dist/components/Mask.js.map +1 -1
- package/dist/components/MasonryGrid.js +1 -1
- package/dist/components/MasonryGrid.js.map +1 -1
- package/dist/components/Media.d.ts +1 -1
- package/dist/components/Media.d.ts.map +1 -1
- package/dist/components/Media.js +10 -7
- package/dist/components/Media.js.map +1 -1
- package/dist/components/MediaVideoPlayer.d.ts +12 -0
- package/dist/components/MediaVideoPlayer.d.ts.map +1 -0
- package/dist/components/MediaVideoPlayer.js +246 -0
- package/dist/components/MediaVideoPlayer.js.map +1 -0
- package/dist/components/MediaVideoPlayer.module.scss +90 -0
- package/dist/components/Modal.d.ts +1 -1
- package/dist/components/Modal.d.ts.map +1 -1
- package/dist/components/Modal.js +3 -3
- package/dist/components/Modal.js.map +1 -1
- package/dist/components/NavIcon.js +1 -1
- package/dist/components/NavIcon.js.map +1 -1
- package/dist/components/NumberInput.js +1 -1
- package/dist/components/NumberInput.js.map +1 -1
- package/dist/components/OgCard.d.ts +3 -2
- package/dist/components/OgCard.d.ts.map +1 -1
- package/dist/components/OgCard.js +2 -2
- package/dist/components/OgCard.js.map +1 -1
- package/dist/components/Option.js +1 -1
- package/dist/components/Option.js.map +1 -1
- package/dist/components/ProgressBar.d.ts +1 -1
- package/dist/components/ProgressBar.d.ts.map +1 -1
- package/dist/components/ProgressBar.js +1 -1
- package/dist/components/ProgressBar.js.map +1 -1
- package/dist/components/RadioButton.d.ts +1 -0
- package/dist/components/RadioButton.d.ts.map +1 -1
- package/dist/components/RadioButton.js +6 -6
- package/dist/components/RadioButton.js.map +1 -1
- package/dist/components/ScrollContainer.d.ts +1 -1
- package/dist/components/ScrollContainer.d.ts.map +1 -1
- package/dist/components/ScrollContainer.js +3 -3
- package/dist/components/ScrollContainer.js.map +1 -1
- package/dist/components/ScrollLock.d.ts +6 -1
- package/dist/components/ScrollLock.d.ts.map +1 -1
- package/dist/components/ScrollLock.js +39 -13
- package/dist/components/ScrollLock.js.map +1 -1
- package/dist/components/ScrollToTop.d.ts +4 -1
- package/dist/components/ScrollToTop.d.ts.map +1 -1
- package/dist/components/ScrollToTop.js +2 -1
- package/dist/components/ScrollToTop.js.map +1 -1
- package/dist/components/Scroller.d.ts +2 -2
- package/dist/components/Scroller.d.ts.map +1 -1
- package/dist/components/Scroller.js +4 -4
- package/dist/components/Scroller.js.map +1 -1
- package/dist/components/SegmentedControl.d.ts +1 -1
- package/dist/components/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl.js +3 -3
- package/dist/components/SegmentedControl.js.map +1 -1
- package/dist/components/Select.d.ts +1 -1
- package/dist/components/Select.d.ts.map +1 -1
- package/dist/components/Select.js +1 -1
- package/dist/components/Select.js.map +1 -1
- package/dist/components/ServerFlex.d.ts.map +1 -1
- package/dist/components/ServerFlex.js +4 -2
- package/dist/components/ServerFlex.js.map +1 -1
- package/dist/components/ServerGrid.js +1 -1
- package/dist/components/ServerGrid.js.map +1 -1
- package/dist/components/SharedInteractiveStyles.module.scss +4 -0
- package/dist/components/ShineFx.d.ts +1 -1
- package/dist/components/ShineFx.d.ts.map +1 -1
- package/dist/components/ShineFx.js +4 -3
- package/dist/components/ShineFx.js.map +1 -1
- package/dist/components/Skeleton.js +1 -1
- package/dist/components/Skeleton.js.map +1 -1
- package/dist/components/Slider.js +1 -1
- package/dist/components/Slider.js.map +1 -1
- package/dist/components/Slider.module.scss +2 -2
- package/dist/components/SmartLink.js +1 -1
- package/dist/components/SmartLink.js.map +1 -1
- package/dist/components/Spinner.js +1 -1
- package/dist/components/Spinner.js.map +1 -1
- package/dist/components/StatusIndicator.js +1 -1
- package/dist/components/StatusIndicator.js.map +1 -1
- package/dist/components/StylePanel.js +1 -1
- package/dist/components/StylePanel.js.map +1 -1
- package/dist/components/Swiper.d.ts +2 -1
- package/dist/components/Swiper.d.ts.map +1 -1
- package/dist/components/Swiper.js +5 -5
- package/dist/components/Swiper.js.map +1 -1
- package/dist/components/Switch.js +1 -1
- package/dist/components/Switch.js.map +1 -1
- package/dist/components/Table.d.ts +37 -6
- package/dist/components/Table.d.ts.map +1 -1
- package/dist/components/Table.js +115 -30
- package/dist/components/Table.js.map +1 -1
- package/dist/components/Table.module.scss +174 -3
- package/dist/components/Tag.d.ts +1 -1
- package/dist/components/Tag.d.ts.map +1 -1
- package/dist/components/Tag.js +1 -1
- package/dist/components/Tag.js.map +1 -1
- package/dist/components/Text.js +1 -1
- package/dist/components/Text.js.map +1 -1
- package/dist/components/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea.js +1 -2
- package/dist/components/Textarea.js.map +1 -1
- package/dist/components/ThemeInit.d.ts.map +1 -1
- package/dist/components/ThemeInit.js +6 -2
- package/dist/components/ThemeInit.js.map +1 -1
- package/dist/components/TiltFx.d.ts +1 -1
- package/dist/components/TiltFx.d.ts.map +1 -1
- package/dist/components/TiltFx.js +16 -7
- package/dist/components/TiltFx.js.map +1 -1
- package/dist/components/Timeline.d.ts +3 -3
- package/dist/components/Timeline.d.ts.map +1 -1
- package/dist/components/Timeline.js +19 -54
- package/dist/components/Timeline.js.map +1 -1
- package/dist/components/Toast.js +1 -1
- package/dist/components/Toast.js.map +1 -1
- package/dist/components/Toaster.d.ts +1 -1
- package/dist/components/Toaster.d.ts.map +1 -1
- package/dist/components/Toaster.js +4 -4
- package/dist/components/Toaster.js.map +1 -1
- package/dist/components/Toaster.module.scss +0 -2
- package/dist/components/ToggleButton.js +1 -1
- package/dist/components/ToggleButton.js.map +1 -1
- package/dist/components/Tooltip.js +1 -1
- package/dist/components/Tooltip.js.map +1 -1
- package/dist/components/TypeFx.d.ts +1 -1
- package/dist/components/TypeFx.d.ts.map +1 -1
- package/dist/components/TypeFx.js +3 -3
- package/dist/components/TypeFx.js.map +1 -1
- package/dist/components/User.js +1 -1
- package/dist/components/User.js.map +1 -1
- package/dist/components/UserMenu.d.ts +1 -1
- package/dist/components/UserMenu.d.ts.map +1 -1
- package/dist/components/UserMenu.js +4 -3
- package/dist/components/UserMenu.js.map +1 -1
- package/dist/css/styles.css +1 -1
- package/dist/css/styles.css.map +1 -1
- package/dist/css/tokens.css +1 -1
- package/dist/css/tokens.css.map +1 -1
- package/dist/data/emoji-data.json +8 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useArrowNavigation.d.ts.map +1 -1
- package/dist/hooks/useArrowNavigation.js +1 -0
- package/dist/hooks/useArrowNavigation.js.map +1 -1
- package/dist/hooks/useDebounce.d.ts +1 -1
- package/dist/hooks/useDebounce.d.ts.map +1 -1
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useResponsiveClasses.d.ts.map +1 -1
- package/dist/hooks/useResponsiveClasses.js +45 -2
- package/dist/hooks/useResponsiveClasses.js.map +1 -1
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +7 -2
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +21 -36
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/internal/scrollLockState.d.ts +2 -0
- package/dist/internal/scrollLockState.d.ts.map +1 -0
- package/dist/internal/scrollLockState.js +12 -0
- package/dist/internal/scrollLockState.js.map +1 -0
- package/dist/modules/code/CodeBlock.impl.d.ts +2 -0
- package/dist/modules/code/CodeBlock.impl.d.ts.map +1 -1
- package/dist/modules/code/CodeBlock.impl.js +57 -17
- package/dist/modules/code/CodeBlock.impl.js.map +1 -1
- package/dist/modules/data/BarChart.impl.js +1 -1
- package/dist/modules/data/BarChart.impl.js.map +1 -1
- package/dist/modules/data/LineBarChart.impl.js +1 -1
- package/dist/modules/data/LineBarChart.impl.js.map +1 -1
- package/dist/modules/data/LineChart.impl.js +1 -1
- package/dist/modules/data/LineChart.impl.js.map +1 -1
- package/dist/modules/data/PieChart.impl.js +1 -1
- package/dist/modules/data/PieChart.impl.js.map +1 -1
- package/dist/modules/data/utils/formatDate.js +1 -1
- package/dist/modules/data/utils/formatDate.js.map +1 -1
- package/dist/modules/index.d.ts +2 -1
- package/dist/modules/index.d.ts.map +1 -1
- package/dist/modules/index.js +2 -1
- package/dist/modules/index.js.map +1 -1
- package/dist/modules/seo/Schema.d.ts.map +1 -1
- package/dist/modules/seo/Schema.js +3 -4
- package/dist/modules/seo/Schema.js.map +1 -1
- package/dist/package.json +38 -8
- package/dist/server/og-url-validation.d.ts +10 -0
- package/dist/server/og-url-validation.d.ts.map +1 -0
- package/dist/server/og-url-validation.js +234 -0
- package/dist/server/og-url-validation.js.map +1 -0
- package/dist/server/og-utils.d.ts +5 -2
- package/dist/server/og-utils.d.ts.map +1 -1
- package/dist/server/og-utils.js +39 -14
- package/dist/server/og-utils.js.map +1 -1
- package/dist/styles/typography.scss +8 -0
- package/dist/tokens/typography.scss +2 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/safe-html.d.ts +19 -0
- package/dist/utils/safe-html.d.ts.map +1 -0
- package/dist/utils/safe-html.js +43 -0
- package/dist/utils/safe-html.js.map +1 -0
- package/next-env.d.ts +5 -0
- package/package.json +55 -21
- package/scripts/copy-files.js +103 -0
- package/scripts/generate-ai-spec.js +464 -0
- package/scripts/generate-emoji-data.js +128 -0
- package/scripts/init-agent.js +156 -0
- package/scripts/validate-ai-code.js +149 -0
- package/.eslintrc.json +0 -3
- package/ai/catalog.seed.json +0 -411
- package/dist/ai/catalog.seed.json +0 -411
- package/next.config.mjs +0 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EACZ,QAAQ,EACR,SAAS,EACT,UAAU,EAEV,WAAW,GAEZ,MAAM,OAAO,CAAC;AACf,OAAO,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { useState, useRef, useCallback, useEffect, forwardRef } from "react";
|
|
4
|
-
import classNames from "
|
|
4
|
+
import classNames from "clsx";
|
|
5
5
|
const defaultCharset = ["X", "$", "@", "a", "H", "z", "o", "0", "y", "#", "?", "*", "0", "1", "+"];
|
|
6
6
|
function getRandomCharacter(charset) {
|
|
7
7
|
const randomIndex = Math.floor(Math.random() * charset.length);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LetterFx.js","sourceRoot":"","sources":["../../src/components/LetterFx.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAa,MAAM,OAAO,CAAC;AAC/F,OAAO,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"LetterFx.js","sourceRoot":"","sources":["../../src/components/LetterFx.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { forwardRef } from "react";
|
|
4
|
-
import classNames from "
|
|
4
|
+
import classNames from "clsx";
|
|
5
5
|
import styles from "./List.module.scss";
|
|
6
6
|
import { Text } from ".";
|
|
7
7
|
const ListItem = forwardRef(({ className, children, style, ...props }, ref) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../src/components/ListItem.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../src/components/ListItem.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,UAAU,MAAM,MAAM,CAAC;AAC9B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;AAQzB,MAAM,QAAQ,GAAG,UAAU,CACzB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAChD,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE7D,OAAO,CACL,KAAC,IAAI,IACH,EAAE,EAAC,IAAI,EACP,QAAQ,EAAC,GAAG,EACZ,YAAY,EAAC,GAAG,EAChB,WAAW,EAAC,GAAG,EACf,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,KAAK,KACR,KAAK,YAER,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -14,6 +14,6 @@ interface LogoProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
|
14
14
|
url?: string;
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
declare const Logo: React.
|
|
17
|
+
declare const Logo: React.ForwardRefExoticComponent<LogoProps & React.RefAttributes<HTMLDivElement>>;
|
|
18
18
|
export { Logo };
|
|
19
19
|
//# sourceMappingURL=Logo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logo.d.ts","sourceRoot":"","sources":["../../src/components/Logo.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"Logo.d.ts","sourceRoot":"","sources":["../../src/components/Logo.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAGrD,OAAO,EAAgB,WAAW,EAAE,MAAM,UAAU,CAAC;AAYrD,UAAU,SAAU,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,QAAA,MAAM,IAAI,kFAyLR,CAAA;AAGF,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
package/dist/components/Logo.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useEffect } from "react";
|
|
3
|
+
import { useEffect, forwardRef } from "react";
|
|
4
4
|
import Link from "next/link";
|
|
5
|
-
import classNames from "
|
|
5
|
+
import classNames from "clsx";
|
|
6
6
|
import { Flex, ContextMenu, Option, Icon, Column, Line } from ".";
|
|
7
7
|
import { useToast } from "../contexts";
|
|
8
8
|
const sizeMap = {
|
|
@@ -12,20 +12,16 @@ const sizeMap = {
|
|
|
12
12
|
l: "40",
|
|
13
13
|
xl: "48",
|
|
14
14
|
};
|
|
15
|
-
const Logo = ({ size = "m", href, icon, wordmark, className, style, dark, light, brand, ...props }) => {
|
|
15
|
+
const Logo = forwardRef(({ size = "m", href, icon, wordmark, className, style, dark, light, brand, ...props }, ref) => {
|
|
16
16
|
useEffect(() => {
|
|
17
17
|
if (!icon && !wordmark) {
|
|
18
18
|
console.warn("Both 'icon' and 'wordmark' props are set to false. The logo will not render any content.");
|
|
19
19
|
}
|
|
20
20
|
}, [icon, wordmark]);
|
|
21
|
-
const content = (_jsxs(_Fragment, { children: [icon && (
|
|
22
|
-
// @ts-ignore
|
|
23
|
-
_jsx("img", { style: {
|
|
21
|
+
const content = (_jsxs(_Fragment, { children: [icon && (_jsx("img", { style: {
|
|
24
22
|
height: `var(--static-space-${sizeMap[size]})`,
|
|
25
23
|
width: "auto",
|
|
26
|
-
}, alt: "Trademark", src: icon })), wordmark && (
|
|
27
|
-
// @ts-ignore
|
|
28
|
-
_jsx("img", { style: {
|
|
24
|
+
}, alt: "Trademark", src: icon })), wordmark && (_jsx("img", { style: {
|
|
29
25
|
height: `var(--static-space-${sizeMap[size]})`,
|
|
30
26
|
width: "auto",
|
|
31
27
|
}, alt: "Trademark", src: wordmark }))] }));
|
|
@@ -93,7 +89,7 @@ const Logo = ({ size = "m", href, icon, wordmark, className, style, dark, light,
|
|
|
93
89
|
}
|
|
94
90
|
};
|
|
95
91
|
return enableContext ? (_jsx(ContextMenu, { dropdown: renderDropdownContent(), placement: "bottom-start", children: renderLogo() })) : (renderLogo());
|
|
96
|
-
};
|
|
92
|
+
});
|
|
97
93
|
Logo.displayName = "Logo";
|
|
98
94
|
export { Logo };
|
|
99
95
|
//# sourceMappingURL=Logo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logo.js","sourceRoot":"","sources":["../../src/components/Logo.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Logo.js","sourceRoot":"","sources":["../../src/components/Logo.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { forwardRef, useState, useEffect } from "react";
|
|
4
|
-
import classNames from "
|
|
4
|
+
import classNames from "clsx";
|
|
5
5
|
import { Grid, Flex, Logo } from ".";
|
|
6
6
|
import styles from "./LogoCloud.module.scss";
|
|
7
7
|
const ANIMATION_DURATION = 5000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogoCloud.js","sourceRoot":"","sources":["../../src/components/LogoCloud.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"LogoCloud.js","sourceRoot":"","sources":["../../src/components/LogoCloud.tsx"],"names":[],"mappings":"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"}
|
package/dist/components/Mask.js
CHANGED
|
@@ -3,7 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import { forwardRef, useCallback, useEffect, useRef } from "react";
|
|
4
4
|
import { Flex } from ".";
|
|
5
5
|
import styles from "./Mask.module.scss";
|
|
6
|
-
import classNames from "
|
|
6
|
+
import classNames from "clsx";
|
|
7
7
|
import { useInViewport } from "../hooks/useInViewport";
|
|
8
8
|
import { useReducedMotion } from "../hooks/useReducedMotion";
|
|
9
9
|
const Mask = forwardRef(({ cursor = false, x, y, radius = 50, reducedMotion = "auto", children, className, style, ...rest }, forwardedRef) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mask.js","sourceRoot":"","sources":["../../src/components/Mask.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAiB,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;AACzB,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"Mask.js","sourceRoot":"","sources":["../../src/components/Mask.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import React, { forwardRef } from "react";
|
|
3
3
|
import { Column } from "./Column";
|
|
4
|
-
import classNames from "
|
|
4
|
+
import classNames from "clsx";
|
|
5
5
|
import styles from "./MasonryGrid.module.scss";
|
|
6
6
|
import { Flex } from "./Flex";
|
|
7
7
|
function parseToken(value, type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MasonryGrid.js","sourceRoot":"","sources":["../../src/components/MasonryGrid.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,UAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"MasonryGrid.js","sourceRoot":"","sources":["../../src/components/MasonryGrid.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,UAAU,MAAM,MAAM,CAAC;AAC9B,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAO9B,SAAS,UAAU,CAAC,KAA+C,EAAE,IAAwB;IAC3F,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,GAAG,KAAK,KAAK,CAAC;IACpD,IACE;QACE,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,GAAG;QACH,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,KAAK;QACL,KAAK;QACL,KAAK;KACN,CAAC,QAAQ,CAAC,KAAK,CAAC,EACjB,CAAC;QACD,OAAO,sBAAsB,KAAK,GAAG,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,oBAAoB,IAAI,IAAI,KAAK,GAAG,CAAC;IAC9C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAcD,MAAM,WAAW,GAAG,UAAU,CAC5B,CAAC,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;IACpF,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,uBAAuB,CAAC;IAErE,MAAM,OAAO,GAAG,UAAU,CACxB,OAAO,IAAI,MAAM,CAAC,WAAW,OAAO,EAAE,CAAC,EACvC,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,EAC9C,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,EAC9C,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,EAC9C,EAAE,EAAE,OAAO,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,EACjD,SAAS,CACV,CAAC;IAEF,OAAO,CACL,KAAC,IAAI,IACH,SAAS,QACT,SAAS,EAAE,OAAO,EAClB,GAAG,EAAE,GAAG,KACJ,IAAI,EACR,KAAK,EAAE;YACL,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,QAAQ;YACnB,GAAG,KAAK;SACT,YACA,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAC5C,KAAC,MAAM,IAEL,SAAS,QACT,SAAS,QACT,KAAK,EAAE;gBACL,WAAW,EAAE,OAAO;gBACpB,YAAY,EAAE,QAAQ;aACvB,YAEA,KAAK,IARD,GAAG,CASD,CACV,CAAC,GACG,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC"}
|
|
@@ -21,6 +21,6 @@ export interface MediaProps extends React.ComponentProps<typeof Flex> {
|
|
|
21
21
|
style?: CSSProperties;
|
|
22
22
|
className?: string;
|
|
23
23
|
}
|
|
24
|
-
declare const Media: React.
|
|
24
|
+
declare const Media: React.ForwardRefExoticComponent<Omit<MediaProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
25
25
|
export { Media };
|
|
26
26
|
//# sourceMappingURL=Media.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Media.d.ts","sourceRoot":"","sources":["../../src/components/Media.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,aAAa,EAA+B,SAAS,
|
|
1
|
+
{"version":3,"file":"Media.d.ts","sourceRoot":"","sources":["../../src/components/Media.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,aAAa,EAA+B,SAAS,EAAc,MAAM,OAAO,CAAC;AACjG,OAAO,EAAU,IAAI,EAA6B,MAAM,GAAG,CAAC;AAK5D,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,KAAK,gGA8OT,CAAA;AAGF,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
package/dist/components/Media.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { useState, useRef, useEffect } from "react";
|
|
3
|
+
import { useState, useRef, useEffect, forwardRef } from "react";
|
|
4
4
|
import { Column, Flex, Row, Skeleton, ScrollLock } from ".";
|
|
5
|
+
import { MediaVideoPlayer } from "./MediaVideoPlayer";
|
|
5
6
|
import Image from "next/image";
|
|
6
|
-
import classNames from "
|
|
7
|
-
const Media = ({ src, alt = "", fillWidth = true, fill = false, loading = false, enlarge = false, unoptimized = false, objectFit = "cover", sizes = "100vw", aspectRatio = "original", height, priority, caption, loop = true, autoplay = true, sound = false, controls = false, style, className, ...rest }) => {
|
|
7
|
+
import classNames from "clsx";
|
|
8
|
+
const Media = forwardRef(({ src, alt = "", fillWidth = true, fill = false, loading = false, enlarge = false, unoptimized = false, objectFit = "cover", sizes = "100vw", aspectRatio = "original", height, priority, caption, loop = true, autoplay = true, sound = false, controls = false, style, className, ...rest }, ref) => {
|
|
8
9
|
const [isEnlarged, setIsEnlarged] = useState(false);
|
|
9
10
|
const imageRef = useRef(null);
|
|
10
11
|
const handleImageClick = () => {
|
|
11
|
-
if (
|
|
12
|
+
if (canEnlarge) {
|
|
12
13
|
if (!isEnlarged) {
|
|
13
14
|
setIsEnlarged(true);
|
|
14
15
|
}
|
|
@@ -83,10 +84,12 @@ const Media = ({ src, alt = "", fillWidth = true, fill = false, loading = false,
|
|
|
83
84
|
};
|
|
84
85
|
const isVideo = isVideoUrl(src);
|
|
85
86
|
const isYouTube = isYouTubeVideo(src);
|
|
87
|
+
const useCustomVideoControls = isVideo && controls;
|
|
88
|
+
const canEnlarge = enlarge && !useCustomVideoControls;
|
|
86
89
|
const resolvedSizes = typeof sizes === "number"
|
|
87
90
|
? `(max-width: ${sizes}px) 100vw, ${sizes}px`
|
|
88
91
|
: sizes;
|
|
89
|
-
return (_jsxs(_Fragment, { children: [_jsx(ScrollLock, { enabled: isEnlarged }), isEnlarged &&
|
|
92
|
+
return (_jsxs(_Fragment, { children: [_jsx(ScrollLock, { enabled: isEnlarged }), isEnlarged && canEnlarge && typeof document !== 'undefined' && (_jsx(Flex, { center: true, position: "fixed", background: "overlay", pointerEvents: "auto", onClick: handleOverlayClick, top: "0", left: "0", zIndex: 9, opacity: 100, cursor: "interactive", transition: "macro-medium", className: "cursor-interactive", style: {
|
|
90
93
|
backdropFilter: "blur(0.5rem)",
|
|
91
94
|
width: "100vw",
|
|
92
95
|
height: "100vh",
|
|
@@ -98,7 +101,7 @@ const Media = ({ src, alt = "", fillWidth = true, fill = false, loading = false,
|
|
|
98
101
|
borderRadius: isEnlarged ? "0" : undefined,
|
|
99
102
|
...calculateTransform(),
|
|
100
103
|
...style,
|
|
101
|
-
}, onClick: handleImageClick, className: classNames(
|
|
104
|
+
}, onClick: handleImageClick, className: classNames(canEnlarge && !isEnlarged ? "cursor-zoom-in" : canEnlarge && isEnlarged ? "cursor-zoom-out" : undefined, className), ...rest, children: [loading && _jsx(Skeleton, { shape: "block", radius: rest.radius }), !loading && isVideo && useCustomVideoControls && (_jsx(MediaVideoPlayer, { src: src, autoplay: autoplay, loop: loop, muted: !sound, objectFit: objectFit })), !loading && isVideo && !useCustomVideoControls && (_jsx("video", { src: src, autoPlay: autoplay, loop: loop, muted: !sound, playsInline: true, style: {
|
|
102
105
|
width: "100%",
|
|
103
106
|
height: "100%",
|
|
104
107
|
objectFit: objectFit,
|
|
@@ -110,7 +113,7 @@ const Media = ({ src, alt = "", fillWidth = true, fill = false, loading = false,
|
|
|
110
113
|
width: aspectRatio ? "100%" : undefined,
|
|
111
114
|
height: aspectRatio ? "100%" : undefined,
|
|
112
115
|
} }))] }), caption && (_jsx(Row, { as: "figcaption", fillWidth: true, textVariant: "label-default-s", onBackground: "neutral-weak", paddingY: "12", paddingX: "24", horizontal: "center", align: "center", children: caption }))] })] }));
|
|
113
|
-
};
|
|
116
|
+
});
|
|
114
117
|
Media.displayName = "Media";
|
|
115
118
|
export { Media };
|
|
116
119
|
//# sourceMappingURL=Media.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Media.js","sourceRoot":"","sources":["../../src/components/Media.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAiB,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Media.js","sourceRoot":"","sources":["../../src/components/Media.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { CSSProperties } from "react";
|
|
2
|
+
interface MediaVideoPlayerProps {
|
|
3
|
+
src: string;
|
|
4
|
+
autoplay?: boolean;
|
|
5
|
+
loop?: boolean;
|
|
6
|
+
muted?: boolean;
|
|
7
|
+
objectFit?: CSSProperties["objectFit"];
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
declare const MediaVideoPlayer: React.ForwardRefExoticComponent<MediaVideoPlayerProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export { MediaVideoPlayer };
|
|
12
|
+
//# sourceMappingURL=MediaVideoPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaVideoPlayer.d.ts","sourceRoot":"","sources":["../../src/components/MediaVideoPlayer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAwD,MAAM,OAAO,CAAC;AAKnG,UAAU,qBAAqB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,QAAA,MAAM,gBAAgB,8FA2YpB,CAAA;AAGF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useEffect, useRef, useState, forwardRef } from "react";
|
|
4
|
+
import classNames from "clsx";
|
|
5
|
+
import { Flex, IconButton, Row, Text } from ".";
|
|
6
|
+
import styles from "./MediaVideoPlayer.module.scss";
|
|
7
|
+
const formatTime = (seconds) => {
|
|
8
|
+
if (!Number.isFinite(seconds) || seconds < 0) {
|
|
9
|
+
return "0:00";
|
|
10
|
+
}
|
|
11
|
+
const totalSeconds = Math.floor(seconds);
|
|
12
|
+
const minutes = Math.floor(totalSeconds / 60);
|
|
13
|
+
const remainingSeconds = totalSeconds % 60;
|
|
14
|
+
return `${minutes}:${remainingSeconds.toString().padStart(2, "0")}`;
|
|
15
|
+
};
|
|
16
|
+
const MediaVideoPlayer = forwardRef(({ src, autoplay = false, loop = false, muted: mutedProp = true, objectFit = "cover", className, }, ref) => {
|
|
17
|
+
const containerRef = useRef(null);
|
|
18
|
+
const videoRef = useRef(null);
|
|
19
|
+
const progressRef = useRef(null);
|
|
20
|
+
const hideControlsTimeoutRef = useRef(undefined);
|
|
21
|
+
const isSeekingRef = useRef(false);
|
|
22
|
+
const [isPlaying, setIsPlaying] = useState(autoplay);
|
|
23
|
+
const [isMuted, setIsMuted] = useState(mutedProp);
|
|
24
|
+
const [isFullscreen, setIsFullscreen] = useState(false);
|
|
25
|
+
const [controlsVisible, setControlsVisible] = useState(true);
|
|
26
|
+
const [currentTime, setCurrentTime] = useState(0);
|
|
27
|
+
const [duration, setDuration] = useState(0);
|
|
28
|
+
const [progress, setProgress] = useState(0);
|
|
29
|
+
const clearHideControlsTimeout = useCallback(() => {
|
|
30
|
+
if (hideControlsTimeoutRef.current) {
|
|
31
|
+
clearTimeout(hideControlsTimeoutRef.current);
|
|
32
|
+
hideControlsTimeoutRef.current = undefined;
|
|
33
|
+
}
|
|
34
|
+
}, []);
|
|
35
|
+
const scheduleHideControls = useCallback(() => {
|
|
36
|
+
clearHideControlsTimeout();
|
|
37
|
+
if (!videoRef.current || videoRef.current.paused) {
|
|
38
|
+
setControlsVisible(true);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
hideControlsTimeoutRef.current = setTimeout(() => {
|
|
42
|
+
setControlsVisible(false);
|
|
43
|
+
}, 2500);
|
|
44
|
+
}, [clearHideControlsTimeout]);
|
|
45
|
+
const revealControls = useCallback(() => {
|
|
46
|
+
setControlsVisible(true);
|
|
47
|
+
scheduleHideControls();
|
|
48
|
+
}, [scheduleHideControls]);
|
|
49
|
+
const syncPlaybackState = useCallback(() => {
|
|
50
|
+
const video = videoRef.current;
|
|
51
|
+
if (!video) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
setIsPlaying(!video.paused);
|
|
55
|
+
setCurrentTime(video.currentTime);
|
|
56
|
+
setDuration(video.duration || 0);
|
|
57
|
+
setProgress(video.duration ? (video.currentTime / video.duration) * 100 : 0);
|
|
58
|
+
}, []);
|
|
59
|
+
const togglePlay = useCallback(async () => {
|
|
60
|
+
const video = videoRef.current;
|
|
61
|
+
if (!video) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (video.paused) {
|
|
65
|
+
try {
|
|
66
|
+
await video.play();
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
video.pause();
|
|
74
|
+
}
|
|
75
|
+
syncPlaybackState();
|
|
76
|
+
revealControls();
|
|
77
|
+
}, [revealControls, syncPlaybackState]);
|
|
78
|
+
const toggleMute = useCallback(() => {
|
|
79
|
+
const video = videoRef.current;
|
|
80
|
+
if (!video) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
video.muted = !video.muted;
|
|
84
|
+
setIsMuted(video.muted);
|
|
85
|
+
revealControls();
|
|
86
|
+
}, [revealControls]);
|
|
87
|
+
const toggleFullscreen = useCallback(async () => {
|
|
88
|
+
const container = containerRef.current;
|
|
89
|
+
if (!container) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
if (document.fullscreenElement) {
|
|
94
|
+
await document.exitFullscreen();
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
await container.requestFullscreen();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
revealControls();
|
|
104
|
+
}, [revealControls]);
|
|
105
|
+
const seekToPosition = useCallback((clientX) => {
|
|
106
|
+
const video = videoRef.current;
|
|
107
|
+
const progressTrack = progressRef.current;
|
|
108
|
+
if (!video || !progressTrack || !video.duration) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const rect = progressTrack.getBoundingClientRect();
|
|
112
|
+
const ratio = Math.max(0, Math.min(1, (clientX - rect.left) / rect.width));
|
|
113
|
+
video.currentTime = ratio * video.duration;
|
|
114
|
+
syncPlaybackState();
|
|
115
|
+
}, [syncPlaybackState]);
|
|
116
|
+
const handleProgressPointerDown = (event) => {
|
|
117
|
+
event.stopPropagation();
|
|
118
|
+
isSeekingRef.current = true;
|
|
119
|
+
progressRef.current?.setPointerCapture(event.pointerId);
|
|
120
|
+
seekToPosition(event.clientX);
|
|
121
|
+
revealControls();
|
|
122
|
+
};
|
|
123
|
+
const handleProgressPointerMove = (event) => {
|
|
124
|
+
if (!isSeekingRef.current) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
seekToPosition(event.clientX);
|
|
128
|
+
};
|
|
129
|
+
const handleProgressPointerUp = (event) => {
|
|
130
|
+
if (!isSeekingRef.current) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
isSeekingRef.current = false;
|
|
134
|
+
progressRef.current?.releasePointerCapture(event.pointerId);
|
|
135
|
+
scheduleHideControls();
|
|
136
|
+
};
|
|
137
|
+
const handleContainerClick = (event) => {
|
|
138
|
+
if (event.target.closest("[data-video-control]")) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
togglePlay();
|
|
142
|
+
};
|
|
143
|
+
const handleKeyDown = (event) => {
|
|
144
|
+
switch (event.key) {
|
|
145
|
+
case " ":
|
|
146
|
+
case "k":
|
|
147
|
+
event.preventDefault();
|
|
148
|
+
togglePlay();
|
|
149
|
+
break;
|
|
150
|
+
case "m":
|
|
151
|
+
event.preventDefault();
|
|
152
|
+
toggleMute();
|
|
153
|
+
break;
|
|
154
|
+
case "f":
|
|
155
|
+
event.preventDefault();
|
|
156
|
+
toggleFullscreen();
|
|
157
|
+
break;
|
|
158
|
+
case "ArrowLeft":
|
|
159
|
+
event.preventDefault();
|
|
160
|
+
if (videoRef.current) {
|
|
161
|
+
videoRef.current.currentTime = Math.max(0, videoRef.current.currentTime - 5);
|
|
162
|
+
syncPlaybackState();
|
|
163
|
+
revealControls();
|
|
164
|
+
}
|
|
165
|
+
break;
|
|
166
|
+
case "ArrowRight":
|
|
167
|
+
event.preventDefault();
|
|
168
|
+
if (videoRef.current) {
|
|
169
|
+
videoRef.current.currentTime = Math.min(videoRef.current.duration || 0, videoRef.current.currentTime + 5);
|
|
170
|
+
syncPlaybackState();
|
|
171
|
+
revealControls();
|
|
172
|
+
}
|
|
173
|
+
break;
|
|
174
|
+
default:
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
useEffect(() => {
|
|
179
|
+
const video = videoRef.current;
|
|
180
|
+
if (!video) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
video.muted = mutedProp;
|
|
184
|
+
const handleLoadedMetadata = () => syncPlaybackState();
|
|
185
|
+
const handleTimeUpdate = () => syncPlaybackState();
|
|
186
|
+
const handlePlay = () => {
|
|
187
|
+
setIsPlaying(true);
|
|
188
|
+
scheduleHideControls();
|
|
189
|
+
};
|
|
190
|
+
const handlePause = () => {
|
|
191
|
+
setIsPlaying(false);
|
|
192
|
+
setControlsVisible(true);
|
|
193
|
+
clearHideControlsTimeout();
|
|
194
|
+
};
|
|
195
|
+
const handleVolumeChange = () => setIsMuted(video.muted);
|
|
196
|
+
video.addEventListener("loadedmetadata", handleLoadedMetadata);
|
|
197
|
+
video.addEventListener("timeupdate", handleTimeUpdate);
|
|
198
|
+
video.addEventListener("play", handlePlay);
|
|
199
|
+
video.addEventListener("pause", handlePause);
|
|
200
|
+
video.addEventListener("volumechange", handleVolumeChange);
|
|
201
|
+
if (autoplay) {
|
|
202
|
+
video.play().catch(() => {
|
|
203
|
+
setIsPlaying(false);
|
|
204
|
+
setControlsVisible(true);
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
return () => {
|
|
208
|
+
video.removeEventListener("loadedmetadata", handleLoadedMetadata);
|
|
209
|
+
video.removeEventListener("timeupdate", handleTimeUpdate);
|
|
210
|
+
video.removeEventListener("play", handlePlay);
|
|
211
|
+
video.removeEventListener("pause", handlePause);
|
|
212
|
+
video.removeEventListener("volumechange", handleVolumeChange);
|
|
213
|
+
};
|
|
214
|
+
}, [autoplay, clearHideControlsTimeout, mutedProp, scheduleHideControls, syncPlaybackState]);
|
|
215
|
+
useEffect(() => {
|
|
216
|
+
const handleFullscreenChange = () => {
|
|
217
|
+
setIsFullscreen(Boolean(document.fullscreenElement));
|
|
218
|
+
};
|
|
219
|
+
document.addEventListener("fullscreenchange", handleFullscreenChange);
|
|
220
|
+
return () => {
|
|
221
|
+
document.removeEventListener("fullscreenchange", handleFullscreenChange);
|
|
222
|
+
};
|
|
223
|
+
}, []);
|
|
224
|
+
useEffect(() => {
|
|
225
|
+
return () => {
|
|
226
|
+
clearHideControlsTimeout();
|
|
227
|
+
};
|
|
228
|
+
}, [clearHideControlsTimeout]);
|
|
229
|
+
const showCenterPlay = !isPlaying && controlsVisible;
|
|
230
|
+
return (_jsxs("div", { ref: containerRef, className: classNames(styles.container, className), tabIndex: 0, role: "group", "aria-label": "Video player", onMouseMove: revealControls, onTouchStart: revealControls, onClick: handleContainerClick, onKeyDown: handleKeyDown, children: [_jsx("video", { ref: videoRef, className: styles.video, src: src, loop: loop, muted: isMuted, playsInline: true, preload: "metadata", style: { objectFit } }), _jsxs("div", { className: classNames(styles.overlay, controlsVisible || !isPlaying ? styles.visible : styles.hidden), children: [_jsx("div", { className: styles.gradient }), showCenterPlay && (_jsx("div", { className: styles.centerPlay, "data-video-control": true, children: _jsx(Flex, { center: true, radius: "full", className: styles.centerPlayButton, style: { width: "4rem", height: "4rem" }, children: _jsx(IconButton, { variant: "ghost", icon: "play", tooltip: "Play", tooltipPosition: "top", onClick: (event) => {
|
|
231
|
+
event.stopPropagation();
|
|
232
|
+
togglePlay();
|
|
233
|
+
}, "data-video-control": true }) }) })), _jsxs(Flex, { fillWidth: true, direction: "column", gap: "8", paddingX: "12", paddingBottom: "12", className: styles.controls, "data-video-control": true, children: [_jsx(Row, { ref: progressRef, fillWidth: true, radius: "full", className: styles.progressTrack, style: { background: "var(--neutral-alpha-medium)" }, onPointerDown: handleProgressPointerDown, onPointerMove: handleProgressPointerMove, onPointerUp: handleProgressPointerUp, onPointerCancel: handleProgressPointerUp, role: "slider", "aria-label": "Seek", "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": Math.round(progress), children: _jsx(Row, { radius: "full", fillHeight: true, className: styles.progressFill, style: { width: `${progress}%`, background: "var(--brand-solid-strong)" } }) }), _jsxs(Row, { fillWidth: true, vertical: "center", horizontal: "between", gap: "8", children: [_jsxs(Row, { vertical: "center", gap: "4", children: [_jsx(IconButton, { variant: "ghost", icon: isPlaying ? "pause" : "play", tooltip: isPlaying ? "Pause" : "Play", tooltipPosition: "top", onClick: (event) => {
|
|
234
|
+
event.stopPropagation();
|
|
235
|
+
togglePlay();
|
|
236
|
+
} }), _jsxs(Text, { variant: "label-default-xs", onSolid: "neutral-weak", className: styles.time, children: [formatTime(currentTime), " / ", formatTime(duration)] })] }), _jsxs(Row, { vertical: "center", gap: "4", children: [_jsx(IconButton, { variant: "ghost", icon: isMuted ? "volumeOff" : "volume", tooltip: isMuted ? "Unmute" : "Mute", tooltipPosition: "top", onClick: (event) => {
|
|
237
|
+
event.stopPropagation();
|
|
238
|
+
toggleMute();
|
|
239
|
+
} }), _jsx(IconButton, { variant: "ghost", icon: isFullscreen ? "minimize" : "maximize", tooltip: isFullscreen ? "Exit fullscreen" : "Fullscreen", tooltipPosition: "top", onClick: (event) => {
|
|
240
|
+
event.stopPropagation();
|
|
241
|
+
toggleFullscreen();
|
|
242
|
+
} })] })] })] })] })] }));
|
|
243
|
+
});
|
|
244
|
+
MediaVideoPlayer.displayName = "MediaVideoPlayer";
|
|
245
|
+
export { MediaVideoPlayer };
|
|
246
|
+
//# sourceMappingURL=MediaVideoPlayer.js.map
|