@makeswift/runtime 0.4.1 → 0.5.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.
Files changed (92) hide show
  1. package/dist/Box.cjs.js +5 -3
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +5 -3
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +3 -3
  6. package/dist/Button.es.js +3 -3
  7. package/dist/Carousel.cjs.js +5 -3
  8. package/dist/Carousel.cjs.js.map +1 -1
  9. package/dist/Carousel.es.js +5 -3
  10. package/dist/Carousel.es.js.map +1 -1
  11. package/dist/Countdown.cjs.js +3 -3
  12. package/dist/Countdown.es.js +3 -3
  13. package/dist/Divider.cjs.js +3 -3
  14. package/dist/Divider.es.js +3 -3
  15. package/dist/Embed.cjs.js +3 -3
  16. package/dist/Embed.es.js +3 -3
  17. package/dist/Form.cjs.js +3 -3
  18. package/dist/Form.es.js +3 -3
  19. package/dist/Image.cjs.js +20 -12
  20. package/dist/Image.cjs.js.map +1 -1
  21. package/dist/Image.es.js +20 -12
  22. package/dist/Image.es.js.map +1 -1
  23. package/dist/LiveProvider.cjs.js +62 -0
  24. package/dist/LiveProvider.cjs.js.map +1 -0
  25. package/dist/LiveProvider.es.js +60 -0
  26. package/dist/LiveProvider.es.js.map +1 -0
  27. package/dist/Navigation.cjs.js +5 -3
  28. package/dist/Navigation.cjs.js.map +1 -1
  29. package/dist/Navigation.es.js +5 -3
  30. package/dist/Navigation.es.js.map +1 -1
  31. package/dist/{react-builder-preview.cjs.js → PreviewProvider.cjs.js} +43 -16
  32. package/dist/PreviewProvider.cjs.js.map +1 -0
  33. package/dist/{react-builder-preview.es.js → PreviewProvider.es.js} +47 -15
  34. package/dist/PreviewProvider.es.js.map +1 -0
  35. package/dist/Root.cjs.js +5 -3
  36. package/dist/Root.cjs.js.map +1 -1
  37. package/dist/Root.es.js +5 -3
  38. package/dist/Root.es.js.map +1 -1
  39. package/dist/SocialLinks.cjs.js +3 -3
  40. package/dist/SocialLinks.es.js +3 -3
  41. package/dist/Text.cjs.js +3 -3
  42. package/dist/Text.cjs.js.map +1 -1
  43. package/dist/Text.es.js +3 -3
  44. package/dist/Text.es.js.map +1 -1
  45. package/dist/Video.cjs.js +3 -3
  46. package/dist/Video.es.js +3 -3
  47. package/dist/actions.es.js +1 -1
  48. package/dist/components.cjs.js +5 -3
  49. package/dist/components.cjs.js.map +1 -1
  50. package/dist/components.es.js +5 -3
  51. package/dist/components.es.js.map +1 -1
  52. package/dist/grid-item.cjs.js +12 -1
  53. package/dist/grid-item.cjs.js.map +1 -1
  54. package/dist/grid-item.es.js +12 -1
  55. package/dist/grid-item.es.js.map +1 -1
  56. package/dist/index.cjs.js +56 -81
  57. package/dist/index.cjs.js.map +1 -1
  58. package/dist/index.cjs2.js +6 -7
  59. package/dist/index.cjs2.js.map +1 -1
  60. package/dist/index.es.js +51 -81
  61. package/dist/index.es.js.map +1 -1
  62. package/dist/index.es2.js +6 -7
  63. package/dist/index.es2.js.map +1 -1
  64. package/dist/next-version.cjs.js +10 -0
  65. package/dist/next-version.cjs.js.map +1 -0
  66. package/dist/next-version.es.js +5 -0
  67. package/dist/next-version.es.js.map +1 -0
  68. package/dist/next.cjs.js +3 -3
  69. package/dist/next.es.js +4 -4
  70. package/dist/react-page.es.js +1 -1
  71. package/dist/react.cjs.js +4 -4
  72. package/dist/react.es.js +4 -4
  73. package/dist/types/src/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  74. package/dist/types/src/components/builtin/Image/Image.d.ts.map +1 -1
  75. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
  76. package/dist/types/src/components/shared/Link/index.d.ts.map +1 -1
  77. package/dist/types/src/next/client.d.ts +1 -0
  78. package/dist/types/src/next/client.d.ts.map +1 -1
  79. package/dist/types/src/next/index.d.ts.map +1 -1
  80. package/dist/types/src/next/next-version.d.ts +3 -0
  81. package/dist/types/src/next/next-version.d.ts.map +1 -0
  82. package/dist/types/src/runtimes/react/components/LiveProvider.d.ts +11 -0
  83. package/dist/types/src/runtimes/react/components/LiveProvider.d.ts.map +1 -0
  84. package/dist/types/src/runtimes/react/components/PreviewProvider.d.ts +11 -0
  85. package/dist/types/src/runtimes/react/components/PreviewProvider.d.ts.map +1 -0
  86. package/dist/types/src/runtimes/react/index.d.ts +3 -1
  87. package/dist/types/src/runtimes/react/index.d.ts.map +1 -1
  88. package/dist/types/src/state/react-builder-preview.d.ts +3 -1
  89. package/dist/types/src/state/react-builder-preview.d.ts.map +1 -1
  90. package/package.json +4 -4
  91. package/dist/react-builder-preview.cjs.js.map +0 -1
  92. package/dist/react-builder-preview.es.js.map +0 -1
package/dist/Box.cjs.js CHANGED
@@ -42,16 +42,16 @@ var useMediaQuery = require("./useMediaQuery.cjs.js");
42
42
  var boxModels = require("./box-models.cjs.js");
43
43
  var gridItem = require("./grid-item.cjs.js");
44
44
  require("use-sync-external-store/shim/with-selector");
45
+ require("next/dynamic");
45
46
  require("./react-page.cjs.js");
46
47
  require("redux");
47
48
  require("redux-thunk");
48
49
  require("./actions.cjs.js");
49
50
  require("./control.cjs.js");
50
- require("next/dynamic");
51
- require("slate");
52
- require("./types.cjs.js");
53
51
  require("./text-input.cjs.js");
54
52
  require("./combobox.cjs.js");
53
+ require("slate");
54
+ require("./types.cjs.js");
55
55
  require("color");
56
56
  require("scroll-into-view-if-needed");
57
57
  require("react-dom");
@@ -68,6 +68,8 @@ require("corporate-ipsum");
68
68
  require("css-box-model");
69
69
  require("next/image");
70
70
  require("react-player");
