@makeswift/runtime 0.11.8 → 0.11.10

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 (127) hide show
  1. package/dist/Box.cjs.js +1 -1
  2. package/dist/Box.es.js +1 -1
  3. package/dist/Button.cjs.js +1 -1
  4. package/dist/Button.es.js +1 -1
  5. package/dist/Carousel.cjs.js +1 -1
  6. package/dist/Carousel.es.js +1 -1
  7. package/dist/Countdown.cjs.js +1 -1
  8. package/dist/Countdown.es.js +1 -1
  9. package/dist/Divider.cjs.js +1 -1
  10. package/dist/Divider.es.js +1 -1
  11. package/dist/Embed.cjs.js +1 -1
  12. package/dist/Embed.es.js +1 -1
  13. package/dist/Form.cjs.js +1 -1
  14. package/dist/Form.es.js +1 -1
  15. package/dist/Image.cjs.js +6 -3
  16. package/dist/Image.cjs.js.map +1 -1
  17. package/dist/Image.es.js +6 -3
  18. package/dist/Image.es.js.map +1 -1
  19. package/dist/LiveProvider.cjs.js +1 -1
  20. package/dist/LiveProvider.es.js +1 -1
  21. package/dist/Navigation.cjs.js +1 -1
  22. package/dist/Navigation.es.js +1 -1
  23. package/dist/PreviewProvider.cjs.js +1 -1
  24. package/dist/PreviewProvider.es.js +1 -1
  25. package/dist/ReadOnlyText.cjs.js +1 -1
  26. package/dist/ReadOnlyText.es.js +1 -1
  27. package/dist/ReadOnlyTextV2.cjs.js +2 -2
  28. package/dist/ReadOnlyTextV2.es.js +2 -2
  29. package/dist/Root.cjs.js +1 -1
  30. package/dist/Root.es.js +1 -1
  31. package/dist/SocialLinks.cjs.js +109 -51
  32. package/dist/SocialLinks.cjs.js.map +1 -1
  33. package/dist/SocialLinks.es.js +109 -51
  34. package/dist/SocialLinks.es.js.map +1 -1
  35. package/dist/Video.cjs.js +1 -1
  36. package/dist/Video.es.js +1 -1
  37. package/dist/breakpoints.cjs.js +223 -0
  38. package/dist/breakpoints.cjs.js.map +1 -0
  39. package/dist/breakpoints.es.js +206 -0
  40. package/dist/breakpoints.es.js.map +1 -0
  41. package/dist/builder.cjs.js +1 -1
  42. package/dist/builder.es.js +1 -1
  43. package/dist/components.cjs.js +1 -1
  44. package/dist/components.es.js +1 -1
  45. package/dist/control-serialization.cjs.js +1 -1
  46. package/dist/control-serialization.es.js +1 -1
  47. package/dist/controls.cjs.js +1 -1
  48. package/dist/controls.es.js +1 -1
  49. package/dist/index.cjs.js +4 -3
  50. package/dist/index.cjs.js.map +1 -1
  51. package/dist/index.cjs2.js +7 -4
  52. package/dist/index.cjs2.js.map +1 -1
  53. package/dist/index.cjs8.js +1 -1
  54. package/dist/index.cjs9.js +1 -1
  55. package/dist/index.es.js +4 -3
  56. package/dist/index.es.js.map +1 -1
  57. package/dist/index.es2.js +7 -4
  58. package/dist/index.es2.js.map +1 -1
  59. package/dist/index.es8.js +1 -1
  60. package/dist/index.es9.js +1 -1
  61. package/dist/main.cjs.js +1 -1
  62. package/dist/main.es.js +1 -1
  63. package/dist/next.cjs.js +1 -1
  64. package/dist/next.es.js +1 -1
  65. package/dist/prop-controllers.cjs.js +1 -1
  66. package/dist/prop-controllers.es.js +1 -1
  67. package/dist/react-page.cjs.js +192 -6
  68. package/dist/react-page.cjs.js.map +1 -1
  69. package/dist/react-page.es.js +198 -12
  70. package/dist/react-page.es.js.map +1 -1
  71. package/dist/react.cjs.js +1 -1
  72. package/dist/react.es.js +1 -1
  73. package/dist/slate.cjs.js +1 -1
  74. package/dist/slate.es.js +1 -1
  75. package/dist/state/breakpoints.cjs.js +17 -219
  76. package/dist/state/breakpoints.cjs.js.map +1 -1
  77. package/dist/state/breakpoints.es.js +2 -205
  78. package/dist/state/breakpoints.es.js.map +1 -1
  79. package/dist/toText.cjs.js +1 -1
  80. package/dist/toText.es.js +1 -1
  81. package/dist/types/src/components/builtin/Image/Image.d.ts +1 -0
  82. package/dist/types/src/components/builtin/Image/Image.d.ts.map +1 -1
  83. package/dist/types/src/components/builtin/Image/register.d.ts.map +1 -1
  84. package/dist/types/src/components/builtin/SocialLinks/options.d.ts +10 -0
  85. package/dist/types/src/components/builtin/SocialLinks/options.d.ts.map +1 -1
  86. package/dist/types/src/controls/control.d.ts.map +1 -1
  87. package/dist/types/src/controls/rich-text/__tests__/copy.test.d.ts.map +1 -0
  88. package/dist/types/src/controls/rich-text/__tests__/dto.test.d.ts.map +1 -0
  89. package/dist/types/src/controls/rich-text/__tests__/introspection.test.d.ts.map +1 -0
  90. package/dist/types/src/controls/rich-text-v2/__tests__/copy.test.d.ts.map +1 -0
  91. package/dist/types/src/controls/rich-text-v2/__tests__/fixtures/rearranged.d.ts.map +1 -0
  92. package/dist/types/src/controls/rich-text-v2/__tests__/fixtures/simple.d.ts.map +1 -0
  93. package/dist/types/src/controls/rich-text-v2/__tests__/introspection.test.d.ts.map +1 -0
  94. package/dist/types/src/controls/rich-text-v2/__tests__/translation.test.d.ts.map +1 -0
  95. package/dist/types/src/controls/rich-text-v2/translation.d.ts +1 -1
  96. package/dist/types/src/controls/rich-text-v2/translation.d.ts.map +1 -1
  97. package/dist/types/src/prop-controllers/descriptors.d.ts +3 -1
  98. package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
  99. package/dist/types/src/slate/TypographyPlugin/index.d.ts +4 -1
  100. package/dist/types/src/slate/TypographyPlugin/index.d.ts.map +1 -1
  101. package/dist/types/src/slate/TypographyPlugin/normalizeSimilarText.d.ts +10 -0
  102. package/dist/types/src/slate/TypographyPlugin/normalizeSimilarText.d.ts.map +1 -0
  103. package/dist/types/src/slate/TypographyPlugin/normalizeTypographyDown.d.ts +29 -0
  104. package/dist/types/src/slate/TypographyPlugin/normalizeTypographyDown.d.ts.map +1 -0
  105. package/dist/types/src/slate/TypographyPlugin/normalizeTypographyUp.d.ts +4 -0
  106. package/dist/types/src/slate/TypographyPlugin/normalizeTypographyUp.d.ts.map +1 -0
  107. package/dist/types/src/slate/types.d.ts +19 -2
  108. package/dist/types/src/slate/types.d.ts.map +1 -1
  109. package/dist/useMediaQuery.cjs.js +1 -1
  110. package/dist/useMediaQuery.es.js +1 -1
  111. package/package.json +1 -1
  112. package/dist/types/src/controls/rich-text/__test__/copy.test.d.ts.map +0 -1
  113. package/dist/types/src/controls/rich-text/__test__/dto.test.d.ts.map +0 -1
  114. package/dist/types/src/controls/rich-text/__test__/introspection.test.d.ts.map +0 -1
  115. package/dist/types/src/controls/rich-text-v2/__test__/copy.test.d.ts.map +0 -1
  116. package/dist/types/src/controls/rich-text-v2/__test__/fixtures/rearranged.d.ts.map +0 -1
  117. package/dist/types/src/controls/rich-text-v2/__test__/fixtures/simple.d.ts.map +0 -1
  118. package/dist/types/src/controls/rich-text-v2/__test__/introspection.test.d.ts.map +0 -1
  119. package/dist/types/src/controls/rich-text-v2/__test__/translation.test.d.ts.map +0 -1
  120. /package/dist/types/src/controls/rich-text/{__test__ → __tests__}/copy.test.d.ts +0 -0
  121. /package/dist/types/src/controls/rich-text/{__test__ → __tests__}/dto.test.d.ts +0 -0
  122. /package/dist/types/src/controls/rich-text/{__test__ → __tests__}/introspection.test.d.ts +0 -0
  123. /package/dist/types/src/controls/rich-text-v2/{__test__ → __tests__}/copy.test.d.ts +0 -0
  124. /package/dist/types/src/controls/rich-text-v2/{__test__ → __tests__}/fixtures/rearranged.d.ts +0 -0
  125. /package/dist/types/src/controls/rich-text-v2/{__test__ → __tests__}/fixtures/simple.d.ts +0 -0
  126. /package/dist/types/src/controls/rich-text-v2/{__test__ → __tests__}/introspection.test.d.ts +0 -0
  127. /package/dist/types/src/controls/rich-text-v2/{__test__ → __tests__}/translation.test.d.ts +0 -0
