@plasmicapp/react-web 0.2.79 → 0.2.83

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 (61) hide show
  1. package/dist/all.d.ts +17 -1
  2. package/dist/react-web.cjs.development.js +108 -40
  3. package/dist/react-web.cjs.development.js.map +1 -1
  4. package/dist/react-web.cjs.production.min.js +1 -1
  5. package/dist/react-web.cjs.production.min.js.map +1 -1
  6. package/dist/react-web.esm.js +108 -40
  7. package/dist/react-web.esm.js.map +1 -1
  8. package/dist/render/PlasmicImg/index.d.ts +17 -1
  9. package/lib/plasmic.css +0 -3
  10. package/package.json +1 -1
  11. package/skinny/dist/collection-utils-4dae6efa.js +292 -0
  12. package/skinny/dist/{collection-utils-976df07d.js.map → collection-utils-4dae6efa.js.map} +1 -1
  13. package/skinny/dist/collection-utils-57ec40f9.js +292 -0
  14. package/skinny/dist/{collection-utils-21ad9cae.js.map → collection-utils-57ec40f9.js.map} +1 -1
  15. package/skinny/dist/collection-utils-b0b8f30e.js +287 -234
  16. package/skinny/dist/props-utils-5c0ad25a.js +59 -0
  17. package/skinny/dist/{props-utils-6cf101b2.js.map → props-utils-5c0ad25a.js.map} +1 -1
  18. package/skinny/dist/props-utils-c632595f.js +53 -33
  19. package/skinny/dist/props-utils-fd5f444e.js +59 -0
  20. package/skinny/dist/{props-utils-1f98cfd3.js.map → props-utils-fd5f444e.js.map} +1 -1
  21. package/skinny/dist/react-utils-118d8539.js +186 -168
  22. package/skinny/dist/react-utils-2a2fd6c9.js +339 -0
  23. package/skinny/dist/react-utils-2a2fd6c9.js.map +1 -0
  24. package/skinny/dist/react-utils-675565b4.js +334 -0
  25. package/skinny/dist/react-utils-675565b4.js.map +1 -0
  26. package/skinny/dist/render/PlasmicImg/index.d.ts +17 -1
  27. package/skinny/dist/render/PlasmicImg/index.js +90 -33
  28. package/skinny/dist/render/PlasmicImg/index.js.map +1 -1
  29. package/skinny/dist/render/PlasmicImg.d.ts +62 -55
  30. package/skinny/dist/tslib.es6-00014098.js +143 -123
  31. package/skinny/dist/collection-utils-21ad9cae.js +0 -238
  32. package/skinny/dist/collection-utils-87ffc0ed.js +0 -238
  33. package/skinny/dist/collection-utils-87ffc0ed.js.map +0 -1
  34. package/skinny/dist/collection-utils-976df07d.js +0 -238
  35. package/skinny/dist/collection-utils-aadc3a43.js +0 -238
  36. package/skinny/dist/collection-utils-aadc3a43.js.map +0 -1
  37. package/skinny/dist/collection-utils-b8a2fd59.js +0 -238
  38. package/skinny/dist/collection-utils-b8a2fd59.js.map +0 -1
  39. package/skinny/dist/props-utils-1f98cfd3.js +0 -40
  40. package/skinny/dist/props-utils-40224c71.js +0 -40
  41. package/skinny/dist/props-utils-40224c71.js.map +0 -1
  42. package/skinny/dist/props-utils-69f9ba8b.js +0 -40
  43. package/skinny/dist/props-utils-69f9ba8b.js.map +0 -1
  44. package/skinny/dist/props-utils-6cf101b2.js +0 -39
  45. package/skinny/dist/props-utils-85691c9c.js +0 -40
  46. package/skinny/dist/props-utils-85691c9c.js.map +0 -1
  47. package/skinny/dist/react-utils-06bae09a.js +0 -254
  48. package/skinny/dist/react-utils-06bae09a.js.map +0 -1
  49. package/skinny/dist/react-utils-14af9d28.js +0 -172
  50. package/skinny/dist/react-utils-14af9d28.js.map +0 -1
  51. package/skinny/dist/react-utils-834a65c3.js +0 -254
  52. package/skinny/dist/react-utils-834a65c3.js.map +0 -1
  53. package/skinny/dist/react-utils-ae69f4e0.js +0 -254
  54. package/skinny/dist/react-utils-ae69f4e0.js.map +0 -1
  55. package/skinny/dist/react-utils-cca81efc.js +0 -245
  56. package/skinny/dist/react-utils-cca81efc.js.map +0 -1
  57. package/skinny/dist/stories/Button.d.ts +0 -29
  58. package/skinny/dist/stories/Header.d.ts +0 -10
  59. package/skinny/dist/stories/Page.d.ts +0 -10
  60. package/skinny/dist/tslib.es6-10d3f595.js +0 -132
  61. package/skinny/dist/tslib.es6-10d3f595.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/render/PlasmicImg/index.tsx"],"sourcesContent":["/**\n * Responsive `<img/>` replacement, based on `next/image`\n */\n\nimport classNames from \"classnames\";\nimport React from \"react\";\nimport { pick } from \"../../common\";\n\nexport interface ImageLoader {\n supportsUrl: (url: string) => boolean;\n transformUrl: (opts: {\n src: string;\n width?: number;\n quality?: number;\n format?: \"webp\";\n }) => string;\n}\n\ntype ImgTagProps = Omit<\n React.ComponentProps<\"img\">,\n \"src\" | \"srcSet\" | \"ref\" | \"style\"\n>;\n\n// Default image sizes to snap to\n// TODO: make this configurable?\nconst IMG_SIZES = [16, 32, 48, 64, 96, 128, 256, 384];\nconst DEVICE_SIZES = [640, 750, 828, 1080, 1200, 1920, 2048, 3840];\nconst ALL_SIZES = [...IMG_SIZES, ...DEVICE_SIZES];\n\nexport interface PlasmicImgProps extends ImgTagProps {\n /**\n * Either an object with the src string, and its full width and height,\n * or just a src string with unknown intrinsic dimensions.\n */\n src: string | { src: string; fullHeight: number; fullWidth: number };\n\n /**\n * className applied to the wrapper element if one is used.\n */\n className?: string;\n\n /**\n * css width\n */\n displayWidth?: number | string;\n\n /**\n * css height\n */\n displayHeight?: number | string;\n\n /**\n * For variable quality formats like jpg, the quality from 0 to 100\n */\n quality?: number;\n\n /**\n * ImageLoader to use for loading different dimensions of the image.\n * If none specified, will not attempt to load different dimensions.\n */\n loader?: \"plasmic\" | ImageLoader;\n\n /**\n * Style applied to the wrapper element. objectFit and objectPosition\n * rules are applied to the img element.\n */\n style?: React.CSSProperties;\n\n /**\n * Ref for the wrapper element. The normal <PlasmicImg ref={...} />\n * prop gives you the wrap to the img element.\n */\n containerRef?: React.Ref<HTMLDivElement>;\n}\n\nexport const PlasmicImg = React.forwardRef(function PlasmicImg(\n props: PlasmicImgProps,\n ref: React.Ref<HTMLImageElement>\n) {\n const {\n src,\n className,\n displayWidth,\n displayHeight,\n quality,\n loader,\n containerRef,\n style,\n ...rest\n } = props;\n\n const { fullWidth, fullHeight } =\n typeof src === \"string\"\n ? { fullWidth: undefined, fullHeight: undefined }\n : src;\n const srcStr = typeof src === \"string\" ? src : src.src;\n\n // Assume external image if either dimension is null and use usual <img>\n // (or if the image is an SVG)\n if (fullHeight == null || fullWidth == null || srcStr.endsWith(\".svg\")) {\n return (\n <img\n src={srcStr}\n className={className}\n style={style}\n {...rest}\n ref={ref}\n />\n );\n }\n\n const { sizes, widthDescs } = getWidths(displayWidth, fullWidth);\n const imageLoader = getImageLoader(loader);\n const spacerSvg = `<svg width=\"${fullWidth}\" height=\"${fullHeight}\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"/>`;\n const spacerSvgBase64 =\n typeof window === \"undefined\"\n ? Buffer.from(spacerSvg).toString(\"base64\")\n : window.btoa(spacerSvg);\n\n return (\n <div\n className={classNames(className, \"__wab_img-wrapper\")}\n ref={containerRef}\n style={{\n ...style,\n width: isPercentage(displayWidth) ? displayWidth : undefined,\n height: isPercentage(displayHeight) ? displayHeight : undefined,\n }}\n >\n <img\n alt=\"\"\n aria-hidden\n className=\"__wab_img-spacer-svg\"\n src={`data:image/svg+xml;base64,${spacerSvgBase64}`}\n style={{\n width: isPercentage(displayWidth) ? \"100%\" : displayWidth,\n height: isPercentage(displayHeight) ? \"100%\" : displayHeight,\n ...(style ? pick(style, \"objectFit\", \"objectPosition\") : {}),\n }}\n />\n {makePicture({\n imageLoader,\n widthDescs,\n sizes,\n src: srcStr,\n quality,\n ref,\n style: style ? pick(style, \"objectFit\", \"objectPosition\") : undefined,\n imgProps: rest,\n className: \"__wab_img\",\n })}\n </div>\n );\n});\n\nfunction makePicture(opts: {\n imageLoader?: ImageLoader;\n widthDescs: WidthDesc[];\n sizes?: string;\n src: string;\n quality?: number;\n style?: React.CSSProperties;\n className?: string;\n imgProps: ImgTagProps;\n ref?: React.Ref<HTMLImageElement>;\n}) {\n // If imageLoader is undefined, then this renders to just a normal\n // <img />. Else it will render to a <picture> with a <source> for\n // webp, and srcSet/sizes set according to width requirements.\n const {\n imageLoader,\n widthDescs,\n src,\n quality,\n style,\n className,\n sizes,\n imgProps,\n ref,\n } = opts;\n return (\n <picture className=\"__wab_picture\">\n {imageLoader && imageLoader.supportsUrl(src) && (\n <source\n type=\"image/webp\"\n srcSet={widthDescs\n .map(\n (wd) =>\n `${imageLoader.transformUrl({\n src,\n quality,\n width: wd.width,\n format: \"webp\",\n })} ${wd.desc}`\n )\n .join(\", \")}\n />\n )}\n <img\n {...imgProps}\n ref={ref}\n className={className}\n decoding=\"async\"\n src={\n imageLoader && imageLoader.supportsUrl(src)\n ? imageLoader.transformUrl({\n src,\n quality,\n width: widthDescs[widthDescs.length - 1].width,\n })\n : src\n }\n srcSet={\n imageLoader && imageLoader.supportsUrl(src)\n ? widthDescs\n .map(\n (wd) =>\n `${imageLoader.transformUrl({\n src,\n quality,\n width: wd.width,\n })} ${wd.desc}`\n )\n .join(\", \")\n : undefined\n }\n sizes={imageLoader ? sizes : undefined}\n style={style ? pick(style, \"objectFit\", \"objectPosition\") : undefined}\n />\n </picture>\n );\n}\n\ninterface WidthDesc {\n width?: number;\n desc: string;\n}\n\nfunction getClosestPresetSize(width: number, fullWidth: number) {\n const nextBiggerIndex =\n ALL_SIZES.findIndex((w) => w >= width) ?? ALL_SIZES.length - 1;\n const nextBigger = ALL_SIZES[nextBiggerIndex];\n if (nextBigger >= fullWidth) {\n // If the requested width is larger than the fullWidth,\n // we just use the original width instead. It's impossible\n // to make an image bigger than fullWidth!\n return undefined;\n } else if (\n nextBiggerIndex + 1 < ALL_SIZES.length &&\n fullWidth <= ALL_SIZES[nextBiggerIndex + 1]\n ) {\n // If the fullWidth is just between nextBigger and the one after that,\n // then also might as well just use the original size (so, width is 30,\n // nextBigger is 32, then we just use the original as long as fullWidth is\n // less than 48)\n return undefined;\n }\n\n return nextBigger;\n}\n\n/**\n * Computes the appropriate srcSet and sizes to use\n */\nfunction getWidths(\n width: number | string | undefined,\n fullWidth: number\n): { sizes: string | undefined; widthDescs: WidthDesc[] } {\n const pixelWidth = getPixelWidth(width);\n if (pixelWidth != null) {\n // If there's an exact width, then we just need to display it at 1x and 2x density\n return {\n widthDescs: [\n {\n width: getClosestPresetSize(pixelWidth, fullWidth),\n desc: \"1x\",\n },\n {\n width: getClosestPresetSize(pixelWidth * 2, fullWidth),\n desc: \"2x\",\n },\n ],\n sizes: undefined,\n };\n }\n // Otherwise we don't know what sizes we'll end up, so we just cap it at\n // device width. TODO: do better!\n const usefulSizes = DEVICE_SIZES.filter(\n (size) => !fullWidth || size < fullWidth\n );\n if (!!fullWidth && usefulSizes.length === 0) {\n // image fullWidth is smaller than all device sizes. So all we can do\n // is offer 1x\n return {\n widthDescs: [\n {\n width: getClosestPresetSize(fullWidth, fullWidth),\n desc: \"1x\",\n },\n ],\n sizes: undefined,\n };\n }\n return {\n widthDescs: usefulSizes.map((size, i) => ({\n width:\n // If this is the last (buggest) useful width, but it is\n // still within the bounds set by DEVICE_SIZES, then just\n // use the original, unresized image. This means if we match\n // the largest size, we use unresized and best quality image.\n // We only do this, though, if fullWidth is \"reasonable\" --\n // smaller than the largest size we would consider.\n i === usefulSizes.length - 1 &&\n fullWidth < DEVICE_SIZES[DEVICE_SIZES.length - 1]\n ? undefined\n : size,\n desc: `${size}w`,\n })),\n sizes: \"100vw\",\n };\n}\n\nfunction isPercentage(width: number | string | undefined) {\n if (typeof width !== \"string\") {\n return false;\n }\n return parseNumeric(width)?.units === \"%\";\n}\n\nfunction getPixelWidth(width: number | string | undefined) {\n if (width == null || width == \"\") {\n return undefined;\n }\n\n if (typeof width === \"number\") {\n return width;\n }\n\n const parsed = parseNumeric(width);\n if (parsed && (!parsed.units || parsed.units === \"px\")) {\n return parsed.num;\n }\n\n return undefined;\n}\n\nfunction parseNumeric(val: string) {\n // Parse strings like \"30\", \"30px\", \"30%\", \"30px /* blah blah */\"\n const res = val.match(\n /^\\s*(-?(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+))\\s*([a-z]*|%)\\s*(?:\\/\\*.*)?$/i\n );\n if (res == null) {\n return undefined;\n }\n const num = res[1];\n const units = res[2];\n return { num: +num, units };\n}\n\nfunction getImageLoader(loader: \"plasmic\" | ImageLoader | undefined) {\n if (loader == null) {\n return undefined;\n } else if (loader === \"plasmic\") {\n return PLASMIC_IMAGE_LOADER;\n } else {\n return loader;\n }\n}\n\nconst PLASMIC_IMAGE_LOADER: ImageLoader = {\n supportsUrl: (src) => {\n return src.startsWith(\"https://img.plasmic.app\");\n },\n transformUrl: (opts) => {\n const params = [\n opts.width ? `w=${opts.width}` : undefined,\n `q=${opts.quality ?? 75}`,\n opts.format ? `f=${opts.format}` : undefined,\n ].filter((x) => !!x);\n return `${opts.src}?${params.join(\"&\")}`;\n },\n};\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/render/PlasmicImg/index.tsx"],"sourcesContent":["/**\n * Responsive `<img/>` replacement, based on `next/image`\n */\n\nimport classNames from \"classnames\";\nimport React, { CSSProperties } from \"react\";\nimport { pick } from \"../../common\";\n\nexport interface ImageLoader {\n supportsUrl: (url: string) => boolean;\n transformUrl: (opts: {\n src: string;\n width?: number;\n quality?: number;\n format?: \"webp\";\n }) => string;\n}\n\ntype ImgTagProps = Omit<\n React.ComponentProps<\"img\">,\n \"src\" | \"srcSet\" | \"ref\" | \"style\"\n>;\n\n// Default image sizes to snap to\n// TODO: make this configurable?\nconst IMG_SIZES = [16, 32, 48, 64, 96, 128, 256, 384];\nconst DEVICE_SIZES = [640, 750, 828, 1080, 1200, 1920, 2048, 3840];\nconst ALL_SIZES = [...IMG_SIZES, ...DEVICE_SIZES];\n\nexport interface PlasmicImgProps extends ImgTagProps {\n /**\n * Either an object with the src string, and its full width and height,\n * or just a src string with unknown intrinsic dimensions.\n */\n src?: string | { src: string; fullHeight: number; fullWidth: number };\n\n /**\n * className applied to the wrapper element if one is used.\n */\n className?: string;\n\n /**\n * css width\n */\n displayWidth?: number | string;\n\n /**\n * css height\n */\n displayHeight?: number | string;\n\n /**\n * css min-width\n */\n displayMinWidth?: number | string;\n\n /**\n * css min-height\n */\n displayMinHeight?: number | string;\n\n /**\n * css max-width\n */\n displayMaxWidth?: number | string;\n\n /**\n * css max-height\n */\n displayMaxHeight?: number | string;\n\n /**\n * For variable quality formats like jpg, the quality from 0 to 100\n */\n quality?: number;\n\n /**\n * ImageLoader to use for loading different dimensions of the image.\n * If none specified, will not attempt to load different dimensions.\n */\n loader?: \"plasmic\" | ImageLoader;\n\n /**\n * Style applied to the wrapper element. objectFit and objectPosition\n * rules are applied to the img element.\n */\n style?: React.CSSProperties;\n\n /**\n * Ref for the wrapper element. The normal <PlasmicImg ref={...} />\n * prop gives you the wrap to the img element.\n */\n containerRef?: React.Ref<HTMLDivElement>;\n}\n\nexport const PlasmicImg = React.forwardRef(function PlasmicImg(\n props: PlasmicImgProps,\n ref: React.Ref<HTMLImageElement>\n) {\n let {\n src,\n className,\n displayWidth,\n displayHeight,\n displayMinWidth,\n displayMinHeight,\n displayMaxWidth,\n displayMaxHeight,\n quality,\n loader,\n containerRef,\n style,\n ...rest\n } = props;\n\n const { fullWidth, fullHeight } =\n typeof src === \"string\" || !src\n ? { fullWidth: undefined, fullHeight: undefined }\n : src;\n const srcStr = src ? (typeof src === \"string\" ? src : src.src) : \"\";\n\n // Assume external image if either dimension is null and use usual <img>\n if (fullHeight == null || fullWidth == null) {\n return (\n <img\n src={srcStr}\n className={className}\n style={style}\n {...rest}\n ref={ref}\n />\n );\n }\n\n if (isSvg(srcStr) && (displayHeight == null || displayHeight === \"auto\") && (displayWidth == null || displayWidth === \"auto\")) {\n displayWidth = \"100%\";\n }\n\n if (\n fullWidth &&\n fullHeight &&\n (!displayWidth || displayWidth === \"auto\") &&\n !!getPixelLength(displayHeight)\n ) {\n // If there's a pixel length specified for displayHeight but not displayWidth,\n // then we can derive the pixel length for displayWidth. Having an explicit\n // displayWidth makes this a fixed-size image, which makes it possible for us to\n // generate better markup!\n displayWidth = (getPixelLength(displayHeight)! * fullWidth) / fullHeight;\n }\n\n const { sizes, widthDescs } = getWidths(displayWidth, fullWidth, {minWidth: displayMinWidth} );\n const imageLoader = getImageLoader(loader);\n const spacerSvg = `<svg width=\"${fullWidth}\" height=\"${fullHeight}\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"/>`;\n const spacerSvgBase64 =\n typeof window === \"undefined\"\n ? Buffer.from(spacerSvg).toString(\"base64\")\n : window.btoa(spacerSvg);\n \n let wrapperStyle: CSSProperties = {...(style || {})};\n let spacerStyle: CSSProperties = pick(style || {}, \"objectFit\", \"objectPosition\");\n\n if (displayWidth != null && displayWidth !== \"auto\") {\n // If width is set, set it on the wrapper along with min/max width\n // and just use `width: 100%` on the spacer\n spacerStyle.width = \"100%\";\n wrapperStyle.width = displayWidth;\n wrapperStyle.minWidth = displayMinWidth;\n wrapperStyle.maxWidth = displayMaxWidth;\n } else {\n // Otherwise, we want auto sizing from the spacer, so set width there.\n //\n // But if we have min/max width, it should be set in the wrapper and it\n // can be percentage values (and we add corresponding min/max width to\n // 100% in the spacer). In general it ends up with the correct effect,\n // but some edge cases might make `min-width: 100%` shrink the image more\n // than it should.\n spacerStyle.width = displayWidth;\n wrapperStyle.width = \"auto\";\n if (displayMinWidth) {\n spacerStyle.minWidth = \"100%\";\n wrapperStyle.minWidth = displayMinWidth;\n }\n if (displayMaxWidth != null && displayMaxWidth !== \"none\") {\n spacerStyle.maxWidth = \"100%\";\n wrapperStyle.maxWidth = displayMaxWidth;\n }\n }\n\n if (displayHeight != null && displayHeight !== \"auto\") {\n spacerStyle.height = \"100%\";\n wrapperStyle.height = displayHeight;\n wrapperStyle.minHeight = displayMinHeight;\n wrapperStyle.maxHeight = displayMaxHeight;\n } else {\n spacerStyle.height = displayHeight;\n wrapperStyle.height = \"auto\";\n if (displayMinHeight) {\n spacerStyle.minHeight = \"100%\";\n wrapperStyle.minHeight = displayMinHeight;\n }\n if (displayMaxHeight != null && displayMaxHeight !== \"none\") {\n spacerStyle.maxHeight = \"100%\";\n wrapperStyle.maxHeight = displayMaxHeight;\n }\n }\n\n return (\n <div\n className={classNames(className, \"__wab_img-wrapper\")}\n ref={containerRef}\n style={wrapperStyle}\n >\n <img\n alt=\"\"\n aria-hidden\n className=\"__wab_img-spacer-svg\"\n src={`data:image/svg+xml;base64,${spacerSvgBase64}`}\n style={spacerStyle}\n />\n {makePicture({\n imageLoader,\n widthDescs,\n sizes,\n src: srcStr,\n quality,\n ref,\n style: style ? pick(style, \"objectFit\", \"objectPosition\") : undefined,\n imgProps: rest,\n className: \"__wab_img\",\n })}\n </div>\n );\n});\n\nfunction makePicture(opts: {\n imageLoader?: ImageLoader;\n widthDescs: WidthDesc[];\n sizes?: string;\n src: string;\n quality?: number;\n style?: React.CSSProperties;\n className?: string;\n imgProps: ImgTagProps;\n ref?: React.Ref<HTMLImageElement>;\n}) {\n // If imageLoader is undefined, then this renders to just a normal\n // <img />. Else it will render to a <picture> with a <source> for\n // webp, and srcSet/sizes set according to width requirements.\n const {\n imageLoader,\n widthDescs,\n src,\n quality,\n style,\n className,\n sizes,\n imgProps,\n ref,\n } = opts;\n return (\n <picture className=\"__wab_picture\">\n {imageLoader && imageLoader.supportsUrl(src) && (\n <source\n type=\"image/webp\"\n srcSet={widthDescs\n .map(\n (wd) =>\n `${imageLoader.transformUrl({\n src,\n quality,\n width: wd.width,\n format: \"webp\",\n })} ${wd.desc}`\n )\n .join(\", \")}\n />\n )}\n <img\n {...imgProps}\n ref={ref}\n className={className}\n decoding=\"async\"\n src={\n imageLoader && imageLoader.supportsUrl(src)\n ? imageLoader.transformUrl({\n src,\n quality,\n width: widthDescs[widthDescs.length - 1].width,\n })\n : src\n }\n srcSet={\n imageLoader && imageLoader.supportsUrl(src)\n ? widthDescs\n .map(\n (wd) =>\n `${imageLoader.transformUrl({\n src,\n quality,\n width: wd.width,\n })} ${wd.desc}`\n )\n .join(\", \")\n : undefined\n }\n sizes={imageLoader && imageLoader.supportsUrl(src) ? sizes : undefined}\n style={{\n ...(style ? pick(style, \"objectFit\", \"objectPosition\") : {}),\n width: 0,\n height: 0,\n }}\n />\n </picture>\n );\n}\n\nfunction isSvg(src: string) {\n return (src.endsWith(\".svg\") || src.startsWith(\"data:image/svg\"));\n}\n\ninterface WidthDesc {\n width?: number;\n desc: string;\n}\n\nfunction getClosestPresetSize(width: number, fullWidth: number) {\n const nextBiggerIndex =\n ALL_SIZES.findIndex((w) => w >= width) ?? ALL_SIZES.length - 1;\n const nextBigger = ALL_SIZES[nextBiggerIndex];\n if (nextBigger >= fullWidth) {\n // If the requested width is larger than the fullWidth,\n // we just use the original width instead. It's impossible\n // to make an image bigger than fullWidth!\n return undefined;\n } else if (\n nextBiggerIndex + 1 < ALL_SIZES.length &&\n fullWidth <= ALL_SIZES[nextBiggerIndex + 1]\n ) {\n // If the fullWidth is just between nextBigger and the one after that,\n // then also might as well just use the original size (so, width is 30,\n // nextBigger is 32, then we just use the original as long as fullWidth is\n // less than 48)\n return undefined;\n }\n\n return nextBigger;\n}\n\n/**\n * Computes the appropriate srcSet and sizes to use\n */\nfunction getWidths(\n width: number | string | undefined,\n fullWidth: number,\n extra?: {minWidth: string | number | undefined }\n): { sizes: string | undefined; widthDescs: WidthDesc[] } {\n const minWidth = extra?.minWidth;\n const pixelWidth = getPixelLength(width);\n const pixelMinWidth = getPixelLength(minWidth);\n if (pixelWidth != null && (!minWidth || pixelMinWidth != null)) {\n // If there's an exact width, then we just need to display it at 1x and 2x density\n return {\n widthDescs: [\n {\n width: getClosestPresetSize(Math.max(pixelWidth, pixelMinWidth ?? 0), fullWidth),\n desc: \"1x\",\n },\n {\n width: getClosestPresetSize(Math.max(pixelWidth, pixelMinWidth ?? 0) * 2, fullWidth),\n desc: \"2x\",\n },\n ],\n sizes: undefined,\n };\n }\n // Otherwise we don't know what sizes we'll end up, so we just cap it at\n // device width. TODO: do better!\n const usefulSizes = DEVICE_SIZES.filter(\n (size) => !fullWidth || size < fullWidth\n );\n if (!!fullWidth && usefulSizes.length === 0) {\n // image fullWidth is smaller than all device sizes. So all we can do\n // is offer 1x\n return {\n widthDescs: [\n {\n width: getClosestPresetSize(fullWidth, fullWidth),\n desc: \"1x\",\n },\n ],\n sizes: undefined,\n };\n }\n return {\n widthDescs: usefulSizes.map((size) => ({\n width: getClosestPresetSize(size, fullWidth),\n // If this is the last (buggest) useful width, but it is\n // still within the bounds set by DEVICE_SIZES, then just\n // use the original, unresized image. This means if we match\n // the largest size, we use unresized and best quality image.\n // We only do this, though, if fullWidth is \"reasonable\" --\n // smaller than the largest size we would consider.\n // i === usefulSizes.length - 1 &&\n // fullWidth < DEVICE_SIZES[DEVICE_SIZES.length - 1]\n // ? undefined\n // : size,\n desc: `${size}w`,\n })),\n sizes: \"100vw\",\n };\n}\n\nfunction getPixelLength(length: number | string | undefined) {\n if (length == null || length == \"\") {\n return undefined;\n }\n\n if (typeof length === \"number\") {\n return length;\n }\n\n const parsed = parseNumeric(length);\n if (parsed && (!parsed.units || parsed.units === \"px\")) {\n return parsed.num;\n }\n\n return undefined;\n}\n\nfunction parseNumeric(val: string) {\n // Parse strings like \"30\", \"30px\", \"30%\", \"30px /* blah blah */\"\n const res = val.match(\n /^\\s*(-?(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+))\\s*([a-z]*|%)\\s*(?:\\/\\*.*)?$/i\n );\n if (res == null) {\n return undefined;\n }\n const num = res[1];\n const units = res[2];\n return { num: +num, units };\n}\n\nfunction getImageLoader(loader: \"plasmic\" | ImageLoader | undefined) {\n if (loader == null) {\n return undefined;\n } else if (loader === \"plasmic\") {\n return PLASMIC_IMAGE_LOADER;\n } else {\n return loader;\n }\n}\n\nconst PLASMIC_IMAGE_LOADER: ImageLoader = {\n supportsUrl: (src) => {\n return src.startsWith(\"https://img.plasmic.app\") && !isSvg(src);\n },\n transformUrl: (opts) => {\n const params = [\n opts.width ? `w=${opts.width}` : undefined,\n `q=${opts.quality ?? 75}`,\n opts.format ? `f=${opts.format}` : undefined,\n ].filter((x) => !!x);\n return `${opts.src}?${params.join(\"&\")}`;\n },\n};\n"],"names":["React"],"mappings":"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"}
@@ -1,55 +1,62 @@
1
- /**
2
- * Responsive `<img/>` replacement, based on `next/image`
3
- */
4
- import React from "react";
5
- export declare type ImageLoader = (opts: {
6
- src: string;
7
- width: number;
8
- quality?: number;
9
- format?: "webp";
10
- }) => string;
11
- declare type ImgTagProps = Omit<React.ComponentProps<"img">, "src" | "srcSet" | "ref" | "style">;
12
- export interface PlasmicImgProps extends ImgTagProps {
13
- /**
14
- * Either an object with the src string, and its full width and height,
15
- * or just a src string with unknown intrinsic dimensions.
16
- */
17
- src: string | {
18
- src: string;
19
- fullHeight: number;
20
- fullWidth: number;
21
- };
22
- /**
23
- * className applied to the wrapper element if one is used.
24
- */
25
- className?: string;
26
- /**
27
- * css width
28
- */
29
- displayWidth?: number | string;
30
- /**
31
- * css height
32
- */
33
- displayHeight?: number | string;
34
- /**
35
- * For variable quality formats like jpg, the quality from 0 to 100
36
- */
37
- quality?: number;
38
- /**
39
- * ImageLoader to use for loading different dimensions of the image.
40
- * If none specified, will not attempt to load different dimensions.
41
- */
42
- loader?: "plasmic" | ImageLoader;
43
- /**
44
- * Style applied to the wrapper element. objectFit and objectPosition
45
- * rules are applied to the img element.
46
- */
47
- style?: React.CSSProperties;
48
- /**
49
- * Ref for the wrapper element. The normal <PlasmicImg ref={...} />
50
- * prop gives you the wrap to the img element.
51
- */
52
- containerRef?: React.Ref<HTMLDivElement>;
53
- }
54
- export declare const PlasmicImg: React.ForwardRefExoticComponent<PlasmicImgProps & React.RefAttributes<HTMLImageElement>>;
55
- export {};
1
+ /**
2
+ * Responsive `<img/>` replacement, based on `next/image`
3
+ */
4
+ import React from "react";
5
+ export declare type ImageLoader = (opts: {
6
+ src: string;
7
+ width: number;
8
+ quality?: number;
9
+ format?: "webp";
10
+ }) => string;
11
+ declare type ImgTagProps = Omit<
12
+ React.ComponentProps<"img">,
13
+ "src" | "srcSet" | "ref" | "style"
14
+ >;
15
+ export interface PlasmicImgProps extends ImgTagProps {
16
+ /**
17
+ * Either an object with the src string, and its full width and height,
18
+ * or just a src string with unknown intrinsic dimensions.
19
+ */
20
+ src:
21
+ | string
22
+ | {
23
+ src: string;
24
+ fullHeight: number;
25
+ fullWidth: number;
26
+ };
27
+ /**
28
+ * className applied to the wrapper element if one is used.
29
+ */
30
+ className?: string;
31
+ /**
32
+ * css width
33
+ */
34
+ displayWidth?: number | string;
35
+ /**
36
+ * css height
37
+ */
38
+ displayHeight?: number | string;
39
+ /**
40
+ * For variable quality formats like jpg, the quality from 0 to 100
41
+ */
42
+ quality?: number;
43
+ /**
44
+ * ImageLoader to use for loading different dimensions of the image.
45
+ * If none specified, will not attempt to load different dimensions.
46
+ */
47
+ loader?: "plasmic" | ImageLoader;
48
+ /**
49
+ * Style applied to the wrapper element. objectFit and objectPosition
50
+ * rules are applied to the img element.
51
+ */
52
+ style?: React.CSSProperties;
53
+ /**
54
+ * Ref for the wrapper element. The normal <PlasmicImg ref={...} />
55
+ * prop gives you the wrap to the img element.
56
+ */
57
+ containerRef?: React.Ref<HTMLDivElement>;
58
+ }
59
+ export declare const PlasmicImg: React.ForwardRefExoticComponent<
60
+ PlasmicImgProps & React.RefAttributes<HTMLImageElement>
61
+ >;
62
+ export {};
@@ -1,128 +1,148 @@
1
- function notNil(x) {
2
- return x != null;
3
- }
4
- function pick(obj) {
5
- var keys = [];
6
- for (var _i = 1; _i < arguments.length; _i++) {
7
- keys[_i - 1] = arguments[_i];
8
- }
9
- if (Object.keys(obj).length === 0) {
10
- return obj;
11
- }
12
- var res = {};
13
- for (var _a = 0, keys_1 = keys; _a < keys_1.length; _a++) {
14
- var key = keys_1[_a];
15
- if (key in obj) {
16
- res[key] = obj[key];
17
- }
18
- }
19
- return res;
20
- }
21
- function omit(obj) {
22
- var keys = [];
23
- for (var _i = 1; _i < arguments.length; _i++) {
24
- keys[_i - 1] = arguments[_i];
25
- }
26
- if (Object.keys(obj).length === 0) {
27
- return obj;
28
- }
29
- var res = {};
30
- for (var _a = 0, _b = Object.keys(obj); _a < _b.length; _a++) {
31
- var key = _b[_a];
32
- if (!keys.includes(key)) {
33
- res[key] = obj[key];
34
- }
35
- }
36
- return res;
37
- }
38
- function isSubset(a1, a2) {
39
- return a1.every(function (x) { return a2.includes(x); });
40
- }
41
- function chainSingleArgFuncs() {
42
- var funcs = [];
43
- for (var _i = 0; _i < arguments.length; _i++) {
44
- funcs[_i] = arguments[_i];
45
- }
46
- if (funcs.length === 0) {
47
- return undefined;
48
- }
49
- return function (arg) {
50
- var res = arg;
51
- for (var _i = 0, funcs_1 = funcs; _i < funcs_1.length; _i++) {
52
- var func = funcs_1[_i];
53
- res = func(res);
54
- }
55
- return res;
56
- };
57
- }
58
- function isString(x) {
59
- return typeof x === "string";
60
- }
61
- function groupBy(collection, keyFunc) {
62
- var result = {};
63
- for (var _i = 0, collection_1 = collection; _i < collection_1.length; _i++) {
64
- var obj = collection_1[_i];
65
- var key = keyFunc(obj);
66
- if (key in result) {
67
- result[key].push(obj);
68
- }
69
- else {
70
- result[key] = [obj];
71
- }
72
- }
73
- return result;
74
- }
75
- function mapValues(obj, mapper) {
76
- var result = {};
77
- for (var key in obj) {
78
- result[key] = mapper(obj[key]);
79
- }
80
- return result;
1
+ function notNil(x) {
2
+ return x != null;
3
+ }
4
+ function pick(obj) {
5
+ var keys = [];
6
+ for (var _i = 1; _i < arguments.length; _i++) {
7
+ keys[_i - 1] = arguments[_i];
8
+ }
9
+ if (Object.keys(obj).length === 0) {
10
+ return obj;
11
+ }
12
+ var res = {};
13
+ for (var _a = 0, keys_1 = keys; _a < keys_1.length; _a++) {
14
+ var key = keys_1[_a];
15
+ if (key in obj) {
16
+ res[key] = obj[key];
17
+ }
18
+ }
19
+ return res;
20
+ }
21
+ function omit(obj) {
22
+ var keys = [];
23
+ for (var _i = 1; _i < arguments.length; _i++) {
24
+ keys[_i - 1] = arguments[_i];
25
+ }
26
+ if (Object.keys(obj).length === 0) {
27
+ return obj;
28
+ }
29
+ var res = {};
30
+ for (var _a = 0, _b = Object.keys(obj); _a < _b.length; _a++) {
31
+ var key = _b[_a];
32
+ if (!keys.includes(key)) {
33
+ res[key] = obj[key];
34
+ }
35
+ }
36
+ return res;
37
+ }
38
+ function isSubset(a1, a2) {
39
+ return a1.every(function (x) {
40
+ return a2.includes(x);
41
+ });
42
+ }
43
+ function chainSingleArgFuncs() {
44
+ var funcs = [];
45
+ for (var _i = 0; _i < arguments.length; _i++) {
46
+ funcs[_i] = arguments[_i];
47
+ }
48
+ if (funcs.length === 0) {
49
+ return undefined;
50
+ }
51
+ return function (arg) {
52
+ var res = arg;
53
+ for (var _i = 0, funcs_1 = funcs; _i < funcs_1.length; _i++) {
54
+ var func = funcs_1[_i];
55
+ res = func(res);
56
+ }
57
+ return res;
58
+ };
59
+ }
60
+ function isString(x) {
61
+ return typeof x === "string";
62
+ }
63
+ function groupBy(collection, keyFunc) {
64
+ var result = {};
65
+ for (var _i = 0, collection_1 = collection; _i < collection_1.length; _i++) {
66
+ var obj = collection_1[_i];
67
+ var key = keyFunc(obj);
68
+ if (key in result) {
69
+ result[key].push(obj);
70
+ } else {
71
+ result[key] = [obj];
72
+ }
73
+ }
74
+ return result;
75
+ }
76
+ function mapValues(obj, mapper) {
77
+ var result = {};
78
+ for (var key in obj) {
79
+ result[key] = mapper(obj[key]);
80
+ }
81
+ return result;
82
+ }
83
+
84
+ /*! *****************************************************************************
85
+ Copyright (c) Microsoft Corporation.
86
+
87
+ Permission to use, copy, modify, and/or distribute this software for any
88
+ purpose with or without fee is hereby granted.
89
+
90
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
91
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
92
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
93
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
94
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
95
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
96
+ PERFORMANCE OF THIS SOFTWARE.
97
+ ***************************************************************************** */
98
+
99
+ var __assign = function () {
100
+ __assign =
101
+ Object.assign ||
102
+ function __assign(t) {
103
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
104
+ s = arguments[i];
105
+ for (var p in s)
106
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
107
+ }
108
+ return t;
109
+ };
110
+ return __assign.apply(this, arguments);
111
+ };
112
+
113
+ function __rest(s, e) {
114
+ var t = {};
115
+ for (var p in s)
116
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
117
+ t[p] = s[p];
118
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
119
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
120
+ if (
121
+ e.indexOf(p[i]) < 0 &&
122
+ Object.prototype.propertyIsEnumerable.call(s, p[i])
123
+ )
124
+ t[p[i]] = s[p[i]];
125
+ }
126
+ return t;
81
127
  }
82
128
 
83
- /*! *****************************************************************************
84
- Copyright (c) Microsoft Corporation.
85
-
86
- Permission to use, copy, modify, and/or distribute this software for any
87
- purpose with or without fee is hereby granted.
88
-
89
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
90
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
91
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
92
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
93
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
94
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
95
- PERFORMANCE OF THIS SOFTWARE.
96
- ***************************************************************************** */
97
-
98
- var __assign = function() {
99
- __assign = Object.assign || function __assign(t) {
100
- for (var s, i = 1, n = arguments.length; i < n; i++) {
101
- s = arguments[i];
102
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
103
- }
104
- return t;
105
- };
106
- return __assign.apply(this, arguments);
107
- };
108
-
109
- function __rest(s, e) {
110
- var t = {};
111
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
112
- t[p] = s[p];
113
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
114
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
115
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
116
- t[p[i]] = s[p[i]];
117
- }
118
- return t;
119
- }
120
-
121
- function __spreadArray(to, from) {
122
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
123
- to[j] = from[i];
124
- return to;
129
+ function __spreadArray(to, from) {
130
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
131
+ to[j] = from[i];
132
+ return to;
125
133
  }
126
134
 
127
- export { __rest as _, __assign as a, __spreadArray as b, chainSingleArgFuncs as c, isString as d, groupBy as g, isSubset as i, mapValues as m, notNil as n, omit as o, pick as p };
135
+ export {
136
+ __rest as _,
137
+ __assign as a,
138
+ __spreadArray as b,
139
+ chainSingleArgFuncs as c,
140
+ isString as d,
141
+ groupBy as g,
142
+ isSubset as i,
143
+ mapValues as m,
144
+ notNil as n,
145
+ omit as o,
146
+ pick as p,
147
+ };
128
148
  //# sourceMappingURL=tslib.es6-00014098.js.map