71
+ require("./next-version.cjs.js");
72
+ require("next/package.json");
71
73
  var Placeholder = React.forwardRef(function Placeholder2(_a, ref) {
72
74
  var _b = _a, {
73
75
  hide = false
@@ -1 +1 @@
1
- {"version":3,"file":"Box.cjs.js","sources":["../src/components/builtin/Box/components/Placeholder/index.tsx","../src/components/builtin/Box/animations.tsx","../src/components/builtin/Box/Box.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\n\ntype Props = { hide?: boolean }\n\nexport default forwardRef(function Placeholder(\n { hide = false, ...restOfProps }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n style={{ visibility: hide ? 'hidden' : 'initial' }}\n className={useStyle({\n width: '100%',\n background: 'rgba(161, 168, 194, 0.18)',\n height: 80,\n padding: 8,\n })}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"100%\"\n height=\"100%\"\n style={{ overflow: 'visible' }}\n >\n <rect\n x={0}\n y={0}\n width=\"100%\"\n height=\"100%\"\n strokeWidth={2}\n strokeDasharray=\"4 2\"\n fill=\"none\"\n stroke=\"rgba(161, 168, 194, 0.40)\"\n rx=\"4\"\n ry=\"4\"\n />\n </svg>\n </div>\n )\n})\n","import {\n TargetAndTransition,\n Transition,\n useAnimation,\n useReducedMotion,\n Variants,\n MotionProps,\n} from 'framer-motion'\nimport { TransitionMap } from 'framer-motion/types/types'\nimport { useCallback, useEffect, useState } from 'react'\n\nimport { ResponsiveValue } from '../../../prop-controllers'\nimport { useMediaQuery } from '../../hooks'\nimport { Element } from '../../../state/react-page'\nimport {\n BoxAnimateIn,\n DEFAULT_BOX_ANIMATE_DELAY,\n DEFAULT_BOX_ANIMATE_DURATION,\n DEFAULT_BOX_ANIMATE_TYPE,\n DEFAULT_ITEM_ANIMATE_DELAY,\n DEFAULT_ITEM_ANIMATE_DURATION,\n DEFAULT_ITEM_ANIMATE_TYPE,\n DEFAULT_ITEM_STAGGER_DURATION,\n} from './constants'\n\nconst defaultExitedProps = {\n opacity: 0,\n x: 0,\n y: 0,\n scale: 1,\n}\n\ntype BoxAnimationVariants = {\n entered: TargetAndTransition\n exited: TargetAndTransition\n}\n\nexport const boxAnimations: {\n [key in BoxAnimateIn]: {\n transition: TransitionMap\n } & BoxAnimationVariants\n} = {\n none: {\n entered: {\n opacity: 1,\n },\n exited: {\n ...defaultExitedProps,\n opacity: 1,\n },\n transition: {},\n },\n fadeIn: {\n exited: defaultExitedProps,\n entered: {\n opacity: 1,\n },\n transition: {},\n },\n fadeLeft: {\n exited: {\n ...defaultExitedProps,\n x: 60,\n },\n entered: {\n opacity: 1,\n x: 0,\n },\n transition: {\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeRight: {\n exited: {\n ...defaultExitedProps,\n x: -60,\n },\n entered: {\n opacity: 1,\n x: 0,\n },\n transition: {\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeUp: {\n exited: {\n ...defaultExitedProps,\n y: 80,\n },\n entered: {\n opacity: 1,\n y: 0,\n },\n transition: {\n y: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeDown: {\n exited: {\n ...defaultExitedProps,\n y: -80,\n },\n entered: {\n opacity: 1,\n y: 0,\n },\n transition: {\n y: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n blurIn: {\n exited: {\n ...defaultExitedProps,\n filter: 'blur(20px)',\n },\n entered: {\n opacity: 1,\n filter: 'blur(0px)',\n },\n transition: {},\n },\n scaleDown: {\n exited: {\n ...defaultExitedProps,\n scale: 1.2,\n },\n entered: {\n opacity: 1,\n scale: 1,\n },\n transition: {\n scale: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n scaleUp: {\n exited: {\n ...defaultExitedProps,\n scale: 0.75,\n },\n entered: {\n opacity: 1,\n scale: 1,\n },\n transition: {\n scale: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n}\n\nconst mergeCustomTransitionWithDefault = (\n transitions: TransitionMap,\n props: Transition,\n): TransitionMap | Transition =>\n transitions\n ? Object.keys(transitions).reduce(\n (a, c) => ({\n ...a,\n [c]: {\n ...transitions[c as string],\n ...props,\n },\n }),\n props,\n )\n : props\n\nexport type BoxAnimationType = {\n containerAnimationProps: {\n transition: Transition\n variants: Variants\n }\n parentAnimationProps: {\n transition: Transition\n }\n childAnimationProps: {\n transition: Transition\n variants: Variants\n }\n}\n\nconst useElementOnScreen = (element: HTMLElement | null, options: IntersectionObserverInit) => {\n const [isVisible, setIsVisible] = useState(false)\n\n useEffect(() => {\n const observer = new IntersectionObserver(intersectionCallback, options)\n\n if (element) observer.observe(element)\n\n return () => {\n if (element) observer.unobserve(element)\n }\n\n function intersectionCallback([entry]: IntersectionObserverEntry[]) {\n if (entry?.isIntersecting) {\n setIsVisible(true)\n }\n }\n }, [element, options])\n\n return isVisible\n}\n\ntype UseBoxAnimationsPayload = {\n initial?: { container: MotionProps['initial']; parent: MotionProps['initial'] }\n animate?: { container: MotionProps['animate']; parent: MotionProps['animate'] }\n variants?: { container: MotionProps['variants']; child: MotionProps['variants'] }\n transition?: {\n container: MotionProps['transition']\n parent: MotionProps['transition']\n child: MotionProps['transition']\n }\n key?: { container: string }\n}\n\nexport const useBoxAnimations = ({\n boxElement,\n elements,\n ...props\n}: {\n boxAnimateType: ResponsiveValue<BoxAnimateIn> | undefined\n boxAnimateDuration: ResponsiveValue<number> | undefined\n boxAnimateDelay: ResponsiveValue<number> | undefined\n itemAnimateType: ResponsiveValue<BoxAnimateIn> | undefined\n itemAnimateDuration: ResponsiveValue<number> | undefined\n itemAnimateDelay: ResponsiveValue<number> | undefined\n itemStaggerDuration: ResponsiveValue<number> | undefined\n boxElement: HTMLElement | null\n elements: Element[] | undefined\n}): UseBoxAnimationsPayload => {\n const reducedMotion = useReducedMotion()\n const boxAnimateType = useMediaQuery(props.boxAnimateType) || DEFAULT_BOX_ANIMATE_TYPE\n const boxAnimateDuration = useMediaQuery(props.boxAnimateDuration) || DEFAULT_BOX_ANIMATE_DURATION\n const boxAnimateDelay = useMediaQuery(props.boxAnimateDelay) || DEFAULT_BOX_ANIMATE_DELAY\n const itemAnimateType = useMediaQuery(props.itemAnimateType) || DEFAULT_ITEM_ANIMATE_TYPE\n const itemAnimateDuration =\n useMediaQuery(props.itemAnimateDuration) || DEFAULT_ITEM_ANIMATE_DURATION\n const itemAnimateDelay = useMediaQuery(props.itemAnimateDelay) || DEFAULT_ITEM_ANIMATE_DELAY\n const itemStaggerDuration =\n useMediaQuery(props.itemStaggerDuration) || DEFAULT_ITEM_STAGGER_DURATION\n\n const isBoxVisible = useElementOnScreen(boxElement, {\n root: null,\n rootMargin: `0px 0px -10% 0px`,\n threshold: 0.2,\n })\n\n const itemControls = useAnimation()\n const boxControls = useAnimation()\n\n const setSequence = useCallback(\n (variant: keyof BoxAnimationVariants) => {\n boxControls.stop()\n itemControls.stop()\n boxControls.set(variant)\n itemControls.set(variant)\n },\n [boxControls, itemControls],\n )\n\n const playSequence = useCallback(() => {\n boxControls.stop()\n itemControls.stop()\n boxControls.set('exited')\n itemControls.set('exited')\n boxControls.start('entered')\n itemControls.start('entered')\n }, [boxControls, itemControls])\n\n useEffect(() => {\n if (isBoxVisible) {\n setSequence('entered')\n }\n }, [\n elements\n ?.map(e => e.key)\n .sort()\n .join(),\n setSequence,\n ])\n\n useEffect(() => {\n if (isBoxVisible) {\n playSequence()\n }\n }, [\n isBoxVisible,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n reducedMotion,\n playSequence,\n ])\n\n const boxVariant = boxAnimations[boxAnimateType]\n const itemVariant = boxAnimations[itemAnimateType]\n\n return {\n initial: {\n container: reducedMotion ? 'entered' : 'exited',\n parent: reducedMotion ? 'entered' : 'exited',\n },\n animate: {\n container: reducedMotion ? undefined : boxControls,\n parent: reducedMotion ? undefined : itemControls,\n },\n variants: {\n container: {\n exited: boxVariant.exited,\n entered: boxVariant.entered,\n },\n child: {\n exited: itemVariant.exited,\n entered: itemVariant.entered,\n },\n },\n transition: {\n container: mergeCustomTransitionWithDefault(boxVariant.transition, {\n delay: boxAnimateDelay,\n duration: boxAnimateDuration,\n }),\n parent: {\n delayChildren: itemAnimateDelay,\n staggerChildren: itemStaggerDuration,\n duration: itemAnimateDuration,\n },\n child: mergeCustomTransitionWithDefault(itemVariant.transition, {\n duration: itemAnimateDuration,\n }),\n },\n key: {\n container:\n boxAnimateType +\n boxAnimateDuration +\n boxAnimateDelay +\n itemAnimateType +\n itemAnimateDuration +\n itemAnimateDelay +\n itemStaggerDuration +\n reducedMotion,\n },\n }\n}\n","import { forwardRef, Ref, useImperativeHandle, useRef, useState } from 'react'\nimport { motion } from 'framer-motion'\nimport { cx } from '@emotion/css'\n\nimport { Element } from '../../../runtimes/react'\nimport Placeholder from './components/Placeholder'\nimport { useBoxAnimations } from './animations'\nimport {\n ElementIDValue,\n ResponsiveIconRadioGroupValue,\n GridValue,\n GapYValue,\n GapXValue,\n CheckboxValue,\n ResponsiveSelectValue,\n ResponsiveNumberValue,\n BackgroundsValue,\n} from '../../../prop-controllers/descriptors'\nimport { BoxModelHandle, parse, createBox } from '../../../box-model'\nimport BackgroundsContainer from '../../shared/BackgroundsContainer'\nimport { BoxAnimateIn } from './constants'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { GridItem } from '../../shared/grid-item'\nimport { useStyle } from '../../../runtimes/react/use-style'\n\ntype Props = {\n id?: ElementIDValue\n backgrounds?: BackgroundsValue\n width?: string\n height?: ResponsiveIconRadioGroupValue<'auto' | 'stretch'>\n verticalAlign?: ResponsiveIconRadioGroupValue<\n 'flex-start' | 'center' | 'flex-end' | 'space-between'\n >\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n rowGap?: GapYValue\n columnGap?: GapXValue\n boxAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n boxAnimateDuration?: ResponsiveNumberValue\n boxAnimateDelay?: ResponsiveNumberValue\n itemAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n itemAnimateDuration?: ResponsiveNumberValue\n itemAnimateDelay?: ResponsiveNumberValue\n itemStaggerDuration?: ResponsiveNumberValue\n hidePlaceholder?: CheckboxValue\n children?: GridValue\n}\n\nconst Box = forwardRef(function Box(\n {\n id,\n backgrounds,\n width,\n height,\n margin,\n padding,\n border,\n children,\n borderRadius,\n boxShadow,\n rowGap,\n columnGap,\n hidePlaceholder,\n verticalAlign,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n }: Props,\n ref: Ref<BoxModelHandle>,\n) {\n const innerRef = useRef<HTMLDivElement | null>(null)\n const [boxElement, setBoxElement] = useState<HTMLElement | null>(null)\n const hasAnimations = boxAnimateType != null || itemAnimateType != null\n const Grid = hasAnimations ? motion.div : 'div'\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const paddingBoxElement = innerRef.current\n const borderBoxElement = innerRef.current\n const marginBoxElement = boxElement\n const borderBox = innerRef.current?.getBoundingClientRect()\n const paddingBoxComputedStyle =\n paddingBoxElement?.ownerDocument.defaultView?.getComputedStyle(paddingBoxElement)\n const borderBoxComputedStyle =\n borderBoxElement?.ownerDocument.defaultView?.getComputedStyle(borderBoxElement)\n const marginBoxComputedStyle =\n marginBoxElement?.ownerDocument.defaultView?.getComputedStyle(marginBoxElement)\n const padding = paddingBoxComputedStyle && {\n top: parse(paddingBoxComputedStyle.paddingTop),\n right: parse(paddingBoxComputedStyle.paddingRight),\n bottom: parse(paddingBoxComputedStyle.paddingBottom),\n left: parse(paddingBoxComputedStyle.paddingLeft),\n }\n const border = borderBoxComputedStyle && {\n top: parse(borderBoxComputedStyle.borderTopWidth),\n right: parse(borderBoxComputedStyle.borderRightWidth),\n bottom: parse(borderBoxComputedStyle.borderBottomWidth),\n left: parse(borderBoxComputedStyle.borderLeftWidth),\n }\n const margin = marginBoxComputedStyle && {\n top: parse(marginBoxComputedStyle.marginTop),\n right: parse(marginBoxComputedStyle.marginRight),\n bottom: parse(marginBoxComputedStyle.marginBottom),\n left: parse(marginBoxComputedStyle.marginLeft),\n }\n\n return borderBox ? createBox({ borderBox, padding, border, margin }) : null\n },\n }),\n [boxElement],\n )\n\n const gridItemClassName = useStyle(\n responsiveStyle([verticalAlign], ([alignItems = 'flex-start']) => ({ alignItems })),\n )\n\n const { initial, animate, variants, transition, key } = useBoxAnimations({\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n boxElement,\n elements: children?.elements,\n })\n\n return (\n <BackgroundsContainer\n ref={setBoxElement}\n hasAnimations={hasAnimations}\n id={id}\n className={cx(\n width,\n margin,\n borderRadius,\n useStyle({ display: 'flex' }),\n useStyle(responsiveStyle([height], ([alignSelf = 'auto']) => ({ alignSelf }))),\n )}\n backgrounds={backgrounds}\n animate={animate?.container}\n initial={initial?.container}\n variants={variants?.container}\n transition={transition?.container}\n key={key?.container}\n >\n <Grid\n ref={innerRef}\n className={cx(\n padding,\n boxShadow,\n border,\n useStyle({ display: 'flex', flexWrap: 'wrap', width: '100%' }),\n useStyle(\n responsiveStyle([verticalAlign], ([alignContent = 'flex-start']) => ({ alignContent })),\n ),\n )}\n animate={animate?.parent}\n initial={initial?.parent}\n transition={transition?.parent}\n >\n {children && children.elements.length > 0 ? (\n children.elements.map((child, index) => (\n <GridItem\n as={hasAnimations ? motion.div : 'div'}\n key={child.key}\n className={gridItemClassName}\n grid={children.columns}\n index={index}\n columnGap={columnGap}\n rowGap={rowGap}\n // @ts-ignore: `variants` is not a prop for `div`, but it is for `motion.div`.\n variants={variants?.child}\n transition={transition?.child}\n >\n <Element element={child} />\n </GridItem>\n ))\n ) : (\n <Placeholder hide={hidePlaceholder} />\n )}\n </Grid>\n </BackgroundsContainer>\n )\n})\n\nexport default Box\n"],"names":["forwardRef","ref","hide","restOfProps","visibility","useStyle","width","background","height","padding","overflow","defaultExitedProps","opacity","x","y","scale","boxAnimations","none","entered","exited","transition","fadeIn","fadeLeft","type","ease","fadeRight","fadeUp","fadeDown","blurIn","filter","scaleDown","scaleUp","mergeCustomTransitionWithDefault","transitions","props","Object","keys","reduce","a","c","useElementOnScreen","element","options","isVisible","setIsVisible","useState","useEffect","observer","IntersectionObserver","intersectionCallback","observe","unobserve","entry","isIntersecting","useBoxAnimations","boxElement","elements","reducedMotion","useReducedMotion","boxAnimateType","useMediaQuery","DEFAULT_BOX_ANIMATE_TYPE","boxAnimateDuration","DEFAULT_BOX_ANIMATE_DURATION","boxAnimateDelay","DEFAULT_BOX_ANIMATE_DELAY","itemAnimateType","DEFAULT_ITEM_ANIMATE_TYPE","itemAnimateDuration","DEFAULT_ITEM_ANIMATE_DURATION","itemAnimateDelay","DEFAULT_ITEM_ANIMATE_DELAY","itemStaggerDuration","DEFAULT_ITEM_STAGGER_DURATION","isBoxVisible","root","rootMargin","threshold","itemControls","useAnimation","boxControls","setSequence","useCallback","variant","stop","set","playSequence","start","map","e","key","sort","join","boxVariant","itemVariant","initial","container","parent","animate","undefined","variants","child","delay","duration","delayChildren","staggerChildren","Box","id","backgrounds","margin","border","children","borderRadius","boxShadow","rowGap","columnGap","hidePlaceholder","verticalAlign","innerRef","useRef","setBoxElement","hasAnimations","Grid","motion","div","useImperativeHandle","getBoxModel","paddingBoxElement","current","borderBoxElement","marginBoxElement","borderBox","getBoundingClientRect","paddingBoxComputedStyle","ownerDocument","defaultView","getComputedStyle","borderBoxComputedStyle","marginBoxComputedStyle","top","parse","paddingTop","right","paddingRight","bottom","paddingBottom","left","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","marginTop","marginRight","marginBottom","marginLeft","createBox","gridItemClassName","responsiveStyle","alignItems","BackgroundsContainer","cx","display","alignSelf","flexWrap","alignContent","length","index","GridItem","columns","Element"],"mappings":"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"}
1
+ {"version":3,"file":"Box.cjs.js","sources":["../src/components/builtin/Box/components/Placeholder/index.tsx","../src/components/builtin/Box/animations.tsx","../src/components/builtin/Box/Box.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\n\ntype Props = { hide?: boolean }\n\nexport default forwardRef(function Placeholder(\n { hide = false, ...restOfProps }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n style={{ visibility: hide ? 'hidden' : 'initial' }}\n className={useStyle({\n width: '100%',\n background: 'rgba(161, 168, 194, 0.18)',\n height: 80,\n padding: 8,\n })}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"100%\"\n height=\"100%\"\n style={{ overflow: 'visible' }}\n >\n <rect\n x={0}\n y={0}\n width=\"100%\"\n height=\"100%\"\n strokeWidth={2}\n strokeDasharray=\"4 2\"\n fill=\"none\"\n stroke=\"rgba(161, 168, 194, 0.40)\"\n rx=\"4\"\n ry=\"4\"\n />\n </svg>\n </div>\n )\n})\n","import {\n TargetAndTransition,\n Transition,\n useAnimation,\n useReducedMotion,\n Variants,\n MotionProps,\n} from 'framer-motion'\nimport { TransitionMap } from 'framer-motion/types/types'\nimport { useCallback, useEffect, useState } from 'react'\n\nimport { ResponsiveValue } from '../../../prop-controllers'\nimport { useMediaQuery } from '../../hooks'\nimport { Element } from '../../../state/react-page'\nimport {\n BoxAnimateIn,\n DEFAULT_BOX_ANIMATE_DELAY,\n DEFAULT_BOX_ANIMATE_DURATION,\n DEFAULT_BOX_ANIMATE_TYPE,\n DEFAULT_ITEM_ANIMATE_DELAY,\n DEFAULT_ITEM_ANIMATE_DURATION,\n DEFAULT_ITEM_ANIMATE_TYPE,\n DEFAULT_ITEM_STAGGER_DURATION,\n} from './constants'\n\nconst defaultExitedProps = {\n opacity: 0,\n x: 0,\n y: 0,\n scale: 1,\n}\n\ntype BoxAnimationVariants = {\n entered: TargetAndTransition\n exited: TargetAndTransition\n}\n\nexport const boxAnimations: {\n [key in BoxAnimateIn]: {\n transition: TransitionMap\n } & BoxAnimationVariants\n} = {\n none: {\n entered: {\n opacity: 1,\n },\n exited: {\n ...defaultExitedProps,\n opacity: 1,\n },\n transition: {},\n },\n fadeIn: {\n exited: defaultExitedProps,\n entered: {\n opacity: 1,\n },\n transition: {},\n },\n fadeLeft: {\n exited: {\n ...defaultExitedProps,\n x: 60,\n },\n entered: {\n opacity: 1,\n x: 0,\n },\n transition: {\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeRight: {\n exited: {\n ...defaultExitedProps,\n x: -60,\n },\n entered: {\n opacity: 1,\n x: 0,\n },\n transition: {\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeUp: {\n exited: {\n ...defaultExitedProps,\n y: 80,\n },\n entered: {\n opacity: 1,\n y: 0,\n },\n transition: {\n y: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeDown: {\n exited: {\n ...defaultExitedProps,\n y: -80,\n },\n entered: {\n opacity: 1,\n y: 0,\n },\n transition: {\n y: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n blurIn: {\n exited: {\n ...defaultExitedProps,\n filter: 'blur(20px)',\n },\n entered: {\n opacity: 1,\n filter: 'blur(0px)',\n },\n transition: {},\n },\n scaleDown: {\n exited: {\n ...defaultExitedProps,\n scale: 1.2,\n },\n entered: {\n opacity: 1,\n scale: 1,\n },\n transition: {\n scale: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n scaleUp: {\n exited: {\n ...defaultExitedProps,\n scale: 0.75,\n },\n entered: {\n opacity: 1,\n scale: 1,\n },\n transition: {\n scale: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n}\n\nconst mergeCustomTransitionWithDefault = (\n transitions: TransitionMap,\n props: Transition,\n): TransitionMap | Transition =>\n transitions\n ? Object.keys(transitions).reduce(\n (a, c) => ({\n ...a,\n [c]: {\n ...transitions[c as string],\n ...props,\n },\n }),\n props,\n )\n : props\n\nexport type BoxAnimationType = {\n containerAnimationProps: {\n transition: Transition\n variants: Variants\n }\n parentAnimationProps: {\n transition: Transition\n }\n childAnimationProps: {\n transition: Transition\n variants: Variants\n }\n}\n\nconst useElementOnScreen = (element: HTMLElement | null, options: IntersectionObserverInit) => {\n const [isVisible, setIsVisible] = useState(false)\n\n useEffect(() => {\n const observer = new IntersectionObserver(intersectionCallback, options)\n\n if (element) observer.observe(element)\n\n return () => {\n if (element) observer.unobserve(element)\n }\n\n function intersectionCallback([entry]: IntersectionObserverEntry[]) {\n if (entry?.isIntersecting) {\n setIsVisible(true)\n }\n }\n }, [element, options])\n\n return isVisible\n}\n\ntype UseBoxAnimationsPayload = {\n initial?: { container: MotionProps['initial']; parent: MotionProps['initial'] }\n animate?: { container: MotionProps['animate']; parent: MotionProps['animate'] }\n variants?: { container: MotionProps['variants']; child: MotionProps['variants'] }\n transition?: {\n container: MotionProps['transition']\n parent: MotionProps['transition']\n child: MotionProps['transition']\n }\n key?: { container: string }\n}\n\nexport const useBoxAnimations = ({\n boxElement,\n elements,\n ...props\n}: {\n boxAnimateType: ResponsiveValue<BoxAnimateIn> | undefined\n boxAnimateDuration: ResponsiveValue<number> | undefined\n boxAnimateDelay: ResponsiveValue<number> | undefined\n itemAnimateType: ResponsiveValue<BoxAnimateIn> | undefined\n itemAnimateDuration: ResponsiveValue<number> | undefined\n itemAnimateDelay: ResponsiveValue<number> | undefined\n itemStaggerDuration: ResponsiveValue<number> | undefined\n boxElement: HTMLElement | null\n elements: Element[] | undefined\n}): UseBoxAnimationsPayload => {\n const reducedMotion = useReducedMotion()\n const boxAnimateType = useMediaQuery(props.boxAnimateType) || DEFAULT_BOX_ANIMATE_TYPE\n const boxAnimateDuration = useMediaQuery(props.boxAnimateDuration) || DEFAULT_BOX_ANIMATE_DURATION\n const boxAnimateDelay = useMediaQuery(props.boxAnimateDelay) || DEFAULT_BOX_ANIMATE_DELAY\n const itemAnimateType = useMediaQuery(props.itemAnimateType) || DEFAULT_ITEM_ANIMATE_TYPE\n const itemAnimateDuration =\n useMediaQuery(props.itemAnimateDuration) || DEFAULT_ITEM_ANIMATE_DURATION\n const itemAnimateDelay = useMediaQuery(props.itemAnimateDelay) || DEFAULT_ITEM_ANIMATE_DELAY\n const itemStaggerDuration =\n useMediaQuery(props.itemStaggerDuration) || DEFAULT_ITEM_STAGGER_DURATION\n\n const isBoxVisible = useElementOnScreen(boxElement, {\n root: null,\n rootMargin: `0px 0px -10% 0px`,\n threshold: 0.2,\n })\n\n const itemControls = useAnimation()\n const boxControls = useAnimation()\n\n const setSequence = useCallback(\n (variant: keyof BoxAnimationVariants) => {\n boxControls.stop()\n itemControls.stop()\n boxControls.set(variant)\n itemControls.set(variant)\n },\n [boxControls, itemControls],\n )\n\n const playSequence = useCallback(() => {\n boxControls.stop()\n itemControls.stop()\n boxControls.set('exited')\n itemControls.set('exited')\n boxControls.start('entered')\n itemControls.start('entered')\n }, [boxControls, itemControls])\n\n useEffect(() => {\n if (isBoxVisible) {\n setSequence('entered')\n }\n }, [\n elements\n ?.map(e => e.key)\n .sort()\n .join(),\n setSequence,\n ])\n\n useEffect(() => {\n if (isBoxVisible) {\n playSequence()\n }\n }, [\n isBoxVisible,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n reducedMotion,\n playSequence,\n ])\n\n const boxVariant = boxAnimations[boxAnimateType]\n const itemVariant = boxAnimations[itemAnimateType]\n\n return {\n initial: {\n container: reducedMotion ? 'entered' : 'exited',\n parent: reducedMotion ? 'entered' : 'exited',\n },\n animate: {\n container: reducedMotion ? undefined : boxControls,\n parent: reducedMotion ? undefined : itemControls,\n },\n variants: {\n container: {\n exited: boxVariant.exited,\n entered: boxVariant.entered,\n },\n child: {\n exited: itemVariant.exited,\n entered: itemVariant.entered,\n },\n },\n transition: {\n container: mergeCustomTransitionWithDefault(boxVariant.transition, {\n delay: boxAnimateDelay,\n duration: boxAnimateDuration,\n }),\n parent: {\n delayChildren: itemAnimateDelay,\n staggerChildren: itemStaggerDuration,\n duration: itemAnimateDuration,\n },\n child: mergeCustomTransitionWithDefault(itemVariant.transition, {\n duration: itemAnimateDuration,\n }),\n },\n key: {\n container:\n boxAnimateType +\n boxAnimateDuration +\n boxAnimateDelay +\n itemAnimateType +\n itemAnimateDuration +\n itemAnimateDelay +\n itemStaggerDuration +\n reducedMotion,\n },\n }\n}\n","import { forwardRef, Ref, useImperativeHandle, useRef, useState } from 'react'\nimport { motion } from 'framer-motion'\nimport { cx } from '@emotion/css'\n\nimport { Element } from '../../../runtimes/react'\nimport Placeholder from './components/Placeholder'\nimport { useBoxAnimations } from './animations'\nimport {\n ElementIDValue,\n ResponsiveIconRadioGroupValue,\n GridValue,\n GapYValue,\n GapXValue,\n CheckboxValue,\n ResponsiveSelectValue,\n ResponsiveNumberValue,\n BackgroundsValue,\n} from '../../../prop-controllers/descriptors'\nimport { BoxModelHandle, parse, createBox } from '../../../box-model'\nimport BackgroundsContainer from '../../shared/BackgroundsContainer'\nimport { BoxAnimateIn } from './constants'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { GridItem } from '../../shared/grid-item'\nimport { useStyle } from '../../../runtimes/react/use-style'\n\ntype Props = {\n id?: ElementIDValue\n backgrounds?: BackgroundsValue\n width?: string\n height?: ResponsiveIconRadioGroupValue<'auto' | 'stretch'>\n verticalAlign?: ResponsiveIconRadioGroupValue<\n 'flex-start' | 'center' | 'flex-end' | 'space-between'\n >\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n rowGap?: GapYValue\n columnGap?: GapXValue\n boxAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n boxAnimateDuration?: ResponsiveNumberValue\n boxAnimateDelay?: ResponsiveNumberValue\n itemAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n itemAnimateDuration?: ResponsiveNumberValue\n itemAnimateDelay?: ResponsiveNumberValue\n itemStaggerDuration?: ResponsiveNumberValue\n hidePlaceholder?: CheckboxValue\n children?: GridValue\n}\n\nconst Box = forwardRef(function Box(\n {\n id,\n backgrounds,\n width,\n height,\n margin,\n padding,\n border,\n children,\n borderRadius,\n boxShadow,\n rowGap,\n columnGap,\n hidePlaceholder,\n verticalAlign,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n }: Props,\n ref: Ref<BoxModelHandle>,\n) {\n const innerRef = useRef<HTMLDivElement | null>(null)\n const [boxElement, setBoxElement] = useState<HTMLElement | null>(null)\n const hasAnimations = boxAnimateType != null || itemAnimateType != null\n const Grid = hasAnimations ? motion.div : 'div'\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const paddingBoxElement = innerRef.current\n const borderBoxElement = innerRef.current\n const marginBoxElement = boxElement\n const borderBox = innerRef.current?.getBoundingClientRect()\n const paddingBoxComputedStyle =\n paddingBoxElement?.ownerDocument.defaultView?.getComputedStyle(paddingBoxElement)\n const borderBoxComputedStyle =\n borderBoxElement?.ownerDocument.defaultView?.getComputedStyle(borderBoxElement)\n const marginBoxComputedStyle =\n marginBoxElement?.ownerDocument.defaultView?.getComputedStyle(marginBoxElement)\n const padding = paddingBoxComputedStyle && {\n top: parse(paddingBoxComputedStyle.paddingTop),\n right: parse(paddingBoxComputedStyle.paddingRight),\n bottom: parse(paddingBoxComputedStyle.paddingBottom),\n left: parse(paddingBoxComputedStyle.paddingLeft),\n }\n const border = borderBoxComputedStyle && {\n top: parse(borderBoxComputedStyle.borderTopWidth),\n right: parse(borderBoxComputedStyle.borderRightWidth),\n bottom: parse(borderBoxComputedStyle.borderBottomWidth),\n left: parse(borderBoxComputedStyle.borderLeftWidth),\n }\n const margin = marginBoxComputedStyle && {\n top: parse(marginBoxComputedStyle.marginTop),\n right: parse(marginBoxComputedStyle.marginRight),\n bottom: parse(marginBoxComputedStyle.marginBottom),\n left: parse(marginBoxComputedStyle.marginLeft),\n }\n\n return borderBox ? createBox({ borderBox, padding, border, margin }) : null\n },\n }),\n [boxElement],\n )\n\n const gridItemClassName = useStyle(\n responsiveStyle([verticalAlign], ([alignItems = 'flex-start']) => ({ alignItems })),\n )\n\n const { initial, animate, variants, transition, key } = useBoxAnimations({\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n boxElement,\n elements: children?.elements,\n })\n\n return (\n <BackgroundsContainer\n ref={setBoxElement}\n hasAnimations={hasAnimations}\n id={id}\n className={cx(\n width,\n margin,\n borderRadius,\n useStyle({ display: 'flex' }),\n useStyle(responsiveStyle([height], ([alignSelf = 'auto']) => ({ alignSelf }))),\n )}\n backgrounds={backgrounds}\n animate={animate?.container}\n initial={initial?.container}\n variants={variants?.container}\n transition={transition?.container}\n key={key?.container}\n >\n <Grid\n ref={innerRef}\n className={cx(\n padding,\n boxShadow,\n border,\n useStyle({ display: 'flex', flexWrap: 'wrap', width: '100%' }),\n useStyle(\n responsiveStyle([verticalAlign], ([alignContent = 'flex-start']) => ({ alignContent })),\n ),\n )}\n animate={animate?.parent}\n initial={initial?.parent}\n transition={transition?.parent}\n >\n {children && children.elements.length > 0 ? (\n children.elements.map((child, index) => (\n <GridItem\n as={hasAnimations ? motion.div : 'div'}\n key={child.key}\n className={gridItemClassName}\n grid={children.columns}\n index={index}\n columnGap={columnGap}\n rowGap={rowGap}\n // @ts-ignore: `variants` is not a prop for `div`, but it is for `motion.div`.\n variants={variants?.child}\n transition={transition?.child}\n >\n <Element element={child} />\n </GridItem>\n ))\n ) : (\n <Placeholder hide={hidePlaceholder} />\n )}\n </Grid>\n </BackgroundsContainer>\n )\n})\n\nexport default Box\n"],"names":["forwardRef","ref","hide","restOfProps","visibility","useStyle","width","background","height","padding","overflow","defaultExitedProps","opacity","x","y","scale","boxAnimations","none","entered","exited","transition","fadeIn","fadeLeft","type","ease","fadeRight","fadeUp","fadeDown","blurIn","filter","scaleDown","scaleUp","mergeCustomTransitionWithDefault","transitions","props","Object","keys","reduce","a","c","useElementOnScreen","element","options","isVisible","setIsVisible","useState","useEffect","observer","IntersectionObserver","intersectionCallback","observe","unobserve","entry","isIntersecting","useBoxAnimations","boxElement","elements","reducedMotion","useReducedMotion","boxAnimateType","useMediaQuery","DEFAULT_BOX_ANIMATE_TYPE","boxAnimateDuration","DEFAULT_BOX_ANIMATE_DURATION","boxAnimateDelay","DEFAULT_BOX_ANIMATE_DELAY","itemAnimateType","DEFAULT_ITEM_ANIMATE_TYPE","itemAnimateDuration","DEFAULT_ITEM_ANIMATE_DURATION","itemAnimateDelay","DEFAULT_ITEM_ANIMATE_DELAY","itemStaggerDuration","DEFAULT_ITEM_STAGGER_DURATION","isBoxVisible","root","rootMargin","threshold","itemControls","useAnimation","boxControls","setSequence","useCallback","variant","stop","set","playSequence","start","map","e","key","sort","join","boxVariant","itemVariant","initial","container","parent","animate","undefined","variants","child","delay","duration","delayChildren","staggerChildren","Box","id","backgrounds","margin","border","children","borderRadius","boxShadow","rowGap","columnGap","hidePlaceholder","verticalAlign","innerRef","useRef","setBoxElement","hasAnimations","Grid","motion","div","useImperativeHandle","getBoxModel","paddingBoxElement","current","borderBoxElement","marginBoxElement","borderBox","getBoundingClientRect","paddingBoxComputedStyle","ownerDocument","defaultView","getComputedStyle","borderBoxComputedStyle","marginBoxComputedStyle","top","parse","paddingTop","right","paddingRight","bottom","paddingBottom","left","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","marginTop","marginRight","marginBottom","marginLeft","createBox","gridItemClassName","responsiveStyle","alignItems","BackgroundsContainer","cx","display","alignSelf","flexWrap","alignContent","length","index","GridItem","columns","Element"],"mappings":"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"}
package/dist/Box.es.js CHANGED
@@ -40,16 +40,16 @@ import { u as useMediaQuery } from "./useMediaQuery.es.js";
40
40
  import { p as parse, c as createBox } from "./box-models.es.js";
41
41
  import { B as BackgroundsContainer, G as GridItem } from "./grid-item.es.js";
42
42
  import "use-sync-external-store/shim/with-selector";
43
+ import "next/dynamic";
43
44
  import "./react-page.es.js";
44
45
  import "redux";
45
46
  import "redux-thunk";
46
47
  import "./actions.es.js";
47
48
  import "./control.es.js";
48
- import "next/dynamic";
49
- import "slate";
50
- import "./types.es.js";
51
49
  import "./text-input.es.js";
52
50
  import "./combobox.es.js";
51
+ import "slate";
52
+ import "./types.es.js";
53
53
  import "color";
54
54
  import "scroll-into-view-if-needed";
55
55
  import "react-dom";
@@ -66,6 +66,8 @@ import "corporate-ipsum";
66
66
  import "css-box-model";
67
67
  import "next/image";
68
68
  import "react-player";
69
+ import "./next-version.es.js";
70
+ import "next/package.json";
69
71
  var Placeholder = forwardRef(function Placeholder2(_a, ref) {
70
72
  var _b = _a, {
71
73
  hide = false
@@ -1 +1 @@
1
- {"version":3,"file":"Box.es.js","sources":["../src/components/builtin/Box/components/Placeholder/index.tsx","../src/components/builtin/Box/animations.tsx","../src/components/builtin/Box/Box.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\n\ntype Props = { hide?: boolean }\n\nexport default forwardRef(function Placeholder(\n { hide = false, ...restOfProps }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n style={{ visibility: hide ? 'hidden' : 'initial' }}\n className={useStyle({\n width: '100%',\n background: 'rgba(161, 168, 194, 0.18)',\n height: 80,\n padding: 8,\n })}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"100%\"\n height=\"100%\"\n style={{ overflow: 'visible' }}\n >\n <rect\n x={0}\n y={0}\n width=\"100%\"\n height=\"100%\"\n strokeWidth={2}\n strokeDasharray=\"4 2\"\n fill=\"none\"\n stroke=\"rgba(161, 168, 194, 0.40)\"\n rx=\"4\"\n ry=\"4\"\n />\n </svg>\n </div>\n )\n})\n","import {\n TargetAndTransition,\n Transition,\n useAnimation,\n useReducedMotion,\n Variants,\n MotionProps,\n} from 'framer-motion'\nimport { TransitionMap } from 'framer-motion/types/types'\nimport { useCallback, useEffect, useState } from 'react'\n\nimport { ResponsiveValue } from '../../../prop-controllers'\nimport { useMediaQuery } from '../../hooks'\nimport { Element } from '../../../state/react-page'\nimport {\n BoxAnimateIn,\n DEFAULT_BOX_ANIMATE_DELAY,\n DEFAULT_BOX_ANIMATE_DURATION,\n DEFAULT_BOX_ANIMATE_TYPE,\n DEFAULT_ITEM_ANIMATE_DELAY,\n DEFAULT_ITEM_ANIMATE_DURATION,\n DEFAULT_ITEM_ANIMATE_TYPE,\n DEFAULT_ITEM_STAGGER_DURATION,\n} from './constants'\n\nconst defaultExitedProps = {\n opacity: 0,\n x: 0,\n y: 0,\n scale: 1,\n}\n\ntype BoxAnimationVariants = {\n entered: TargetAndTransition\n exited: TargetAndTransition\n}\n\nexport const boxAnimations: {\n [key in BoxAnimateIn]: {\n transition: TransitionMap\n } & BoxAnimationVariants\n} = {\n none: {\n entered: {\n opacity: 1,\n },\n exited: {\n ...defaultExitedProps,\n opacity: 1,\n },\n transition: {},\n },\n fadeIn: {\n exited: defaultExitedProps,\n entered: {\n opacity: 1,\n },\n transition: {},\n },\n fadeLeft: {\n exited: {\n ...defaultExitedProps,\n x: 60,\n },\n entered: {\n opacity: 1,\n x: 0,\n },\n transition: {\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeRight: {\n exited: {\n ...defaultExitedProps,\n x: -60,\n },\n entered: {\n opacity: 1,\n x: 0,\n },\n transition: {\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeUp: {\n exited: {\n ...defaultExitedProps,\n y: 80,\n },\n entered: {\n opacity: 1,\n y: 0,\n },\n transition: {\n y: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeDown: {\n exited: {\n ...defaultExitedProps,\n y: -80,\n },\n entered: {\n opacity: 1,\n y: 0,\n },\n transition: {\n y: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n blurIn: {\n exited: {\n ...defaultExitedProps,\n filter: 'blur(20px)',\n },\n entered: {\n opacity: 1,\n filter: 'blur(0px)',\n },\n transition: {},\n },\n scaleDown: {\n exited: {\n ...defaultExitedProps,\n scale: 1.2,\n },\n entered: {\n opacity: 1,\n scale: 1,\n },\n transition: {\n scale: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n scaleUp: {\n exited: {\n ...defaultExitedProps,\n scale: 0.75,\n },\n entered: {\n opacity: 1,\n scale: 1,\n },\n transition: {\n scale: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n}\n\nconst mergeCustomTransitionWithDefault = (\n transitions: TransitionMap,\n props: Transition,\n): TransitionMap | Transition =>\n transitions\n ? Object.keys(transitions).reduce(\n (a, c) => ({\n ...a,\n [c]: {\n ...transitions[c as string],\n ...props,\n },\n }),\n props,\n )\n : props\n\nexport type BoxAnimationType = {\n containerAnimationProps: {\n transition: Transition\n variants: Variants\n }\n parentAnimationProps: {\n transition: Transition\n }\n childAnimationProps: {\n transition: Transition\n variants: Variants\n }\n}\n\nconst useElementOnScreen = (element: HTMLElement | null, options: IntersectionObserverInit) => {\n const [isVisible, setIsVisible] = useState(false)\n\n useEffect(() => {\n const observer = new IntersectionObserver(intersectionCallback, options)\n\n if (element) observer.observe(element)\n\n return () => {\n if (element) observer.unobserve(element)\n }\n\n function intersectionCallback([entry]: IntersectionObserverEntry[]) {\n if (entry?.isIntersecting) {\n setIsVisible(true)\n }\n }\n }, [element, options])\n\n return isVisible\n}\n\ntype UseBoxAnimationsPayload = {\n initial?: { container: MotionProps['initial']; parent: MotionProps['initial'] }\n animate?: { container: MotionProps['animate']; parent: MotionProps['animate'] }\n variants?: { container: MotionProps['variants']; child: MotionProps['variants'] }\n transition?: {\n container: MotionProps['transition']\n parent: MotionProps['transition']\n child: MotionProps['transition']\n }\n key?: { container: string }\n}\n\nexport const useBoxAnimations = ({\n boxElement,\n elements,\n ...props\n}: {\n boxAnimateType: ResponsiveValue<BoxAnimateIn> | undefined\n boxAnimateDuration: ResponsiveValue<number> | undefined\n boxAnimateDelay: ResponsiveValue<number> | undefined\n itemAnimateType: ResponsiveValue<BoxAnimateIn> | undefined\n itemAnimateDuration: ResponsiveValue<number> | undefined\n itemAnimateDelay: ResponsiveValue<number> | undefined\n itemStaggerDuration: ResponsiveValue<number> | undefined\n boxElement: HTMLElement | null\n elements: Element[] | undefined\n}): UseBoxAnimationsPayload => {\n const reducedMotion = useReducedMotion()\n const boxAnimateType = useMediaQuery(props.boxAnimateType) || DEFAULT_BOX_ANIMATE_TYPE\n const boxAnimateDuration = useMediaQuery(props.boxAnimateDuration) || DEFAULT_BOX_ANIMATE_DURATION\n const boxAnimateDelay = useMediaQuery(props.boxAnimateDelay) || DEFAULT_BOX_ANIMATE_DELAY\n const itemAnimateType = useMediaQuery(props.itemAnimateType) || DEFAULT_ITEM_ANIMATE_TYPE\n const itemAnimateDuration =\n useMediaQuery(props.itemAnimateDuration) || DEFAULT_ITEM_ANIMATE_DURATION\n const itemAnimateDelay = useMediaQuery(props.itemAnimateDelay) || DEFAULT_ITEM_ANIMATE_DELAY\n const itemStaggerDuration =\n useMediaQuery(props.itemStaggerDuration) || DEFAULT_ITEM_STAGGER_DURATION\n\n const isBoxVisible = useElementOnScreen(boxElement, {\n root: null,\n rootMargin: `0px 0px -10% 0px`,\n threshold: 0.2,\n })\n\n const itemControls = useAnimation()\n const boxControls = useAnimation()\n\n const setSequence = useCallback(\n (variant: keyof BoxAnimationVariants) => {\n boxControls.stop()\n itemControls.stop()\n boxControls.set(variant)\n itemControls.set(variant)\n },\n [boxControls, itemControls],\n )\n\n const playSequence = useCallback(() => {\n boxControls.stop()\n itemControls.stop()\n boxControls.set('exited')\n itemControls.set('exited')\n boxControls.start('entered')\n itemControls.start('entered')\n }, [boxControls, itemControls])\n\n useEffect(() => {\n if (isBoxVisible) {\n setSequence('entered')\n }\n }, [\n elements\n ?.map(e => e.key)\n .sort()\n .join(),\n setSequence,\n ])\n\n useEffect(() => {\n if (isBoxVisible) {\n playSequence()\n }\n }, [\n isBoxVisible,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n reducedMotion,\n playSequence,\n ])\n\n const boxVariant = boxAnimations[boxAnimateType]\n const itemVariant = boxAnimations[itemAnimateType]\n\n return {\n initial: {\n container: reducedMotion ? 'entered' : 'exited',\n parent: reducedMotion ? 'entered' : 'exited',\n },\n animate: {\n container: reducedMotion ? undefined : boxControls,\n parent: reducedMotion ? undefined : itemControls,\n },\n variants: {\n container: {\n exited: boxVariant.exited,\n entered: boxVariant.entered,\n },\n child: {\n exited: itemVariant.exited,\n entered: itemVariant.entered,\n },\n },\n transition: {\n container: mergeCustomTransitionWithDefault(boxVariant.transition, {\n delay: boxAnimateDelay,\n duration: boxAnimateDuration,\n }),\n parent: {\n delayChildren: itemAnimateDelay,\n staggerChildren: itemStaggerDuration,\n duration: itemAnimateDuration,\n },\n child: mergeCustomTransitionWithDefault(itemVariant.transition, {\n duration: itemAnimateDuration,\n }),\n },\n key: {\n container:\n boxAnimateType +\n boxAnimateDuration +\n boxAnimateDelay +\n itemAnimateType +\n itemAnimateDuration +\n itemAnimateDelay +\n itemStaggerDuration +\n reducedMotion,\n },\n }\n}\n","import { forwardRef, Ref, useImperativeHandle, useRef, useState } from 'react'\nimport { motion } from 'framer-motion'\nimport { cx } from '@emotion/css'\n\nimport { Element } from '../../../runtimes/react'\nimport Placeholder from './components/Placeholder'\nimport { useBoxAnimations } from './animations'\nimport {\n ElementIDValue,\n ResponsiveIconRadioGroupValue,\n GridValue,\n GapYValue,\n GapXValue,\n CheckboxValue,\n ResponsiveSelectValue,\n ResponsiveNumberValue,\n BackgroundsValue,\n} from '../../../prop-controllers/descriptors'\nimport { BoxModelHandle, parse, createBox } from '../../../box-model'\nimport BackgroundsContainer from '../../shared/BackgroundsContainer'\nimport { BoxAnimateIn } from './constants'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { GridItem } from '../../shared/grid-item'\nimport { useStyle } from '../../../runtimes/react/use-style'\n\ntype Props = {\n id?: ElementIDValue\n backgrounds?: BackgroundsValue\n width?: string\n height?: ResponsiveIconRadioGroupValue<'auto' | 'stretch'>\n verticalAlign?: ResponsiveIconRadioGroupValue<\n 'flex-start' | 'center' | 'flex-end' | 'space-between'\n >\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n rowGap?: GapYValue\n columnGap?: GapXValue\n boxAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n boxAnimateDuration?: ResponsiveNumberValue\n boxAnimateDelay?: ResponsiveNumberValue\n itemAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n itemAnimateDuration?: ResponsiveNumberValue\n itemAnimateDelay?: ResponsiveNumberValue\n itemStaggerDuration?: ResponsiveNumberValue\n hidePlaceholder?: CheckboxValue\n children?: GridValue\n}\n\nconst Box = forwardRef(function Box(\n {\n id,\n backgrounds,\n width,\n height,\n margin,\n padding,\n border,\n children,\n borderRadius,\n boxShadow,\n rowGap,\n columnGap,\n hidePlaceholder,\n verticalAlign,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n }: Props,\n ref: Ref<BoxModelHandle>,\n) {\n const innerRef = useRef<HTMLDivElement | null>(null)\n const [boxElement, setBoxElement] = useState<HTMLElement | null>(null)\n const hasAnimations = boxAnimateType != null || itemAnimateType != null\n const Grid = hasAnimations ? motion.div : 'div'\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const paddingBoxElement = innerRef.current\n const borderBoxElement = innerRef.current\n const marginBoxElement = boxElement\n const borderBox = innerRef.current?.getBoundingClientRect()\n const paddingBoxComputedStyle =\n paddingBoxElement?.ownerDocument.defaultView?.getComputedStyle(paddingBoxElement)\n const borderBoxComputedStyle =\n borderBoxElement?.ownerDocument.defaultView?.getComputedStyle(borderBoxElement)\n const marginBoxComputedStyle =\n marginBoxElement?.ownerDocument.defaultView?.getComputedStyle(marginBoxElement)\n const padding = paddingBoxComputedStyle && {\n top: parse(paddingBoxComputedStyle.paddingTop),\n right: parse(paddingBoxComputedStyle.paddingRight),\n bottom: parse(paddingBoxComputedStyle.paddingBottom),\n left: parse(paddingBoxComputedStyle.paddingLeft),\n }\n const border = borderBoxComputedStyle && {\n top: parse(borderBoxComputedStyle.borderTopWidth),\n right: parse(borderBoxComputedStyle.borderRightWidth),\n bottom: parse(borderBoxComputedStyle.borderBottomWidth),\n left: parse(borderBoxComputedStyle.borderLeftWidth),\n }\n const margin = marginBoxComputedStyle && {\n top: parse(marginBoxComputedStyle.marginTop),\n right: parse(marginBoxComputedStyle.marginRight),\n bottom: parse(marginBoxComputedStyle.marginBottom),\n left: parse(marginBoxComputedStyle.marginLeft),\n }\n\n return borderBox ? createBox({ borderBox, padding, border, margin }) : null\n },\n }),\n [boxElement],\n )\n\n const gridItemClassName = useStyle(\n responsiveStyle([verticalAlign], ([alignItems = 'flex-start']) => ({ alignItems })),\n )\n\n const { initial, animate, variants, transition, key } = useBoxAnimations({\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n boxElement,\n elements: children?.elements,\n })\n\n return (\n <BackgroundsContainer\n ref={setBoxElement}\n hasAnimations={hasAnimations}\n id={id}\n className={cx(\n width,\n margin,\n borderRadius,\n useStyle({ display: 'flex' }),\n useStyle(responsiveStyle([height], ([alignSelf = 'auto']) => ({ alignSelf }))),\n )}\n backgrounds={backgrounds}\n animate={animate?.container}\n initial={initial?.container}\n variants={variants?.container}\n transition={transition?.container}\n key={key?.container}\n >\n <Grid\n ref={innerRef}\n className={cx(\n padding,\n boxShadow,\n border,\n useStyle({ display: 'flex', flexWrap: 'wrap', width: '100%' }),\n useStyle(\n responsiveStyle([verticalAlign], ([alignContent = 'flex-start']) => ({ alignContent })),\n ),\n )}\n animate={animate?.parent}\n initial={initial?.parent}\n transition={transition?.parent}\n >\n {children && children.elements.length > 0 ? (\n children.elements.map((child, index) => (\n <GridItem\n as={hasAnimations ? motion.div : 'div'}\n key={child.key}\n className={gridItemClassName}\n grid={children.columns}\n index={index}\n columnGap={columnGap}\n rowGap={rowGap}\n // @ts-ignore: `variants` is not a prop for `div`, but it is for `motion.div`.\n variants={variants?.child}\n transition={transition?.child}\n >\n <Element element={child} />\n </GridItem>\n ))\n ) : (\n <Placeholder hide={hidePlaceholder} />\n )}\n </Grid>\n </BackgroundsContainer>\n )\n})\n\nexport default Box\n"],"names":["forwardRef","ref","hide","restOfProps","visibility","useStyle","width","background","height","padding","overflow","defaultExitedProps","opacity","x","y","scale","boxAnimations","none","entered","exited","transition","fadeIn","fadeLeft","type","ease","fadeRight","fadeUp","fadeDown","blurIn","filter","scaleDown","scaleUp","mergeCustomTransitionWithDefault","transitions","props","Object","keys","reduce","a","c","useElementOnScreen","element","options","isVisible","setIsVisible","useState","useEffect","observer","IntersectionObserver","intersectionCallback","observe","unobserve","entry","isIntersecting","useBoxAnimations","boxElement","elements","reducedMotion","useReducedMotion","boxAnimateType","useMediaQuery","DEFAULT_BOX_ANIMATE_TYPE","boxAnimateDuration","DEFAULT_BOX_ANIMATE_DURATION","boxAnimateDelay","DEFAULT_BOX_ANIMATE_DELAY","itemAnimateType","DEFAULT_ITEM_ANIMATE_TYPE","itemAnimateDuration","DEFAULT_ITEM_ANIMATE_DURATION","itemAnimateDelay","DEFAULT_ITEM_ANIMATE_DELAY","itemStaggerDuration","DEFAULT_ITEM_STAGGER_DURATION","isBoxVisible","root","rootMargin","threshold","itemControls","useAnimation","boxControls","setSequence","useCallback","variant","stop","set","playSequence","start","map","e","key","sort","join","boxVariant","itemVariant","initial","container","parent","animate","undefined","variants","child","delay","duration","delayChildren","staggerChildren","Box","id","backgrounds","margin","border","children","borderRadius","boxShadow","rowGap","columnGap","hidePlaceholder","verticalAlign","innerRef","useRef","setBoxElement","hasAnimations","Grid","motion","div","useImperativeHandle","getBoxModel","paddingBoxElement","current","borderBoxElement","marginBoxElement","borderBox","getBoundingClientRect","paddingBoxComputedStyle","ownerDocument","defaultView","getComputedStyle","borderBoxComputedStyle","marginBoxComputedStyle","top","parse","paddingTop","right","paddingRight","bottom","paddingBottom","left","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","marginTop","marginRight","marginBottom","marginLeft","createBox","gridItemClassName","responsiveStyle","alignItems","cx","display","alignSelf","flexWrap","alignContent","length","index","columns"],"mappings":"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"}
1
+ {"version":3,"file":"Box.es.js","sources":["../src/components/builtin/Box/components/Placeholder/index.tsx","../src/components/builtin/Box/animations.tsx","../src/components/builtin/Box/Box.tsx"],"sourcesContent":["import { forwardRef, Ref } from 'react'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\n\ntype Props = { hide?: boolean }\n\nexport default forwardRef(function Placeholder(\n { hide = false, ...restOfProps }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n style={{ visibility: hide ? 'hidden' : 'initial' }}\n className={useStyle({\n width: '100%',\n background: 'rgba(161, 168, 194, 0.18)',\n height: 80,\n padding: 8,\n })}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"100%\"\n height=\"100%\"\n style={{ overflow: 'visible' }}\n >\n <rect\n x={0}\n y={0}\n width=\"100%\"\n height=\"100%\"\n strokeWidth={2}\n strokeDasharray=\"4 2\"\n fill=\"none\"\n stroke=\"rgba(161, 168, 194, 0.40)\"\n rx=\"4\"\n ry=\"4\"\n />\n </svg>\n </div>\n )\n})\n","import {\n TargetAndTransition,\n Transition,\n useAnimation,\n useReducedMotion,\n Variants,\n MotionProps,\n} from 'framer-motion'\nimport { TransitionMap } from 'framer-motion/types/types'\nimport { useCallback, useEffect, useState } from 'react'\n\nimport { ResponsiveValue } from '../../../prop-controllers'\nimport { useMediaQuery } from '../../hooks'\nimport { Element } from '../../../state/react-page'\nimport {\n BoxAnimateIn,\n DEFAULT_BOX_ANIMATE_DELAY,\n DEFAULT_BOX_ANIMATE_DURATION,\n DEFAULT_BOX_ANIMATE_TYPE,\n DEFAULT_ITEM_ANIMATE_DELAY,\n DEFAULT_ITEM_ANIMATE_DURATION,\n DEFAULT_ITEM_ANIMATE_TYPE,\n DEFAULT_ITEM_STAGGER_DURATION,\n} from './constants'\n\nconst defaultExitedProps = {\n opacity: 0,\n x: 0,\n y: 0,\n scale: 1,\n}\n\ntype BoxAnimationVariants = {\n entered: TargetAndTransition\n exited: TargetAndTransition\n}\n\nexport const boxAnimations: {\n [key in BoxAnimateIn]: {\n transition: TransitionMap\n } & BoxAnimationVariants\n} = {\n none: {\n entered: {\n opacity: 1,\n },\n exited: {\n ...defaultExitedProps,\n opacity: 1,\n },\n transition: {},\n },\n fadeIn: {\n exited: defaultExitedProps,\n entered: {\n opacity: 1,\n },\n transition: {},\n },\n fadeLeft: {\n exited: {\n ...defaultExitedProps,\n x: 60,\n },\n entered: {\n opacity: 1,\n x: 0,\n },\n transition: {\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeRight: {\n exited: {\n ...defaultExitedProps,\n x: -60,\n },\n entered: {\n opacity: 1,\n x: 0,\n },\n transition: {\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeUp: {\n exited: {\n ...defaultExitedProps,\n y: 80,\n },\n entered: {\n opacity: 1,\n y: 0,\n },\n transition: {\n y: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n fadeDown: {\n exited: {\n ...defaultExitedProps,\n y: -80,\n },\n entered: {\n opacity: 1,\n y: 0,\n },\n transition: {\n y: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n blurIn: {\n exited: {\n ...defaultExitedProps,\n filter: 'blur(20px)',\n },\n entered: {\n opacity: 1,\n filter: 'blur(0px)',\n },\n transition: {},\n },\n scaleDown: {\n exited: {\n ...defaultExitedProps,\n scale: 1.2,\n },\n entered: {\n opacity: 1,\n scale: 1,\n },\n transition: {\n scale: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n scaleUp: {\n exited: {\n ...defaultExitedProps,\n scale: 0.75,\n },\n entered: {\n opacity: 1,\n scale: 1,\n },\n transition: {\n scale: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n },\n },\n },\n}\n\nconst mergeCustomTransitionWithDefault = (\n transitions: TransitionMap,\n props: Transition,\n): TransitionMap | Transition =>\n transitions\n ? Object.keys(transitions).reduce(\n (a, c) => ({\n ...a,\n [c]: {\n ...transitions[c as string],\n ...props,\n },\n }),\n props,\n )\n : props\n\nexport type BoxAnimationType = {\n containerAnimationProps: {\n transition: Transition\n variants: Variants\n }\n parentAnimationProps: {\n transition: Transition\n }\n childAnimationProps: {\n transition: Transition\n variants: Variants\n }\n}\n\nconst useElementOnScreen = (element: HTMLElement | null, options: IntersectionObserverInit) => {\n const [isVisible, setIsVisible] = useState(false)\n\n useEffect(() => {\n const observer = new IntersectionObserver(intersectionCallback, options)\n\n if (element) observer.observe(element)\n\n return () => {\n if (element) observer.unobserve(element)\n }\n\n function intersectionCallback([entry]: IntersectionObserverEntry[]) {\n if (entry?.isIntersecting) {\n setIsVisible(true)\n }\n }\n }, [element, options])\n\n return isVisible\n}\n\ntype UseBoxAnimationsPayload = {\n initial?: { container: MotionProps['initial']; parent: MotionProps['initial'] }\n animate?: { container: MotionProps['animate']; parent: MotionProps['animate'] }\n variants?: { container: MotionProps['variants']; child: MotionProps['variants'] }\n transition?: {\n container: MotionProps['transition']\n parent: MotionProps['transition']\n child: MotionProps['transition']\n }\n key?: { container: string }\n}\n\nexport const useBoxAnimations = ({\n boxElement,\n elements,\n ...props\n}: {\n boxAnimateType: ResponsiveValue<BoxAnimateIn> | undefined\n boxAnimateDuration: ResponsiveValue<number> | undefined\n boxAnimateDelay: ResponsiveValue<number> | undefined\n itemAnimateType: ResponsiveValue<BoxAnimateIn> | undefined\n itemAnimateDuration: ResponsiveValue<number> | undefined\n itemAnimateDelay: ResponsiveValue<number> | undefined\n itemStaggerDuration: ResponsiveValue<number> | undefined\n boxElement: HTMLElement | null\n elements: Element[] | undefined\n}): UseBoxAnimationsPayload => {\n const reducedMotion = useReducedMotion()\n const boxAnimateType = useMediaQuery(props.boxAnimateType) || DEFAULT_BOX_ANIMATE_TYPE\n const boxAnimateDuration = useMediaQuery(props.boxAnimateDuration) || DEFAULT_BOX_ANIMATE_DURATION\n const boxAnimateDelay = useMediaQuery(props.boxAnimateDelay) || DEFAULT_BOX_ANIMATE_DELAY\n const itemAnimateType = useMediaQuery(props.itemAnimateType) || DEFAULT_ITEM_ANIMATE_TYPE\n const itemAnimateDuration =\n useMediaQuery(props.itemAnimateDuration) || DEFAULT_ITEM_ANIMATE_DURATION\n const itemAnimateDelay = useMediaQuery(props.itemAnimateDelay) || DEFAULT_ITEM_ANIMATE_DELAY\n const itemStaggerDuration =\n useMediaQuery(props.itemStaggerDuration) || DEFAULT_ITEM_STAGGER_DURATION\n\n const isBoxVisible = useElementOnScreen(boxElement, {\n root: null,\n rootMargin: `0px 0px -10% 0px`,\n threshold: 0.2,\n })\n\n const itemControls = useAnimation()\n const boxControls = useAnimation()\n\n const setSequence = useCallback(\n (variant: keyof BoxAnimationVariants) => {\n boxControls.stop()\n itemControls.stop()\n boxControls.set(variant)\n itemControls.set(variant)\n },\n [boxControls, itemControls],\n )\n\n const playSequence = useCallback(() => {\n boxControls.stop()\n itemControls.stop()\n boxControls.set('exited')\n itemControls.set('exited')\n boxControls.start('entered')\n itemControls.start('entered')\n }, [boxControls, itemControls])\n\n useEffect(() => {\n if (isBoxVisible) {\n setSequence('entered')\n }\n }, [\n elements\n ?.map(e => e.key)\n .sort()\n .join(),\n setSequence,\n ])\n\n useEffect(() => {\n if (isBoxVisible) {\n playSequence()\n }\n }, [\n isBoxVisible,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemAnimateDelay,\n itemStaggerDuration,\n reducedMotion,\n playSequence,\n ])\n\n const boxVariant = boxAnimations[boxAnimateType]\n const itemVariant = boxAnimations[itemAnimateType]\n\n return {\n initial: {\n container: reducedMotion ? 'entered' : 'exited',\n parent: reducedMotion ? 'entered' : 'exited',\n },\n animate: {\n container: reducedMotion ? undefined : boxControls,\n parent: reducedMotion ? undefined : itemControls,\n },\n variants: {\n container: {\n exited: boxVariant.exited,\n entered: boxVariant.entered,\n },\n child: {\n exited: itemVariant.exited,\n entered: itemVariant.entered,\n },\n },\n transition: {\n container: mergeCustomTransitionWithDefault(boxVariant.transition, {\n delay: boxAnimateDelay,\n duration: boxAnimateDuration,\n }),\n parent: {\n delayChildren: itemAnimateDelay,\n staggerChildren: itemStaggerDuration,\n duration: itemAnimateDuration,\n },\n child: mergeCustomTransitionWithDefault(itemVariant.transition, {\n duration: itemAnimateDuration,\n }),\n },\n key: {\n container:\n boxAnimateType +\n boxAnimateDuration +\n boxAnimateDelay +\n itemAnimateType +\n itemAnimateDuration +\n itemAnimateDelay +\n itemStaggerDuration +\n reducedMotion,\n },\n }\n}\n","import { forwardRef, Ref, useImperativeHandle, useRef, useState } from 'react'\nimport { motion } from 'framer-motion'\nimport { cx } from '@emotion/css'\n\nimport { Element } from '../../../runtimes/react'\nimport Placeholder from './components/Placeholder'\nimport { useBoxAnimations } from './animations'\nimport {\n ElementIDValue,\n ResponsiveIconRadioGroupValue,\n GridValue,\n GapYValue,\n GapXValue,\n CheckboxValue,\n ResponsiveSelectValue,\n ResponsiveNumberValue,\n BackgroundsValue,\n} from '../../../prop-controllers/descriptors'\nimport { BoxModelHandle, parse, createBox } from '../../../box-model'\nimport BackgroundsContainer from '../../shared/BackgroundsContainer'\nimport { BoxAnimateIn } from './constants'\nimport { responsiveStyle } from '../../utils/responsive-style'\nimport { GridItem } from '../../shared/grid-item'\nimport { useStyle } from '../../../runtimes/react/use-style'\n\ntype Props = {\n id?: ElementIDValue\n backgrounds?: BackgroundsValue\n width?: string\n height?: ResponsiveIconRadioGroupValue<'auto' | 'stretch'>\n verticalAlign?: ResponsiveIconRadioGroupValue<\n 'flex-start' | 'center' | 'flex-end' | 'space-between'\n >\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n rowGap?: GapYValue\n columnGap?: GapXValue\n boxAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n boxAnimateDuration?: ResponsiveNumberValue\n boxAnimateDelay?: ResponsiveNumberValue\n itemAnimateType?: ResponsiveSelectValue<BoxAnimateIn>\n itemAnimateDuration?: ResponsiveNumberValue\n itemAnimateDelay?: ResponsiveNumberValue\n itemStaggerDuration?: ResponsiveNumberValue\n hidePlaceholder?: CheckboxValue\n children?: GridValue\n}\n\nconst Box = forwardRef(function Box(\n {\n id,\n backgrounds,\n width,\n height,\n margin,\n padding,\n border,\n children,\n borderRadius,\n boxShadow,\n rowGap,\n columnGap,\n hidePlaceholder,\n verticalAlign,\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n }: Props,\n ref: Ref<BoxModelHandle>,\n) {\n const innerRef = useRef<HTMLDivElement | null>(null)\n const [boxElement, setBoxElement] = useState<HTMLElement | null>(null)\n const hasAnimations = boxAnimateType != null || itemAnimateType != null\n const Grid = hasAnimations ? motion.div : 'div'\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n const paddingBoxElement = innerRef.current\n const borderBoxElement = innerRef.current\n const marginBoxElement = boxElement\n const borderBox = innerRef.current?.getBoundingClientRect()\n const paddingBoxComputedStyle =\n paddingBoxElement?.ownerDocument.defaultView?.getComputedStyle(paddingBoxElement)\n const borderBoxComputedStyle =\n borderBoxElement?.ownerDocument.defaultView?.getComputedStyle(borderBoxElement)\n const marginBoxComputedStyle =\n marginBoxElement?.ownerDocument.defaultView?.getComputedStyle(marginBoxElement)\n const padding = paddingBoxComputedStyle && {\n top: parse(paddingBoxComputedStyle.paddingTop),\n right: parse(paddingBoxComputedStyle.paddingRight),\n bottom: parse(paddingBoxComputedStyle.paddingBottom),\n left: parse(paddingBoxComputedStyle.paddingLeft),\n }\n const border = borderBoxComputedStyle && {\n top: parse(borderBoxComputedStyle.borderTopWidth),\n right: parse(borderBoxComputedStyle.borderRightWidth),\n bottom: parse(borderBoxComputedStyle.borderBottomWidth),\n left: parse(borderBoxComputedStyle.borderLeftWidth),\n }\n const margin = marginBoxComputedStyle && {\n top: parse(marginBoxComputedStyle.marginTop),\n right: parse(marginBoxComputedStyle.marginRight),\n bottom: parse(marginBoxComputedStyle.marginBottom),\n left: parse(marginBoxComputedStyle.marginLeft),\n }\n\n return borderBox ? createBox({ borderBox, padding, border, margin }) : null\n },\n }),\n [boxElement],\n )\n\n const gridItemClassName = useStyle(\n responsiveStyle([verticalAlign], ([alignItems = 'flex-start']) => ({ alignItems })),\n )\n\n const { initial, animate, variants, transition, key } = useBoxAnimations({\n boxAnimateType,\n boxAnimateDuration,\n boxAnimateDelay,\n itemAnimateDelay,\n itemAnimateType,\n itemAnimateDuration,\n itemStaggerDuration,\n boxElement,\n elements: children?.elements,\n })\n\n return (\n <BackgroundsContainer\n ref={setBoxElement}\n hasAnimations={hasAnimations}\n id={id}\n className={cx(\n width,\n margin,\n borderRadius,\n useStyle({ display: 'flex' }),\n useStyle(responsiveStyle([height], ([alignSelf = 'auto']) => ({ alignSelf }))),\n )}\n backgrounds={backgrounds}\n animate={animate?.container}\n initial={initial?.container}\n variants={variants?.container}\n transition={transition?.container}\n key={key?.container}\n >\n <Grid\n ref={innerRef}\n className={cx(\n padding,\n boxShadow,\n border,\n useStyle({ display: 'flex', flexWrap: 'wrap', width: '100%' }),\n useStyle(\n responsiveStyle([verticalAlign], ([alignContent = 'flex-start']) => ({ alignContent })),\n ),\n )}\n animate={animate?.parent}\n initial={initial?.parent}\n transition={transition?.parent}\n >\n {children && children.elements.length > 0 ? (\n children.elements.map((child, index) => (\n <GridItem\n as={hasAnimations ? motion.div : 'div'}\n key={child.key}\n className={gridItemClassName}\n grid={children.columns}\n index={index}\n columnGap={columnGap}\n rowGap={rowGap}\n // @ts-ignore: `variants` is not a prop for `div`, but it is for `motion.div`.\n variants={variants?.child}\n transition={transition?.child}\n >\n <Element element={child} />\n </GridItem>\n ))\n ) : (\n <Placeholder hide={hidePlaceholder} />\n )}\n </Grid>\n </BackgroundsContainer>\n )\n})\n\nexport default Box\n"],"names":["forwardRef","ref","hide","restOfProps","visibility","useStyle","width","background","height","padding","overflow","defaultExitedProps","opacity","x","y","scale","boxAnimations","none","entered","exited","transition","fadeIn","fadeLeft","type","ease","fadeRight","fadeUp","fadeDown","blurIn","filter","scaleDown","scaleUp","mergeCustomTransitionWithDefault","transitions","props","Object","keys","reduce","a","c","useElementOnScreen","element","options","isVisible","setIsVisible","useState","useEffect","observer","IntersectionObserver","intersectionCallback","observe","unobserve","entry","isIntersecting","useBoxAnimations","boxElement","elements","reducedMotion","useReducedMotion","boxAnimateType","useMediaQuery","DEFAULT_BOX_ANIMATE_TYPE","boxAnimateDuration","DEFAULT_BOX_ANIMATE_DURATION","boxAnimateDelay","DEFAULT_BOX_ANIMATE_DELAY","itemAnimateType","DEFAULT_ITEM_ANIMATE_TYPE","itemAnimateDuration","DEFAULT_ITEM_ANIMATE_DURATION","itemAnimateDelay","DEFAULT_ITEM_ANIMATE_DELAY","itemStaggerDuration","DEFAULT_ITEM_STAGGER_DURATION","isBoxVisible","root","rootMargin","threshold","itemControls","useAnimation","boxControls","setSequence","useCallback","variant","stop","set","playSequence","start","map","e","key","sort","join","boxVariant","itemVariant","initial","container","parent","animate","undefined","variants","child","delay","duration","delayChildren","staggerChildren","Box","id","backgrounds","margin","border","children","borderRadius","boxShadow","rowGap","columnGap","hidePlaceholder","verticalAlign","innerRef","useRef","setBoxElement","hasAnimations","Grid","motion","div","useImperativeHandle","getBoxModel","paddingBoxElement","current","borderBoxElement","marginBoxElement","borderBox","getBoundingClientRect","paddingBoxComputedStyle","ownerDocument","defaultView","getComputedStyle","borderBoxComputedStyle","marginBoxComputedStyle","top","parse","paddingTop","right","paddingRight","bottom","paddingBottom","left","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","marginTop","marginRight","marginBottom","marginLeft","createBox","gridItemClassName","responsiveStyle","alignItems","cx","display","alignSelf","flexWrap","alignContent","length","index","columns"],"mappings":"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"}
@@ -38,18 +38,18 @@ var index = require("./index.cjs2.js");
38
38
  var css = require("@emotion/css");
39
39
  var jsxRuntime = require("react/jsx-runtime");
40
40
  require("use-sync-external-store/shim/with-selector");
41
+ require("next/dynamic");
41
42
  require("./react-page.cjs.js");
42
43
  require("redux");
43
44
  require("redux-thunk");
44
45
  require("./actions.cjs.js");
45
46
  require("./slot.cjs.js");
46
47
  require("./control.cjs.js");
47
- require("next/dynamic");
48
- require("slate");
49
- require("./types.cjs.js");
50
48
  require("./text-input.cjs.js");
51
49
  require("./combobox.cjs.js");
52
50
  require("use-sync-external-store/shim");
51
+ require("slate");
52
+ require("./types.cjs.js");
53
53
  require("scroll-into-view-if-needed");
54
54
  require("./box-models.cjs.js");
55
55
  require("css-box-model");
package/dist/Button.es.js CHANGED
@@ -36,18 +36,18 @@ import { L as Link } from "./index.es2.js";
36
36
  import { cx } from "@emotion/css";
37
37
  import { jsx } from "react/jsx-runtime";
38
38
  import "use-sync-external-store/shim/with-selector";
39
+ import "next/dynamic";
39
40
  import "./react-page.es.js";
40
41
  import "redux";
41
42
  import "redux-thunk";
42
43
  import "./actions.es.js";
43
44
  import "./slot.es.js";
44
45
  import "./control.es.js";
45
- import "next/dynamic";
46
- import "slate";
47
- import "./types.es.js";
48
46
  import "./text-input.es.js";
49
47
  import "./combobox.es.js";
50
48
  import "use-sync-external-store/shim";
49
+ import "slate";
50
+ import "./types.es.js";
51
51
  import "scroll-into-view-if-needed";
52
52
  import "./box-models.es.js";
53
53
  import "css-box-model";
@@ -43,16 +43,16 @@ var Image = require("./Image.cjs.js");
43
43
  var css = require("@emotion/css");
44
44
  var jsxRuntime = require("react/jsx-runtime");
45
45
  require("use-sync-external-store/shim/with-selector");
46
+ require("next/dynamic");
46
47
  require("./react-page.cjs.js");
47
48
  require("redux");
48
49
  require("redux-thunk");
49
50
  require("./actions.cjs.js");
50
51
  require("./control.cjs.js");
51
- require("next/dynamic");
52
- require("slate");
53
- require("./types.cjs.js");
54
52
  require("./text-input.cjs.js");
55
53
  require("./combobox.cjs.js");
54
+ require("slate");
55
+ require("./types.cjs.js");
56
56
  require("color");
57
57
  require("scroll-into-view-if-needed");
58
58
  require("./box-models.cjs.js");
@@ -72,6 +72,8 @@ require("next/image");
72
72
  require("./placeholders.cjs.js");
73
73
  require("./index.cjs2.js");
74
74
  require("next/link");
75
+ require("./next-version.cjs.js");
76
+ require("next/package.json");
75
77
  const LeftChevron = () => /* @__PURE__ */ jsxRuntime.jsx("svg", {
76
78
  xmlns: "http://www.w3.org/2000/svg",
77
79
  width: "10",
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.cjs.js","sources":["../src/components/builtin/Carousel/Carousel.tsx"],"sourcesContent":["import {\n useState,\n useRef,\n useEffect,\n useCallback,\n forwardRef,\n Ref,\n ComponentPropsWithoutRef,\n} from 'react'\nimport { motion, useAnimation } from 'framer-motion'\nimport { useGesture } from 'react-use-gesture'\nimport { wrap } from '@popmotion/popcorn'\n\nimport { colorToString } from '../../utils/colorToString'\nimport { useMediaQuery } from '../../hooks'\n\nimport Image from '../Image'\nimport {\n ElementIDValue,\n ImagesValue,\n ResponsiveNumberValue,\n ResponsiveIconRadioGroupValue,\n GapXValue,\n CheckboxValue,\n NumberValue,\n} from '../../../prop-controllers/descriptors'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { cx } from '@emotion/css'\nimport { responsiveStyle } from '../../utils/responsive-style'\n\nconst LeftChevron = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"14\" viewBox=\"0 0 10 14\">\n <path\n d=\"M7,13,1,7,7,1\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n)\n\nconst RightChevron = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"14\" viewBox=\"0 0 10 14\">\n <path\n d=\"M3,1,9,7,3,13\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n)\n\ntype Props = {\n id?: ElementIDValue\n images?: ImagesValue\n width?: string\n margin?: string\n pageSize?: ResponsiveNumberValue\n step?: ResponsiveNumberValue\n slideAlignment?: ResponsiveIconRadioGroupValue<'flex-start' | 'center' | 'flex-end'>\n gap?: GapXValue\n autoplay?: CheckboxValue\n delay?: NumberValue\n showArrows?: CheckboxValue\n arrowPosition?: ResponsiveIconRadioGroupValue<'inside' | 'center' | 'outside'>\n arrowColor?: ResponsiveColor | null\n arrowBackground?: ResponsiveColor | null\n showDots?: CheckboxValue\n dotColor?: ResponsiveColor | null\n slideBorder?: string\n slideBorderRadius?: string\n}\n\nconst SWIPE_THRESHOLD = 20\nconst swipePower = (dx: number, velocity: number) => dx * (1 + velocity)\n\nconst Carousel = forwardRef(function Carousel(\n {\n images = [],\n width,\n margin,\n pageSize: responsivePageSize,\n step: responsiveStep,\n gap,\n slideAlignment,\n showDots,\n showArrows,\n arrowPosition,\n arrowColor,\n arrowBackground,\n dotColor,\n autoplay = false,\n delay = 5,\n slideBorder,\n slideBorderRadius,\n }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n const [index, setIndex] = useState(0)\n const swipe = useRef(0)\n const startIndex = wrap(0, images.length, index)\n const pageSize = useMediaQuery(responsivePageSize) || 1\n const step = useMediaQuery(responsiveStep) || 1\n const endIndex = startIndex + pageSize\n const pageCount = Math.ceil((images.length - pageSize) / step + 1)\n const pageIndex = Math.ceil(startIndex / step)\n const isFirstPage = pageIndex === 0\n const isLastPage = pageIndex === pageCount - 1\n const paginate = useCallback(\n (pageDistance: number) => {\n if (pageDistance === 0) return\n\n const direction = pageDistance / Math.abs(pageDistance)\n const remaining = direction > 0 ? images.slice(endIndex) : images.slice(0, startIndex)\n const distance = direction * Math.min(remaining.length, step * Math.abs(pageDistance))\n\n setIndex(index + distance)\n },\n [images, index, startIndex, endIndex, step],\n )\n // @ts-expect-error: `useAnimation` types expect no arguments.\n const animation = useAnimation({ x: 0, transition: { type: 'spring', stiffness: 100 } })\n const bindPage = useGesture(\n {\n onDrag: ({ movement: [mx], delta: [dx], velocity }) => {\n animation.start({ x: mx })\n swipe.current = swipePower(dx, velocity)\n },\n onDragEnd: () => {\n animation.start({ x: 0 })\n\n if (swipe.current > SWIPE_THRESHOLD) paginate(1)\n else if (swipe.current < -SWIPE_THRESHOLD) paginate(-1)\n },\n },\n {\n drag: {\n axis: 'x',\n bounds: { left: 0, right: 0 },\n rubberband: true,\n },\n },\n )\n\n useEffect(() => {\n if (!autoplay || pageSize !== 0) setIndex(0)\n }, [autoplay, pageSize])\n\n useEffect(() => {\n if (!autoplay) return () => {}\n\n const intervalId = setInterval(() => (isLastPage ? setIndex(0) : paginate(1)), delay * 1000)\n\n return () => clearInterval(intervalId)\n }, [autoplay, delay, paginate, isLastPage])\n\n const clipMaskClassName = useStyle({ overflow: 'hidden' })\n const pageClassName = useStyle({ position: 'relative', width: '100%' })\n const slideClassName = cx(\n useStyle({ display: 'flex' }),\n useStyle(\n responsiveStyle([responsivePageSize] as const, ([pageSize = 1]) => ({\n flexBasis: `${100 / pageSize}%`,\n maxWidth: `${100 / pageSize}%`,\n minWidth: `${100 / pageSize}%`,\n })),\n ),\n useStyle(\n responsiveStyle([slideAlignment] as const, ([alignItems = 'center']) => ({ alignItems })),\n ),\n )\n const reelClassName = cx(\n useStyle({ display: 'flex', position: 'relative', flexWrap: 'nowrap' }),\n useStyle(\n responsiveStyle([gap] as const, ([gap = { value: 0, unit: 'px' }]) => ({\n margin: `0 ${`${-gap.value / 2}${gap.unit}`}`,\n [`& > .${slideClassName}`]: {\n padding: `0 ${`${gap.value / 2}${gap.unit}`}`,\n },\n })),\n ),\n )\n const arrowClassName = cx(\n useStyle({\n padding: 10,\n borderRadius: '50%',\n outline: 0,\n border: 0,\n width: 40,\n height: 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n }),\n useStyle(\n responsiveStyle(\n [arrowBackground] as const,\n ([background = { swatch: { hue: 0, saturation: 0, lightness: 100 }, alpha: 1 }]) => ({\n background: colorToString(background),\n }),\n ),\n ),\n useStyle({ svg: { transition: 'transform 0.15s', stroke: 'currentcolor' } }),\n )\n const slopClassName = cx(\n useStyle({\n position: 'absolute',\n top: 0,\n bottom: 0,\n\n display: 'flex',\n '&[hidden]': {\n display: 'none',\n },\n\n alignItems: 'center',\n cursor: 'pointer',\n zIndex: 2,\n }),\n useStyle(\n responsiveStyle(\n [arrowColor] as const,\n ([color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n color: colorToString(color),\n }),\n ),\n ),\n )\n const leftSlopClassName = cx(\n slopClassName,\n useStyle(\n responsiveStyle([arrowPosition] as const, ([position = 'inside']) => {\n switch (position) {\n case 'inside':\n return { transform: 'translateX(8px)' }\n\n case 'outside':\n return { transform: 'translateX(calc(-100% - 8px))' }\n\n default:\n return { transform: 'translateX(calc(-50%))' }\n }\n }),\n ),\n useStyle({\n left: 0,\n\n [`&:hover > .${arrowClassName}`]: {\n '& > svg': {\n transform: 'translateX(-2px)',\n },\n },\n }),\n )\n const rightSlopClassName = cx(\n slopClassName,\n useStyle(\n responsiveStyle([arrowPosition] as const, ([position = 'inside']) => {\n switch (position) {\n case 'inside':\n return { transform: 'translateX(-8px)' }\n\n case 'outside':\n return { transform: 'translateX(calc(100% + 8px))' }\n\n default:\n return { transform: 'translateX(calc(50%))' }\n }\n }),\n ),\n useStyle({\n right: 0,\n\n [`&:hover > .${arrowClassName}`]: {\n '& > svg': {\n transform: 'translateX(2px)',\n },\n },\n }),\n )\n const dotsClassName = cx(\n useStyle({ display: showDots ? 'flex' : 'none', justifyContent: 'center', marginTop: 20 }),\n useStyle(\n responsiveStyle(\n [dotColor] as const,\n ([color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n color: colorToString(color),\n }),\n ),\n ),\n )\n\n return (\n <div\n ref={ref}\n className={cx(\n useStyle({ position: 'relative', display: 'flex', flexDirection: 'column' }),\n width,\n margin,\n useStyle({ '&:focus': { outline: 0 } }),\n )}\n tabIndex={-1}\n onKeyDown={e => {\n switch (e.key) {\n case 'ArrowRight':\n paginate(1)\n break\n case 'ArrowLeft':\n paginate(-1)\n break\n default:\n }\n }}\n >\n {/* NOTE: We set height to 100% here to fix an issue on IE11 where the child height of a flex column extends too far */}\n <div className={useStyle({ position: 'relative', height: '100%' })}>\n <div className={clipMaskClassName}>\n <motion.div {...bindPage()} className={pageClassName} animate={animation}>\n <motion.div\n className={reelClassName}\n animate={{ x: `${-(100 / pageSize) * startIndex}%` }}\n transition={{\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n duration: 0.5,\n },\n }}\n >\n {images.map(({ props: imageProps, key }) => (\n <motion.div\n id={key}\n key={key}\n className={slideClassName}\n onMouseDown={e => e.preventDefault()}\n onClick={e => {\n if (swipe.current !== 0) e.preventDefault()\n }}\n >\n <Image\n width={[{ deviceId: 'desktop', value: { value: 100, unit: '%' } }]}\n file={imageProps.file}\n altText={imageProps.altText}\n link={imageProps.link}\n border={slideBorder}\n borderRadius={slideBorderRadius}\n />\n </motion.div>\n ))}\n </motion.div>\n </motion.div>\n </div>\n <div\n onClick={() => paginate(-1)}\n className={leftSlopClassName}\n hidden={!showArrows || isFirstPage}\n >\n <div className={arrowClassName}>\n <LeftChevron />\n </div>\n </div>\n <div\n onClick={() => paginate(1)}\n className={rightSlopClassName}\n hidden={!showArrows || isLastPage}\n >\n <div className={arrowClassName}>\n <RightChevron />\n </div>\n </div>\n </div>\n <div className={dotsClassName}>\n {Array.from({ length: pageCount }).map((_, i) => (\n <Dot key={i} active={i === pageIndex} onClick={() => paginate(i - pageIndex)} />\n ))}\n </div>\n </div>\n )\n})\n\nexport default Carousel\n\ntype DotBaseProps = {\n className?: string\n active: boolean\n}\n\ntype DotProps = DotBaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof DotBaseProps>\n\nfunction Dot({ className, active, ...restOfProps }: DotProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({\n position: 'relative',\n margin: '0 6px',\n borderRadius: '50%',\n cursor: 'pointer',\n width: 16,\n height: 16,\n\n '&::before, &::after': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: '50%',\n display: 'block',\n borderRadius: '50%',\n transition: 'all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275)',\n },\n\n '&::before': {\n boxShadow: '0 0 0 2px currentColor',\n transform: 'translate3d(-50%, -50%, 0)',\n width: active ? 16 : 10,\n height: active ? 16 : 10,\n },\n\n '&::after': {\n background: 'currentColor',\n transform: `translate3d(-50%, -50%, 0) scale(${active ? 1 : 0})`,\n width: 10,\n height: 10,\n },\n\n '&:hover::after': {\n transform: `translate3d(-50%, -50%, 0) scale(${active ? 1 : 0})`,\n },\n }),\n className,\n )}\n />\n )\n}\n"],"names":["LeftChevron","_jsx","RightChevron","SWIPE_THRESHOLD","swipePower","dx","velocity","Carousel","forwardRef","images","width","margin","pageSize","responsivePageSize","step","responsiveStep","gap","slideAlignment","showDots","showArrows","arrowPosition","arrowColor","arrowBackground","dotColor","autoplay","delay","slideBorder","slideBorderRadius","ref","index","setIndex","useState","swipe","useRef","startIndex","wrap","length","useMediaQuery","endIndex","pageCount","Math","ceil","pageIndex","isFirstPage","isLastPage","paginate","useCallback","pageDistance","direction","abs","remaining","slice","distance","min","animation","useAnimation","x","transition","type","stiffness","bindPage","useGesture","onDrag","movement","mx","delta","start","current","onDragEnd","drag","axis","bounds","left","right","rubberband","useEffect","intervalId","setInterval","clearInterval","clipMaskClassName","useStyle","overflow","pageClassName","position","slideClassName","cx","display","responsiveStyle","flexBasis","maxWidth","minWidth","alignItems","reelClassName","flexWrap","value","unit","padding","arrowClassName","borderRadius","outline","border","height","justifyContent","cursor","userSelect","background","swatch","hue","saturation","lightness","alpha","colorToString","svg","stroke","slopClassName","top","bottom","zIndex","color","leftSlopClassName","transform","rightSlopClassName","dotsClassName","marginTop","flexDirection","e","key","_jsxs","motion","ease","duration","map","props","imageProps","preventDefault","Image","deviceId","file","altText","link","Array","from","_","i","className","active","restOfProps","content","boxShadow"],"mappings":"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"}
1
+ {"version":3,"file":"Carousel.cjs.js","sources":["../src/components/builtin/Carousel/Carousel.tsx"],"sourcesContent":["import {\n useState,\n useRef,\n useEffect,\n useCallback,\n forwardRef,\n Ref,\n ComponentPropsWithoutRef,\n} from 'react'\nimport { motion, useAnimation } from 'framer-motion'\nimport { useGesture } from 'react-use-gesture'\nimport { wrap } from '@popmotion/popcorn'\n\nimport { colorToString } from '../../utils/colorToString'\nimport { useMediaQuery } from '../../hooks'\n\nimport Image from '../Image'\nimport {\n ElementIDValue,\n ImagesValue,\n ResponsiveNumberValue,\n ResponsiveIconRadioGroupValue,\n GapXValue,\n CheckboxValue,\n NumberValue,\n} from '../../../prop-controllers/descriptors'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { cx } from '@emotion/css'\nimport { responsiveStyle } from '../../utils/responsive-style'\n\nconst LeftChevron = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"14\" viewBox=\"0 0 10 14\">\n <path\n d=\"M7,13,1,7,7,1\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n)\n\nconst RightChevron = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"14\" viewBox=\"0 0 10 14\">\n <path\n d=\"M3,1,9,7,3,13\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n />\n </svg>\n)\n\ntype Props = {\n id?: ElementIDValue\n images?: ImagesValue\n width?: string\n margin?: string\n pageSize?: ResponsiveNumberValue\n step?: ResponsiveNumberValue\n slideAlignment?: ResponsiveIconRadioGroupValue<'flex-start' | 'center' | 'flex-end'>\n gap?: GapXValue\n autoplay?: CheckboxValue\n delay?: NumberValue\n showArrows?: CheckboxValue\n arrowPosition?: ResponsiveIconRadioGroupValue<'inside' | 'center' | 'outside'>\n arrowColor?: ResponsiveColor | null\n arrowBackground?: ResponsiveColor | null\n showDots?: CheckboxValue\n dotColor?: ResponsiveColor | null\n slideBorder?: string\n slideBorderRadius?: string\n}\n\nconst SWIPE_THRESHOLD = 20\nconst swipePower = (dx: number, velocity: number) => dx * (1 + velocity)\n\nconst Carousel = forwardRef(function Carousel(\n {\n images = [],\n width,\n margin,\n pageSize: responsivePageSize,\n step: responsiveStep,\n gap,\n slideAlignment,\n showDots,\n showArrows,\n arrowPosition,\n arrowColor,\n arrowBackground,\n dotColor,\n autoplay = false,\n delay = 5,\n slideBorder,\n slideBorderRadius,\n }: Props,\n ref: Ref<HTMLDivElement>,\n) {\n const [index, setIndex] = useState(0)\n const swipe = useRef(0)\n const startIndex = wrap(0, images.length, index)\n const pageSize = useMediaQuery(responsivePageSize) || 1\n const step = useMediaQuery(responsiveStep) || 1\n const endIndex = startIndex + pageSize\n const pageCount = Math.ceil((images.length - pageSize) / step + 1)\n const pageIndex = Math.ceil(startIndex / step)\n const isFirstPage = pageIndex === 0\n const isLastPage = pageIndex === pageCount - 1\n const paginate = useCallback(\n (pageDistance: number) => {\n if (pageDistance === 0) return\n\n const direction = pageDistance / Math.abs(pageDistance)\n const remaining = direction > 0 ? images.slice(endIndex) : images.slice(0, startIndex)\n const distance = direction * Math.min(remaining.length, step * Math.abs(pageDistance))\n\n setIndex(index + distance)\n },\n [images, index, startIndex, endIndex, step],\n )\n // @ts-expect-error: `useAnimation` types expect no arguments.\n const animation = useAnimation({ x: 0, transition: { type: 'spring', stiffness: 100 } })\n const bindPage = useGesture(\n {\n onDrag: ({ movement: [mx], delta: [dx], velocity }) => {\n animation.start({ x: mx })\n swipe.current = swipePower(dx, velocity)\n },\n onDragEnd: () => {\n animation.start({ x: 0 })\n\n if (swipe.current > SWIPE_THRESHOLD) paginate(1)\n else if (swipe.current < -SWIPE_THRESHOLD) paginate(-1)\n },\n },\n {\n drag: {\n axis: 'x',\n bounds: { left: 0, right: 0 },\n rubberband: true,\n },\n },\n )\n\n useEffect(() => {\n if (!autoplay || pageSize !== 0) setIndex(0)\n }, [autoplay, pageSize])\n\n useEffect(() => {\n if (!autoplay) return () => {}\n\n const intervalId = setInterval(() => (isLastPage ? setIndex(0) : paginate(1)), delay * 1000)\n\n return () => clearInterval(intervalId)\n }, [autoplay, delay, paginate, isLastPage])\n\n const clipMaskClassName = useStyle({ overflow: 'hidden' })\n const pageClassName = useStyle({ position: 'relative', width: '100%' })\n const slideClassName = cx(\n useStyle({ display: 'flex' }),\n useStyle(\n responsiveStyle([responsivePageSize] as const, ([pageSize = 1]) => ({\n flexBasis: `${100 / pageSize}%`,\n maxWidth: `${100 / pageSize}%`,\n minWidth: `${100 / pageSize}%`,\n })),\n ),\n useStyle(\n responsiveStyle([slideAlignment] as const, ([alignItems = 'center']) => ({ alignItems })),\n ),\n )\n const reelClassName = cx(\n useStyle({ display: 'flex', position: 'relative', flexWrap: 'nowrap' }),\n useStyle(\n responsiveStyle([gap] as const, ([gap = { value: 0, unit: 'px' }]) => ({\n margin: `0 ${`${-gap.value / 2}${gap.unit}`}`,\n [`& > .${slideClassName}`]: {\n padding: `0 ${`${gap.value / 2}${gap.unit}`}`,\n },\n })),\n ),\n )\n const arrowClassName = cx(\n useStyle({\n padding: 10,\n borderRadius: '50%',\n outline: 0,\n border: 0,\n width: 40,\n height: 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n }),\n useStyle(\n responsiveStyle(\n [arrowBackground] as const,\n ([background = { swatch: { hue: 0, saturation: 0, lightness: 100 }, alpha: 1 }]) => ({\n background: colorToString(background),\n }),\n ),\n ),\n useStyle({ svg: { transition: 'transform 0.15s', stroke: 'currentcolor' } }),\n )\n const slopClassName = cx(\n useStyle({\n position: 'absolute',\n top: 0,\n bottom: 0,\n\n display: 'flex',\n '&[hidden]': {\n display: 'none',\n },\n\n alignItems: 'center',\n cursor: 'pointer',\n zIndex: 2,\n }),\n useStyle(\n responsiveStyle(\n [arrowColor] as const,\n ([color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n color: colorToString(color),\n }),\n ),\n ),\n )\n const leftSlopClassName = cx(\n slopClassName,\n useStyle(\n responsiveStyle([arrowPosition] as const, ([position = 'inside']) => {\n switch (position) {\n case 'inside':\n return { transform: 'translateX(8px)' }\n\n case 'outside':\n return { transform: 'translateX(calc(-100% - 8px))' }\n\n default:\n return { transform: 'translateX(calc(-50%))' }\n }\n }),\n ),\n useStyle({\n left: 0,\n\n [`&:hover > .${arrowClassName}`]: {\n '& > svg': {\n transform: 'translateX(-2px)',\n },\n },\n }),\n )\n const rightSlopClassName = cx(\n slopClassName,\n useStyle(\n responsiveStyle([arrowPosition] as const, ([position = 'inside']) => {\n switch (position) {\n case 'inside':\n return { transform: 'translateX(-8px)' }\n\n case 'outside':\n return { transform: 'translateX(calc(100% + 8px))' }\n\n default:\n return { transform: 'translateX(calc(50%))' }\n }\n }),\n ),\n useStyle({\n right: 0,\n\n [`&:hover > .${arrowClassName}`]: {\n '& > svg': {\n transform: 'translateX(2px)',\n },\n },\n }),\n )\n const dotsClassName = cx(\n useStyle({ display: showDots ? 'flex' : 'none', justifyContent: 'center', marginTop: 20 }),\n useStyle(\n responsiveStyle(\n [dotColor] as const,\n ([color = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n color: colorToString(color),\n }),\n ),\n ),\n )\n\n return (\n <div\n ref={ref}\n className={cx(\n useStyle({ position: 'relative', display: 'flex', flexDirection: 'column' }),\n width,\n margin,\n useStyle({ '&:focus': { outline: 0 } }),\n )}\n tabIndex={-1}\n onKeyDown={e => {\n switch (e.key) {\n case 'ArrowRight':\n paginate(1)\n break\n case 'ArrowLeft':\n paginate(-1)\n break\n default:\n }\n }}\n >\n {/* NOTE: We set height to 100% here to fix an issue on IE11 where the child height of a flex column extends too far */}\n <div className={useStyle({ position: 'relative', height: '100%' })}>\n <div className={clipMaskClassName}>\n <motion.div {...bindPage()} className={pageClassName} animate={animation}>\n <motion.div\n className={reelClassName}\n animate={{ x: `${-(100 / pageSize) * startIndex}%` }}\n transition={{\n x: {\n type: 'tween',\n ease: [0.165, 0.84, 0.44, 1],\n duration: 0.5,\n },\n }}\n >\n {images.map(({ props: imageProps, key }) => (\n <motion.div\n id={key}\n key={key}\n className={slideClassName}\n onMouseDown={e => e.preventDefault()}\n onClick={e => {\n if (swipe.current !== 0) e.preventDefault()\n }}\n >\n <Image\n width={[{ deviceId: 'desktop', value: { value: 100, unit: '%' } }]}\n file={imageProps.file}\n altText={imageProps.altText}\n link={imageProps.link}\n border={slideBorder}\n borderRadius={slideBorderRadius}\n />\n </motion.div>\n ))}\n </motion.div>\n </motion.div>\n </div>\n <div\n onClick={() => paginate(-1)}\n className={leftSlopClassName}\n hidden={!showArrows || isFirstPage}\n >\n <div className={arrowClassName}>\n <LeftChevron />\n </div>\n </div>\n <div\n onClick={() => paginate(1)}\n className={rightSlopClassName}\n hidden={!showArrows || isLastPage}\n >\n <div className={arrowClassName}>\n <RightChevron />\n </div>\n </div>\n </div>\n <div className={dotsClassName}>\n {Array.from({ length: pageCount }).map((_, i) => (\n <Dot key={i} active={i === pageIndex} onClick={() => paginate(i - pageIndex)} />\n ))}\n </div>\n </div>\n )\n})\n\nexport default Carousel\n\ntype DotBaseProps = {\n className?: string\n active: boolean\n}\n\ntype DotProps = DotBaseProps & Omit<ComponentPropsWithoutRef<'div'>, keyof DotBaseProps>\n\nfunction Dot({ className, active, ...restOfProps }: DotProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({\n position: 'relative',\n margin: '0 6px',\n borderRadius: '50%',\n cursor: 'pointer',\n width: 16,\n height: 16,\n\n '&::before, &::after': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: '50%',\n display: 'block',\n borderRadius: '50%',\n transition: 'all 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275)',\n },\n\n '&::before': {\n boxShadow: '0 0 0 2px currentColor',\n transform: 'translate3d(-50%, -50%, 0)',\n width: active ? 16 : 10,\n height: active ? 16 : 10,\n },\n\n '&::after': {\n background: 'currentColor',\n transform: `translate3d(-50%, -50%, 0) scale(${active ? 1 : 0})`,\n width: 10,\n height: 10,\n },\n\n '&:hover::after': {\n transform: `translate3d(-50%, -50%, 0) scale(${active ? 1 : 0})`,\n },\n }),\n className,\n )}\n />\n )\n}\n"],"names":["LeftChevron","_jsx","RightChevron","SWIPE_THRESHOLD","swipePower","dx","velocity","Carousel","forwardRef","images","width","margin","pageSize","responsivePageSize","step","responsiveStep","gap","slideAlignment","showDots","showArrows","arrowPosition","arrowColor","arrowBackground","dotColor","autoplay","delay","slideBorder","slideBorderRadius","ref","index","setIndex","useState","swipe","useRef","startIndex","wrap","length","useMediaQuery","endIndex","pageCount","Math","ceil","pageIndex","isFirstPage","isLastPage","paginate","useCallback","pageDistance","direction","abs","remaining","slice","distance","min","animation","useAnimation","x","transition","type","stiffness","bindPage","useGesture","onDrag","movement","mx","delta","start","current","onDragEnd","drag","axis","bounds","left","right","rubberband","useEffect","intervalId","setInterval","clearInterval","clipMaskClassName","useStyle","overflow","pageClassName","position","slideClassName","cx","display","responsiveStyle","flexBasis","maxWidth","minWidth","alignItems","reelClassName","flexWrap","value","unit","padding","arrowClassName","borderRadius","outline","border","height","justifyContent","cursor","userSelect","background","swatch","hue","saturation","lightness","alpha","colorToString","svg","stroke","slopClassName","top","bottom","zIndex","color","leftSlopClassName","transform","rightSlopClassName","dotsClassName","marginTop","flexDirection","e","key","_jsxs","motion","ease","duration","map","props","imageProps","preventDefault","Image","deviceId","file","altText","link","Array","from","_","i","className","active","restOfProps","content","boxShadow"],"mappings":"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"}
@@ -41,16 +41,16 @@ import ImageComponent from "./Image.es.js";
41
41
  import { cx } from "@emotion/css";
42
42
  import { jsxs, jsx } from "react/jsx-runtime";
43
43
  import "use-sync-external-store/shim/with-selector";
44
+ import "next/dynamic";
44
45
  import "./react-page.es.js";
45
46
  import "redux";
46
47
  import "redux-thunk";
47
48
  import "./actions.es.js";
48
49
  import "./control.es.js";
49
- import "next/dynamic";
50
- import "slate";
51
- import "./types.es.js";
52
50
  import "./text-input.es.js";
53
51
  import "./combobox.es.js";
52
+ import "slate";
53
+ import "./types.es.js";
54
54
  import "color";
55
55
  import "scroll-into-view-if-needed";
56
56
  import "./box-models.es.js";
@@ -70,6 +70,8 @@ import "next/image";
70
70
  import "./placeholders.es.js";
71
71
  import "./index.es2.js";
72
72
  import "next/link";
73
+ import "./next-version.es.js";
74
+ import "next/package.json";
73
75
  const LeftChevron = () => /* @__PURE__ */ jsx("svg", {
74
76
  xmlns: "http://www.w3.org/2000/svg",
75
77
  width: "10",