package/dist/Box.cjs.js CHANGED
@@ -51,7 +51,7 @@ require("escape-html");
51
51
  require("slate-hyperscript");
52
52
  require("parse5");
53
53
  require("is-hotkey");
54
- require("./state/breakpoints.cjs.js");
54
+ require("./breakpoints.cjs.js");
55
55
  require("use-sync-external-store/shim");
56
56
  require("redux");
57
57
  require("redux-thunk");
package/dist/Box.es.js CHANGED
@@ -49,7 +49,7 @@ import "escape-html";
49
49
  import "slate-hyperscript";
50
50
  import "parse5";
51
51
  import "is-hotkey";
52
- import "./state/breakpoints.es.js";
52
+ import "./breakpoints.es.js";
53
53
  import "use-sync-external-store/shim";
54
54
  import "redux";
55
55
  import "redux-thunk";
@@ -51,7 +51,7 @@ require("escape-html");
51
51
  require("slate-hyperscript");
52
52
  require("parse5");
53
53
  require("is-hotkey");
54
- require("./state/breakpoints.cjs.js");
54
+ require("./breakpoints.cjs.js");
55
55
  require("use-sync-external-store/shim");
56
56
  require("redux");
57
57
  require("redux-thunk");
package/dist/Button.es.js CHANGED
@@ -49,7 +49,7 @@ import "escape-html";
49
49
  import "slate-hyperscript";
50
50
  import "parse5";
51
51
  import "is-hotkey";
52
- import "./state/breakpoints.es.js";
52
+ import "./breakpoints.es.js";
53
53
  import "use-sync-external-store/shim";
54
54
  import "redux";
55
55
  import "redux-thunk";
@@ -47,7 +47,7 @@ require("slate-hyperscript");
47
47
  require("parse5");
48
48
  require("is-hotkey");
49
49
  var jsxRuntime = require("react/jsx-runtime");
50
- var state_breakpoints = require("./state/breakpoints.cjs.js");
50
+ var state_breakpoints = require("./breakpoints.cjs.js");
51
51
  var useMediaQuery = require("./useMediaQuery.cjs.js");
52
52
  var Image = require("./Image.cjs.js");
53
53
  var css = require("@emotion/css");
@@ -45,7 +45,7 @@ import "slate-hyperscript";
45
45
  import "parse5";
46
46
  import "is-hotkey";
47
47
  import { jsxs, jsx } from "react/jsx-runtime";
48
- import { getBaseBreakpoint } from "./state/breakpoints.es.js";
48
+ import { a as getBaseBreakpoint } from "./breakpoints.es.js";
49
49
  import { u as useMediaQuery } from "./useMediaQuery.es.js";
50
50
  import ImageComponent from "./Image.es.js";
51
51
  import { cx } from "@emotion/css";
@@ -40,7 +40,7 @@ require("redux");
40
40
  require("redux-thunk");
41
41
  require("./actions.cjs.js");
42
42
  require("zod");
43
- require("./state/breakpoints.cjs.js");
43
+ require("./breakpoints.cjs.js");
44
44
  require("ts-pattern");
45
45
  require("corporate-ipsum");
46
46
  require("slate");
@@ -38,7 +38,7 @@ import "redux";
38
38
  import "redux-thunk";
39
39
  import "./actions.es.js";
40
40
  import "zod";
41
- import "./state/breakpoints.es.js";
41
+ import "./breakpoints.es.js";
42
42
  import "ts-pattern";
43
43
  import "corporate-ipsum";
44
44
  import "slate";
@@ -18,7 +18,7 @@ require("escape-html");
18
18
  require("slate-hyperscript");
19
19
  require("parse5");
20
20
  require("is-hotkey");
21
- require("./state/breakpoints.cjs.js");
21
+ require("./breakpoints.cjs.js");
22
22
  require("use-sync-external-store/shim");
23
23
  require("redux");
24
24
  require("redux-thunk");
@@ -16,7 +16,7 @@ import "escape-html";
16
16
  import "slate-hyperscript";
17
17
  import "parse5";
18
18
  import "is-hotkey";
19
- import "./state/breakpoints.es.js";
19
+ import "./breakpoints.es.js";
20
20
  import "use-sync-external-store/shim";
21
21
  import "redux";
22
22
  import "redux-thunk";
package/dist/Embed.cjs.js CHANGED
@@ -9,7 +9,7 @@ require("redux");
9
9
  require("redux-thunk");
10
10
  require("./actions.cjs.js");
11
11
  require("zod");
12
- require("./state/breakpoints.cjs.js");
12
+ require("./breakpoints.cjs.js");
13
13
  require("ts-pattern");
14
14
  require("corporate-ipsum");
15
15
  require("slate");
package/dist/Embed.es.js CHANGED
@@ -7,7 +7,7 @@ import "redux";
7
7
  import "redux-thunk";
8
8
  import "./actions.es.js";
9
9
  import "zod";
10
- import "./state/breakpoints.es.js";
10
+ import "./breakpoints.es.js";
11
11
  import "ts-pattern";
12
12
  import "corporate-ipsum";
13
13
  import "slate";
package/dist/Form.cjs.js CHANGED
@@ -45,7 +45,7 @@ require("redux");
45
45
  require("redux-thunk");
46
46
  require("./actions.cjs.js");
47
47
  require("zod");
48
- require("./state/breakpoints.cjs.js");
48
+ require("./breakpoints.cjs.js");
49
49
  require("ts-pattern");
50
50
  require("corporate-ipsum");
51
51
  require("slate");
package/dist/Form.es.js CHANGED
@@ -44,7 +44,7 @@ import "redux";
44
44
  import "redux-thunk";
45
45
  import "./actions.es.js";
