@makeswift/runtime 0.1.5 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/dist/Box.cjs.js +4 -3
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +5 -4
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +5 -3
  6. package/dist/Button.cjs.js.map +1 -1
  7. package/dist/Button.es.js +16 -14
  8. package/dist/Button.es.js.map +1 -1
  9. package/dist/Carousel.cjs.js +4 -3
  10. package/dist/Carousel.cjs.js.map +1 -1
  11. package/dist/Carousel.es.js +5 -4
  12. package/dist/Carousel.es.js.map +1 -1
  13. package/dist/Countdown.cjs.js +4 -3
  14. package/dist/Countdown.cjs.js.map +1 -1
  15. package/dist/Countdown.es.js +5 -4
  16. package/dist/Countdown.es.js.map +1 -1
  17. package/dist/Divider.cjs.js +4 -3
  18. package/dist/Divider.cjs.js.map +1 -1
  19. package/dist/Divider.es.js +5 -4
  20. package/dist/Divider.es.js.map +1 -1
  21. package/dist/Embed.cjs.js +4 -3
  22. package/dist/Embed.cjs.js.map +1 -1
  23. package/dist/Embed.es.js +5 -4
  24. package/dist/Embed.es.js.map +1 -1
  25. package/dist/Form.cjs.js +7 -3
  26. package/dist/Form.cjs.js.map +1 -1
  27. package/dist/Form.es.js +9 -5
  28. package/dist/Form.es.js.map +1 -1
  29. package/dist/Image.cjs2.js +6 -4
  30. package/dist/Image.cjs2.js.map +1 -1
  31. package/dist/Image.es2.js +10 -8
  32. package/dist/Image.es2.js.map +1 -1
  33. package/dist/Navigation.cjs.js +4 -3
  34. package/dist/Navigation.cjs.js.map +1 -1
  35. package/dist/Navigation.es.js +5 -4
  36. package/dist/Navigation.es.js.map +1 -1
  37. package/dist/SocialLinks.cjs.js +3 -2
  38. package/dist/SocialLinks.cjs.js.map +1 -1
  39. package/dist/SocialLinks.es.js +4 -3
  40. package/dist/SocialLinks.es.js.map +1 -1
  41. package/dist/Text.cjs.js +7 -3
  42. package/dist/Text.cjs.js.map +1 -1
  43. package/dist/Text.es.js +9 -5
  44. package/dist/Text.es.js.map +1 -1
  45. package/dist/Video.cjs.js +4 -3
  46. package/dist/Video.cjs.js.map +1 -1
  47. package/dist/Video.es.js +5 -4
  48. package/dist/Video.es.js.map +1 -1
  49. package/dist/components.cjs.js +1 -1
  50. package/dist/components.es.js +1 -1
  51. package/dist/cssMediaRules.es.js +1 -1
  52. package/dist/index.cjs.js +10 -31
  53. package/dist/index.cjs.js.map +1 -1
  54. package/dist/index.cjs3.js +27 -11
  55. package/dist/index.cjs3.js.map +1 -1
  56. package/dist/index.es.js +11 -31
  57. package/dist/index.es.js.map +1 -1
  58. package/dist/index.es2.js +1 -1
  59. package/dist/index.es3.js +28 -12
  60. package/dist/index.es3.js.map +1 -1
  61. package/dist/next.es.js +1 -1
  62. package/dist/react-builder-preview.es.js +1 -1
  63. package/dist/types/components/builtin/Box/Box.d.ts +2 -2
  64. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  65. package/dist/types/components/builtin/Button/Button.d.ts +2 -1
  66. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
  67. package/dist/types/components/builtin/Carousel/Carousel.d.ts +2 -2
  68. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  69. package/dist/types/components/builtin/Carousel/register.d.ts.map +1 -1
  70. package/dist/types/components/builtin/Countdown/Countdown.d.ts +2 -2
  71. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  72. package/dist/types/components/builtin/Countdown/register.d.ts.map +1 -1
  73. package/dist/types/components/builtin/Divider/Divider.d.ts +2 -2
  74. package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
  75. package/dist/types/components/builtin/Divider/register.d.ts.map +1 -1
  76. package/dist/types/components/builtin/Embed/Embed.d.ts +2 -2
  77. package/dist/types/components/builtin/Embed/Embed.d.ts.map +1 -1
  78. package/dist/types/components/builtin/Form/Form.d.ts +2 -2
  79. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  80. package/dist/types/components/builtin/Form/components/Placeholder/index.d.ts +2 -1
  81. package/dist/types/components/builtin/Form/components/Placeholder/index.d.ts.map +1 -1
  82. package/dist/types/components/builtin/Form/register.d.ts.map +1 -1
  83. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
  84. package/dist/types/components/builtin/Navigation/Navigation.d.ts +2 -2
  85. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  86. package/dist/types/components/builtin/Navigation/register.d.ts.map +1 -1
  87. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts +2 -2
  88. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  89. package/dist/types/components/builtin/SocialLinks/register.d.ts.map +1 -1
  90. package/dist/types/components/builtin/Text/Text.d.ts +2 -2
  91. package/dist/types/components/builtin/Text/Text.d.ts.map +1 -1
  92. package/dist/types/components/builtin/Text/components/RichTextEditor/index.d.ts.map +1 -1
  93. package/dist/types/components/builtin/Text/register.d.ts.map +1 -1
  94. package/dist/types/components/builtin/Video/Video.d.ts +2 -2
  95. package/dist/types/components/builtin/Video/Video.d.ts.map +1 -1
  96. package/dist/types/components/builtin/Video/register.d.ts.map +1 -1
  97. package/dist/types/components/shared/Link/index.d.ts.map +1 -1
  98. package/dist/useBoxShadow.es.js +1 -1
  99. package/dist/useMediaQuery.es.js +1 -1
  100. package/package.json +1 -1
  101. package/dist/Box2.cjs.js +0 -54
  102. package/dist/Box2.cjs.js.map +0 -1
  103. package/dist/Box2.es.js +0 -52
  104. package/dist/Box2.es.js.map +0 -1
  105. package/dist/grid-item.cjs.js +0 -594
  106. package/dist/grid-item.cjs.js.map +0 -1
  107. package/dist/grid-item.es.js +0 -585
  108. package/dist/grid-item.es.js.map +0 -1
  109. package/dist/slot.cjs.js +0 -130
  110. package/dist/slot.cjs.js.map +0 -1
  111. package/dist/slot.es.js +0 -123
  112. package/dist/slot.es.js.map +0 -1
  113. package/dist/types/components/builtin/Box/Box2.d.ts +0 -8
  114. package/dist/types/components/builtin/Box/Box2.d.ts.map +0 -1
  115. package/dist/types/components/experimental/box-placeholder.d.ts +0 -2
  116. package/dist/types/components/experimental/box-placeholder.d.ts.map +0 -1
  117. package/dist/types/components/experimental/box.d.ts +0 -9
  118. package/dist/types/components/experimental/box.d.ts.map +0 -1
  119. package/dist/types/components/experimental/index.d.ts +0 -2
  120. package/dist/types/components/experimental/index.d.ts.map +0 -1
  121. package/dist/types/components/hooks/useTable.d.ts +0 -66
  122. package/dist/types/components/hooks/useTable.d.ts.map +0 -1
  123. package/dist/types/components/shared/grid-item.d.ts +0 -17
  124. package/dist/types/components/shared/grid-item.d.ts.map +0 -1
  125. package/dist/types/controls/slot.d.ts +0 -42
  126. package/dist/types/controls/slot.d.ts.map +0 -1
  127. package/dist/types/css/border-radius.d.ts +0 -20
  128. package/dist/types/css/border-radius.d.ts.map +0 -1
  129. package/dist/types/css/border.d.ts +0 -31
  130. package/dist/types/css/border.d.ts.map +0 -1
  131. package/dist/types/css/box-shadow.d.ts +0 -19
  132. package/dist/types/css/box-shadow.d.ts.map +0 -1
  133. package/dist/types/css/color.d.ts +0 -5
  134. package/dist/types/css/color.d.ts.map +0 -1
  135. package/dist/types/css/length-percentage.d.ts +0 -10
  136. package/dist/types/css/length-percentage.d.ts.map +0 -1
  137. package/dist/types/css/length.d.ts +0 -14
  138. package/dist/types/css/length.d.ts.map +0 -1
  139. package/dist/types/css/margin.d.ts +0 -20
  140. package/dist/types/css/margin.d.ts.map +0 -1
  141. package/dist/types/css/padding.d.ts +0 -20
  142. package/dist/types/css/padding.d.ts.map +0 -1
  143. package/dist/types/runtimes/react/controls/slot.d.ts +0 -26
  144. package/dist/types/runtimes/react/controls/slot.d.ts.map +0 -1
  145. package/dist/types/runtimes/react/use-style.d.ts +0 -3
  146. package/dist/types/runtimes/react/use-style.d.ts.map +0 -1
  147. package/dist/types/use-global-style.d.ts +0 -3
  148. package/dist/types/use-global-style.d.ts.map +0 -1
  149. package/dist/types/use-grid-item-style.d.ts +0 -1
  150. package/dist/types/use-grid-item-style.d.ts.map +0 -1
  151. package/dist/types/use-style.d.ts +0 -3
  152. package/dist/types/use-style.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid-item.es.js","sources":["../src/components/hooks/useBackgrounds.ts","../src/utils/clamp.ts","../src/components/shared/BackgroundsContainer/components/Parallax/index.tsx","../src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.tsx","../src/components/shared/BackgroundsContainer/components/Backgrounds/index.tsx","../src/components/shared/BackgroundsContainer/index.tsx","../src/components/shared/grid-item.tsx"],"sourcesContent":["import { useMemo } from 'react'\n\nimport { ColorValue as Color } from '../utils/types'\nimport { ResponsiveValue } from '../../prop-controllers'\nimport { FILES_BY_ID, SWATCHES_BY_ID } from '../utils/queries'\nimport { isNonNullable } from '../utils/isNonNullable'\nimport { BackgroundsValue as ResponsiveBackgroundsValue } from '../../prop-controllers/descriptors'\nimport { useQuery } from '../../api/react'\n\ntype BackgroundColorData = Color\n\ntype BackgroundGradientStopData = {\n id: string\n location: number\n color: Color | null | undefined\n}\n\ntype BackgroundGradientData = {\n angle: number\n isRadial: boolean\n stops: Array<BackgroundGradientStopData>\n}\n\ntype BackgroundImageData = {\n publicUrl?: string\n dimensions: { width: number; height: number } | null\n position: {\n x: number\n y: number\n }\n size: 'cover' | 'contain' | 'auto'\n repeat: 'no-repeat' | 'repeat-x' | 'repeat-y' | 'repeat'\n opacity?: number\n parallax?: number\n}\n\ntype BackgroundVideoData = {\n url: string\n maskColor: Color | null | undefined\n aspectRatio: 'wide' | 'standard'\n opacity: number\n zoom: number\n parallax: number\n}\n\ntype BackgroundData =\n | { id: string; type: 'color'; payload: BackgroundColorData | null | undefined }\n | { id: string; type: 'image'; payload: BackgroundImageData | null | undefined }\n | { id: string; type: 'gradient'; payload: BackgroundGradientData | null | undefined }\n | { id: string; type: 'video'; payload: BackgroundVideoData | null | undefined }\n\nexport type BackgroundsData = Array<BackgroundData>\n\nexport type BackgroundsPropControllerData = ResponsiveValue<BackgroundsData>\n\nexport function useBackgrounds(\n value: ResponsiveBackgroundsValue | null | undefined,\n): BackgroundsPropControllerData | null | undefined {\n const fileIds =\n value == null\n ? []\n : value\n .map(({ value: backgrounds }) =>\n backgrounds\n .map(background =>\n background.type === 'image' && background.payload != null\n ? background.payload.imageId\n : null,\n )\n .filter(isNonNullable)\n .reduce((a, b) => a.concat(b), [] as string[]),\n )\n .reduce((a, b) => a.concat(b), [])\n const swatchIds =\n value == null\n ? []\n : value\n .map(({ value: backgrounds }) =>\n backgrounds\n .map(background => {\n if (background.type === 'color' && background.payload != null) {\n return [background.payload.swatchId]\n }\n\n if (background.type === 'gradient' && background.payload != null) {\n return background.payload.stops\n .map(stop => stop.color && stop.color.swatchId)\n .filter(isNonNullable)\n }\n\n if (background.type === 'video' && background.payload != null) {\n return [background.payload.maskColor && background.payload.maskColor.swatchId]\n }\n\n return null\n })\n .filter(isNonNullable)\n .reduce((a, b) => a.concat(b), []),\n )\n .reduce((a, b) => a.concat(b), [])\n .filter(isNonNullable)\n const skip = value == null\n const filesResult = useQuery(FILES_BY_ID, {\n skip: skip || fileIds.length === 0,\n variables: { ids: fileIds },\n })\n const swatchesResult = useQuery(SWATCHES_BY_ID, {\n skip: skip || swatchIds.length === 0,\n variables: { ids: swatchIds },\n })\n\n return useMemo(() => {\n const { data: filesData = {} } = filesResult\n const { data: swatchesData = {} } = swatchesResult\n\n if (value == null || filesResult.error != null || swatchesResult.error != null) {\n return null\n }\n\n const { files = [] } = filesData\n const { swatches = [] } = swatchesData\n\n return value.map(({ value: backgrounds, ...restOfValue }) => ({\n ...restOfValue,\n value: backgrounds\n .map(bg => {\n if (bg.type === 'image' && bg.payload != null && bg.payload.imageId != null) {\n const { imageId, ...restOfPayload } = bg.payload\n const file = files.find((f: any) => f && f.id === imageId)\n\n return (\n file && {\n id: bg.id,\n type: 'image',\n payload: {\n ...restOfPayload,\n publicUrl: file.publicUrl,\n dimensions: file.dimensions,\n },\n }\n )\n }\n\n if (bg.type === 'color' && bg.payload != null) {\n const { swatchId, alpha } = bg.payload\n const swatch = swatches.find((s: any) => s && s.id === swatchId)\n\n return { id: bg.id, type: 'color', payload: { swatch, alpha } }\n }\n\n if (bg.type === 'gradient' && bg.payload != null && bg.payload.stops.length > 0) {\n return {\n id: bg.id,\n type: 'gradient',\n payload: {\n angle: bg.payload.angle,\n isRadial: bg.payload.isRadial,\n stops: bg.payload.stops.map(({ color, ...restOfStop }) => ({\n ...restOfStop,\n color: color && {\n swatch: swatches.find((s: any) => s && s.id === color.swatchId),\n alpha: color.alpha,\n },\n })),\n },\n }\n }\n\n if (bg.type === 'video' && bg.payload != null) {\n const { maskColor, ...restOfPayload } = bg.payload\n const swatch = maskColor && swatches.find((s: any) => s && s.id === maskColor.swatchId)\n\n return {\n id: bg.id,\n type: 'video',\n payload: {\n ...restOfPayload,\n maskColor: swatch && maskColor && { swatch, alpha: maskColor.alpha },\n },\n }\n }\n\n return null\n })\n .filter(Boolean),\n }))\n }, [filesResult, swatchesResult, value])\n}\n","const clamp = (min: number, val: number, max: number): number => Math.min(Math.max(min, val), max)\n\nexport default clamp\n","import { useState, useRef, useCallback, ReactNode, CSSProperties } from 'react'\nimport clamp from '../../../../../utils/clamp'\nimport { useIsomorphicLayoutEffect } from '../../../../hooks/useIsomorphicLayoutEffect'\n\nfunction isScrollable(element: HTMLElement) {\n const { overflow, overflowY, overflowX } =\n element.ownerDocument.defaultView!.getComputedStyle(element)\n\n return /(auto|scroll)/.test(overflow + overflowX + overflowY)\n}\n\nfunction getScrollParent(element: HTMLElement): HTMLElement {\n const { parentElement } = element\n\n if (!element || !parentElement) return element\n\n if (isScrollable(element)) return element\n\n return getScrollParent(parentElement)\n}\n\ntype Props = {\n strength: number | null | undefined\n children: (\n getParallaxProps: <P extends { style?: CSSProperties; [key: string]: unknown }>(props: P) => P,\n ) => ReactNode\n}\n\nexport default function Parallax({ strength, children, ...rest }: Props): JSX.Element {\n const container = useRef<HTMLDivElement>(null)\n const [containerScrollTop, setContainerScrollTop] = useState(strength == null ? 0 : strength)\n const lastScrollParentScrollTop = useRef(0)\n\n useIsomorphicLayoutEffect(() => {\n if (!container.current || strength == null || strength === 0) return undefined\n\n const containerDocument = container.current.ownerDocument\n const scrollParent = getScrollParent(container.current)\n const eventTarget =\n containerDocument.documentElement === scrollParent\n ? containerDocument.defaultView!\n : scrollParent\n\n lastScrollParentScrollTop.current = scrollParent.scrollTop\n setContainerScrollTop(strength)\n\n function handleScroll() {\n containerDocument.defaultView!.requestAnimationFrame(() => {\n if (!container.current) return\n\n const { top: containerTop, bottom: containerBottom } =\n container.current.getBoundingClientRect()\n const { top: scrollParentTop, bottom: scrollParentBottom } =\n scrollParent === containerDocument.documentElement\n ? { top: 0, bottom: containerDocument.defaultView!.innerHeight }\n : scrollParent.getBoundingClientRect()\n const { scrollTop: scrollParentScrollTop } =\n scrollParent === containerDocument.documentElement\n ? { scrollTop: containerDocument.defaultView!.pageYOffset }\n : scrollParent\n const scrollParentHeight = scrollParentBottom - scrollParentTop\n const scrollParentScrollDelta = scrollParentScrollTop - lastScrollParentScrollTop.current\n\n lastScrollParentScrollTop.current = scrollParentScrollTop\n\n setContainerScrollTop(scrollTop => {\n const isContainerVisible =\n containerTop < scrollParentTop + scrollParentHeight && containerBottom > scrollParentTop\n const containerScrollRemaining =\n scrollParentScrollDelta > 0 ? 2 * strength! - scrollTop : scrollTop\n const scrollParentScrollRemaining =\n scrollParentScrollDelta > 0\n ? scrollParentTop + containerBottom\n : scrollParentHeight - containerTop\n const parallaxRatio = containerScrollRemaining / scrollParentScrollRemaining\n const containerScrollDelta = isContainerVisible\n ? parallaxRatio * scrollParentScrollDelta\n : 0\n\n return clamp(0, scrollTop + containerScrollDelta, strength! * 2)\n })\n })\n }\n\n eventTarget.addEventListener('scroll', handleScroll)\n\n return () => eventTarget.removeEventListener('scroll', handleScroll)\n }, [strength])\n\n const getProps = useCallback(\n ({ style, ...restOfChildrenProps }) => ({\n ...restOfChildrenProps,\n style: {\n ...style,\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n ...(strength == null || strength === 0\n ? {}\n : {\n top: -strength,\n bottom: -strength,\n transform: `translate3d(0, ${containerScrollTop - strength}px, 0)`,\n }),\n },\n }),\n [strength, containerScrollTop],\n )\n\n return (\n <div\n {...rest}\n ref={container}\n style={{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0 }}\n >\n {children(getProps)}\n </div>\n )\n}\n","import { useState, useRef } from 'react'\nimport ReactPlayer from 'react-player'\nimport styled from 'styled-components'\n\nimport { useIsomorphicLayoutEffect } from '../../../../hooks/useIsomorphicLayoutEffect'\n\nconst Container = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n pointer-events: none;\n overflow: hidden;\n`\n\nconst Mask = styled.div<{ backgroundColor: string | undefined; visible: boolean }>`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: ${props => props.backgroundColor};\n opacity: ${props => (props.visible ? 1 : 0)};\n transition: opacity 1s;\n`\n\nconst getScale = (element: HTMLElement, aspectRatio: number, zoom: number) => {\n const { offsetWidth: width, offsetHeight: height } = element\n const computedAspectRatio = width / height\n\n return Math.max(aspectRatio / computedAspectRatio, computedAspectRatio / aspectRatio) * zoom\n}\n\ntype Props = {\n url?: string\n aspectRatio?: number\n zoom?: number\n opacity?: number\n maskColor?: string\n}\n\nexport default function BackgroundVideo({\n url = '',\n aspectRatio = 16 / 9,\n zoom = 1,\n maskColor,\n opacity,\n}: Props): JSX.Element {\n const [ready, setReady] = useState(false)\n const [scale, setScale] = useState(1)\n const container = useRef<HTMLDivElement>(null)\n\n useIsomorphicLayoutEffect(() => {\n const { current: containerEl } = container\n\n if (!containerEl) return undefined\n\n const { defaultView } = containerEl.ownerDocument\n const handleResize = () => setScale(getScale(containerEl, aspectRatio, zoom))\n\n handleResize()\n\n defaultView!.addEventListener('resize', handleResize)\n\n return () => defaultView!.removeEventListener('resize', handleResize)\n }, [aspectRatio, zoom])\n\n if (!ReactPlayer.canPlay(url)) return <></>\n\n return (\n <Container ref={container}>\n {container.current && (\n <ReactPlayer\n url={url}\n config={{\n vimeo: { playerOptions: { background: true } },\n youtube: {\n playerVars: {\n origin: container.current.ownerDocument.defaultView?.location.origin,\n },\n },\n wistia: {\n options: {\n endVideoBehavior: 'loop',\n playbackRateControl: false,\n playbar: false,\n playButton: false,\n volumeControl: false,\n fullscreenButton: false,\n muted: true,\n },\n },\n }}\n playing\n loop\n muted\n controls={false}\n onReady={() => setReady(true)}\n style={{\n transform: `scale3d(${scale}, ${scale}, 1)`,\n opacity,\n }}\n width=\"100%\"\n height=\"100%\"\n />\n )}\n <Mask backgroundColor={maskColor} visible={!ready} />\n </Container>\n )\n}\n","import NextImage from 'next/image'\n\nimport { BackgroundsPropControllerData, BackgroundsData } from '../../../../hooks'\nimport { ResponsiveValue } from '../../../../../prop-controllers'\nimport { ColorValue as Color } from '../../../../utils/types'\nimport { colorToString } from '../../../../utils/colorToString'\nimport Parallax from '../Parallax'\nimport BackgroundVideo from '../BackgroundVideo'\nimport { CSSObject } from '@emotion/css'\nimport { useStyle } from '../../../../../use-style'\nimport { responsiveStyle } from '../../../../utils/responsive-style'\n\nfunction getColor(color: Color | null | undefined) {\n if (color == null) return 'black'\n\n if (color.swatch == null) {\n return colorToString({ ...color, swatch: { hue: 0, saturation: 0, lightness: 0 } })\n }\n\n return colorToString(color)\n}\n\ntype GradientStop = { color: Color | null | undefined; location: number }\n\nconst getStopsStyle = (stops: GradientStop[]) =>\n stops.map(({ color, location }) => `${getColor(color)} ${location}%`).join(',')\n\nconst absoluteFillStyle: CSSObject = {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n}\n\nconst containerStyle: CSSObject = {\n ...absoluteFillStyle,\n borderRadius: 'inherit',\n}\n\ntype Props = { backgrounds: BackgroundsPropControllerData | null | undefined }\n\nexport default function Backgrounds({ backgrounds }: Props): JSX.Element {\n if (backgrounds == null) return <></>\n\n return (\n <>\n {backgrounds.map(({ value, deviceId }) => {\n const visibility = backgrounds.map(v => ({\n deviceId: v.deviceId,\n value: v.deviceId === deviceId,\n }))\n\n return <BackgroundDeviceLayer key={deviceId} layer={value} visibility={visibility} />\n })}\n </>\n )\n}\n\ntype BackgroundLayerProps = {\n layer: BackgroundsData\n visibility: ResponsiveValue<boolean>\n}\n\nfunction BackgroundDeviceLayer({ layer, visibility }: BackgroundLayerProps) {\n const visibilityStyle = responsiveStyle([visibility], ([v]) => ({\n display: v === true ? 'block' : 'none',\n }))\n\n return (\n <div className={useStyle({ ...containerStyle, ...visibilityStyle, overflow: 'hidden' })}>\n {[...layer].reverse().map(bg => {\n if (bg.type === 'color') {\n return <ColorBackground key={bg.id} color={getColor(bg.payload)} />\n }\n\n if (bg.type === 'image' && bg.payload) {\n return <ImageBackground {...bg.payload} key={bg.id} />\n }\n\n if (bg.type === 'gradient' && bg.payload) {\n return (\n <GradientBackground\n {...bg.payload}\n key={bg.id}\n gradient={getStopsStyle(bg.payload.stops)}\n />\n )\n }\n\n if (bg.type === 'video' && bg.payload) {\n return (\n <VideoBackground\n {...bg.payload}\n key={bg.id}\n maskColor={getColor(bg.payload.maskColor)}\n />\n )\n }\n\n return null\n })}\n </div>\n )\n}\n\ntype ColorBackgroundProps = { color: string }\n\nfunction ColorBackground({ color }: ColorBackgroundProps) {\n return <div className={useStyle({ ...containerStyle, backgroundColor: color })} />\n}\n\nconst ImageBackgroundRepeat = {\n NoRepeat: 'no-repeat',\n RepeatX: 'repeat-x',\n RepeatY: 'repeat-y',\n Repeat: 'repeat',\n} as const\n\ntype ImageBackgroundRepeat = typeof ImageBackgroundRepeat[keyof typeof ImageBackgroundRepeat]\n\nconst ImageBackgroundSize = {\n Cover: 'cover',\n Contain: 'contain',\n Auto: 'auto',\n} as const\n\ntype ImageBackgroundSize = typeof ImageBackgroundSize[keyof typeof ImageBackgroundSize]\n\ntype ImageBackgroundProps = {\n publicUrl?: string\n position: { x: number; y: number }\n repeat: ImageBackgroundRepeat\n size?: ImageBackgroundSize\n opacity?: number\n parallax?: number\n}\n\nfunction ImageBackground({\n publicUrl,\n position,\n repeat = ImageBackgroundRepeat.NoRepeat,\n size = ImageBackgroundSize.Cover,\n opacity,\n parallax,\n}: ImageBackgroundProps) {\n const backgroundPosition = `${position.x}% ${position.y}%`\n const containerClassName = useStyle(containerStyle)\n\n if (repeat === 'no-repeat' && size !== 'auto' && publicUrl != null) {\n return (\n <Parallax strength={parallax}>\n {getParallaxProps => (\n <div {...getParallaxProps({ style: { opacity, overflow: 'hidden' } })}>\n <NextImage\n src={publicUrl}\n layout=\"fill\"\n objectPosition={backgroundPosition}\n objectFit={size}\n />\n </div>\n )}\n </Parallax>\n )\n }\n\n return (\n <Parallax strength={parallax}>\n {getParallaxProps => (\n <div\n className={containerClassName}\n {...getParallaxProps({\n style: {\n backgroundImage: publicUrl != null ? `url('${publicUrl}')` : undefined,\n backgroundPosition,\n backgroundRepeat: repeat,\n backgroundSize: size,\n opacity,\n },\n })}\n />\n )}\n </Parallax>\n )\n}\n\ntype GradientBackgroundProps = {\n gradient: string\n angle: number\n isRadial: boolean\n}\n\nfunction GradientBackground({ gradient, isRadial, angle }: GradientBackgroundProps) {\n return (\n <div\n className={useStyle({\n ...containerStyle,\n background: isRadial\n ? `radial-gradient(${gradient})`\n : `linear-gradient(${angle}rad, ${gradient})`,\n })}\n />\n )\n}\n\nconst BackgroundVideoAspectRatio = {\n Wide: 'wide',\n Standard: 'standard',\n} as const\n\ntype BackgroundVideoAspectRatio =\n typeof BackgroundVideoAspectRatio[keyof typeof BackgroundVideoAspectRatio]\n\nfunction getAspectRatio(aspectRatio: BackgroundVideoAspectRatio): number {\n switch (aspectRatio) {\n case 'wide':\n return 16 / 9\n\n case 'standard':\n return 4 / 3\n\n default:\n return 16 / 9\n }\n}\n\ntype VideoBackgroundProps = {\n url: string\n aspectRatio: BackgroundVideoAspectRatio\n maskColor: string\n zoom: number\n opacity: number\n parallax: number\n}\n\nfunction VideoBackground({\n url,\n aspectRatio,\n maskColor,\n zoom,\n opacity,\n parallax,\n}: VideoBackgroundProps) {\n return (\n <Parallax strength={parallax}>\n {getParallaxProps => (\n <div {...getParallaxProps({ className: useStyle(containerStyle) })}>\n <BackgroundVideo\n url={url}\n zoom={zoom}\n opacity={opacity}\n aspectRatio={getAspectRatio(aspectRatio)}\n maskColor={maskColor}\n />\n </div>\n )}\n </Parallax>\n )\n}\n","import { cx } from '@emotion/css'\nimport { motion } from 'framer-motion'\nimport {\n Children,\n ComponentPropsWithoutRef,\n ElementType,\n forwardRef,\n ReactElement,\n Ref,\n useImperativeHandle,\n useState,\n} from 'react'\nimport { BackgroundsValue as BackgroundsPropControllerValue } from '../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../use-style'\nimport { useBackgrounds } from '../../hooks'\nimport Backgrounds from './components/Backgrounds'\n\ntype BaseProps = {\n backgrounds: BackgroundsPropControllerValue | null | undefined\n children: ReactElement<ElementType>\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<typeof motion.div>, keyof BaseProps>\n\nexport default forwardRef<HTMLDivElement | null, Props>(function BackgroundsContainer(\n { backgrounds, children, className, ...restOfProps }: Props,\n ref: Ref<HTMLDivElement | null>,\n) {\n const [handle, setHandle] = useState<HTMLDivElement | null>(null)\n\n useImperativeHandle(ref, () => handle, [handle])\n\n return (\n <motion.div\n {...restOfProps}\n ref={setHandle}\n className={cx(\n useStyle({\n position: 'relative',\n width: '100%',\n margin: '0 auto',\n '> *': {\n borderRadius: 'inherit',\n height: 'inherit',\n },\n '> :last-child': {\n position: 'relative',\n },\n }),\n className,\n )}\n >\n <Backgrounds backgrounds={useBackgrounds(backgrounds)} />\n {Children.only(children)}\n </motion.div>\n )\n})\n","import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef, ElementType } from 'react'\nimport { ResponsiveValue, Length as LengthValue } from '../../prop-controllers'\nimport { useStyle } from '../../use-style'\nimport { responsiveGridItem } from '../utils/responsive-style'\n\ntype BaseProps<T extends ElementType> = {\n as?: T\n className?: string\n grid: ResponsiveValue<{ spans: Array<Array<number>>; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthValue>\n rowGap?: ResponsiveValue<LengthValue>\n}\n\ntype Props<T extends ElementType> = BaseProps<T> &\n Omit<ComponentPropsWithoutRef<T>, keyof BaseProps<T>>\n\nexport function GridItem<T extends ElementType = 'div'>({\n as,\n grid,\n index,\n columnGap,\n rowGap,\n className,\n ...restOfProps\n}: Props<T>) {\n const gridItemClassName = useStyle(responsiveGridItem({ grid, index, columnGap, rowGap }))\n const Component = as ?? 'div'\n\n return <Component {...restOfProps} className={cx(gridItemClassName, className)} />\n}\n"],"names":["element","overflow","overflowY","overflowX","ownerDocument","defaultView","getComputedStyle","test","parentElement","isScrollable","getScrollParent","strength","children","rest","container","useRef","containerScrollTop","setContainerScrollTop","useState","lastScrollParentScrollTop","useIsomorphicLayoutEffect","current","undefined","containerDocument","scrollParent","eventTarget","documentElement","scrollTop","requestAnimationFrame","top","containerTop","bottom","containerBottom","getBoundingClientRect","scrollParentTop","scrollParentBottom","innerHeight","scrollParentScrollTop","pageYOffset","scrollParentHeight","scrollParentScrollDelta","isContainerVisible","containerScrollRemaining","scrollParentScrollRemaining","parallaxRatio","containerScrollDelta","clamp","addEventListener","handleScroll","removeEventListener","getProps","useCallback","style","restOfChildrenProps","position","left","right","transform","Container","styled","div","Mask","props","backgroundColor","visible","getScale","aspectRatio","zoom","offsetWidth","width","offsetHeight","height","computedAspectRatio","Math","max","url","maskColor","opacity","ready","setReady","scale","setScale","containerEl","handleResize","ReactPlayer","canPlay","_jsx","_Fragment","vimeo","playerOptions","background","youtube","playerVars","origin","location","wistia","options","endVideoBehavior","playbackRateControl","playbar","playButton","volumeControl","fullscreenButton","muted","color","swatch","colorToString","hue","saturation","lightness","getStopsStyle","stops","map","getColor","join","absoluteFillStyle","containerStyle","borderRadius","backgrounds","value","deviceId","visibility","v","layer","visibilityStyle","responsiveStyle","display","useStyle","reverse","bg","type","payload","id","ImageBackgroundRepeat","NoRepeat","RepeatX","RepeatY","Repeat","ImageBackgroundSize","Cover","Contain","Auto","publicUrl","repeat","size","parallax","backgroundPosition","x","y","containerClassName","getParallaxProps","backgroundImage","backgroundRepeat","backgroundSize","gradient","isRadial","angle","className","getAspectRatio","forwardRef","ref","restOfProps","handle","setHandle","useImperativeHandle","_jsxs","cx","margin","useBackgrounds","Children","only","as","grid","index","columnGap","rowGap","gridItemClassName","responsiveGridItem","Component"],"mappings":"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"}
package/dist/slot.cjs.js DELETED
@@ -1,130 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
- var __publicField = (obj, key, value) => {
5
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
- return value;
7
- };
8
- var image = require("./image.cjs.js");
9
- const BuilderEditMode = {
10
- BUILD: "build",
11
- CONTENT: "content"
12
- };
13
- const RichTextPropControllerMessageType = {
14
- CHANGE_BUILDER_EDIT_MODE: "CHANGE_BUILDER_EDIT_MODE",
15
- INITIALIZE_EDITOR: "INITIALIZE_EDITOR",
16
- CHANGE_EDITOR_VALUE: "CHANGE_EDITOR_VALUE",
17
- FOCUS: "FOCUS",
18
- BLUR: "BLUR",
19
- UNDO: "UNDO",
20
- REDO: "REDO"
21
- };
22
- class PropController {
23
- constructor(send) {
24
- __publicField(this, "send");
25
- this.send = send;
26
- }
27
- }
28
- class DefaultPropController extends PropController {
29
- recv(_message) {
30
- }
31
- }
32
- class RichTextPropController extends PropController {
33
- constructor() {
34
- super(...arguments);
35
- __publicField(this, "editor", null);
36
- }
37
- recv(message) {
38
- var _a, _b;
39
- switch (message.type) {
40
- case RichTextPropControllerMessageType.CHANGE_BUILDER_EDIT_MODE: {
41
- switch (message.editMode) {
42
- case BuilderEditMode.BUILD:
43
- (_a = this.editor) == null ? void 0 : _a.deselect().blur();
44
- break;
45
- case BuilderEditMode.CONTENT:
46
- (_b = this.editor) == null ? void 0 : _b.focus().moveToRangeOfDocument();
47
- break;
48
- }
49
- break;
50
- }
51
- }
52
- }
53
- setSlateEditor(editor) {
54
- this.editor = editor;
55
- this.send({
56
- type: RichTextPropControllerMessageType.INITIALIZE_EDITOR,
57
- value: editor.value.toJSON({ preserveSelection: false })
58
- });
59
- }
60
- onChange(change) {
61
- this.send({
62
- type: RichTextPropControllerMessageType.CHANGE_EDITOR_VALUE,
63
- value: change.value.toJSON({ preserveSelection: true })
64
- });
65
- }
66
- focus() {
67
- this.send({ type: RichTextPropControllerMessageType.FOCUS });
68
- }
69
- blur() {
70
- this.send({ type: RichTextPropControllerMessageType.BLUR });
71
- }
72
- undo() {
73
- this.send({ type: RichTextPropControllerMessageType.UNDO });
74
- }
75
- redo() {
76
- this.send({ type: RichTextPropControllerMessageType.REDO });
77
- }
78
- }
79
- const TableFormFieldsMessageType = {
80
- TABLE_FORM_LAYOUT_CHANGE: "TABLE_FORM_LAYOUT_CHANGE",
81
- TABLE_FORM_FIELD_LAYOUT_CHANGE: "TABLE_FORM_FIELD_LAYOUT_CHANGE"
82
- };
83
- class TableFormFieldsPropController extends PropController {
84
- recv() {
85
- }
86
- tableFormLayoutChange(payload) {
87
- this.send({ type: TableFormFieldsMessageType.TABLE_FORM_LAYOUT_CHANGE, payload });
88
- }
89
- tableFormFieldLayoutChange(payload) {
90
- this.send({ type: TableFormFieldsMessageType.TABLE_FORM_FIELD_LAYOUT_CHANGE, payload });
91
- }
92
- }
93
- function createPropController(descriptor, send) {
94
- switch (descriptor.type) {
95
- case image.Types.RichText:
96
- return new RichTextPropController(send);
97
- case image.Types.TableFormFields:
98
- return new TableFormFieldsPropController(send);
99
- case SlotControlType:
100
- return new SlotControl(send);
101
- default:
102
- return new DefaultPropController(send);
103
- }
104
- }
105
- const SlotControlType = "makeswift::controls::slot";
106
- function Slot() {
107
- return { type: SlotControlType };
108
- }
109
- const SlotControlMessageType = {
110
- CONTAINER_BOX_MODEL_CHANGE: "makeswift::controls::slot::message::container-box-model-change",
111
- ITEM_BOX_MODEL_CHANGE: "makeswift::controls::slot::message::item-box-model-change"
112
- };
113
- class SlotControl extends PropController {
114
- recv() {
115
- }
116
- changeContainerBoxModel(boxModel) {
117
- this.send({ type: SlotControlMessageType.CONTAINER_BOX_MODEL_CHANGE, payload: { boxModel } });
118
- }
119
- changeItemBoxModel(index, boxModel) {
120
- this.send({ type: SlotControlMessageType.ITEM_BOX_MODEL_CHANGE, payload: { index, boxModel } });
121
- }
122
- }
123
- exports.RichTextPropControllerMessageType = RichTextPropControllerMessageType;
124
- exports.Slot = Slot;
125
- exports.SlotControl = SlotControl;
126
- exports.SlotControlMessageType = SlotControlMessageType;
127
- exports.SlotControlType = SlotControlType;
128
- exports.TableFormFieldsMessageType = TableFormFieldsMessageType;
129
- exports.createPropController = createPropController;
130
- //# sourceMappingURL=slot.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slot.cjs.js","sources":["../src/utils/constants.ts","../src/prop-controllers/instances.ts","../src/controls/slot.ts"],"sourcesContent":["export const BuilderEditMode = {\n BUILD: 'build',\n CONTENT: 'content',\n} as const\n\nexport type BuilderEditMode = typeof BuilderEditMode[keyof typeof BuilderEditMode]\n","import { Editor } from 'slate-react'\nimport { ValueJSON } from 'slate'\nimport { OnChangeParam } from 'slate-react'\nimport { Descriptor, RichTextDescriptor, TableFormFieldsDescriptor, Types } from './descriptors'\nimport { BuilderEditMode } from '../utils/constants'\nimport { BoxModel } from '../state/modules/box-models'\nimport { SlotControl, SlotControlMessage, SlotControlType } from '../controls'\n\nexport const RichTextPropControllerMessageType = {\n CHANGE_BUILDER_EDIT_MODE: 'CHANGE_BUILDER_EDIT_MODE',\n INITIALIZE_EDITOR: 'INITIALIZE_EDITOR',\n CHANGE_EDITOR_VALUE: 'CHANGE_EDITOR_VALUE',\n FOCUS: 'FOCUS',\n BLUR: 'BLUR',\n UNDO: 'UNDO',\n REDO: 'REDO',\n} as const\n\ntype ChangeBuilderEditModeRichTextPropControllerMessage = {\n type: typeof RichTextPropControllerMessageType.CHANGE_BUILDER_EDIT_MODE\n editMode: BuilderEditMode\n}\n\ntype InitializeEditorRichTextPropControllerMessage = {\n type: typeof RichTextPropControllerMessageType.INITIALIZE_EDITOR\n value: ValueJSON\n}\n\ntype ChangeEditorValueRichTextPropControllerMessage = {\n type: typeof RichTextPropControllerMessageType.CHANGE_EDITOR_VALUE\n value: ValueJSON\n}\n\ntype FocusRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.FOCUS }\n\ntype BlurRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.BLUR }\n\ntype UndoRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.UNDO }\n\ntype RedoRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.REDO }\n\nexport type RichTextPropControllerMessage =\n | ChangeBuilderEditModeRichTextPropControllerMessage\n | InitializeEditorRichTextPropControllerMessage\n | ChangeEditorValueRichTextPropControllerMessage\n | FocusRichTextPropControllerMessage\n | BlurRichTextPropControllerMessage\n | UndoRichTextPropControllerMessage\n | RedoRichTextPropControllerMessage\n\nexport type PropControllerMessage =\n | RichTextPropControllerMessage\n | TableFormFieldsMessage\n | SlotControlMessage\n\nexport type Send<T = PropControllerMessage> = (message: T) => void\n\nexport abstract class PropController<T = PropControllerMessage> {\n protected send: Send<T>\n\n constructor(send: Send<T>) {\n this.send = send\n }\n\n abstract recv(message: T): void\n}\n\nclass DefaultPropController extends PropController {\n recv(_message: PropControllerMessage): void {\n // Do nothing.\n }\n}\n\nclass RichTextPropController extends PropController<RichTextPropControllerMessage> {\n private editor: Editor | null = null\n\n recv(message: RichTextPropControllerMessage): void {\n switch (message.type) {\n case RichTextPropControllerMessageType.CHANGE_BUILDER_EDIT_MODE: {\n switch (message.editMode) {\n case BuilderEditMode.BUILD:\n this.editor?.deselect().blur()\n break\n\n case BuilderEditMode.CONTENT:\n this.editor?.focus().moveToRangeOfDocument()\n break\n }\n\n break\n }\n }\n }\n\n setSlateEditor(editor: Editor) {\n this.editor = editor\n\n this.send({\n type: RichTextPropControllerMessageType.INITIALIZE_EDITOR,\n value: editor.value.toJSON({ preserveSelection: false }),\n })\n }\n\n onChange(change: OnChangeParam) {\n this.send({\n type: RichTextPropControllerMessageType.CHANGE_EDITOR_VALUE,\n value: change.value.toJSON({ preserveSelection: true }),\n })\n }\n\n focus() {\n this.send({ type: RichTextPropControllerMessageType.FOCUS })\n }\n\n blur() {\n this.send({ type: RichTextPropControllerMessageType.BLUR })\n }\n\n undo() {\n this.send({ type: RichTextPropControllerMessageType.UNDO })\n }\n\n redo() {\n this.send({ type: RichTextPropControllerMessageType.REDO })\n }\n}\n\nexport const TableFormFieldsMessageType = {\n TABLE_FORM_LAYOUT_CHANGE: 'TABLE_FORM_LAYOUT_CHANGE',\n TABLE_FORM_FIELD_LAYOUT_CHANGE: 'TABLE_FORM_FIELD_LAYOUT_CHANGE',\n} as const\n\ntype TableLayoutTableFormFieldsMessage = {\n type: typeof TableFormFieldsMessageType.TABLE_FORM_LAYOUT_CHANGE\n payload: { layout: BoxModel }\n}\n\ntype TableFieldLayoutTableFormFieldsMessage = {\n type: typeof TableFormFieldsMessageType.TABLE_FORM_FIELD_LAYOUT_CHANGE\n payload: { layout: BoxModel; index: number }\n}\n\nexport type TableFormFieldsMessage =\n | TableLayoutTableFormFieldsMessage\n | TableFieldLayoutTableFormFieldsMessage\n\nexport class TableFormFieldsPropController extends PropController<TableFormFieldsMessage> {\n recv(): void {}\n\n tableFormLayoutChange(payload: { layout: BoxModel }) {\n this.send({ type: TableFormFieldsMessageType.TABLE_FORM_LAYOUT_CHANGE, payload })\n }\n\n tableFormFieldLayoutChange(payload: { layout: BoxModel; index: number }) {\n this.send({ type: TableFormFieldsMessageType.TABLE_FORM_FIELD_LAYOUT_CHANGE, payload })\n }\n}\n\ntype DescriptorPropController<T extends Descriptor> = T extends { type: typeof Types.RichText }\n ? RichTextPropController\n : T extends { type: typeof Types.TableFormFields }\n ? TableFormFieldsPropController\n : DefaultPropController\n\nexport type DescriptorsPropControllers<T extends Record<string, Descriptor>> = {\n [K in keyof T]: undefined extends T[K]\n ? DescriptorPropController<Exclude<T[K], undefined>>\n : DescriptorPropController<T[K]>\n}\n\ntype AnyPropController =\n | DefaultPropController\n | RichTextPropController\n | TableFormFieldsPropController\n | SlotControl\n\nexport function createPropController(\n descriptor: RichTextDescriptor,\n send: Send<RichTextPropControllerMessage>,\n): RichTextPropController\nexport function createPropController(\n descriptor: TableFormFieldsDescriptor,\n send: Send<TableFormFieldsMessage>,\n): TableFormFieldsPropController\nexport function createPropController(descriptor: Descriptor, send: Send): DefaultPropController\nexport function createPropController<T extends PropControllerMessage>(\n descriptor: Descriptor,\n send: Send<T>,\n): AnyPropController {\n switch (descriptor.type) {\n case Types.RichText:\n return new RichTextPropController(send as Send<RichTextPropControllerMessage>)\n\n case Types.TableFormFields:\n return new TableFormFieldsPropController(send as Send<TableFormFieldsMessage>)\n\n case SlotControlType:\n return new SlotControl(send as Send<SlotControlMessage>)\n\n default:\n return new DefaultPropController(send as Send)\n }\n}\n","import { PropController } from '../prop-controllers/instances'\nimport { BoxModel } from '../state/modules/box-models'\nimport { Element } from '../state/react-page'\nimport { ResponsiveValue } from './types'\n\ntype SlotControlColumnData = { count: number; spans: number[][] }\n\nexport type SlotControlData = {\n elements: Element[]\n columns: ResponsiveValue<SlotControlColumnData>\n}\n\nexport const SlotControlType = 'makeswift::controls::slot'\n\nexport type SlotControlDefinition = {\n type: typeof SlotControlType\n}\n\nexport function Slot(): SlotControlDefinition {\n return { type: SlotControlType }\n}\n\nexport const SlotControlMessageType = {\n CONTAINER_BOX_MODEL_CHANGE: 'makeswift::controls::slot::message::container-box-model-change',\n ITEM_BOX_MODEL_CHANGE: 'makeswift::controls::slot::message::item-box-model-change',\n} as const\n\ntype SlotControlContainerBoxModelChangeMessage = {\n type: typeof SlotControlMessageType.CONTAINER_BOX_MODEL_CHANGE\n payload: { boxModel: BoxModel }\n}\n\ntype SlotControlItemBoxModelChangeMessage = {\n type: typeof SlotControlMessageType.ITEM_BOX_MODEL_CHANGE\n payload: { index: number; boxModel: BoxModel }\n}\n\nexport type SlotControlMessage =\n | SlotControlContainerBoxModelChangeMessage\n | SlotControlItemBoxModelChangeMessage\n\nexport class SlotControl extends PropController<SlotControlMessage> {\n recv(): void {}\n\n changeContainerBoxModel(boxModel: BoxModel): void {\n this.send({ type: SlotControlMessageType.CONTAINER_BOX_MODEL_CHANGE, payload: { boxModel } })\n }\n\n changeItemBoxModel(index: number, boxModel: BoxModel): void {\n this.send({ type: SlotControlMessageType.ITEM_BOX_MODEL_CHANGE, payload: { index, boxModel } })\n }\n}\n"],"names":["Types"],"mappings":"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"}
package/dist/slot.es.js DELETED
@@ -1,123 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
- import { T as Types } from "./image.es.js";
8
- const BuilderEditMode = {
9
- BUILD: "build",
10
- CONTENT: "content"
11
- };
12
- const RichTextPropControllerMessageType = {
13
- CHANGE_BUILDER_EDIT_MODE: "CHANGE_BUILDER_EDIT_MODE",
14
- INITIALIZE_EDITOR: "INITIALIZE_EDITOR",
15
- CHANGE_EDITOR_VALUE: "CHANGE_EDITOR_VALUE",
16
- FOCUS: "FOCUS",
17
- BLUR: "BLUR",
18
- UNDO: "UNDO",
19
- REDO: "REDO"
20
- };
21
- class PropController {
22
- constructor(send) {
23
- __publicField(this, "send");
24
- this.send = send;
25
- }
26
- }
27
- class DefaultPropController extends PropController {
28
- recv(_message) {
29
- }
30
- }
31
- class RichTextPropController extends PropController {
32
- constructor() {
33
- super(...arguments);
34
- __publicField(this, "editor", null);
35
- }
36
- recv(message) {
37
- var _a, _b;
38
- switch (message.type) {
39
- case RichTextPropControllerMessageType.CHANGE_BUILDER_EDIT_MODE: {
40
- switch (message.editMode) {
41
- case BuilderEditMode.BUILD:
42
- (_a = this.editor) == null ? void 0 : _a.deselect().blur();
43
- break;
44
- case BuilderEditMode.CONTENT:
45
- (_b = this.editor) == null ? void 0 : _b.focus().moveToRangeOfDocument();
46
- break;
47
- }
48
- break;
49
- }
50
- }
51
- }
52
- setSlateEditor(editor) {
53
- this.editor = editor;
54
- this.send({
55
- type: RichTextPropControllerMessageType.INITIALIZE_EDITOR,
56
- value: editor.value.toJSON({ preserveSelection: false })
57
- });
58
- }
59
- onChange(change) {
60
- this.send({
61
- type: RichTextPropControllerMessageType.CHANGE_EDITOR_VALUE,
62
- value: change.value.toJSON({ preserveSelection: true })
63
- });
64
- }
65
- focus() {
66
- this.send({ type: RichTextPropControllerMessageType.FOCUS });
67
- }
68
- blur() {
69
- this.send({ type: RichTextPropControllerMessageType.BLUR });
70
- }
71
- undo() {
72
- this.send({ type: RichTextPropControllerMessageType.UNDO });
73
- }
74
- redo() {
75
- this.send({ type: RichTextPropControllerMessageType.REDO });
76
- }
77
- }
78
- const TableFormFieldsMessageType = {
79
- TABLE_FORM_LAYOUT_CHANGE: "TABLE_FORM_LAYOUT_CHANGE",
80
- TABLE_FORM_FIELD_LAYOUT_CHANGE: "TABLE_FORM_FIELD_LAYOUT_CHANGE"
81
- };
82
- class TableFormFieldsPropController extends PropController {
83
- recv() {
84
- }
85
- tableFormLayoutChange(payload) {
86
- this.send({ type: TableFormFieldsMessageType.TABLE_FORM_LAYOUT_CHANGE, payload });
87
- }
88
- tableFormFieldLayoutChange(payload) {
89
- this.send({ type: TableFormFieldsMessageType.TABLE_FORM_FIELD_LAYOUT_CHANGE, payload });
90
- }
91
- }
92
- function createPropController(descriptor, send) {
93
- switch (descriptor.type) {
94
- case Types.RichText:
95
- return new RichTextPropController(send);
96
- case Types.TableFormFields:
97
- return new TableFormFieldsPropController(send);
98
- case SlotControlType:
99
- return new SlotControl(send);
100
- default:
101
- return new DefaultPropController(send);
102
- }
103
- }
104
- const SlotControlType = "makeswift::controls::slot";
105
- function Slot() {
106
- return { type: SlotControlType };
107
- }
108
- const SlotControlMessageType = {
109
- CONTAINER_BOX_MODEL_CHANGE: "makeswift::controls::slot::message::container-box-model-change",
110
- ITEM_BOX_MODEL_CHANGE: "makeswift::controls::slot::message::item-box-model-change"
111
- };
112
- class SlotControl extends PropController {
113
- recv() {
114
- }
115
- changeContainerBoxModel(boxModel) {
116
- this.send({ type: SlotControlMessageType.CONTAINER_BOX_MODEL_CHANGE, payload: { boxModel } });
117
- }
118
- changeItemBoxModel(index, boxModel) {
119
- this.send({ type: SlotControlMessageType.ITEM_BOX_MODEL_CHANGE, payload: { index, boxModel } });
120
- }
121
- }
122
- export { RichTextPropControllerMessageType as R, SlotControlType as S, TableFormFieldsMessageType as T, Slot as a, SlotControlMessageType as b, SlotControl as c, createPropController as d };
123
- //# sourceMappingURL=slot.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slot.es.js","sources":["../src/utils/constants.ts","../src/prop-controllers/instances.ts","../src/controls/slot.ts"],"sourcesContent":["export const BuilderEditMode = {\n BUILD: 'build',\n CONTENT: 'content',\n} as const\n\nexport type BuilderEditMode = typeof BuilderEditMode[keyof typeof BuilderEditMode]\n","import { Editor } from 'slate-react'\nimport { ValueJSON } from 'slate'\nimport { OnChangeParam } from 'slate-react'\nimport { Descriptor, RichTextDescriptor, TableFormFieldsDescriptor, Types } from './descriptors'\nimport { BuilderEditMode } from '../utils/constants'\nimport { BoxModel } from '../state/modules/box-models'\nimport { SlotControl, SlotControlMessage, SlotControlType } from '../controls'\n\nexport const RichTextPropControllerMessageType = {\n CHANGE_BUILDER_EDIT_MODE: 'CHANGE_BUILDER_EDIT_MODE',\n INITIALIZE_EDITOR: 'INITIALIZE_EDITOR',\n CHANGE_EDITOR_VALUE: 'CHANGE_EDITOR_VALUE',\n FOCUS: 'FOCUS',\n BLUR: 'BLUR',\n UNDO: 'UNDO',\n REDO: 'REDO',\n} as const\n\ntype ChangeBuilderEditModeRichTextPropControllerMessage = {\n type: typeof RichTextPropControllerMessageType.CHANGE_BUILDER_EDIT_MODE\n editMode: BuilderEditMode\n}\n\ntype InitializeEditorRichTextPropControllerMessage = {\n type: typeof RichTextPropControllerMessageType.INITIALIZE_EDITOR\n value: ValueJSON\n}\n\ntype ChangeEditorValueRichTextPropControllerMessage = {\n type: typeof RichTextPropControllerMessageType.CHANGE_EDITOR_VALUE\n value: ValueJSON\n}\n\ntype FocusRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.FOCUS }\n\ntype BlurRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.BLUR }\n\ntype UndoRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.UNDO }\n\ntype RedoRichTextPropControllerMessage = { type: typeof RichTextPropControllerMessageType.REDO }\n\nexport type RichTextPropControllerMessage =\n | ChangeBuilderEditModeRichTextPropControllerMessage\n | InitializeEditorRichTextPropControllerMessage\n | ChangeEditorValueRichTextPropControllerMessage\n | FocusRichTextPropControllerMessage\n | BlurRichTextPropControllerMessage\n | UndoRichTextPropControllerMessage\n | RedoRichTextPropControllerMessage\n\nexport type PropControllerMessage =\n | RichTextPropControllerMessage\n | TableFormFieldsMessage\n | SlotControlMessage\n\nexport type Send<T = PropControllerMessage> = (message: T) => void\n\nexport abstract class PropController<T = PropControllerMessage> {\n protected send: Send<T>\n\n constructor(send: Send<T>) {\n this.send = send\n }\n\n abstract recv(message: T): void\n}\n\nclass DefaultPropController extends PropController {\n recv(_message: PropControllerMessage): void {\n // Do nothing.\n }\n}\n\nclass RichTextPropController extends PropController<RichTextPropControllerMessage> {\n private editor: Editor | null = null\n\n recv(message: RichTextPropControllerMessage): void {\n switch (message.type) {\n case RichTextPropControllerMessageType.CHANGE_BUILDER_EDIT_MODE: {\n switch (message.editMode) {\n case BuilderEditMode.BUILD:\n this.editor?.deselect().blur()\n break\n\n case BuilderEditMode.CONTENT:\n this.editor?.focus().moveToRangeOfDocument()\n break\n }\n\n break\n }\n }\n }\n\n setSlateEditor(editor: Editor) {\n this.editor = editor\n\n this.send({\n type: RichTextPropControllerMessageType.INITIALIZE_EDITOR,\n value: editor.value.toJSON({ preserveSelection: false }),\n })\n }\n\n onChange(change: OnChangeParam) {\n this.send({\n type: RichTextPropControllerMessageType.CHANGE_EDITOR_VALUE,\n value: change.value.toJSON({ preserveSelection: true }),\n })\n }\n\n focus() {\n this.send({ type: RichTextPropControllerMessageType.FOCUS })\n }\n\n blur() {\n this.send({ type: RichTextPropControllerMessageType.BLUR })\n }\n\n undo() {\n this.send({ type: RichTextPropControllerMessageType.UNDO })\n }\n\n redo() {\n this.send({ type: RichTextPropControllerMessageType.REDO })\n }\n}\n\nexport const TableFormFieldsMessageType = {\n TABLE_FORM_LAYOUT_CHANGE: 'TABLE_FORM_LAYOUT_CHANGE',\n TABLE_FORM_FIELD_LAYOUT_CHANGE: 'TABLE_FORM_FIELD_LAYOUT_CHANGE',\n} as const\n\ntype TableLayoutTableFormFieldsMessage = {\n type: typeof TableFormFieldsMessageType.TABLE_FORM_LAYOUT_CHANGE\n payload: { layout: BoxModel }\n}\n\ntype TableFieldLayoutTableFormFieldsMessage = {\n type: typeof TableFormFieldsMessageType.TABLE_FORM_FIELD_LAYOUT_CHANGE\n payload: { layout: BoxModel; index: number }\n}\n\nexport type TableFormFieldsMessage =\n | TableLayoutTableFormFieldsMessage\n | TableFieldLayoutTableFormFieldsMessage\n\nexport class TableFormFieldsPropController extends PropController<TableFormFieldsMessage> {\n recv(): void {}\n\n tableFormLayoutChange(payload: { layout: BoxModel }) {\n this.send({ type: TableFormFieldsMessageType.TABLE_FORM_LAYOUT_CHANGE, payload })\n }\n\n tableFormFieldLayoutChange(payload: { layout: BoxModel; index: number }) {\n this.send({ type: TableFormFieldsMessageType.TABLE_FORM_FIELD_LAYOUT_CHANGE, payload })\n }\n}\n\ntype DescriptorPropController<T extends Descriptor> = T extends { type: typeof Types.RichText }\n ? RichTextPropController\n : T extends { type: typeof Types.TableFormFields }\n ? TableFormFieldsPropController\n : DefaultPropController\n\nexport type DescriptorsPropControllers<T extends Record<string, Descriptor>> = {\n [K in keyof T]: undefined extends T[K]\n ? DescriptorPropController<Exclude<T[K], undefined>>\n : DescriptorPropController<T[K]>\n}\n\ntype AnyPropController =\n | DefaultPropController\n | RichTextPropController\n | TableFormFieldsPropController\n | SlotControl\n\nexport function createPropController(\n descriptor: RichTextDescriptor,\n send: Send<RichTextPropControllerMessage>,\n): RichTextPropController\nexport function createPropController(\n descriptor: TableFormFieldsDescriptor,\n send: Send<TableFormFieldsMessage>,\n): TableFormFieldsPropController\nexport function createPropController(descriptor: Descriptor, send: Send): DefaultPropController\nexport function createPropController<T extends PropControllerMessage>(\n descriptor: Descriptor,\n send: Send<T>,\n): AnyPropController {\n switch (descriptor.type) {\n case Types.RichText:\n return new RichTextPropController(send as Send<RichTextPropControllerMessage>)\n\n case Types.TableFormFields:\n return new TableFormFieldsPropController(send as Send<TableFormFieldsMessage>)\n\n case SlotControlType:\n return new SlotControl(send as Send<SlotControlMessage>)\n\n default:\n return new DefaultPropController(send as Send)\n }\n}\n","import { PropController } from '../prop-controllers/instances'\nimport { BoxModel } from '../state/modules/box-models'\nimport { Element } from '../state/react-page'\nimport { ResponsiveValue } from './types'\n\ntype SlotControlColumnData = { count: number; spans: number[][] }\n\nexport type SlotControlData = {\n elements: Element[]\n columns: ResponsiveValue<SlotControlColumnData>\n}\n\nexport const SlotControlType = 'makeswift::controls::slot'\n\nexport type SlotControlDefinition = {\n type: typeof SlotControlType\n}\n\nexport function Slot(): SlotControlDefinition {\n return { type: SlotControlType }\n}\n\nexport const SlotControlMessageType = {\n CONTAINER_BOX_MODEL_CHANGE: 'makeswift::controls::slot::message::container-box-model-change',\n ITEM_BOX_MODEL_CHANGE: 'makeswift::controls::slot::message::item-box-model-change',\n} as const\n\ntype SlotControlContainerBoxModelChangeMessage = {\n type: typeof SlotControlMessageType.CONTAINER_BOX_MODEL_CHANGE\n payload: { boxModel: BoxModel }\n}\n\ntype SlotControlItemBoxModelChangeMessage = {\n type: typeof SlotControlMessageType.ITEM_BOX_MODEL_CHANGE\n payload: { index: number; boxModel: BoxModel }\n}\n\nexport type SlotControlMessage =\n | SlotControlContainerBoxModelChangeMessage\n | SlotControlItemBoxModelChangeMessage\n\nexport class SlotControl extends PropController<SlotControlMessage> {\n recv(): void {}\n\n changeContainerBoxModel(boxModel: BoxModel): void {\n this.send({ type: SlotControlMessageType.CONTAINER_BOX_MODEL_CHANGE, payload: { boxModel } })\n }\n\n changeItemBoxModel(index: number, boxModel: BoxModel): void {\n this.send({ type: SlotControlMessageType.ITEM_BOX_MODEL_CHANGE, payload: { index, boxModel } })\n }\n}\n"],"names":[],"mappings":";;;;;;;AAAO,MAAM,kBAAkB;AAAA,EAC7B,OAAO;AAAA,EACP,SAAS;AACX;ACKO,MAAM,oCAAoC;AAAA,EAC/C,0BAA0B;AAAA,EAC1B,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,MAAM;AACR;AAyCO,MAAe,eAA0C;AAAA,EAG9D,YAAY,MAAe;AAFjB;AAGR,SAAK,OAAO;AAAA,EACd;AAGF;AAEA,MAAM,8BAA8B,eAAe;AAAA,EACjD,KAAK,UAAuC;AAAA,EAE5C;AACF;AAEA,MAAM,+BAA+B,eAA8C;AAAA,EAAnF;AAAA;AACU,kCAAwB;AAAA;AAAA,EAEhC,KAAK,SAA8C;;AACjD,YAAQ,QAAQ;AAAA,WACT,kCAAkC,0BAA0B;AAC/D,gBAAQ,QAAQ;AAAA,eACT,gBAAgB;AACd,uBAAA,WAAA,mBAAQ,WAAW;AACxB;AAAA,eAEG,gBAAgB;AACd,uBAAA,WAAA,mBAAQ,QAAQ;AACrB;AAAA;AAGJ;AAAA,MACF;AAAA;AAAA,EAEJ;AAAA,EAEA,eAAe,QAAgB;AAC7B,SAAK,SAAS;AAEd,SAAK,KAAK;AAAA,MACR,MAAM,kCAAkC;AAAA,MACxC,OAAO,OAAO,MAAM,OAAO,EAAE,mBAAmB,OAAO;AAAA,IAAA,CACxD;AAAA,EACH;AAAA,EAEA,SAAS,QAAuB;AAC9B,SAAK,KAAK;AAAA,MACR,MAAM,kCAAkC;AAAA,MACxC,OAAO,OAAO,MAAM,OAAO,EAAE,mBAAmB,MAAM;AAAA,IAAA,CACvD;AAAA,EACH;AAAA,EAEA,QAAQ;AACN,SAAK,KAAK,EAAE,MAAM,kCAAkC,MAAO,CAAA;AAAA,EAC7D;AAAA,EAEA,OAAO;AACL,SAAK,KAAK,EAAE,MAAM,kCAAkC,KAAM,CAAA;AAAA,EAC5D;AAAA,EAEA,OAAO;AACL,SAAK,KAAK,EAAE,MAAM,kCAAkC,KAAM,CAAA;AAAA,EAC5D;AAAA,EAEA,OAAO;AACL,SAAK,KAAK,EAAE,MAAM,kCAAkC,KAAM,CAAA;AAAA,EAC5D;AACF;AAEO,MAAM,6BAA6B;AAAA,EACxC,0BAA0B;AAAA,EAC1B,gCAAgC;AAClC;AAgBO,MAAM,sCAAsC,eAAuC;AAAA,EACxF,OAAa;AAAA,EAAC;AAAA,EAEd,sBAAsB,SAA+B;AACnD,SAAK,KAAK,EAAE,MAAM,2BAA2B,0BAA0B,SAAS;AAAA,EAClF;AAAA,EAEA,2BAA2B,SAA8C;AACvE,SAAK,KAAK,EAAE,MAAM,2BAA2B,gCAAgC,SAAS;AAAA,EACxF;AACF;AA6BO,8BACL,YACA,MACmB;AACnB,UAAQ,WAAW;AAAA,SACZ,MAAM;AACF,aAAA,IAAI,uBAAuB,IAA2C;AAAA,SAE1E,MAAM;AACF,aAAA,IAAI,8BAA8B,IAAoC;AAAA,SAE1E;AACI,aAAA,IAAI,YAAY,IAAgC;AAAA;AAGhD,aAAA,IAAI,sBAAsB,IAAY;AAAA;AAEnD;AC9LO,MAAM,kBAAkB;AAMe,gBAAA;AACrC,SAAA,EAAE,MAAM;AACjB;AAEO,MAAM,yBAAyB;AAAA,EACpC,4BAA4B;AAAA,EAC5B,uBAAuB;AACzB;AAgBO,MAAM,oBAAoB,eAAmC;AAAA,EAClE,OAAa;AAAA,EAAC;AAAA,EAEd,wBAAwB,UAA0B;AAC3C,SAAA,KAAK,EAAE,MAAM,uBAAuB,4BAA4B,SAAS,EAAE,SAAS,EAAA,CAAG;AAAA,EAC9F;AAAA,EAEA,mBAAmB,OAAe,UAA0B;AACrD,SAAA,KAAK,EAAE,MAAM,uBAAuB,uBAAuB,SAAS,EAAE,OAAO,SAAS,EAAA,CAAG;AAAA,EAChG;AACF;;"}
@@ -1,8 +0,0 @@
1
- /// <reference types="react" />
2
- import { GridValue } from '../../../prop-controllers/descriptors';
3
- declare type Props = {
4
- children?: GridValue;
5
- };
6
- export default function Box2({ children }: Props): JSX.Element;
7
- export {};
8
- //# sourceMappingURL=Box2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Box2.d.ts","sourceRoot":"","sources":["../../../../../src/components/builtin/Box/Box2.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAA;AAGjE,aAAK,KAAK,GAAG;IACX,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,eAoB/C"}
@@ -1,2 +0,0 @@
1
- export default function BoxPlaceholder(): JSX.Element;
2
- //# sourceMappingURL=box-placeholder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"box-placeholder.d.ts","sourceRoot":"","sources":["../../../../src/components/experimental/box-placeholder.tsx"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,cAAc,gBAwBrC"}
@@ -1,9 +0,0 @@
1
- /// <reference types="react" />
2
- import { GridValue } from '../../prop-controllers/descriptors';
3
- declare type Props = {
4
- children?: GridValue;
5
- className?: string;
6
- };
7
- declare const _default: import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<HTMLDivElement>>;
8
- export default _default;
9
- //# sourceMappingURL=box.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../../../src/components/experimental/box.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AAS9D,aAAK,KAAK,GAAG;IACX,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;;AAED,wBAcE"}
@@ -1,2 +0,0 @@
1
- export { default as ExperimentalBox } from './box';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/experimental/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,OAAO,CAAA"}
@@ -1,66 +0,0 @@
1
- export declare type SingleLineTextTableColumn = {
2
- id: string;
3
- name: string;
4
- __typename: 'SingleLineTextTableColumn';
5
- };
6
- export declare type LongTextTableColumn = {
7
- id: string;
8
- name: string;
9
- __typename: 'LongTextTableColumn';
10
- };
11
- export declare type CheckboxTableColumn = {
12
- id: string;
13
- name: string;
14
- __typename: 'CheckboxTableColumn';
15
- };
16
- export declare type MultipleSelectTableColumnOption = {
17
- id: string;
18
- name: string;
19
- };
20
- export declare type MultipleSelectTableColumn = {
21
- id: string;
22
- name: string;
23
- options: Array<MultipleSelectTableColumnOption>;
24
- __typename: 'MultipleSelectTableColumn';
25
- };
26
- export declare type SingleSelectTableColumnOption = {
27
- id: string;
28
- name: string;
29
- };
30
- export declare type SingleSelectTableColumn = {
31
- id: string;
32
- name: string;
33
- options: Array<SingleSelectTableColumnOption>;
34
- __typename: 'SingleSelectTableColumn';
35
- };
36
- export declare type PhoneNumberTableColumn = {
37
- id: string;
38
- name: string;
39
- __typename: 'PhoneNumberTableColumn';
40
- };
41
- export declare type EmailTableColumn = {
42
- id: string;
43
- name: string;
44
- __typename: 'EmailTableColumn';
45
- };
46
- export declare type URLTableColumn = {
47
- id: string;
48
- name: string;
49
- __typename: 'URLTableColumn';
50
- };
51
- export declare type NumberTableColumn = {
52
- id: string;
53
- name: string;
54
- __typename: 'NumberTableColumn';
55
- };
56
- export declare type TableColumn = SingleLineTextTableColumn | LongTextTableColumn | CheckboxTableColumn | MultipleSelectTableColumn | SingleSelectTableColumn | PhoneNumberTableColumn | EmailTableColumn | URLTableColumn | NumberTableColumn;
57
- declare type Table = {
58
- id: string;
59
- name: string;
60
- columns: Array<TableColumn>;
61
- };
62
- export declare function useTable(tableId: string | null | undefined): import("@apollo/client").QueryResult<{
63
- table: Table | null;
64
- }, import("@apollo/client").OperationVariables>;
65
- export {};
66
- //# sourceMappingURL=useTable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTable.d.ts","sourceRoot":"","sources":["../../../../src/components/hooks/useTable.ts"],"names":[],"mappings":"AAGA,oBAAY,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,2BAA2B,CAAA;CACxC,CAAA;AAED,oBAAY,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,qBAAqB,CAAA;CAClC,CAAA;AAED,oBAAY,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,qBAAqB,CAAA;CAClC,CAAA;AAED,oBAAY,+BAA+B,GAAG;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,oBAAY,yBAAyB,GAAG;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAC/C,UAAU,EAAE,2BAA2B,CAAA;CACxC,CAAA;AAED,oBAAY,6BAA6B,GAAG;IAC1C,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,oBAAY,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAC7C,UAAU,EAAE,yBAAyB,CAAA;CACtC,CAAA;AAED,oBAAY,sBAAsB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,wBAAwB,CAAA;CACrC,CAAA;AAED,oBAAY,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,kBAAkB,CAAA;CAC/B,CAAA;AAED,oBAAY,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,gBAAgB,CAAA;CAC7B,CAAA;AAED,oBAAY,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,mBAAmB,CAAA;CAChC,CAAA;AAED,oBAAY,WAAW,GACnB,yBAAyB,GACzB,mBAAmB,GACnB,mBAAmB,GACnB,yBAAyB,GACzB,uBAAuB,GACvB,sBAAsB,GACtB,gBAAgB,GAChB,cAAc,GACd,iBAAiB,CAAA;AAErB,aAAK,KAAK,GAAG;IACX,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;CAC5B,CAAA;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;WAChC,KAAK,GAAG,IAAI;gDAItC"}
@@ -1,17 +0,0 @@
1
- import { ComponentPropsWithoutRef, ElementType } from 'react';
2
- import { ResponsiveValue, Length as LengthValue } from '../../prop-controllers';
3
- declare type BaseProps<T extends ElementType> = {
4
- as?: T;
5
- className?: string;
6
- grid: ResponsiveValue<{
7
- spans: Array<Array<number>>;
8
- count: number;
9
- }>;
10
- index: number;
11
- columnGap?: ResponsiveValue<LengthValue>;
12
- rowGap?: ResponsiveValue<LengthValue>;
13
- };
14
- declare type Props<T extends ElementType> = BaseProps<T> & Omit<ComponentPropsWithoutRef<T>, keyof BaseProps<T>>;
15
- export declare function GridItem<T extends ElementType = 'div'>({ as, grid, index, columnGap, rowGap, className, ...restOfProps }: Props<T>): JSX.Element;
16
- export {};
17
- //# sourceMappingURL=grid-item.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"grid-item.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/grid-item.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAI/E,aAAK,SAAS,CAAC,CAAC,SAAS,WAAW,IAAI;IACtC,EAAE,CAAC,EAAE,CAAC,CAAA;IACN,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,eAAe,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACrE,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;IACxC,MAAM,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAA;CACtC,CAAA;AAED,aAAK,KAAK,CAAC,CAAC,SAAS,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,GAC9C,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;AAEvD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,EAAE,EACtD,EAAE,EACF,IAAI,EACJ,KAAK,EACL,SAAS,EACT,MAAM,EACN,SAAS,EACT,GAAG,WAAW,EACf,EAAE,KAAK,CAAC,CAAC,CAAC,eAKV"}
@@ -1,42 +0,0 @@
1
- import { PropController } from '../prop-controllers/instances';
2
- import { BoxModel } from '../state/modules/box-models';
3
- import { Element } from '../state/react-page';
4
- import { ResponsiveValue } from './types';
5
- declare type SlotControlColumnData = {
6
- count: number;
7
- spans: number[][];
8
- };
9
- export declare type SlotControlData = {
10
- elements: Element[];
11
- columns: ResponsiveValue<SlotControlColumnData>;
12
- };
13
- export declare const SlotControlType = "makeswift::controls::slot";
14
- export declare type SlotControlDefinition = {
15
- type: typeof SlotControlType;
16
- };
17
- export declare function Slot(): SlotControlDefinition;
18
- export declare const SlotControlMessageType: {
19
- readonly CONTAINER_BOX_MODEL_CHANGE: "makeswift::controls::slot::message::container-box-model-change";
20
- readonly ITEM_BOX_MODEL_CHANGE: "makeswift::controls::slot::message::item-box-model-change";
21
- };
22
- declare type SlotControlContainerBoxModelChangeMessage = {
23
- type: typeof SlotControlMessageType.CONTAINER_BOX_MODEL_CHANGE;
24
- payload: {
25
- boxModel: BoxModel;
26
- };
27
- };
28
- declare type SlotControlItemBoxModelChangeMessage = {
29
- type: typeof SlotControlMessageType.ITEM_BOX_MODEL_CHANGE;
30
- payload: {
31
- index: number;
32
- boxModel: BoxModel;
33
- };
34
- };
35
- export declare type SlotControlMessage = SlotControlContainerBoxModelChangeMessage | SlotControlItemBoxModelChangeMessage;
36
- export declare class SlotControl extends PropController<SlotControlMessage> {
37
- recv(): void;
38
- changeContainerBoxModel(boxModel: BoxModel): void;
39
- changeItemBoxModel(index: number, boxModel: BoxModel): void;
40
- }
41
- export {};
42
- //# sourceMappingURL=slot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slot.d.ts","sourceRoot":"","sources":["../../../src/controls/slot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,aAAK,qBAAqB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,CAAA;AAEjE,oBAAY,eAAe,GAAG;IAC5B,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAA;CAChD,CAAA;AAED,eAAO,MAAM,eAAe,8BAA8B,CAAA;AAE1D,oBAAY,qBAAqB,GAAG;IAClC,IAAI,EAAE,OAAO,eAAe,CAAA;CAC7B,CAAA;AAED,wBAAgB,IAAI,IAAI,qBAAqB,CAE5C;AAED,eAAO,MAAM,sBAAsB;;;CAGzB,CAAA;AAEV,aAAK,yCAAyC,GAAG;IAC/C,IAAI,EAAE,OAAO,sBAAsB,CAAC,0BAA0B,CAAA;IAC9D,OAAO,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAA;CAChC,CAAA;AAED,aAAK,oCAAoC,GAAG;IAC1C,IAAI,EAAE,OAAO,sBAAsB,CAAC,qBAAqB,CAAA;IACzD,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAA;CAC/C,CAAA;AAED,oBAAY,kBAAkB,GAC1B,yCAAyC,GACzC,oCAAoC,CAAA;AAExC,qBAAa,WAAY,SAAQ,cAAc,CAAC,kBAAkB,CAAC;IACjE,IAAI,IAAI,IAAI;IAEZ,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIjD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAG5D"}
@@ -1,20 +0,0 @@
1
- import { CSSObject } from '@emotion/css';
2
- import { BorderTopLeftRadiusProperty, BorderTopRightRadiusProperty, BorderBottomRightRadiusProperty, BorderBottomLeftRadiusProperty } from 'csstype';
3
- import { LengthPercentageData } from './length-percentage';
4
- /** @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius#constituent_properties */
5
- export declare type BorderRadiusLonghandPropertyData = LengthPercentageData;
6
- /**
7
- * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius
8
- *
9
- * @todos
10
- * - Remove `null` from possible values of longhand properties
11
- * - Remove `undefined` from possible values and make fields optional
12
- */
13
- export declare type BorderRadiusPropertyData = {
14
- borderTopLeftRadius?: LengthPercentageData | BorderTopLeftRadiusProperty<string | number> | null | undefined;
15
- borderTopRightRadius?: LengthPercentageData | BorderTopRightRadiusProperty<string | number> | null | undefined;
16
- borderBottomRightRadius?: LengthPercentageData | BorderBottomRightRadiusProperty<string | number> | null | undefined;
17
- borderBottomLeftRadius?: LengthPercentageData | BorderBottomLeftRadiusProperty<string | number> | null | undefined;
18
- };
19
- export declare function borderRadiusPropertyDataToStyle(data: BorderRadiusPropertyData, defaultValue?: BorderRadiusPropertyData): CSSObject;
20
- //# sourceMappingURL=border-radius.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"border-radius.d.ts","sourceRoot":"","sources":["../../../src/css/border-radius.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,+BAA+B,EAC/B,8BAA8B,EAC/B,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,oBAAoB,EAAgC,MAAM,qBAAqB,CAAA;AAExF,iGAAiG;AACjG,oBAAY,gCAAgC,GAAG,oBAAoB,CAAA;AAEnE;;;;;;GAMG;AACH,oBAAY,wBAAwB,GAAG;IACrC,mBAAmB,CAAC,EAChB,oBAAoB,GACpB,2BAA2B,CAAC,MAAM,GAAG,MAAM,CAAC,GAC5C,IAAI,GACJ,SAAS,CAAA;IACb,oBAAoB,CAAC,EACjB,oBAAoB,GACpB,4BAA4B,CAAC,MAAM,GAAG,MAAM,CAAC,GAC7C,IAAI,GACJ,SAAS,CAAA;IACb,uBAAuB,CAAC,EACpB,oBAAoB,GACpB,+BAA+B,CAAC,MAAM,GAAG,MAAM,CAAC,GAChD,IAAI,GACJ,SAAS,CAAA;IACb,sBAAsB,CAAC,EACnB,oBAAoB,GACpB,8BAA8B,CAAC,MAAM,GAAG,MAAM,CAAC,GAC/C,IAAI,GACJ,SAAS,CAAA;CACd,CAAA;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,wBAAwB,EAC9B,YAAY,GAAE,wBAA6B,GAC1C,SAAS,CAyBX"}