46
46
  import "zod";
47
- import "./state/breakpoints.es.js";
47
+ import "./breakpoints.es.js";
48
48
  import "ts-pattern";
49
49
  import "corporate-ipsum";
50
50
  import "slate";
package/dist/Image.cjs.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  var React = require("react");
4
4
  var NextImage = require("next/image");
5
- var state_breakpoints = require("./state/breakpoints.cjs.js");
5
+ var state_breakpoints = require("./breakpoints.cjs.js");
6
6
  var placeholders = require("./placeholders.cjs.js");
7
7
  var index = require("./index.cjs3.js");
8
8
  var css = require("@emotion/css");
@@ -85,7 +85,8 @@ const ImageComponent = React.forwardRef(function Image2({
85
85
  opacity,
86
86
  boxShadow,
87
87
  placeholder = placeholders.placeholders.image,
88
- className
88
+ className,
89
+ priority
89
90
  }, ref) {
90
91
  const fileId = tsPattern.match(file).with(tsPattern.P.string, (v) => v).with({
91
92
  type: "makeswift-file",
@@ -144,9 +145,11 @@ const ImageComponent = React.forwardRef(function Image2({
144
145
  sizes: imageSizes(breakpoints, width),
145
146
  alt: altText,
146
147
  width: dimensions.width,
147
- height: dimensions.height
148
+ height: dimensions.height,
149
+ priority
148
150
  }) : /* @__PURE__ */ jsxRuntime.jsx(NextImage__default["default"], {
149
151
  src: imageSrc,
152
+ priority,
150
153
  sizes: imageSizes(breakpoints, width),
151
154
  alt: altText != null ? altText : "",
152
155
  width: dimensions.width,
@@ -1 +1 @@
1
- {"version":3,"file":"Image.cjs.js","sources":["../src/components/builtin/Image/Image.tsx"],"sourcesContent":["import { useState, useEffect, Ref, forwardRef } from 'react'\nimport NextImage from 'next/image'\nimport type NextLegacyImageType from 'next/legacy/image'\n\nimport {\n ElementIDValue,\n ImageValue,\n LinkValue,\n ResponsiveOpacityValue,\n TextInputValue,\n WidthValue,\n} from '../../../prop-controllers/descriptors'\nimport { Breakpoints, findBreakpointOverride } from '../../../state/modules/breakpoints'\nimport { placeholders } from '../../utils/placeholders'\nimport { Link } from '../../shared/Link'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useResponsiveStyle, useResponsiveWidth } from '../../utils/responsive-style'\nimport { useFile } from '../../../runtimes/react/hooks/makeswift-api'\nimport { major as nextMajorVersion } from '../../../next/next-version'\nimport { useBreakpoints } from '../../../runtimes/react'\nimport { match, P } from 'ts-pattern'\n\nconst NextLegacyImage = NextImage as typeof NextLegacyImageType\n\ntype Props = {\n id?: ElementIDValue\n file?: ImageValue\n altText?: TextInputValue\n link?: LinkValue\n width?: WidthValue\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n opacity?: ResponsiveOpacityValue\n placeholder?: { src: string; dimensions: { width: number; height: number } }\n className?: string\n}\n\nfunction loadImage(src: string): Promise<HTMLImageElement> {\n return new Promise<HTMLImageElement>((resolve, reject) => {\n const image = new Image()\n\n image.onload = () => resolve(image)\n image.onerror = reject\n image.src = src\n })\n}\n\nfunction imageSizes(breakpoints: Breakpoints, width?: Props['width']): string {\n const baseDevice = breakpoints.find(breakpoint => breakpoint.maxWidth == null)\n const baseWidth = baseDevice && width && findBreakpointOverride(breakpoints, width, baseDevice.id)\n const baseWidthSize =\n baseWidth == null || baseWidth.value.unit !== 'px' ? '100vw' : `${baseWidth.value.value}px`\n\n return breakpoints\n .map(breakpoint => {\n const override = findBreakpointOverride(breakpoints, width, breakpoint.id)\n\n if (override == null || breakpoint.maxWidth == null || override.value.unit !== 'px') {\n return null\n }\n\n return `(max-width: ${breakpoint.maxWidth}px) ${Math.min(\n breakpoint.maxWidth,\n override.value.value,\n )}px`\n })\n .filter((size): size is NonNullable<typeof size> => size != null)\n .reduce((sourceSizes, sourceSize) => `${sourceSize}, ${sourceSizes}`, baseWidthSize)\n}\n\ntype Dimensions = {\n width: number\n height: number\n}\n\nconst ImageComponent = forwardRef(function Image(\n {\n id,\n width,\n margin,\n padding,\n file,\n border,\n borderRadius,\n altText,\n link,\n opacity,\n boxShadow,\n placeholder = placeholders.image,\n className,\n }: Props,\n ref: Ref<HTMLAnchorElement & HTMLDivElement>,\n) {\n const fileId = match(file)\n .with(P.string, v => v)\n .with({ type: 'makeswift-file', version: 1 }, v => v.id)\n .otherwise(() => null)\n const fileData = useFile(fileId)\n const imageSrc = match([file, fileData])\n .with([P.any, P.not(P.nullish)], ([, fileData]) => fileData.publicUrl)\n .with([{ type: 'external-file', version: 1 }, P.any], ([file]) => file.url)\n .otherwise(() => placeholder.src)\n const dataDimensions = match([file, fileData, imageSrc])\n .with(\n [{ type: 'external-file', version: 1, width: P.number, height: P.number }, P.any, P.any],\n ([externalFile]) => ({ width: externalFile.width, height: externalFile.height }),\n )\n .with([P.any, P.not(P.nullish), P.any], ([, data]) => data.dimensions)\n .with([P.any, P.any, placeholder.src], () => placeholder.dimensions)\n .otherwise(() => null)\n const [measuredDimensions, setMeasuredDimensions] = useState<Dimensions | null>(null)\n const breakpoints = useBreakpoints()\n\n useEffect(() => {\n if (dataDimensions) return\n\n let cleanedUp = false\n\n loadImage(imageSrc)\n .then(image => {\n if (!cleanedUp) {\n setMeasuredDimensions({ width: image.naturalWidth, height: image.naturalHeight })\n }\n })\n .catch(console.error)\n\n return () => {\n cleanedUp = true\n }\n }, [dataDimensions, imageSrc])\n\n const dimensions = dataDimensions ?? measuredDimensions\n const Container = link ? Link : 'div'\n const containerClassName = cx(\n useStyle({ lineHeight: 0, overflow: 'hidden' }),\n useStyle(useResponsiveWidth(width, dimensions?.width)),\n useStyle(useResponsiveStyle([opacity] as const, ([opacity = 1]) => ({ opacity }))),\n margin,\n padding,\n border,\n borderRadius,\n boxShadow,\n className,\n )\n\n if (!dimensions) return null\n\n return (\n <Container link={link} ref={ref} id={id} className={containerClassName}>\n {nextMajorVersion < 13 ? (\n <NextLegacyImage\n layout=\"responsive\"\n src={imageSrc}\n sizes={imageSizes(breakpoints, width)}\n alt={altText}\n width={dimensions.width}\n height={dimensions.height}\n />\n ) : (\n <NextImage\n src={imageSrc}\n sizes={imageSizes(breakpoints, width)}\n alt={altText ?? ''}\n width={dimensions.width}\n height={dimensions.height}\n style={{\n width: '100%',\n height: 'auto',\n }}\n />\n )}\n </Container>\n )\n})\n\nexport default ImageComponent\n"],"names":["NextLegacyImage","NextImage","src","Promise","resolve","reject","image","Image","onload","onerror","breakpoints","width","baseDevice","find","breakpoint","maxWidth","baseWidth","findBreakpointOverride","id","baseWidthSize","value","unit","map","override","Math","min","filter","size","reduce","sourceSizes","sourceSize","ImageComponent","forwardRef","margin","padding","file","border","borderRadius","altText","link","opacity","boxShadow","placeholder","placeholders","className","ref","fileId","match","with","P","string","v","type","version","otherwise","fileData","useFile","imageSrc","any","not","nullish","publicUrl","url","dataDimensions","number","height","externalFile","data","dimensions","measuredDimensions","setMeasuredDimensions","useState","useBreakpoints","useEffect","cleanedUp","then","naturalWidth","naturalHeight","catch","console","error","Container","Link","containerClassName","cx","useStyle","lineHeight","overflow","useResponsiveWidth","useResponsiveStyle","nextMajorVersion","_jsx","imageSizes"],"mappings":"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"}
1
+ {"version":3,"file":"Image.cjs.js","sources":["../src/components/builtin/Image/Image.tsx"],"sourcesContent":["import { useState, useEffect, Ref, forwardRef } from 'react'\nimport NextImage from 'next/image'\nimport type NextLegacyImageType from 'next/legacy/image'\n\nimport {\n ElementIDValue,\n ImageValue,\n LinkValue,\n ResponsiveOpacityValue,\n TextInputValue,\n WidthValue,\n} from '../../../prop-controllers/descriptors'\nimport { Breakpoints, findBreakpointOverride } from '../../../state/modules/breakpoints'\nimport { placeholders } from '../../utils/placeholders'\nimport { Link } from '../../shared/Link'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useResponsiveStyle, useResponsiveWidth } from '../../utils/responsive-style'\nimport { useFile } from '../../../runtimes/react/hooks/makeswift-api'\nimport { major as nextMajorVersion } from '../../../next/next-version'\nimport { useBreakpoints } from '../../../runtimes/react'\nimport { match, P } from 'ts-pattern'\n\nconst NextLegacyImage = NextImage as typeof NextLegacyImageType\n\ntype Props = {\n id?: ElementIDValue\n file?: ImageValue\n altText?: TextInputValue\n link?: LinkValue\n width?: WidthValue\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n opacity?: ResponsiveOpacityValue\n placeholder?: { src: string; dimensions: { width: number; height: number } }\n className?: string\n priority?: boolean\n}\n\nfunction loadImage(src: string): Promise<HTMLImageElement> {\n return new Promise<HTMLImageElement>((resolve, reject) => {\n const image = new Image()\n\n image.onload = () => resolve(image)\n image.onerror = reject\n image.src = src\n })\n}\n\nfunction imageSizes(breakpoints: Breakpoints, width?: Props['width']): string {\n const baseDevice = breakpoints.find(breakpoint => breakpoint.maxWidth == null)\n const baseWidth = baseDevice && width && findBreakpointOverride(breakpoints, width, baseDevice.id)\n const baseWidthSize =\n baseWidth == null || baseWidth.value.unit !== 'px' ? '100vw' : `${baseWidth.value.value}px`\n\n return breakpoints\n .map(breakpoint => {\n const override = findBreakpointOverride(breakpoints, width, breakpoint.id)\n\n if (override == null || breakpoint.maxWidth == null || override.value.unit !== 'px') {\n return null\n }\n\n return `(max-width: ${breakpoint.maxWidth}px) ${Math.min(\n breakpoint.maxWidth,\n override.value.value,\n )}px`\n })\n .filter((size): size is NonNullable<typeof size> => size != null)\n .reduce((sourceSizes, sourceSize) => `${sourceSize}, ${sourceSizes}`, baseWidthSize)\n}\n\ntype Dimensions = {\n width: number\n height: number\n}\n\nconst ImageComponent = forwardRef(function Image(\n {\n id,\n width,\n margin,\n padding,\n file,\n border,\n borderRadius,\n altText,\n link,\n opacity,\n boxShadow,\n placeholder = placeholders.image,\n className,\n priority,\n }: Props,\n ref: Ref<HTMLAnchorElement & HTMLDivElement>,\n) {\n const fileId = match(file)\n .with(P.string, v => v)\n .with({ type: 'makeswift-file', version: 1 }, v => v.id)\n .otherwise(() => null)\n const fileData = useFile(fileId)\n const imageSrc = match([file, fileData])\n .with([P.any, P.not(P.nullish)], ([, fileData]) => fileData.publicUrl)\n .with([{ type: 'external-file', version: 1 }, P.any], ([file]) => file.url)\n .otherwise(() => placeholder.src)\n const dataDimensions = match([file, fileData, imageSrc])\n .with(\n [{ type: 'external-file', version: 1, width: P.number, height: P.number }, P.any, P.any],\n ([externalFile]) => ({ width: externalFile.width, height: externalFile.height }),\n )\n .with([P.any, P.not(P.nullish), P.any], ([, data]) => data.dimensions)\n .with([P.any, P.any, placeholder.src], () => placeholder.dimensions)\n .otherwise(() => null)\n const [measuredDimensions, setMeasuredDimensions] = useState<Dimensions | null>(null)\n const breakpoints = useBreakpoints()\n\n useEffect(() => {\n if (dataDimensions) return\n\n let cleanedUp = false\n\n loadImage(imageSrc)\n .then(image => {\n if (!cleanedUp) {\n setMeasuredDimensions({ width: image.naturalWidth, height: image.naturalHeight })\n }\n })\n .catch(console.error)\n\n return () => {\n cleanedUp = true\n }\n }, [dataDimensions, imageSrc])\n\n const dimensions = dataDimensions ?? measuredDimensions\n const Container = link ? Link : 'div'\n const containerClassName = cx(\n useStyle({ lineHeight: 0, overflow: 'hidden' }),\n useStyle(useResponsiveWidth(width, dimensions?.width)),\n useStyle(useResponsiveStyle([opacity] as const, ([opacity = 1]) => ({ opacity }))),\n margin,\n padding,\n border,\n borderRadius,\n boxShadow,\n className,\n )\n\n if (!dimensions) return null\n\n return (\n <Container link={link} ref={ref} id={id} className={containerClassName}>\n {nextMajorVersion < 13 ? (\n <NextLegacyImage\n layout=\"responsive\"\n src={imageSrc}\n sizes={imageSizes(breakpoints, width)}\n alt={altText}\n width={dimensions.width}\n height={dimensions.height}\n priority={priority}\n />\n ) : (\n <NextImage\n src={imageSrc}\n priority={priority}\n sizes={imageSizes(breakpoints, width)}\n alt={altText ?? ''}\n width={dimensions.width}\n height={dimensions.height}\n style={{\n width: '100%',\n height: 'auto',\n }}\n />\n )}\n </Container>\n )\n})\n\nexport default ImageComponent\n"],"names":["NextLegacyImage","NextImage","src","Promise","resolve","reject","image","Image","onload","onerror","breakpoints","width","baseDevice","find","breakpoint","maxWidth","baseWidth","findBreakpointOverride","id","baseWidthSize","value","unit","map","override","Math","min","filter","size","reduce","sourceSizes","sourceSize","ImageComponent","forwardRef","margin","padding","file","border","borderRadius","altText","link","opacity","boxShadow","placeholder","placeholders","className","priority","ref","fileId","match","with","P","string","v","type","version","otherwise","fileData","useFile","imageSrc","any","not","nullish","publicUrl","url","dataDimensions","number","height","externalFile","data","dimensions","measuredDimensions","setMeasuredDimensions","useState","useBreakpoints","useEffect","cleanedUp","then","naturalWidth","naturalHeight","catch","console","error","Container","Link","containerClassName","cx","useStyle","lineHeight","overflow","useResponsiveWidth","useResponsiveStyle","nextMajorVersion","_jsx","imageSizes"],"mappings":"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"}
package/dist/Image.es.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { forwardRef, useState, useEffect } from "react";
2
2
  import NextImage from "next/image";
3
- import { findBreakpointOverride } from "./state/breakpoints.es.js";
3
+ import { f as findBreakpointOverride } from "./breakpoints.es.js";
4
4
  import { p as placeholders } from "./placeholders.es.js";
5
5
  import { L as Link } from "./index.es3.js";
6
6
  import { cx } from "@emotion/css";
@@ -79,7 +79,8 @@ const ImageComponent = forwardRef(function Image2({
79
79
  opacity,
80
80
  boxShadow,
81
81
  placeholder = placeholders.image,
82
- className
82
+ className,
83
+ priority
83
84
  }, ref) {
84
85
  const fileId = match(file).with(P.string, (v) => v).with({
85
86
  type: "makeswift-file",
@@ -138,9 +139,11 @@ const ImageComponent = forwardRef(function Image2({
138
139
  sizes: imageSizes(breakpoints, width),
139
140
  alt: altText,
140
141
  width: dimensions.width,
141
- height: dimensions.height
142
+ height: dimensions.height,
143
+ priority
142
144
  }) : /* @__PURE__ */ jsx(NextImage, {
143
145
  src: imageSrc,
146
+ priority,
144
147
  sizes: imageSizes(breakpoints, width),
145
148
  alt: altText != null ? altText : "",
146
149
  width: dimensions.width,
@@ -1 +1 @@
1
- {"version":3,"file":"Image.es.js","sources":["../src/components/builtin/Image/Image.tsx"],"sourcesContent":["import { useState, useEffect, Ref, forwardRef } from 'react'\nimport NextImage from 'next/image'\nimport type NextLegacyImageType from 'next/legacy/image'\n\nimport {\n ElementIDValue,\n ImageValue,\n LinkValue,\n ResponsiveOpacityValue,\n TextInputValue,\n WidthValue,\n} from '../../../prop-controllers/descriptors'\nimport { Breakpoints, findBreakpointOverride } from '../../../state/modules/breakpoints'\nimport { placeholders } from '../../utils/placeholders'\nimport { Link } from '../../shared/Link'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useResponsiveStyle, useResponsiveWidth } from '../../utils/responsive-style'\nimport { useFile } from '../../../runtimes/react/hooks/makeswift-api'\nimport { major as nextMajorVersion } from '../../../next/next-version'\nimport { useBreakpoints } from '../../../runtimes/react'\nimport { match, P } from 'ts-pattern'\n\nconst NextLegacyImage = NextImage as typeof NextLegacyImageType\n\ntype Props = {\n id?: ElementIDValue\n file?: ImageValue\n altText?: TextInputValue\n link?: LinkValue\n width?: WidthValue\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n opacity?: ResponsiveOpacityValue\n placeholder?: { src: string; dimensions: { width: number; height: number } }\n className?: string\n}\n\nfunction loadImage(src: string): Promise<HTMLImageElement> {\n return new Promise<HTMLImageElement>((resolve, reject) => {\n const image = new Image()\n\n image.onload = () => resolve(image)\n image.onerror = reject\n image.src = src\n })\n}\n\nfunction imageSizes(breakpoints: Breakpoints, width?: Props['width']): string {\n const baseDevice = breakpoints.find(breakpoint => breakpoint.maxWidth == null)\n const baseWidth = baseDevice && width && findBreakpointOverride(breakpoints, width, baseDevice.id)\n const baseWidthSize =\n baseWidth == null || baseWidth.value.unit !== 'px' ? '100vw' : `${baseWidth.value.value}px`\n\n return breakpoints\n .map(breakpoint => {\n const override = findBreakpointOverride(breakpoints, width, breakpoint.id)\n\n if (override == null || breakpoint.maxWidth == null || override.value.unit !== 'px') {\n return null\n }\n\n return `(max-width: ${breakpoint.maxWidth}px) ${Math.min(\n breakpoint.maxWidth,\n override.value.value,\n )}px`\n })\n .filter((size): size is NonNullable<typeof size> => size != null)\n .reduce((sourceSizes, sourceSize) => `${sourceSize}, ${sourceSizes}`, baseWidthSize)\n}\n\ntype Dimensions = {\n width: number\n height: number\n}\n\nconst ImageComponent = forwardRef(function Image(\n {\n id,\n width,\n margin,\n padding,\n file,\n border,\n borderRadius,\n altText,\n link,\n opacity,\n boxShadow,\n placeholder = placeholders.image,\n className,\n }: Props,\n ref: Ref<HTMLAnchorElement & HTMLDivElement>,\n) {\n const fileId = match(file)\n .with(P.string, v => v)\n .with({ type: 'makeswift-file', version: 1 }, v => v.id)\n .otherwise(() => null)\n const fileData = useFile(fileId)\n const imageSrc = match([file, fileData])\n .with([P.any, P.not(P.nullish)], ([, fileData]) => fileData.publicUrl)\n .with([{ type: 'external-file', version: 1 }, P.any], ([file]) => file.url)\n .otherwise(() => placeholder.src)\n const dataDimensions = match([file, fileData, imageSrc])\n .with(\n [{ type: 'external-file', version: 1, width: P.number, height: P.number }, P.any, P.any],\n ([externalFile]) => ({ width: externalFile.width, height: externalFile.height }),\n )\n .with([P.any, P.not(P.nullish), P.any], ([, data]) => data.dimensions)\n .with([P.any, P.any, placeholder.src], () => placeholder.dimensions)\n .otherwise(() => null)\n const [measuredDimensions, setMeasuredDimensions] = useState<Dimensions | null>(null)\n const breakpoints = useBreakpoints()\n\n useEffect(() => {\n if (dataDimensions) return\n\n let cleanedUp = false\n\n loadImage(imageSrc)\n .then(image => {\n if (!cleanedUp) {\n setMeasuredDimensions({ width: image.naturalWidth, height: image.naturalHeight })\n }\n })\n .catch(console.error)\n\n return () => {\n cleanedUp = true\n }\n }, [dataDimensions, imageSrc])\n\n const dimensions = dataDimensions ?? measuredDimensions\n const Container = link ? Link : 'div'\n const containerClassName = cx(\n useStyle({ lineHeight: 0, overflow: 'hidden' }),\n useStyle(useResponsiveWidth(width, dimensions?.width)),\n useStyle(useResponsiveStyle([opacity] as const, ([opacity = 1]) => ({ opacity }))),\n margin,\n padding,\n border,\n borderRadius,\n boxShadow,\n className,\n )\n\n if (!dimensions) return null\n\n return (\n <Container link={link} ref={ref} id={id} className={containerClassName}>\n {nextMajorVersion < 13 ? (\n <NextLegacyImage\n layout=\"responsive\"\n src={imageSrc}\n sizes={imageSizes(breakpoints, width)}\n alt={altText}\n width={dimensions.width}\n height={dimensions.height}\n />\n ) : (\n <NextImage\n src={imageSrc}\n sizes={imageSizes(breakpoints, width)}\n alt={altText ?? ''}\n width={dimensions.width}\n height={dimensions.height}\n style={{\n width: '100%',\n height: 'auto',\n }}\n />\n )}\n </Container>\n )\n})\n\nexport default ImageComponent\n"],"names":["NextLegacyImage","NextImage","src","Promise","resolve","reject","image","Image","onload","onerror","breakpoints","width","baseDevice","find","breakpoint","maxWidth","baseWidth","findBreakpointOverride","id","baseWidthSize","value","unit","map","override","Math","min","filter","size","reduce","sourceSizes","sourceSize","ImageComponent","forwardRef","margin","padding","file","border","borderRadius","altText","link","opacity","boxShadow","placeholder","placeholders","className","ref","fileId","match","with","P","string","v","type","version","otherwise","fileData","useFile","imageSrc","any","not","nullish","publicUrl","url","dataDimensions","number","height","externalFile","data","dimensions","measuredDimensions","setMeasuredDimensions","useState","useBreakpoints","useEffect","cleanedUp","then","naturalWidth","naturalHeight","catch","console","error","Container","Link","containerClassName","cx","useStyle","lineHeight","overflow","useResponsiveWidth","useResponsiveStyle","nextMajorVersion","_jsx","imageSizes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAMA,kBAAkBC;AAkBxB,mBAAmBC,KAAwC;AAClD,SAAA,IAAIC,QAA0B,CAACC,SAASC,WAAW;AAClDC,UAAAA,QAAQ,IAAIC;AAEZC,UAAAA,SAAS,MAAMJ,QAAQE,KAAD;AAC5BA,UAAMG,UAAUJ;AAChBC,UAAMJ,MAAMA;AAAAA,EAAAA,CALP;AAOR;AAED,oBAAoBQ,aAA0BC,OAAgC;AAC5E,QAAMC,aAAaF,YAAYG,KAAKC,CAAcA,eAAAA,WAAWC,YAAY,IAAtD;AACnB,QAAMC,YAAYJ,cAAcD,SAASM,uBAAuBP,aAAaC,OAAOC,WAAWM,EAAhC;AACzDC,QAAAA,gBACJH,aAAa,QAAQA,UAAUI,MAAMC,SAAS,OAAO,UAAW,GAAEL,UAAUI,MAAMA;AAE7EV,SAAAA,YACJY,IAAIR,CAAc,eAAA;AACXS,UAAAA,WAAWN,uBAAuBP,aAAaC,OAAOG,WAAWI,EAAhC;AAEnCK,QAAAA,YAAY,QAAQT,WAAWC,YAAY,QAAQQ,SAASH,MAAMC,SAAS,MAAM;AAC5E,aAAA;AAAA,IACR;AAEO,WAAA,eAAcP,WAAWC,eAAeS,KAAKC,IACnDX,WAAWC,UACXQ,SAASH,MAAMA,KAF+B;AAAA,EAAA,CAR7C,EAaJM,OAAO,CAACC,SAA2CA,QAAQ,IAbvD,EAcJC,OAAO,CAACC,aAAaC,eAAgB,GAAEA,eAAeD,eAAeV,aAdjE;AAeR;AAOKY,MAAAA,iBAAiBC,WAAW,gBAChC;AAAA,EACEd;AAAAA,EACAP;AAAAA,EACAsB;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC,cAAcC,aAAarC;AAAAA,EAC3BsC;AAAAA,GAEFC,KACA;AACMC,QAAAA,SAASC,MAAMZ,IAAD,EACjBa,KAAKC,EAAEC,QAAQC,CAAAA,MAAKA,CADR,EAEZH,KAAK;AAAA,IAAEI,MAAM;AAAA,IAAkBC,SAAS;AAAA,EAAA,GAAKF,CAAKA,MAAAA,EAAEjC,EAFxC,EAGZoC,UAAU,MAAM,IAHJ;AAITC,QAAAA,WAAWC,QAAQV,MAAD;AAClBW,QAAAA,WAAWV,MAAM,CAACZ,MAAMoB,QAAP,CAAD,EACnBP,KAAK,CAACC,EAAES,KAAKT,EAAEU,IAAIV,EAAEW,OAAR,CAAR,GAA2B,CAAC,CAAA,EAAGL,eAAcA,UAASM,SAD7C,EAEdb,KAAK,CAAC;AAAA,IAAEI,MAAM;AAAA,IAAiBC,SAAS;AAAA,EAAKJ,GAAAA,EAAES,GAA1C,GAAgD,CAAC,CAACvB,WAAUA,MAAK2B,GAFxD,EAGdR,UAAU,MAAMZ,YAAYxC,GAHd;AAIX6D,QAAAA,iBAAiBhB,MAAM,CAACZ,MAAMoB,UAAUE,QAAjB,CAAD,EACzBT,KACC,CAAC;AAAA,IAAEI,MAAM;AAAA,IAAiBC,SAAS;AAAA,IAAG1C,OAAOsC,EAAEe;AAAAA,IAAQC,QAAQhB,EAAEe;AAAAA,EAAAA,GAAUf,EAAES,KAAKT,EAAES,GAApF,GACA,CAAC,CAACQ,kBAAmB;AAAA,IAAEvD,OAAOuD,aAAavD;AAAAA,IAAOsD,QAAQC,aAAaD;AAAAA,EAAAA,EAHpD,EAKpBjB,KAAK,CAACC,EAAES,KAAKT,EAAEU,IAAIV,EAAEW,OAAR,GAAkBX,EAAES,GAA5B,GAAkC,CAAC,CAAA,EAAGS,UAAUA,KAAKC,UALtC,EAMpBpB,KAAK,CAACC,EAAES,KAAKT,EAAES,KAAKhB,YAAYxC,GAA3B,GAAiC,MAAMwC,YAAY0B,UANpC,EAOpBd,UAAU,MAAM,IAPI;AAQvB,QAAM,CAACe,oBAAoBC,yBAAyBC,SAA4B,IAApB;AACtD7D,QAAAA,cAAc8D;AAEpBC,YAAU,MAAM;AACVV,QAAAA;AAAgB;AAEhBW,QAAAA,YAAY;AAENjB,cAAAA,QAAD,EACNkB,KAAKrE,CAAS,UAAA;AACT,UAAA,CAACoE,WAAW;AACQ,8BAAA;AAAA,UAAE/D,OAAOL,MAAMsE;AAAAA,UAAcX,QAAQ3D,MAAMuE;AAAAA,QAAAA,CAA5C;AAAA,MACtB;AAAA,IAJL,CAAA,EAMGC,MAAMC,QAAQC,KANjB;AAQA,WAAO,MAAM;AACC,kBAAA;AAAA,IAAA;AAAA,EADd,GAGC,CAACjB,gBAAgBN,QAAjB,CAhBM;AAkBT,QAAMW,aAAaL,0CAAkBM;AAC/BY,QAAAA,YAAY1C,OAAO2C,OAAO;AAC1BC,QAAAA,qBAAqBC,GACzBC,SAAS;AAAA,IAAEC,YAAY;AAAA,IAAGC,UAAU;AAAA,EAAA,CAA5B,GACRF,SAASG,mBAAmB7E,OAAOyD,yCAAYzD,KAApB,CAAnB,GACR0E,SAASI,mBAAmB,CAACjD,OAAD,GAAoB,CAAC,CAACA,WAAU,OAAQ;AAAA,IAAEA,SAAAA;AAAAA,EAAAA,EAA3C,CAAnB,GACRP,QACAC,SACAE,QACAC,cACAI,WACAG,SAT2B;AAY7B,MAAI,CAACwB;AAAmB,WAAA;AAExB,6BACG,WAAD;AAAA,IAAW;AAAA,IAAY;AAAA,IAAU;AAAA,IAAQ,WAAWe;AAAAA,IAApD,UACGO,QAAmB,KAClBC,oBAAC,iBAAD;AAAA,MACE,QAAO;AAAA,MACP,KAAKlC;AAAAA,MACL,OAAOmC,WAAWlF,aAAaC,KAAd;AAAA,MACjB,KAAK2B;AAAAA,MACL,OAAO8B,WAAWzD;AAAAA,MAClB,QAAQyD,WAAWH;AAAAA,IAAAA,CAPtB,IAUC0B,oBAAC,WAAD;AAAA,MACE,KAAKlC;AAAAA,MACL,OAAOmC,WAAWlF,aAAaC,KAAd;AAAA,MACjB,KAAK2B,4BAAW;AAAA,MAChB,OAAO8B,WAAWzD;AAAAA,MAClB,QAAQyD,WAAWH;AAAAA,MACnB,OAAO;AAAA,QACLtD,OAAO;AAAA,QACPsD,QAAQ;AAAA,MAFH;AAAA,IAAA,CANT;AAAA,EAAA,CAZN;AA0BD,CAlGgC;;"}
1
+ {"version":3,"file":"Image.es.js","sources":["../src/components/builtin/Image/Image.tsx"],"sourcesContent":["import { useState, useEffect, Ref, forwardRef } from 'react'\nimport NextImage from 'next/image'\nimport type NextLegacyImageType from 'next/legacy/image'\n\nimport {\n ElementIDValue,\n ImageValue,\n LinkValue,\n ResponsiveOpacityValue,\n TextInputValue,\n WidthValue,\n} from '../../../prop-controllers/descriptors'\nimport { Breakpoints, findBreakpointOverride } from '../../../state/modules/breakpoints'\nimport { placeholders } from '../../utils/placeholders'\nimport { Link } from '../../shared/Link'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useResponsiveStyle, useResponsiveWidth } from '../../utils/responsive-style'\nimport { useFile } from '../../../runtimes/react/hooks/makeswift-api'\nimport { major as nextMajorVersion } from '../../../next/next-version'\nimport { useBreakpoints } from '../../../runtimes/react'\nimport { match, P } from 'ts-pattern'\n\nconst NextLegacyImage = NextImage as typeof NextLegacyImageType\n\ntype Props = {\n id?: ElementIDValue\n file?: ImageValue\n altText?: TextInputValue\n link?: LinkValue\n width?: WidthValue\n margin?: string\n padding?: string\n border?: string\n borderRadius?: string\n boxShadow?: string\n opacity?: ResponsiveOpacityValue\n placeholder?: { src: string; dimensions: { width: number; height: number } }\n className?: string\n priority?: boolean\n}\n\nfunction loadImage(src: string): Promise<HTMLImageElement> {\n return new Promise<HTMLImageElement>((resolve, reject) => {\n const image = new Image()\n\n image.onload = () => resolve(image)\n image.onerror = reject\n image.src = src\n })\n}\n\nfunction imageSizes(breakpoints: Breakpoints, width?: Props['width']): string {\n const baseDevice = breakpoints.find(breakpoint => breakpoint.maxWidth == null)\n const baseWidth = baseDevice && width && findBreakpointOverride(breakpoints, width, baseDevice.id)\n const baseWidthSize =\n baseWidth == null || baseWidth.value.unit !== 'px' ? '100vw' : `${baseWidth.value.value}px`\n\n return breakpoints\n .map(breakpoint => {\n const override = findBreakpointOverride(breakpoints, width, breakpoint.id)\n\n if (override == null || breakpoint.maxWidth == null || override.value.unit !== 'px') {\n return null\n }\n\n return `(max-width: ${breakpoint.maxWidth}px) ${Math.min(\n breakpoint.maxWidth,\n override.value.value,\n )}px`\n })\n .filter((size): size is NonNullable<typeof size> => size != null)\n .reduce((sourceSizes, sourceSize) => `${sourceSize}, ${sourceSizes}`, baseWidthSize)\n}\n\ntype Dimensions = {\n width: number\n height: number\n}\n\nconst ImageComponent = forwardRef(function Image(\n {\n id,\n width,\n margin,\n padding,\n file,\n border,\n borderRadius,\n altText,\n link,\n opacity,\n boxShadow,\n placeholder = placeholders.image,\n className,\n priority,\n }: Props,\n ref: Ref<HTMLAnchorElement & HTMLDivElement>,\n) {\n const fileId = match(file)\n .with(P.string, v => v)\n .with({ type: 'makeswift-file', version: 1 }, v => v.id)\n .otherwise(() => null)\n const fileData = useFile(fileId)\n const imageSrc = match([file, fileData])\n .with([P.any, P.not(P.nullish)], ([, fileData]) => fileData.publicUrl)\n .with([{ type: 'external-file', version: 1 }, P.any], ([file]) => file.url)\n .otherwise(() => placeholder.src)\n const dataDimensions = match([file, fileData, imageSrc])\n .with(\n [{ type: 'external-file', version: 1, width: P.number, height: P.number }, P.any, P.any],\n ([externalFile]) => ({ width: externalFile.width, height: externalFile.height }),\n )\n .with([P.any, P.not(P.nullish), P.any], ([, data]) => data.dimensions)\n .with([P.any, P.any, placeholder.src], () => placeholder.dimensions)\n .otherwise(() => null)\n const [measuredDimensions, setMeasuredDimensions] = useState<Dimensions | null>(null)\n const breakpoints = useBreakpoints()\n\n useEffect(() => {\n if (dataDimensions) return\n\n let cleanedUp = false\n\n loadImage(imageSrc)\n .then(image => {\n if (!cleanedUp) {\n setMeasuredDimensions({ width: image.naturalWidth, height: image.naturalHeight })\n }\n })\n .catch(console.error)\n\n return () => {\n cleanedUp = true\n }\n }, [dataDimensions, imageSrc])\n\n const dimensions = dataDimensions ?? measuredDimensions\n const Container = link ? Link : 'div'\n const containerClassName = cx(\n useStyle({ lineHeight: 0, overflow: 'hidden' }),\n useStyle(useResponsiveWidth(width, dimensions?.width)),\n useStyle(useResponsiveStyle([opacity] as const, ([opacity = 1]) => ({ opacity }))),\n margin,\n padding,\n border,\n borderRadius,\n boxShadow,\n className,\n )\n\n if (!dimensions) return null\n\n return (\n <Container link={link} ref={ref} id={id} className={containerClassName}>\n {nextMajorVersion < 13 ? (\n <NextLegacyImage\n layout=\"responsive\"\n src={imageSrc}\n sizes={imageSizes(breakpoints, width)}\n alt={altText}\n width={dimensions.width}\n height={dimensions.height}\n priority={priority}\n />\n ) : (\n <NextImage\n src={imageSrc}\n priority={priority}\n sizes={imageSizes(breakpoints, width)}\n alt={altText ?? ''}\n width={dimensions.width}\n height={dimensions.height}\n style={{\n width: '100%',\n height: 'auto',\n }}\n />\n )}\n </Container>\n )\n})\n\nexport default ImageComponent\n"],"names":["NextLegacyImage","NextImage","src","Promise","resolve","reject","image","Image","onload","onerror","breakpoints","width","baseDevice","find","breakpoint","maxWidth","baseWidth","findBreakpointOverride","id","baseWidthSize","value","unit","map","override","Math","min","filter","size","reduce","sourceSizes","sourceSize","ImageComponent","forwardRef","margin","padding","file","border","borderRadius","altText","link","opacity","boxShadow","placeholder","placeholders","className","priority","ref","fileId","match","with","P","string","v","type","version","otherwise","fileData","useFile","imageSrc","any","not","nullish","publicUrl","url","dataDimensions","number","height","externalFile","data","dimensions","measuredDimensions","setMeasuredDimensions","useState","useBreakpoints","useEffect","cleanedUp","then","naturalWidth","naturalHeight","catch","console","error","Container","Link","containerClassName","cx","useStyle","lineHeight","overflow","useResponsiveWidth","useResponsiveStyle","nextMajorVersion","_jsx","imageSizes"],"mappings":"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"}
@@ -17,7 +17,7 @@ require("escape-html");
17
17
  require("slate-hyperscript");
18
18
  require("parse5");
19
19
  require("is-hotkey");
20
- require("./state/breakpoints.cjs.js");
20
+ require("./breakpoints.cjs.js");
21
21
  require("use-sync-external-store/shim");
22
22
  require("redux");
23
23
  require("redux-thunk");
@@ -15,7 +15,7 @@ import "escape-html";
15
15
  import "slate-hyperscript";
16
16
  import "parse5";
17
17
  import "is-hotkey";
18
- import "./state/breakpoints.es.js";
18
+ import "./breakpoints.es.js";
19
19
  import "use-sync-external-store/shim";
20
20
  import "redux";
21
21
  import "redux-thunk";
@@ -47,7 +47,7 @@ require("escape-html");
47
47
  require("slate-hyperscript");
48
48
  require("parse5");
49
49
  require("is-hotkey");
50
- require("./state/breakpoints.cjs.js");
50
+ require("./breakpoints.cjs.js");
51
51
  var index$1 = require("./index.cjs3.js");
52
52
  var useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect.cjs.js");
53
53
  var css = require("@emotion/css");
@@ -46,7 +46,7 @@ import "escape-html";
46
46
  import "slate-hyperscript";
47
47
  import "parse5";
48
48
  import "is-hotkey";
49
- import "./state/breakpoints.es.js";
49
+ import "./breakpoints.es.js";
50
50
  import { L as Link } from "./index.es3.js";
51
51
  import { u as useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect.es.js";
52
52
  import { keyframes, cx } from "@emotion/css";
@@ -28,7 +28,7 @@ var reactPage = require("./react-page.cjs.js");
28
28
  var immutable = require("immutable");
29
29
  var actions = require("./actions.cjs.js");
30
30
  var boxModels = require("./box-models.cjs.js");
31
- var state_breakpoints = require("./state/breakpoints.cjs.js");
31
+ var state_breakpoints = require("./breakpoints.cjs.js");
32
32
  var controlSerialization = require("./control-serialization.cjs.js");
33
33
  var jsxRuntime = require("react/jsx-runtime");
34
34
  require("use-sync-external-store/shim/with-selector");
@@ -27,7 +27,7 @@ import { c7 as getInitialState$3, c8 as reducer$4, c9 as getDocument$1, c as cre
27
27
  import { removeIn, setIn } from "immutable";
28
28
  import { A as ActionTypes, v as unregisterMeasurable, w as registerMeasurable, x as registerBuilderComponent, j as setBreakpoints, k as setLocale, y as changePathnameStart, z as changePathnameComplete, B as changeElementBoxModels, C as changeDocumentElementSize, D as handleWheel, E as handlePointerMove, F as elementFromPointChange, G as setIsInBuilder, H as unregisterBuilderComponent, I as unregisterPropControllers, J as registerPropControllers, K as registerPropControllersHandle, r as registerDocument, L as registerComponentHandle, M as messageBuilderPropController, N as registerDocumentEffect } from "./actions.es.js";
29
29
  import { i as isMeasurable, a as getMeasurables$1, b as getBoxModels$1, m as measure, d as getBoxModel$1, r as reducer$6 } from "./box-models.es.js";
30
- import { reducer as reducer$d } from "./state/breakpoints.es.js";
30
+ import { r as reducer$d } from "./breakpoints.es.js";
31
31
  import { a as serializeControls } from "./control-serialization.es.js";
32
32
  import { jsx } from "react/jsx-runtime";
33
33
  import "use-sync-external-store/shim/with-selector";
@@ -13,7 +13,7 @@ require("slate-hyperscript");
13
13
  require("parse5");
14
14
  require("is-hotkey");
15
15
  var jsxRuntime = require("react/jsx-runtime");
16
- require("./state/breakpoints.cjs.js");
16
+ require("./breakpoints.cjs.js");
17
17
  require("slate-react");
18
18
  var index = require("./index.cjs3.js");
19
19
  require("use-sync-external-store/shim/with-selector");
@@ -11,7 +11,7 @@ import "slate-hyperscript";
11
11
  import "parse5";
12
12
  import "is-hotkey";
13
13
  import { jsx, Fragment } from "react/jsx-runtime";
14
- import "./state/breakpoints.es.js";
14
+ import "./breakpoints.es.js";
15
15
  import "slate-react";
16
16
  import { L as Link } from "./index.es3.js";
17
17
  import "use-sync-external-store/shim/with-selector";
@@ -31,13 +31,13 @@ var next = require("./index.cjs.js");
31
31
  var jsxRuntime = require("react/jsx-runtime");
32
32
  require("redux");
33
33
  require("redux-thunk");
34
- require("./state/breakpoints.cjs.js");
35
- require("zod");
34
+ require("./breakpoints.cjs.js");
36
35
  require("corporate-ipsum");
37
36
  require("is-hotkey");
38
37
  require("@emotion/css");
39
38
  require("@emotion/serialize");
40
39
  require("@emotion/utils");
40
+ require("zod");
41
41
  require("./index.cjs3.js");
42
42
  require("scroll-into-view-if-needed");
43
43
  require("next/link");
@@ -29,13 +29,13 @@ import { T as ControlValue } from "./index.es.js";
29
29
  import { jsx, Fragment } from "react/jsx-runtime";
30
30
  import "redux";
31
31
  import "redux-thunk";
32
- import "./state/breakpoints.es.js";
33
- import "zod";
32
+ import "./breakpoints.es.js";
34
33
  import "corporate-ipsum";
35
34
  import "is-hotkey";
36
35
  import "@emotion/css";
37
36
  import "@emotion/serialize";
38
37
  import "@emotion/utils";
38
+ import "zod";
39
39
  import "./index.es3.js";
40
40
  import "scroll-into-view-if-needed";
41
41
  import "next/link";
package/dist/Root.cjs.js CHANGED
@@ -14,7 +14,7 @@ require("redux");
14
14
  require("redux-thunk");
15
15
  require("./actions.cjs.js");
16
16
  require("zod");
17
- require("./state/breakpoints.cjs.js");
17
+ require("./breakpoints.cjs.js");
18
18
  require("ts-pattern");
19
19
  require("corporate-ipsum");
20
20
  require("slate");
package/dist/Root.es.js CHANGED
@@ -13,7 +13,7 @@ import "redux";
13
13
  import "redux-thunk";
14
14
  import "./actions.es.js";
15
15
  import "zod";
16
- import "./state/breakpoints.es.js";
16
+ import "./breakpoints.es.js";
17
17
  import "ts-pattern";
18
18
  import "corporate-ipsum";
19
19
  import "slate";