@makeswift/runtime 0.9.12 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/dist/Box.cjs.js +3 -0
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js +4 -1
  4. package/dist/Box.es.js.map +1 -1
  5. package/dist/Button.cjs.js +3 -2
  6. package/dist/Button.cjs.js.map +1 -1
  7. package/dist/Button.es.js +4 -3
  8. package/dist/Button.es.js.map +1 -1
  9. package/dist/Carousel.cjs.js +3 -2
  10. package/dist/Carousel.cjs.js.map +1 -1
  11. package/dist/Carousel.es.js +4 -3
  12. package/dist/Carousel.es.js.map +1 -1
  13. package/dist/Countdown.cjs.js +3 -0
  14. package/dist/Countdown.cjs.js.map +1 -1
  15. package/dist/Countdown.es.js +4 -1
  16. package/dist/Countdown.es.js.map +1 -1
  17. package/dist/Divider.cjs.js +3 -0
  18. package/dist/Divider.cjs.js.map +1 -1
  19. package/dist/Divider.es.js +4 -1
  20. package/dist/Divider.es.js.map +1 -1
  21. package/dist/Embed.cjs.js +1 -0
  22. package/dist/Embed.cjs.js.map +1 -1
  23. package/dist/Embed.es.js +2 -1
  24. package/dist/Embed.es.js.map +1 -1
  25. package/dist/Form.cjs.js +13 -12
  26. package/dist/Form.cjs.js.map +1 -1
  27. package/dist/Form.es.js +5 -4
  28. package/dist/Form.es.js.map +1 -1
  29. package/dist/Image.cjs.js +11 -10
  30. package/dist/Image.cjs.js.map +1 -1
  31. package/dist/Image.es.js +11 -10
  32. package/dist/Image.es.js.map +1 -1
  33. package/dist/LiveProvider.cjs.js +3 -0
  34. package/dist/LiveProvider.cjs.js.map +1 -1
  35. package/dist/LiveProvider.es.js +5 -2
  36. package/dist/LiveProvider.es.js.map +1 -1
  37. package/dist/Navigation.cjs.js +11 -10
  38. package/dist/Navigation.cjs.js.map +1 -1
  39. package/dist/Navigation.es.js +11 -10
  40. package/dist/Navigation.es.js.map +1 -1
  41. package/dist/PreviewProvider.cjs.js +6 -3
  42. package/dist/PreviewProvider.cjs.js.map +1 -1
  43. package/dist/PreviewProvider.es.js +5 -2
  44. package/dist/PreviewProvider.es.js.map +1 -1
  45. package/dist/ReadOnlyText.cjs.js +19 -26
  46. package/dist/ReadOnlyText.cjs.js.map +1 -1
  47. package/dist/ReadOnlyText.es.js +15 -22
  48. package/dist/ReadOnlyText.es.js.map +1 -1
  49. package/dist/ReadOnlyTextV2.cjs.js +29 -26
  50. package/dist/ReadOnlyTextV2.cjs.js.map +1 -1
  51. package/dist/ReadOnlyTextV2.es.js +28 -25
  52. package/dist/ReadOnlyTextV2.es.js.map +1 -1
  53. package/dist/Root.cjs.js +3 -0
  54. package/dist/Root.cjs.js.map +1 -1
  55. package/dist/Root.es.js +4 -1
  56. package/dist/Root.es.js.map +1 -1
  57. package/dist/SocialLinks.cjs.js +6 -5
  58. package/dist/SocialLinks.cjs.js.map +1 -1
  59. package/dist/SocialLinks.es.js +7 -6
  60. package/dist/SocialLinks.es.js.map +1 -1
  61. package/dist/Text.cjs.js +12 -71
  62. package/dist/Text.cjs.js.map +1 -1
  63. package/dist/Text.es.js +13 -64
  64. package/dist/Text.es.js.map +1 -1
  65. package/dist/Video.cjs.js +1 -0
  66. package/dist/Video.cjs.js.map +1 -1
  67. package/dist/Video.es.js +2 -1
  68. package/dist/Video.es.js.map +1 -1
  69. package/dist/builder.cjs.js +2 -0
  70. package/dist/builder.cjs.js.map +1 -1
  71. package/dist/builder.es.js +2 -0
  72. package/dist/builder.es.js.map +1 -1
  73. package/dist/components.cjs.js +3 -2
  74. package/dist/components.cjs.js.map +1 -1
  75. package/dist/components.es.js +3 -2
  76. package/dist/components.es.js.map +1 -1
  77. package/dist/control-serialization.es.js +1 -1
  78. package/dist/controls.cjs.js +8 -8
  79. package/dist/controls.es.js +4 -2
  80. package/dist/controls.es.js.map +1 -1
  81. package/dist/index.cjs.js +276 -213
  82. package/dist/index.cjs.js.map +1 -1
  83. package/dist/index.cjs3.js +21 -107
  84. package/dist/index.cjs3.js.map +1 -1
  85. package/dist/index.cjs4.js +16 -57
  86. package/dist/index.cjs4.js.map +1 -1
  87. package/dist/index.cjs5.js +53 -242
  88. package/dist/index.cjs5.js.map +1 -1
  89. package/dist/index.cjs6.js +0 -41
  90. package/dist/index.cjs6.js.map +1 -1
  91. package/dist/index.cjs7.js +376 -14
  92. package/dist/index.cjs7.js.map +1 -1
  93. package/dist/index.cjs8.js +275 -11
  94. package/dist/index.cjs8.js.map +1 -1
  95. package/dist/index.es.js +270 -206
  96. package/dist/index.es.js.map +1 -1
  97. package/dist/index.es2.js +2 -2
  98. package/dist/index.es3.js +22 -103
  99. package/dist/index.es3.js.map +1 -1
  100. package/dist/index.es4.js +16 -57
  101. package/dist/index.es4.js.map +1 -1
  102. package/dist/index.es5.js +53 -240
  103. package/dist/index.es5.js.map +1 -1
  104. package/dist/index.es6.js +1 -36
  105. package/dist/index.es6.js.map +1 -1
  106. package/dist/index.es7.js +372 -16
  107. package/dist/index.es7.js.map +1 -1
  108. package/dist/index.es8.js +270 -10
  109. package/dist/index.es8.js.map +1 -1
  110. package/dist/main.cjs.js +2 -0
  111. package/dist/main.cjs.js.map +1 -1
  112. package/dist/main.es.js +2 -0
  113. package/dist/main.es.js.map +1 -1
  114. package/dist/next.cjs.js +3 -0
  115. package/dist/next.cjs.js.map +1 -1
  116. package/dist/next.es.js +4 -1
  117. package/dist/next.es.js.map +1 -1
  118. package/dist/prop-controllers.cjs.js +2 -0
  119. package/dist/prop-controllers.cjs.js.map +1 -1
  120. package/dist/prop-controllers.es.js +2 -0
  121. package/dist/prop-controllers.es.js.map +1 -1
  122. package/dist/react-page.cjs.js +1450 -65
  123. package/dist/react-page.cjs.js.map +1 -1
  124. package/dist/react-page.es.js +1427 -66
  125. package/dist/react-page.es.js.map +1 -1
  126. package/dist/react.cjs.js +3 -0
  127. package/dist/react.cjs.js.map +1 -1
  128. package/dist/react.es.js +3 -0
  129. package/dist/react.es.js.map +1 -1
  130. package/dist/slate.cjs.js +33 -391
  131. package/dist/slate.cjs.js.map +1 -1
  132. package/dist/slate.es.js +15 -376
  133. package/dist/slate.es.js.map +1 -1
  134. package/dist/text-input.cjs.js +0 -22
  135. package/dist/text-input.cjs.js.map +1 -1
  136. package/dist/text-input.es.js +1 -18
  137. package/dist/text-input.es.js.map +1 -1
  138. package/dist/types/src/components/builtin/Text/Text.d.ts +3 -4
  139. package/dist/types/src/components/builtin/Text/Text.d.ts.map +1 -1
  140. package/dist/types/src/components/builtin/Text/register.d.ts.map +1 -1
  141. package/dist/types/src/controls/rich-text/fixtures/v2-data-types.d.ts.map +1 -1
  142. package/dist/types/src/controls/rich-text/rich-text.d.ts +0 -1
  143. package/dist/types/src/controls/rich-text/rich-text.d.ts.map +1 -1
  144. package/dist/types/src/controls/rich-text/translation.d.ts.map +1 -1
  145. package/dist/types/src/controls/rich-text-v2/plugin.d.ts +29 -0
  146. package/dist/types/src/controls/rich-text-v2/plugin.d.ts.map +1 -0
  147. package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts +17 -31
  148. package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  149. package/dist/types/src/next/client.d.ts.map +1 -1
  150. package/dist/types/src/prop-controllers/descriptors.d.ts +1 -1
  151. package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
  152. package/dist/types/src/prop-controllers/introspection.d.ts.map +1 -1
  153. package/dist/types/src/runtimes/react/controls/control.d.ts +1 -1
  154. package/dist/types/src/runtimes/react/controls/control.d.ts.map +1 -1
  155. package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/EditableText/editable-text.d.ts +4 -3
  156. package/dist/types/src/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts.map +1 -0
  157. package/dist/types/src/runtimes/react/controls/rich-text/EditableText/index.d.ts.map +1 -0
  158. package/dist/types/src/runtimes/react/controls/rich-text/EditableText/useSyncDOMSelection.d.ts.map +1 -0
  159. package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/EditableText/useSyncWithBuilder.d.ts +1 -1
  160. package/dist/types/src/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.d.ts.map +1 -0
  161. package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/ReadOnlyText.d.ts +2 -2
  162. package/dist/types/src/runtimes/react/controls/rich-text/ReadOnlyText.d.ts.map +1 -0
  163. package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/Element/block.d.ts +1 -1
  164. package/dist/types/src/runtimes/react/controls/rich-text/components/Element/block.d.ts.map +1 -0
  165. package/dist/types/src/runtimes/react/controls/rich-text/components/Element/element.d.ts.map +1 -0
  166. package/dist/types/src/runtimes/react/controls/rich-text/components/Element/index.d.ts.map +1 -0
  167. package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/Element/inline.d.ts +1 -1
  168. package/dist/types/src/runtimes/react/controls/rich-text/components/Element/inline.d.ts.map +1 -0
  169. package/dist/types/src/runtimes/react/controls/rich-text/components/Leaf/index.d.ts.map +1 -0
  170. package/dist/types/src/runtimes/react/controls/rich-text/components/Leaf/leaf.d.ts.map +1 -0
  171. package/dist/types/src/runtimes/react/controls/rich-text/components/index.d.ts.map +1 -0
  172. package/dist/types/src/runtimes/react/controls/rich-text/index.d.ts +2 -0
  173. package/dist/types/src/runtimes/react/controls/rich-text/index.d.ts.map +1 -0
  174. package/dist/types/src/runtimes/react/controls/{rich-text.d.ts → rich-text/rich-text.d.ts} +1 -1
  175. package/dist/types/src/runtimes/react/controls/rich-text/rich-text.d.ts.map +1 -0
  176. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts.map +1 -1
  177. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts +2 -1
  178. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts.map +1 -1
  179. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts +2 -1
  180. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts.map +1 -1
  181. package/dist/types/src/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.d.ts.map +1 -1
  182. package/dist/types/src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts +2 -1
  183. package/dist/types/src/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
  184. package/dist/types/src/slate/BlockPlugin/index.d.ts +3 -3
  185. package/dist/types/src/slate/BlockPlugin/index.d.ts.map +1 -1
  186. package/dist/types/src/slate/InlineModePlugin/index.d.ts +6 -4
  187. package/dist/types/src/slate/InlineModePlugin/index.d.ts.map +1 -1
  188. package/dist/types/src/slate/InlinePlugin/index.d.ts +3 -3
  189. package/dist/types/src/slate/InlinePlugin/index.d.ts.map +1 -1
  190. package/dist/types/src/slate/InlinePlugin/types.d.ts +1 -1
  191. package/dist/types/src/slate/InlinePlugin/types.d.ts.map +1 -1
  192. package/dist/types/src/slate/LinkPlugin/index.d.ts +3 -3
  193. package/dist/types/src/slate/LinkPlugin/index.d.ts.map +1 -1
  194. package/dist/types/src/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts +16 -0
  195. package/dist/types/src/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts.map +1 -0
  196. package/dist/types/src/slate/TextAlignPlugin/index.d.ts +3 -3
  197. package/dist/types/src/slate/TypographyPlugin/index.d.ts +3 -3
  198. package/dist/types/src/slate/TypographyPlugin/index.d.ts.map +1 -1
  199. package/dist/types/src/slate/types.d.ts +1 -10
  200. package/dist/types/src/slate/types.d.ts.map +1 -1
  201. package/dist/types/src/slate/utils/element.d.ts.map +1 -1
  202. package/dist/types/src/state/modules/locales.d.ts.map +1 -1
  203. package/package.json +1 -1
  204. package/dist/index.cjs10.js +0 -390
  205. package/dist/index.cjs10.js.map +0 -1
  206. package/dist/index.cjs9.js +0 -295
  207. package/dist/index.cjs9.js.map +0 -1
  208. package/dist/index.es10.js +0 -383
  209. package/dist/index.es10.js.map +0 -1
  210. package/dist/index.es9.js +0 -288
  211. package/dist/index.es9.js.map +0 -1
  212. package/dist/types/src/components/builtin/Text/EditableText/editable-text.d.ts.map +0 -1
  213. package/dist/types/src/components/builtin/Text/EditableText/index.d.ts.map +0 -1
  214. package/dist/types/src/components/builtin/Text/EditableText/useSyncDOMSelection.d.ts.map +0 -1
  215. package/dist/types/src/components/builtin/Text/EditableText/useSyncWithBuilder.d.ts.map +0 -1
  216. package/dist/types/src/components/builtin/Text/ReadOnlyText.d.ts.map +0 -1
  217. package/dist/types/src/components/builtin/Text/components/Element/block.d.ts.map +0 -1
  218. package/dist/types/src/components/builtin/Text/components/Element/element.d.ts.map +0 -1
  219. package/dist/types/src/components/builtin/Text/components/Element/index.d.ts.map +0 -1
  220. package/dist/types/src/components/builtin/Text/components/Element/inline.d.ts.map +0 -1
  221. package/dist/types/src/components/builtin/Text/components/Leaf/index.d.ts.map +0 -1
  222. package/dist/types/src/components/builtin/Text/components/Leaf/leaf.d.ts.map +0 -1
  223. package/dist/types/src/components/builtin/Text/components/index.d.ts.map +0 -1
  224. package/dist/types/src/runtimes/react/controls/rich-text.d.ts.map +0 -1
  225. package/dist/types.cjs2.js +0 -765
  226. package/dist/types.cjs2.js.map +0 -1
  227. package/dist/types.es2.js +0 -748
  228. package/dist/types.es2.js.map +0 -1
  229. /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/EditableText/index.d.ts +0 -0
  230. /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/EditableText/useSyncDOMSelection.d.ts +0 -0
  231. /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/Element/element.d.ts +0 -0
  232. /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/Element/index.d.ts +0 -0
  233. /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/Leaf/index.d.ts +0 -0
  234. /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/Leaf/leaf.d.ts +0 -0
  235. /package/dist/types/src/{components/builtin/Text → runtimes/react/controls/rich-text}/components/index.d.ts +0 -0
@@ -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'\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 fileData = useFile(file ?? null)\n const imageSrc = fileData?.publicUrl ? fileData.publicUrl : placeholder.src\n const dataDimensions = fileData?.publicUrl ? fileData?.dimensions : placeholder.dimensions\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","fileData","useFile","imageSrc","publicUrl","dataDimensions","dimensions","measuredDimensions","setMeasuredDimensions","useState","useBreakpoints","useEffect","cleanedUp","then","naturalWidth","height","naturalHeight","catch","console","error","Container","Link","containerClassName","cx","useStyle","lineHeight","overflow","useResponsiveWidth","useResponsiveStyle","nextMajorVersion","_jsx","imageSizes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAMA,kBAAkBC,mBAAAA;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,kBAAAA,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,kBAAAA,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,MAAAA,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;AAAAA,EAC3BsC;AAAAA,GAEFC,KACA;AACMC,QAAAA,WAAWC,KAAAA,QAAQZ,sBAAQ,IAAT;AACxB,QAAMa,WAAWF,sCAAUG,aAAYH,SAASG,YAAYP,YAAYxC;AACxE,QAAMgD,iBAAiBJ,sCAAUG,aAAYH,qCAAUK,aAAaT,YAAYS;AAChF,QAAM,CAACC,oBAAoBC,yBAAyBC,MAAAA,SAA4B,IAApB;AACtD5C,QAAAA,cAAc6C,KAAAA;AAEpBC,QAAAA,UAAU,MAAM;AACVN,QAAAA;AAAgB;AAEhBO,QAAAA,YAAY;AAENT,cAAAA,QAAD,EACNU,KAAKpD,CAAS,UAAA;AACT,UAAA,CAACmD,WAAW;AACQ,8BAAA;AAAA,UAAE9C,OAAOL,MAAMqD;AAAAA,UAAcC,QAAQtD,MAAMuD;AAAAA,QAAAA,CAA5C;AAAA,MACtB;AAAA,IAJL,CAAA,EAMGC,MAAMC,QAAQC,KANjB;AAQA,WAAO,MAAM;AACC,kBAAA;AAAA,IAAA;AAAA,EADd,GAGC,CAACd,gBAAgBF,QAAjB,CAhBM;AAkBT,QAAMG,aAAaD,0CAAkBE;AAC/Ba,QAAAA,YAAY1B,OAAO2B,MAAO,OAAA;AAC1BC,QAAAA,qBAAqBC,OACzBC,mBAAS;AAAA,IAAEC,YAAY;AAAA,IAAGC,UAAU;AAAA,EAAA,CAA5B,GACRF,UAAAA,SAASG,KAAmB7D,mBAAAA,OAAOwC,yCAAYxC,KAApB,CAAnB,GACR0D,UAAAA,SAASI,wBAAmB,CAACjC,OAAD,GAAoB,CAAC,CAACA,WAAU,OAAQ;AAAA,IAAEA,SAAAA;AAAAA,EAAAA,EAA3C,CAAnB,GACRP,QACAC,SACAE,QACAC,cACAI,WACAG,SAT2B;AAY7B,MAAI,CAACO;AAAmB,WAAA;AAExB,wCACG,WAAD;AAAA,IAAW;AAAA,IAAY;AAAA,IAAU;AAAA,IAAQ,WAAWgB;AAAAA,IAApD,UACGO,YAAAA,QAAmB,KAClBC,2BAAAA,IAAC,iBAAD;AAAA,MACE,QAAO;AAAA,MACP,KAAK3B;AAAAA,MACL,OAAO4B,WAAWlE,aAAaC,KAAd;AAAA,MACjB,KAAK2B;AAAAA,MACL,OAAOa,WAAWxC;AAAAA,MAClB,QAAQwC,WAAWS;AAAAA,IAAAA,CAPtB,IAUCe,2BAAA,IAAC1E,+BAAD;AAAA,MACE,KAAK+C;AAAAA,MACL,OAAO4B,WAAWlE,aAAaC,KAAd;AAAA,MACjB,KAAK2B,4BAAW;AAAA,MAChB,OAAOa,WAAWxC;AAAAA,MAClB,QAAQwC,WAAWS;AAAAA,MACnB,OAAO;AAAA,QACLjD,OAAO;AAAA,QACPiD,QAAQ;AAAA,MAFH;AAAA,IAAA,CANT;AAAA,EAAA,CAZN;AA0BD,CApFgC;;"}
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'\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 fileData = useFile(file ?? null)\n const imageSrc = fileData?.publicUrl ? fileData.publicUrl : placeholder.src\n const dataDimensions = fileData?.publicUrl ? fileData?.dimensions : placeholder.dimensions\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","fileData","useFile","imageSrc","publicUrl","dataDimensions","dimensions","measuredDimensions","setMeasuredDimensions","useState","useBreakpoints","useEffect","cleanedUp","then","naturalWidth","height","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
@@ -2,30 +2,26 @@ import { forwardRef, useState, useEffect } from "react";
2
2
  import NextImage from "next/image";
3
3
  import { findBreakpointOverride } from "./state/breakpoints.es.js";
4
4
  import { p as placeholders } from "./placeholders.es.js";
5
- import { L as Link } from "./index.es3.js";
5
+ import { z as useFile, r as useBreakpoints, o as useResponsiveWidth, n as useResponsiveStyle, L as Link } from "./index.es.js";
6
6
  import { cx } from "@emotion/css";
7
- import { U as useStyle } from "./react-page.es.js";
8
- import { z as useFile, r as useBreakpoints, o as useResponsiveWidth, n as useResponsiveStyle } from "./index.es.js";
7
+ import { _ as useStyle } from "./react-page.es.js";
9
8
  import { m as major } from "./next-version.es.js";
10
9
  import { jsx } from "react/jsx-runtime";
11
10
  import "./actions.es.js";
12
11
  import "zod";
13
- import "scroll-into-view-if-needed";
14
- import "next/link";
15
- import "redux";
16
- import "redux-thunk";
17
- import "@emotion/serialize";
18
- import "@emotion/utils";
19
- import "slate";
20
12
  import "use-sync-external-store/shim/with-selector";
21
13
  import "next/dynamic";
22
14
  import "./text-input.es.js";
23
15
  import "./combobox.es.js";
16
+ import "slate";
24
17
  import "use-sync-external-store/shim";
18
+ import "redux";
19
+ import "redux-thunk";
25
20
  import "./types.es.js";
26
21
  import "./box-models.es.js";
27
22
  import "css-box-model";
28
23
  import "color";
24
+ import "scroll-into-view-if-needed";
29
25
  import "react-dom";
30
26
  import "html-react-parser";
31
27
  import "next/head";
@@ -39,6 +35,11 @@ import "set-cookie-parser";
39
35
  import "./constants.es.js";
40
36
  import "uuid";
41
37
  import "corporate-ipsum";
38
+ import "is-hotkey";
39
+ import "slate-react";
40
+ import "next/link";
41
+ import "@emotion/serialize";
42
+ import "@emotion/utils";
42
43
  import "next/package.json";
43
44
  const NextLegacyImage = NextImage;
44
45
  function loadImage(src) {
@@ -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'\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 fileData = useFile(file ?? null)\n const imageSrc = fileData?.publicUrl ? fileData.publicUrl : placeholder.src\n const dataDimensions = fileData?.publicUrl ? fileData?.dimensions : placeholder.dimensions\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","fileData","useFile","imageSrc","publicUrl","dataDimensions","dimensions","measuredDimensions","setMeasuredDimensions","useState","useBreakpoints","useEffect","cleanedUp","then","naturalWidth","height","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.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'\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 fileData = useFile(file ?? null)\n const imageSrc = fileData?.publicUrl ? fileData.publicUrl : placeholder.src\n const dataDimensions = fileData?.publicUrl ? fileData?.dimensions : placeholder.dimensions\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","fileData","useFile","imageSrc","publicUrl","dataDimensions","dimensions","measuredDimensions","setMeasuredDimensions","useState","useBreakpoints","useEffect","cleanedUp","then","naturalWidth","height","naturalHeight","catch","console","error","Container","Link","containerClassName","cx","useStyle","lineHeight","overflow","useResponsiveWidth","useResponsiveStyle","nextMajorVersion","_jsx","imageSizes"],"mappings":"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"}
@@ -34,6 +34,9 @@ require("set-cookie-parser");
34
34
  require("./constants.cjs.js");
35
35
  require("uuid");
36
36
  require("corporate-ipsum");
37
+ require("is-hotkey");
38
+ require("slate-react");
39
+ require("next/link");
37
40
  require("@emotion/serialize");
38
41
  require("@emotion/utils");
39
42
  function LiveProvider({
@@ -1 +1 @@
1
- {"version":3,"file":"LiveProvider.cjs.js","sources":["../src/runtimes/react/components/LiveProvider.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\n\nimport { StoreContext, ReactRuntime } from '..'\nimport * as ReactPage from '../../../state/react-page'\nimport { MakeswiftProvider, MakeswiftClient } from '../../../api/react'\n\ntype Props = {\n client: MakeswiftClient\n rootElements?: Map<string, ReactPage.Element>\n children?: ReactNode\n runtime?: ReactRuntime\n}\n\nexport default function LiveProvider({\n client,\n children,\n rootElements,\n runtime,\n}: Props): JSX.Element {\n const store = useMemo(\n () =>\n ReactPage.configureStore({\n preloadedState: runtime ? runtime.store.getState() : ReactRuntime.store.getState(),\n rootElements,\n }),\n [rootElements, runtime],\n )\n\n return (\n <StoreContext.Provider value={store}>\n <MakeswiftProvider client={client}>{children}</MakeswiftProvider>\n </StoreContext.Provider>\n )\n}\n"],"names":["client","children","rootElements","runtime","store","useMemo","ReactPage","preloadedState","getState","ReactRuntime","_jsx","StoreContext","MakeswiftProvider"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaqC,sBAAA;AAAA,EACnCA;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,GACqB;AACfC,QAAAA,QAAQC,cACZ,MACEC,yBAAyB;AAAA,IACvBC,gBAAgBJ,UAAUA,QAAQC,MAAMI,aAAaC,KAAAA,aAAaL,MAAMI,SADjD;AAAA,IAEvBN;AAAAA,EAFF,CAAA,GAIF,CAACA,cAAcC,OAAf,CANmB;AAUnB,SAAAO,2BAAA,IAACC,kBAAa,UAAd;AAAA,IAAuB,OAAOP;AAAAA,IAA9B,yCACGQ,wBAAD;AAAA,MAAmB;AAAA,MAAiBX;AAAAA,IAAAA,CAApC;AAAA,EAAA,CAFJ;AAKD;;"}
1
+ {"version":3,"file":"LiveProvider.cjs.js","sources":["../src/runtimes/react/components/LiveProvider.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\n\nimport { StoreContext, ReactRuntime } from '..'\nimport * as ReactPage from '../../../state/react-page'\nimport { MakeswiftProvider, MakeswiftClient } from '../../../api/react'\n\ntype Props = {\n client: MakeswiftClient\n rootElements?: Map<string, ReactPage.Element>\n children?: ReactNode\n runtime?: ReactRuntime\n}\n\nexport default function LiveProvider({\n client,\n children,\n rootElements,\n runtime,\n}: Props): JSX.Element {\n const store = useMemo(\n () =>\n ReactPage.configureStore({\n preloadedState: runtime ? runtime.store.getState() : ReactRuntime.store.getState(),\n rootElements,\n }),\n [rootElements, runtime],\n )\n\n return (\n <StoreContext.Provider value={store}>\n <MakeswiftProvider client={client}>{children}</MakeswiftProvider>\n </StoreContext.Provider>\n )\n}\n"],"names":["client","children","rootElements","runtime","store","useMemo","ReactPage","preloadedState","getState","ReactRuntime","_jsx","StoreContext","MakeswiftProvider"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaqC,sBAAA;AAAA,EACnCA;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,GACqB;AACfC,QAAAA,QAAQC,cACZ,MACEC,yBAAyB;AAAA,IACvBC,gBAAgBJ,UAAUA,QAAQC,MAAMI,aAAaC,KAAAA,aAAaL,MAAMI,SADjD;AAAA,IAEvBN;AAAAA,EAFF,CAAA,GAIF,CAACA,cAAcC,OAAf,CANmB;AAUnB,SAAAO,2BAAA,IAACC,kBAAa,UAAd;AAAA,IAAuB,OAAOP;AAAAA,IAA9B,yCACGQ,wBAAD;AAAA,MAAmB;AAAA,MAAiBX;AAAAA,IAAAA,CAApC;AAAA,EAAA,CAFJ;AAKD;;"}
@@ -1,6 +1,6 @@
1
1
  import { useMemo } from "react";
2
- import { a as ReactRuntime, O as StoreContext, Q as MakeswiftProvider } from "./index.es.js";
3
- import { an as configureStore } from "./react-page.es.js";
2
+ import { a as ReactRuntime, I as StoreContext, M as MakeswiftProvider } from "./index.es.js";
3
+ import { at as configureStore } from "./react-page.es.js";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import "use-sync-external-store/shim/with-selector";
6
6
  import "next/dynamic";
@@ -32,6 +32,9 @@ import "set-cookie-parser";
32
32
  import "./constants.es.js";
33
33
  import "uuid";
34
34
  import "corporate-ipsum";
35
+ import "is-hotkey";
36
+ import "slate-react";
37
+ import "next/link";
35
38
  import "@emotion/serialize";
36
39
  import "@emotion/utils";
37
40
  function LiveProvider({
@@ -1 +1 @@
1
- {"version":3,"file":"LiveProvider.es.js","sources":["../src/runtimes/react/components/LiveProvider.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\n\nimport { StoreContext, ReactRuntime } from '..'\nimport * as ReactPage from '../../../state/react-page'\nimport { MakeswiftProvider, MakeswiftClient } from '../../../api/react'\n\ntype Props = {\n client: MakeswiftClient\n rootElements?: Map<string, ReactPage.Element>\n children?: ReactNode\n runtime?: ReactRuntime\n}\n\nexport default function LiveProvider({\n client,\n children,\n rootElements,\n runtime,\n}: Props): JSX.Element {\n const store = useMemo(\n () =>\n ReactPage.configureStore({\n preloadedState: runtime ? runtime.store.getState() : ReactRuntime.store.getState(),\n rootElements,\n }),\n [rootElements, runtime],\n )\n\n return (\n <StoreContext.Provider value={store}>\n <MakeswiftProvider client={client}>{children}</MakeswiftProvider>\n </StoreContext.Provider>\n )\n}\n"],"names":["client","children","rootElements","runtime","store","useMemo","ReactPage","preloadedState","getState","ReactRuntime","_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaqC,sBAAA;AAAA,EACnCA;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,GACqB;AACfC,QAAAA,QAAQC,QACZ,MACEC,eAAyB;AAAA,IACvBC,gBAAgBJ,UAAUA,QAAQC,MAAMI,aAAaC,aAAaL,MAAMI,SADjD;AAAA,IAEvBN;AAAAA,EAFF,CAAA,GAIF,CAACA,cAAcC,OAAf,CANmB;AAUnB,SAAAO,oBAAC,aAAa,UAAd;AAAA,IAAuB,OAAON;AAAAA,IAA9B,8BACG,mBAAD;AAAA,MAAmB;AAAA,MAAiBH;AAAAA,IAAAA,CAApC;AAAA,EAAA,CAFJ;AAKD;;"}
1
+ {"version":3,"file":"LiveProvider.es.js","sources":["../src/runtimes/react/components/LiveProvider.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\n\nimport { StoreContext, ReactRuntime } from '..'\nimport * as ReactPage from '../../../state/react-page'\nimport { MakeswiftProvider, MakeswiftClient } from '../../../api/react'\n\ntype Props = {\n client: MakeswiftClient\n rootElements?: Map<string, ReactPage.Element>\n children?: ReactNode\n runtime?: ReactRuntime\n}\n\nexport default function LiveProvider({\n client,\n children,\n rootElements,\n runtime,\n}: Props): JSX.Element {\n const store = useMemo(\n () =>\n ReactPage.configureStore({\n preloadedState: runtime ? runtime.store.getState() : ReactRuntime.store.getState(),\n rootElements,\n }),\n [rootElements, runtime],\n )\n\n return (\n <StoreContext.Provider value={store}>\n <MakeswiftProvider client={client}>{children}</MakeswiftProvider>\n </StoreContext.Provider>\n )\n}\n"],"names":["client","children","rootElements","runtime","store","useMemo","ReactPage","preloadedState","getState","ReactRuntime","_jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaqC,sBAAA;AAAA,EACnCA;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,GACqB;AACfC,QAAAA,QAAQC,QACZ,MACEC,eAAyB;AAAA,IACvBC,gBAAgBJ,UAAUA,QAAQC,MAAMI,aAAaC,aAAaL,MAAMI,SADjD;AAAA,IAEvBN;AAAAA,EAFF,CAAA,GAIF,CAACA,cAAcC,OAAf,CANmB;AAUnB,SAAAO,oBAAC,aAAa,UAAd;AAAA,IAAuB,OAAON;AAAAA,IAA9B,8BACG,mBAAD;AAAA,MAAmB;AAAA,MAAiBH;AAAAA,IAAAA,CAApC;AAAA,EAAA,CAFJ;AAKD;;"}
@@ -32,7 +32,7 @@ var __objRest = (source, exclude) => {
32
32
  };
33
33
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
34
34
  var React = require("react");
35
- var index = require("./index.cjs4.js");
35
+ var index = require("./index.cjs3.js");
36
36
  var Image = require("./Image.cjs.js");
37
37
  var Button = require("./Button.cjs.js");
38
38
  var reactPage = require("./react-page.cjs.js");
@@ -42,7 +42,6 @@ require("use-sync-external-store/shim");
42
42
  require("./actions.cjs.js");
43
43
  require("slate");
44
44
  require("./state/breakpoints.cjs.js");
45
- var index$1 = require("./index.cjs3.js");
46
45
  var useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect.cjs.js");
47
46
  var css = require("@emotion/css");
48
47
  require("next/image");
@@ -50,20 +49,17 @@ require("./placeholders.cjs.js");
50
49
  require("./next-version.cjs.js");
51
50
  require("next/package.json");
52
51
  require("zod");
53
- require("scroll-into-view-if-needed");
54
- require("next/link");
55
- require("redux");
56
- require("redux-thunk");
57
- require("@emotion/serialize");
58
- require("@emotion/utils");
59
52
  require("use-sync-external-store/shim/with-selector");
60
53
  require("next/dynamic");
61
54
  require("./text-input.cjs.js");
62
55
  require("./combobox.cjs.js");
56
+ require("redux");
57
+ require("redux-thunk");
63
58
  require("./types.cjs.js");
64
59
  require("./box-models.cjs.js");
65
60
  require("css-box-model");
66
61
  require("color");
62
+ require("scroll-into-view-if-needed");
67
63
  require("react-dom");
68
64
  require("html-react-parser");
69
65
  require("next/head");
@@ -77,6 +73,11 @@ require("set-cookie-parser");
77
73
  require("./constants.cjs.js");
78
74
  require("uuid");
79
75
  require("corporate-ipsum");
76
+ require("is-hotkey");
77
+ require("slate-react");
78
+ require("next/link");
79
+ require("@emotion/serialize");
80
+ require("@emotion/utils");
80
81
  function _interopNamespace(e) {
81
82
  if (e && e.__esModule)
82
83
  return e;
@@ -326,7 +327,7 @@ function DropDownItem$1(_e) {
326
327
  "textStyle"
327
328
  ]);
328
329
  const colorData = next.useResponsiveColor(color);
329
- return /* @__PURE__ */ jsxRuntime.jsx(index$1.Link, __spreadProps(__spreadValues({}, restOfProps), {
330
+ return /* @__PURE__ */ jsxRuntime.jsx(next.Link, __spreadProps(__spreadValues({}, restOfProps), {
330
331
  className: css.cx(reactPage.useStyle({
331
332
  display: "block",
332
333
  textDecoration: "none",
@@ -481,7 +482,7 @@ function DropDownItem(_m) {
481
482
  "textStyle"
482
483
  ]);
483
484
  const colorData = next.useResponsiveColor(color);
484
- return /* @__PURE__ */ jsxRuntime.jsx(index$1.Link, __spreadProps(__spreadValues({}, restOfProps), {
485
+ return /* @__PURE__ */ jsxRuntime.jsx(next.Link, __spreadProps(__spreadValues({}, restOfProps), {
485
486
  className: css.cx(reactPage.useStyle({
486
487
  textDecoration: "none",
487
488
  lineHeight: 1.4,
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.cjs.js","sources":["../src/components/icons/mobile-menu-28.svg","../src/components/builtin/Navigation/components/LinksPlaceholder/index.tsx","../src/components/icons/caret-down-8.svg","../src/components/icons/plus-8.svg","../src/components/icons/arrow-down-8.svg","../src/components/icons/chevron-down-8.svg","../src/components/builtin/Navigation/components/DropDownButton/index.tsx","../src/components/icons/times-16.svg","../src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.tsx","../src/components/builtin/Navigation/components/MobileMenu/index.tsx","../src/components/builtin/Navigation/Navigation.tsx"],"sourcesContent":["export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+CiAgPHBhdGggZD0iTTI3IDE1SDFhMSAxIDAgMCAxLTEtMSAxIDEgMCAwIDEgMS0xaDI2YTEgMSAwIDAgMSAxIDEgMSAxIDAgMCAxLTEgMXptMC0xMEgxYTEgMSAwIDAgMC0xIDEgMSAxIDAgMCAwIDEgMWgyNmExIDEgMCAwIDAgMS0xIDEgMSAwIDAgMC0xLTF6bTAgMTZIMWExIDEgMCAwIDAtMSAxIDEgMSAwIDAgMCAxIDFoMjZhMSAxIDAgMCAwIDEtMSAxIDEgMCAwIDAtMS0xeiIvPgo8L3N2Zz4=\"","import { ResponsiveLengthValue } from '../../../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\nimport GutterContainer from '../../../../shared/GutterContainer'\n\ntype PlaceholderLinkProps = {\n width: number\n button?: boolean\n}\n\nfunction PlaceholderLink({ width, button }: PlaceholderLinkProps) {\n return (\n <div\n className={useStyle({\n width,\n height: button === true ? 32 : 8,\n backgroundColor: '#a1a8c2',\n borderRadius: button === true ? 6 : 2,\n opacity: 0.4,\n })}\n />\n )\n}\n\ntype Props = { gutter?: ResponsiveLengthValue }\n\nconst links = [{ width: 50 }, { width: 70 }, { width: 60 }, { width: 80, button: true }]\n\nexport default function LinksPlaceholder({ gutter }: Props): JSX.Element {\n return (\n <>\n {links.map((link, i) => (\n <GutterContainer key={i} gutter={gutter} first={i === 0} last={i === links.length - 1}>\n <PlaceholderLink {...link} />\n </GutterContainer>\n ))}\n </>\n )\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xIDJhMSAxIDAgMCAwLS43MDcgMS43MDdsMyAzYTEgMSAwIDAgMCAxLjQxNCAwbDMtM0ExIDEgMCAwIDAgNyAySDF6Ii8+PC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik00IDBhMSAxIDAgMCAwLTEgMXYySDFhMSAxIDAgMSAwIDAgMmgydjJhMSAxIDAgMCAwIDIgMFY1aDJhMSAxIDAgMCAwIDAtMkg1VjFhMSAxIDAgMCAwLTEtMXoiLz48L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik01IDFhMSAxIDAgMCAwLTIgMHYzLjU4NmwtLjI5My0uMjkzYTEgMSAwIDAgMC0xLjQxNCAxLjQxNGwyIDJhMSAxIDAgMCAwIDEuNDE0IDBsMi0yYTEgMSAwIDAgMC0xLjQxNC0xLjQxNEw1IDQuNTg2VjF6Ii8+PC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNLjI5MyAyLjI5M2ExIDEgMCAwIDEgMS40MTQgMEw0IDQuNTg2bDIuMjkzLTIuMjkzYTEgMSAwIDAgMSAxLjQxNCAxLjQxNGwtMyAzYTEgMSAwIDAgMS0xLjQxNCAwbC0zLTNhMSAxIDAgMCAxIDAtMS40MTR6Ii8+PC9zdmc+\"","import { ComponentPropsWithoutRef, ForwardedRef, forwardRef, useRef, useState } from 'react'\n\nimport { ReactComponent as CaretDown8 } from '../../../../icons/caret-down-8.svg'\nimport { ReactComponent as Plus8 } from '../../../../icons/plus-8.svg'\nimport { ReactComponent as ArrowDown8 } from '../../../../icons/arrow-down-8.svg'\nimport { ReactComponent as ChevronDown8 } from '../../../../icons/chevron-down-8.svg'\nimport {\n ResponsiveColorValue,\n TextStyleValue,\n LinkValue,\n} from '../../../../../prop-controllers/descriptors'\nimport { colorToString } from '../../../../utils/colorToString'\nimport { useResponsiveColor } from '../../../../hooks'\n\nimport { Link } from '../../../../shared/Link'\nimport Button from '../../../Button'\nimport { useIsomorphicLayoutEffect } from '../../../../hooks/useIsomorphicLayoutEffect'\nimport { cx, keyframes } from '@emotion/css'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\nimport { useResponsiveStyle, useResponsiveTextStyle } from '../../../../utils/responsive-style'\n\nconst DROP_DOWN_MENU_WIDTH = 200\n\ntype Position = 'left' | 'right'\n\nconst DROP_DOWN_MENU_CLASS_NAME = 'drop-down-menu'\n\ntype DropDownMenuBaseProps = {\n position: Position\n}\n\ntype DropDownMenuProps = DropDownMenuBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof DropDownMenuBaseProps>\n\nfunction DropDownMenu({ className, position, ...restOfProps }: DropDownMenuProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n DROP_DOWN_MENU_CLASS_NAME,\n useStyle({\n position: 'absolute',\n top: '100%',\n left: position === 'left' ? 0 : 'auto',\n right: position === 'right' ? 0 : 'auto',\n background: '#fff',\n margin: 0,\n padding: '8px 0',\n borderRadius: 4,\n boxShadow: '0 3px 10px rgba(0, 0, 0, 0.15)',\n width: DROP_DOWN_MENU_WIDTH,\n zIndex: 99,\n listStyle: 'none',\n overflow: 'hidden',\n transformOrigin: '50% 0',\n willChange: 'transform, opacity',\n transformStyle: 'preserve-3d',\n display: 'none',\n }),\n className,\n )}\n />\n )\n}\n\nconst dropIn = keyframes`\n 0% {\n opacity: 0;\n transform: rotateX(-20deg);\n }\n 100% {\n opacity: 1;\n transform: none;\n }\n`\n\ntype DropDownContainerProps = ComponentPropsWithoutRef<'div'>\n\nconst DropDownContainer = forwardRef(function DropDownContainer(\n { className, ...restOfProps }: DropDownContainerProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({\n position: 'relative',\n [`&:hover .${DROP_DOWN_MENU_CLASS_NAME}`]: {\n display: 'block',\n animation: `${dropIn} 0.25s`,\n },\n }),\n className,\n )}\n />\n )\n})\n\ntype BaseDropDownItemProps = {\n className?: string\n color?: ResponsiveColorValue\n textStyle?: TextStyleValue\n}\n\ntype DropDownItemProps = BaseDropDownItemProps &\n Omit<ComponentPropsWithoutRef<typeof Link>, keyof BaseDropDownItemProps>\n\nfunction DropDownItem({ className, color, textStyle, ...restOfProps }: DropDownItemProps) {\n const colorData = useResponsiveColor(color)\n\n return (\n <Link\n {...restOfProps}\n className={cx(\n useStyle({\n display: 'block',\n textDecoration: 'none',\n lineHeight: 1.4,\n padding: '8px 16px',\n color: 'black',\n backgroundColor: 'transparent',\n transition: 'background-color 0.2s',\n }),\n useStyle(useResponsiveTextStyle(textStyle)),\n useStyle(\n useResponsiveStyle([colorData, textStyle] as const, ([color, textStyle = {}]) => {\n const fontSize = textStyle.fontSize || { value: 14, unit: 'px' }\n const fontWeight = textStyle.fontWeight == null ? 'normal' : textStyle.fontWeight\n const fontStyle = textStyle.fontStyle || []\n const letterSpacing = textStyle.letterSpacing == null ? null : textStyle.letterSpacing\n const textTransform = textStyle.textTransform || []\n\n return {\n color: color == null ? 'black' : colorToString(color),\n fontSize: `${fontSize.value}${fontSize.unit}`,\n fontWeight,\n fontStyle: fontStyle.includes('italic') ? 'italic' : 'normal',\n letterSpacing: letterSpacing == null ? 'normal' : `${letterSpacing}px`,\n textTransform: textTransform.includes('uppercase') ? 'uppercase' : 'none',\n }\n }),\n ),\n useStyle({\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.04)',\n },\n }),\n className,\n )}\n />\n )\n}\n\ntype Props = Omit<ComponentPropsWithoutRef<typeof Button>, 'textColor' | 'color'> & {\n label: string\n caret?: 'caret' | 'plus' | 'arrow-down' | 'chevron-down'\n links?: Array<{\n id: string\n payload: ComponentPropsWithoutRef<typeof DropDownItem> & {\n link?: LinkValue\n label: string\n }\n }>\n textColor?: ResponsiveColorValue\n color?: ResponsiveColorValue\n}\n\nexport default function DropDownButton({\n label,\n caret = 'caret',\n links = [],\n textColor,\n color,\n ...restOfProps\n}: Props): JSX.Element {\n const container = useRef<HTMLDivElement>(null)\n const [position, setPosition] = useState<Position>('left')\n\n useIsomorphicLayoutEffect(() => {\n if (\n container.current &&\n container.current.ownerDocument.defaultView!.innerWidth <\n container.current.offsetLeft + DROP_DOWN_MENU_WIDTH\n ) {\n setPosition('right')\n } else {\n setPosition('left')\n }\n }, [setPosition])\n\n return (\n <DropDownContainer ref={container}>\n <Button\n {...restOfProps}\n textColor={useResponsiveColor(textColor)}\n color={useResponsiveColor(color)}\n >\n <div style={{ display: 'flex', alignItems: 'center' }}>\n <span style={{ marginRight: 6 }}>{label}</span>\n <span style={{ display: 'inline-flex', fill: 'currentColor' }}>\n {caret === 'caret' && <CaretDown8 />}\n {caret === 'plus' && <Plus8 />}\n {caret === 'arrow-down' && <ArrowDown8 />}\n {caret === 'chevron-down' && <ChevronDown8 />}\n </span>\n </div>\n </Button>\n <DropDownMenu position={position}>\n {links.map(({ id, payload }) => (\n <DropDownItem {...payload} key={id}>\n {payload.label}\n </DropDownItem>\n ))}\n </DropDownMenu>\n </DropDownContainer>\n )\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy43MDcgMy43MDdhMSAxIDAgMCAwLTEuNDE0LTEuNDE0TDggNi41ODYgMy43MDcgMi4yOTNhMSAxIDAgMCAwLTEuNDE0IDEuNDE0TDYuNTg2IDhsLTQuMjkzIDQuMjkzYTEgMSAwIDEgMCAxLjQxNCAxLjQxNEw4IDkuNDE0bDQuMjkzIDQuMjkzYTEgMSAwIDAgMCAxLjQxNC0xLjQxNEw5LjQxNCA4bDQuMjkzLTQuMjkzWiIvPgo8L3N2Zz4=\"","import { ComponentPropsWithoutRef, useState } from 'react'\n\nimport {\n ResponsiveColorValue,\n TextStyleValue,\n LinkValue,\n} from '../../../../../../../prop-controllers/descriptors'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { useResponsiveColor } from '../../../../../../hooks'\n\nimport { ReactComponent as CaretDown8 } from '../../../../../../icons/caret-down-8.svg'\nimport { ReactComponent as Plus8 } from '../../../../../../icons/plus-8.svg'\nimport { ReactComponent as ArrowDown8 } from '../../../../../../icons/arrow-down-8.svg'\nimport { ReactComponent as ChevronDown8 } from '../../../../../../icons/chevron-down-8.svg'\n\nimport { Link } from '../../../../../../shared/Link'\nimport Button from '../../../../../Button'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\nimport {\n useResponsiveStyle,\n useResponsiveTextStyle,\n} from '../../../../../../utils/responsive-style'\n\ntype DropDownMenuBaseProps = {\n className?: string\n open: boolean\n}\n\ntype DropDownMenuProps = DropDownMenuBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof DropDownMenuBaseProps>\n\nfunction DropDownMenu({ className, open, ...restOfProps }: DropDownMenuProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({ display: open ? 'flex' : 'none', flexDirection: 'column', padding: 8 }),\n className,\n )}\n />\n )\n}\n\ntype ButtonLinkBaseProps = {\n className?: string\n}\n\ntype ButtonLinkProps = ButtonLinkBaseProps &\n Omit<ComponentPropsWithoutRef<typeof Button>, keyof ButtonLinkBaseProps>\n\nfunction ButtonLink({ className, ...restOfProps }: ButtonLinkProps) {\n return <Button {...restOfProps} className={cx(useStyle({ margin: '8px 0' }), className)} />\n}\n\ntype BaseDropDownItemProps = {\n className?: string\n color?: ResponsiveColorValue\n textStyle?: TextStyleValue\n}\n\ntype DropDownItemProps = BaseDropDownItemProps &\n Omit<ComponentPropsWithoutRef<typeof Link>, keyof BaseDropDownItemProps>\n\nfunction DropDownItem({ color, className, textStyle, ...restOfProps }: DropDownItemProps) {\n const colorData = useResponsiveColor(color)\n\n return (\n <Link\n {...restOfProps}\n className={cx(\n useStyle({\n textDecoration: 'none',\n lineHeight: 1.4,\n padding: '8px 16px',\n color: 'black',\n }),\n useStyle(useResponsiveTextStyle(textStyle)),\n useStyle(\n useResponsiveStyle([colorData] as const, ([color]) => ({\n color: color == null ? 'black' : colorToString(color),\n })),\n ),\n className,\n )}\n />\n )\n}\n\ntype Props = Omit<ComponentPropsWithoutRef<typeof Button>, 'textColor' | 'color'> & {\n label: string\n links?: Array<{\n id: string\n payload: ComponentPropsWithoutRef<typeof DropDownItem> & {\n link?: LinkValue\n label: string\n }\n }>\n onClose?: () => unknown\n caret?: string\n textColor?: ResponsiveColorValue\n color?: ResponsiveColorValue\n}\n\nexport default function MobileDropDownButton({\n label,\n caret,\n links = [],\n onClose = () => {},\n color,\n textColor,\n ...restOfProps\n}: Props): JSX.Element {\n const [isOpen, setIsOpen] = useState(false)\n return (\n <>\n <ButtonLink\n {...restOfProps}\n textColor={useResponsiveColor(textColor)}\n color={useResponsiveColor(color)}\n onPointerDown={() => setIsOpen(prev => !prev)}\n >\n <div style={{ display: 'flex', alignItems: 'center' }}>\n <span style={{ marginRight: 6 }}>{label}</span>\n <span style={{ display: 'inline-flex', fill: 'currentColor' }}>\n <>\n {caret === 'caret' && <CaretDown8 />}\n {caret === 'plus' && <Plus8 />}\n {caret === 'arrow-down' && <ArrowDown8 />}\n {caret === 'chevron-down' && <ChevronDown8 />}\n </>\n </span>\n </div>\n </ButtonLink>\n <DropDownMenu open={isOpen}>\n {links.map(({ id, payload }) => (\n <DropDownItem {...payload} key={id} onClick={onClose}>\n {payload.label}\n </DropDownItem>\n ))}\n </DropDownMenu>\n </>\n )\n}\n","import { ComponentPropsWithoutRef, Fragment } from 'react'\n\nimport {\n ResponsiveValue,\n NavigationLinksValue,\n NavigationButton as NavigationButtonValue,\n} from '../../../../../prop-controllers/descriptors'\nimport { ColorValue as Color } from '../../../../utils/types'\nimport { colorToString } from '../../../../utils/colorToString'\nimport { ReactComponent as Times16 } from '../../../../icons/times-16.svg'\n\nimport Button from '../../../Button'\nimport DropDownButton from './components/MobileDropDownButton'\nimport { ResponsiveColor } from '../../../../../runtimes/react/controls'\nimport { useResponsiveColor } from '../../../../hooks'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\nimport { useResponsiveStyle } from '../../../../utils/responsive-style'\n\ntype NavigationButtonProps = NavigationButtonValue['payload'] &\n Omit<ComponentPropsWithoutRef<typeof Button>, 'color' | 'textColor'>\n\nfunction ButtonLink({\n className,\n textColor,\n color,\n ...restOfProps\n}: NavigationButtonProps): JSX.Element {\n return (\n <Button\n {...restOfProps}\n className={cx(useStyle({ margin: '8px 0' }), className)}\n textColor={useResponsiveColor(textColor)}\n color={useResponsiveColor(color)}\n />\n )\n}\n\ntype ContainerBaseProps = {\n className?: string\n animation?: ResponsiveValue<'coverRight' | 'coverLeft'>\n backgroundColor?: ResponsiveValue<Color> | null\n open: boolean\n}\n\ntype ContainerProps = ContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof ContainerBaseProps>\n\nfunction Container({\n className,\n animation,\n backgroundColor,\n open,\n ...restOfProps\n}: ContainerProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({\n position: 'fixed',\n flexDirection: 'column',\n width: '100%',\n padding: '40px 15px',\n transition: 'transform 300ms ease-in-out',\n overflowY: 'auto',\n zIndex: 9999,\n maxWidth: 575,\n }),\n useStyle(\n useResponsiveStyle(\n [animation, backgroundColor] as const,\n ([animation, backgroundColor]) => {\n if (animation == null) return { display: 'none' }\n\n return {\n display: 'flex',\n backgroundColor: backgroundColor == null ? 'black' : colorToString(backgroundColor),\n transform: open\n ? `translate3d(0,0,0)`\n : `translate3d(${{ coverRight: '', coverLeft: '-' }[animation]}100%, 0, 0)`,\n ...{\n coverRight: { top: 0, bottom: 0, right: 0 },\n coverLeft: { top: 0, bottom: 0, left: 0 },\n }[animation],\n }\n },\n ),\n ),\n className,\n )}\n />\n )\n}\n\ntype CloseIconContainerBaseProps = {\n className?: string\n color?: ResponsiveColor | null\n}\n\ntype CloseIconContainerProps = CloseIconContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'button'>, keyof CloseIconContainerBaseProps>\n\nfunction CloseIconContainer({ className, color, ...restOfProps }: CloseIconContainerProps) {\n return (\n <button\n {...restOfProps}\n className={cx(\n useStyle({\n position: 'absolute',\n top: 15,\n right: 15,\n padding: 0,\n border: 0,\n outline: 0,\n background: 'none',\n fill: 'currentcolor',\n }),\n useStyle(\n useResponsiveStyle([color] as const, ([color]) => ({\n color: color == null ? 'rgba(161, 168, 194, 0.5)' : colorToString(color),\n })),\n ),\n className,\n )}\n />\n )\n}\n\ntype Props = {\n animation?: ResponsiveValue<'coverRight' | 'coverLeft'>\n backgroundColor?: ResponsiveColor | null\n closeIconColor?: ResponsiveColor | null\n links?: NavigationLinksValue\n onClose?: () => unknown\n open?: boolean\n}\n\nexport default function MobileMenu({\n animation,\n backgroundColor,\n open = false,\n closeIconColor,\n links = [],\n onClose = () => {},\n}: Props): JSX.Element {\n return (\n <Container animation={animation} backgroundColor={backgroundColor} open={open}>\n <CloseIconContainer color={closeIconColor} onClick={onClose}>\n <Times16 />\n </CloseIconContainer>\n <div\n style={{ display: 'flex', flexDirection: 'column', alignItems: 'center', flexShrink: 0 }}\n >\n {links.map(link => (\n <Fragment key={link.id}>\n {link.type === 'button' && (\n <ButtonLink {...link.payload} onClick={onClose}>\n {link.payload.label}\n </ButtonLink>\n )}\n {link.type === 'dropdown' && <DropDownButton {...link.payload} onClose={onClose} />}\n </Fragment>\n ))}\n </div>\n </Container>\n )\n}\n","import { ComponentPropsWithoutRef, ForwardedRef, forwardRef, useState } from 'react'\n\nimport { ReactComponent as MobileMenu28 } from '../../icons/mobile-menu-28.svg'\n\nimport GutterContainer from '../../shared/GutterContainer'\nimport Image from '../Image'\nimport Button from '../Button'\nimport LinksPlaceholder from './components/LinksPlaceholder'\nimport DropDownButton from './components/DropDownButton'\nimport MobileMenu from './components/MobileMenu'\nimport {\n ResponsiveValue,\n CheckboxValue,\n ElementIDValue,\n GapXValue,\n ImageValue,\n LinkValue,\n NavigationLinksValue,\n ResponsiveIconRadioGroupValue,\n ResponsiveLengthValue,\n ResponsiveSelectValue,\n TextInputValue,\n TextStyleValue,\n NavigationButton as NavigationButtonValue,\n} from '../../../prop-controllers/descriptors'\nimport { ColorValue as Color } from '../../utils/types'\nimport { colorToString } from '../../utils/colorToString'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { useResponsiveColor } from '../../hooks'\nimport { cx } from '@emotion/css'\nimport { useResponsiveStyle, useResponsiveTextStyle } from '../../utils/responsive-style'\nimport { useStyle } from '../../../runtimes/react/use-style'\n\ntype Props = {\n id?: ElementIDValue\n links?: NavigationLinksValue\n linkTextStyle?: TextStyleValue\n showLogo?: CheckboxValue\n logoFile?: ImageValue\n logoWidth?: ResponsiveLengthValue\n logoAltText?: TextInputValue\n logoLink?: LinkValue\n alignment?: ResponsiveIconRadioGroupValue<'flex-start' | 'center' | 'flex-end'>\n gutter?: GapXValue\n mobileMenuAnimation?: ResponsiveSelectValue<'coverRight' | 'coverLeft'>\n mobileMenuOpenIconColor?: ResponsiveColor | null\n mobileMenuCloseIconColor?: ResponsiveColor | null\n mobileMenuBackgroundColor?: ResponsiveColor | null\n width?: string\n margin?: string\n}\n\ntype ContainerBaseProps = {\n width?: string\n margin?: string\n textStyle: Props['linkTextStyle']\n gutter: Props['gutter']\n}\n\ntype ContainerProps = ContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'nav'>, keyof ContainerBaseProps>\n\nconst Container = forwardRef(function Container(\n { className, width, margin, textStyle, gutter, ...restOfProps }: ContainerProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n return (\n <nav\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({ display: 'flex', alignItems: 'center' }),\n width,\n margin,\n useStyle(useResponsiveTextStyle(textStyle)),\n useStyle(\n useResponsiveStyle([gutter] as const, ([gutter = { value: 0, unit: 'px' }]) => ({\n gap: `${gutter.value}${gutter.unit}`,\n })),\n ),\n className,\n )}\n />\n )\n})\n\ntype LinksContainerBaseProps = {\n alignment: Props['alignment']\n mobileMenuAnimation: Props['mobileMenuAnimation']\n}\n\ntype LinksContainerProps = LinksContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof LinksContainerBaseProps>\n\nfunction LinksContainer({\n className,\n alignment,\n mobileMenuAnimation,\n ...restOfProps\n}: LinksContainerProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({\n display: 'flex',\n alignItems: 'center',\n flexGrow: 1,\n }),\n useStyle(\n useResponsiveStyle(\n [alignment, mobileMenuAnimation] as const,\n ([alignment = 'flex-end', mobileMenuAnimation]) => ({\n display: mobileMenuAnimation == null ? 'flex' : 'none',\n justifyContent: alignment,\n }),\n ),\n ),\n className,\n )}\n />\n )\n}\n\ntype OpenIconContainerBaseProps = {\n mobileMenuAnimation: Props['mobileMenuAnimation']\n alignment: Props['alignment']\n color: ResponsiveValue<Color> | null | undefined\n}\n\ntype OpenIconContainerProps = OpenIconContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'button'>, keyof OpenIconContainerBaseProps>\n\nfunction OpenIconContainer({\n className,\n mobileMenuAnimation,\n alignment,\n color,\n ...restOfProps\n}: OpenIconContainerProps) {\n return (\n <button\n {...restOfProps}\n className={cx(\n useStyle({\n display: 'none',\n flexGrow: 1,\n alignItems: 'center',\n background: 'none',\n outline: 0,\n border: 0,\n padding: 0,\n fill: 'currentcolor',\n }),\n useStyle(\n useResponsiveStyle(\n [mobileMenuAnimation, alignment, color] as const,\n ([mobileMenuAnimation, alignment = 'flex-end', color]) => ({\n display: mobileMenuAnimation == null ? 'none' : 'flex',\n justifyContent: alignment,\n color: color == null ? 'rgba(161, 168, 194, 0.5)' : colorToString(color),\n }),\n ),\n ),\n className,\n )}\n />\n )\n}\n\ntype NavigationButtonProps = NavigationButtonValue['payload'] &\n Omit<ComponentPropsWithoutRef<typeof Button>, 'color' | 'textColor'>\n\nfunction NavigationButton(props: NavigationButtonProps): JSX.Element {\n const { textColor, color, ...restOfProps } = props\n\n return (\n <Button\n {...restOfProps}\n textColor={useResponsiveColor(textColor)}\n color={useResponsiveColor(color)}\n />\n )\n}\n\nconst placeholder = {\n src: \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='93.12' height='36' viewBox='0 0 93.12 36'%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cpath d='M18,0A18,18,0,1,1,0,18,18,18,0,0,1,18,0ZM49.36,21.94h6.36V24H46.8V10h2.56Zm9.06.72a4.88,4.88,0,0,1-1.64-3.72,5,5,0,0,1,1.64-3.74,5.57,5.57,0,0,1,7.7,0,5.09,5.09,0,0,1,.26,7.18l-.26.26a5.56,5.56,0,0,1-7.7,0Zm1.68-6a3.39,3.39,0,0,0,0,4.52,3,3,0,0,0,4.24.08l.08-.08a3.39,3.39,0,0,0,0-4.52,3,3,0,0,0-4.24-.08Zm10,10.68,1-1.92a5.28,5.28,0,0,0,3.3,1.22,3.6,3.6,0,0,0,2.32-.72,2.73,2.73,0,0,0,.9-2.26V22.5a3.61,3.61,0,0,1-1.45,1.26,4.35,4.35,0,0,1-2,.46,4.57,4.57,0,0,1-3.58-1.54A5.48,5.48,0,0,1,69.2,18.9a5.42,5.42,0,0,1,1.36-3.74,4.64,4.64,0,0,1,3.62-1.5,4,4,0,0,1,3.44,1.72v-1.5h2.46v9a6.13,6.13,0,0,1-1.43,4.46,5.27,5.27,0,0,1-4,1.44,7.09,7.09,0,0,1-4.53-1.42Zm1.54-8.44a3.4,3.4,0,0,0,.82,2.3,2.72,2.72,0,0,0,2.17.94,3.13,3.13,0,0,0,1.21-.22,2.89,2.89,0,0,0,1-.62,3.08,3.08,0,0,0,.63-1,3.62,3.62,0,0,0,.21-1.3,4,4,0,0,0-.23-1.33,3.3,3.3,0,0,0-.63-1.05,2.74,2.74,0,0,0-1-.68,3.35,3.35,0,0,0-1.25-.24,2.92,2.92,0,0,0-1.2.24,2.58,2.58,0,0,0-.93.67,3,3,0,0,0-.59,1,3.89,3.89,0,0,0-.19,1.31ZM83.8,22.66a4.88,4.88,0,0,1-1.64-3.72A5,5,0,0,1,83.8,15.2a5.57,5.57,0,0,1,7.7,0,5.09,5.09,0,0,1,.26,7.18,3.19,3.19,0,0,1-.26.26,5.56,5.56,0,0,1-7.7,0Zm1.68-6a3.39,3.39,0,0,0,0,4.52,3,3,0,0,0,4.24.08l.08-.08a3.39,3.39,0,0,0,0-4.52,3,3,0,0,0-4.24-.08Z' fill='%23a1a8c2' opacity='0.4' style='isolation: isolate'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\n dimensions: { width: 93, height: 36 },\n}\n\nconst Navigation = forwardRef<HTMLDivElement, Props>(function Navigation(\n {\n id,\n links = [],\n linkTextStyle,\n showLogo,\n logoFile,\n logoWidth,\n logoAltText,\n logoLink,\n alignment,\n gutter,\n mobileMenuAnimation,\n mobileMenuOpenIconColor,\n mobileMenuCloseIconColor,\n mobileMenuBackgroundColor,\n width,\n margin,\n },\n ref,\n) {\n const [isOpen, setIsOpen] = useState(false)\n\n return (\n <Container\n ref={ref}\n id={id}\n width={width}\n margin={margin}\n textStyle={linkTextStyle}\n gutter={gutter}\n >\n {showLogo === true && (\n <Image\n altText={logoAltText}\n file={logoFile}\n link={logoLink}\n placeholder={placeholder}\n width={logoWidth}\n />\n )}\n <div style={{ display: 'flex', flexGrow: 1, justifyContent: 'flex-end' }}>\n <LinksContainer alignment={alignment} mobileMenuAnimation={mobileMenuAnimation}>\n {links.length > 0 ? (\n links.map((link, i) => (\n <GutterContainer\n key={link.id}\n gutter={gutter}\n first={i === 0}\n last={i === links.length - 1}\n >\n {link.type === 'button' && (\n <NavigationButton {...link.payload}>{link.payload.label}</NavigationButton>\n )}\n {link.type === 'dropdown' && <DropDownButton {...link.payload} />}\n </GutterContainer>\n ))\n ) : (\n <LinksPlaceholder gutter={gutter} />\n )}\n </LinksContainer>\n <OpenIconContainer\n alignment={alignment}\n color={mobileMenuOpenIconColor}\n mobileMenuAnimation={mobileMenuAnimation}\n onClick={() => setIsOpen(true)}\n >\n <MobileMenu28 />\n </OpenIconContainer>\n <MobileMenu\n animation={mobileMenuAnimation}\n backgroundColor={mobileMenuBackgroundColor}\n closeIconColor={mobileMenuCloseIconColor}\n links={links}\n onClose={() => setIsOpen(false)}\n open={isOpen}\n />\n </div>\n </Container>\n )\n})\n\nexport default Navigation\n"],"names":["_path","_extends","React","width","button","useStyle","height","backgroundColor","borderRadius","opacity","links","gutter","_Fragment","map","link","i","GutterContainer","length","DROP_DOWN_MENU_WIDTH","DROP_DOWN_MENU_CLASS_NAME","className","position","restOfProps","cx","top","left","right","background","margin","padding","boxShadow","zIndex","listStyle","overflow","transformOrigin","willChange","transformStyle","display","dropIn","keyframes","DropDownContainer","forwardRef","ref","animation","color","textStyle","colorData","useResponsiveColor","Link","textDecoration","lineHeight","transition","useResponsiveTextStyle","useResponsiveStyle","fontSize","value","unit","fontWeight","fontStyle","letterSpacing","textTransform","colorToString","includes","label","caret","textColor","container","useRef","setPosition","useState","useIsomorphicLayoutEffect","current","ownerDocument","defaultView","innerWidth","offsetLeft","_jsx","Button","alignItems","marginRight","_jsxs","fill","CaretDown8","Plus8","ArrowDown8","ChevronDown8","DropDownMenu","id","payload","DropDownItem","open","flexDirection","onClose","isOpen","setIsOpen","ButtonLink","prev","overflowY","maxWidth","transform","coverRight","coverLeft","bottom","border","outline","closeIconColor","Container","Times16","flexShrink","Fragment","type","DropDownButton","gap","alignment","mobileMenuAnimation","flexGrow","justifyContent","props","placeholder","src","dimensions","Navigation","linkTextStyle","showLogo","logoFile","logoWidth","logoAltText","logoLink","mobileMenuOpenIconColor","mobileMenuCloseIconColor","mobileMenuBackgroundColor","Image","MobileMenu28"],"mappings":"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"}
1
+ {"version":3,"file":"Navigation.cjs.js","sources":["../src/components/icons/mobile-menu-28.svg","../src/components/builtin/Navigation/components/LinksPlaceholder/index.tsx","../src/components/icons/caret-down-8.svg","../src/components/icons/plus-8.svg","../src/components/icons/arrow-down-8.svg","../src/components/icons/chevron-down-8.svg","../src/components/builtin/Navigation/components/DropDownButton/index.tsx","../src/components/icons/times-16.svg","../src/components/builtin/Navigation/components/MobileMenu/components/MobileDropDownButton/index.tsx","../src/components/builtin/Navigation/components/MobileMenu/index.tsx","../src/components/builtin/Navigation/Navigation.tsx"],"sourcesContent":["export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCI+CiAgPHBhdGggZD0iTTI3IDE1SDFhMSAxIDAgMCAxLTEtMSAxIDEgMCAwIDEgMS0xaDI2YTEgMSAwIDAgMSAxIDEgMSAxIDAgMCAxLTEgMXptMC0xMEgxYTEgMSAwIDAgMC0xIDEgMSAxIDAgMCAwIDEgMWgyNmExIDEgMCAwIDAgMS0xIDEgMSAwIDAgMC0xLTF6bTAgMTZIMWExIDEgMCAwIDAtMSAxIDEgMSAwIDAgMCAxIDFoMjZhMSAxIDAgMCAwIDEtMSAxIDEgMCAwIDAtMS0xeiIvPgo8L3N2Zz4=\"","import { ResponsiveLengthValue } from '../../../../../prop-controllers/descriptors'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\nimport GutterContainer from '../../../../shared/GutterContainer'\n\ntype PlaceholderLinkProps = {\n width: number\n button?: boolean\n}\n\nfunction PlaceholderLink({ width, button }: PlaceholderLinkProps) {\n return (\n <div\n className={useStyle({\n width,\n height: button === true ? 32 : 8,\n backgroundColor: '#a1a8c2',\n borderRadius: button === true ? 6 : 2,\n opacity: 0.4,\n })}\n />\n )\n}\n\ntype Props = { gutter?: ResponsiveLengthValue }\n\nconst links = [{ width: 50 }, { width: 70 }, { width: 60 }, { width: 80, button: true }]\n\nexport default function LinksPlaceholder({ gutter }: Props): JSX.Element {\n return (\n <>\n {links.map((link, i) => (\n <GutterContainer key={i} gutter={gutter} first={i === 0} last={i === links.length - 1}>\n <PlaceholderLink {...link} />\n </GutterContainer>\n ))}\n </>\n )\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xIDJhMSAxIDAgMCAwLS43MDcgMS43MDdsMyAzYTEgMSAwIDAgMCAxLjQxNCAwbDMtM0ExIDEgMCAwIDAgNyAySDF6Ii8+PC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik00IDBhMSAxIDAgMCAwLTEgMXYySDFhMSAxIDAgMSAwIDAgMmgydjJhMSAxIDAgMCAwIDIgMFY1aDJhMSAxIDAgMCAwIDAtMkg1VjFhMSAxIDAgMCAwLTEtMXoiLz48L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik01IDFhMSAxIDAgMCAwLTIgMHYzLjU4NmwtLjI5My0uMjkzYTEgMSAwIDAgMC0xLjQxNCAxLjQxNGwyIDJhMSAxIDAgMCAwIDEuNDE0IDBsMi0yYTEgMSAwIDAgMC0xLjQxNC0xLjQxNEw1IDQuNTg2VjF6Ii8+PC9zdmc+\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNLjI5MyAyLjI5M2ExIDEgMCAwIDEgMS40MTQgMEw0IDQuNTg2bDIuMjkzLTIuMjkzYTEgMSAwIDAgMSAxLjQxNCAxLjQxNGwtMyAzYTEgMSAwIDAgMS0xLjQxNCAwbC0zLTNhMSAxIDAgMCAxIDAtMS40MTR6Ii8+PC9zdmc+\"","import { ComponentPropsWithoutRef, ForwardedRef, forwardRef, useRef, useState } from 'react'\n\nimport { ReactComponent as CaretDown8 } from '../../../../icons/caret-down-8.svg'\nimport { ReactComponent as Plus8 } from '../../../../icons/plus-8.svg'\nimport { ReactComponent as ArrowDown8 } from '../../../../icons/arrow-down-8.svg'\nimport { ReactComponent as ChevronDown8 } from '../../../../icons/chevron-down-8.svg'\nimport {\n ResponsiveColorValue,\n TextStyleValue,\n LinkValue,\n} from '../../../../../prop-controllers/descriptors'\nimport { colorToString } from '../../../../utils/colorToString'\nimport { useResponsiveColor } from '../../../../hooks'\n\nimport { Link } from '../../../../shared/Link'\nimport Button from '../../../Button'\nimport { useIsomorphicLayoutEffect } from '../../../../hooks/useIsomorphicLayoutEffect'\nimport { cx, keyframes } from '@emotion/css'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\nimport { useResponsiveStyle, useResponsiveTextStyle } from '../../../../utils/responsive-style'\n\nconst DROP_DOWN_MENU_WIDTH = 200\n\ntype Position = 'left' | 'right'\n\nconst DROP_DOWN_MENU_CLASS_NAME = 'drop-down-menu'\n\ntype DropDownMenuBaseProps = {\n position: Position\n}\n\ntype DropDownMenuProps = DropDownMenuBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof DropDownMenuBaseProps>\n\nfunction DropDownMenu({ className, position, ...restOfProps }: DropDownMenuProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n DROP_DOWN_MENU_CLASS_NAME,\n useStyle({\n position: 'absolute',\n top: '100%',\n left: position === 'left' ? 0 : 'auto',\n right: position === 'right' ? 0 : 'auto',\n background: '#fff',\n margin: 0,\n padding: '8px 0',\n borderRadius: 4,\n boxShadow: '0 3px 10px rgba(0, 0, 0, 0.15)',\n width: DROP_DOWN_MENU_WIDTH,\n zIndex: 99,\n listStyle: 'none',\n overflow: 'hidden',\n transformOrigin: '50% 0',\n willChange: 'transform, opacity',\n transformStyle: 'preserve-3d',\n display: 'none',\n }),\n className,\n )}\n />\n )\n}\n\nconst dropIn = keyframes`\n 0% {\n opacity: 0;\n transform: rotateX(-20deg);\n }\n 100% {\n opacity: 1;\n transform: none;\n }\n`\n\ntype DropDownContainerProps = ComponentPropsWithoutRef<'div'>\n\nconst DropDownContainer = forwardRef(function DropDownContainer(\n { className, ...restOfProps }: DropDownContainerProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({\n position: 'relative',\n [`&:hover .${DROP_DOWN_MENU_CLASS_NAME}`]: {\n display: 'block',\n animation: `${dropIn} 0.25s`,\n },\n }),\n className,\n )}\n />\n )\n})\n\ntype BaseDropDownItemProps = {\n className?: string\n color?: ResponsiveColorValue\n textStyle?: TextStyleValue\n}\n\ntype DropDownItemProps = BaseDropDownItemProps &\n Omit<ComponentPropsWithoutRef<typeof Link>, keyof BaseDropDownItemProps>\n\nfunction DropDownItem({ className, color, textStyle, ...restOfProps }: DropDownItemProps) {\n const colorData = useResponsiveColor(color)\n\n return (\n <Link\n {...restOfProps}\n className={cx(\n useStyle({\n display: 'block',\n textDecoration: 'none',\n lineHeight: 1.4,\n padding: '8px 16px',\n color: 'black',\n backgroundColor: 'transparent',\n transition: 'background-color 0.2s',\n }),\n useStyle(useResponsiveTextStyle(textStyle)),\n useStyle(\n useResponsiveStyle([colorData, textStyle] as const, ([color, textStyle = {}]) => {\n const fontSize = textStyle.fontSize || { value: 14, unit: 'px' }\n const fontWeight = textStyle.fontWeight == null ? 'normal' : textStyle.fontWeight\n const fontStyle = textStyle.fontStyle || []\n const letterSpacing = textStyle.letterSpacing == null ? null : textStyle.letterSpacing\n const textTransform = textStyle.textTransform || []\n\n return {\n color: color == null ? 'black' : colorToString(color),\n fontSize: `${fontSize.value}${fontSize.unit}`,\n fontWeight,\n fontStyle: fontStyle.includes('italic') ? 'italic' : 'normal',\n letterSpacing: letterSpacing == null ? 'normal' : `${letterSpacing}px`,\n textTransform: textTransform.includes('uppercase') ? 'uppercase' : 'none',\n }\n }),\n ),\n useStyle({\n '&:hover': {\n backgroundColor: 'rgba(0, 0, 0, 0.04)',\n },\n }),\n className,\n )}\n />\n )\n}\n\ntype Props = Omit<ComponentPropsWithoutRef<typeof Button>, 'textColor' | 'color'> & {\n label: string\n caret?: 'caret' | 'plus' | 'arrow-down' | 'chevron-down'\n links?: Array<{\n id: string\n payload: ComponentPropsWithoutRef<typeof DropDownItem> & {\n link?: LinkValue\n label: string\n }\n }>\n textColor?: ResponsiveColorValue\n color?: ResponsiveColorValue\n}\n\nexport default function DropDownButton({\n label,\n caret = 'caret',\n links = [],\n textColor,\n color,\n ...restOfProps\n}: Props): JSX.Element {\n const container = useRef<HTMLDivElement>(null)\n const [position, setPosition] = useState<Position>('left')\n\n useIsomorphicLayoutEffect(() => {\n if (\n container.current &&\n container.current.ownerDocument.defaultView!.innerWidth <\n container.current.offsetLeft + DROP_DOWN_MENU_WIDTH\n ) {\n setPosition('right')\n } else {\n setPosition('left')\n }\n }, [setPosition])\n\n return (\n <DropDownContainer ref={container}>\n <Button\n {...restOfProps}\n textColor={useResponsiveColor(textColor)}\n color={useResponsiveColor(color)}\n >\n <div style={{ display: 'flex', alignItems: 'center' }}>\n <span style={{ marginRight: 6 }}>{label}</span>\n <span style={{ display: 'inline-flex', fill: 'currentColor' }}>\n {caret === 'caret' && <CaretDown8 />}\n {caret === 'plus' && <Plus8 />}\n {caret === 'arrow-down' && <ArrowDown8 />}\n {caret === 'chevron-down' && <ChevronDown8 />}\n </span>\n </div>\n </Button>\n <DropDownMenu position={position}>\n {links.map(({ id, payload }) => (\n <DropDownItem {...payload} key={id}>\n {payload.label}\n </DropDownItem>\n ))}\n </DropDownMenu>\n </DropDownContainer>\n )\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMy43MDcgMy43MDdhMSAxIDAgMCAwLTEuNDE0LTEuNDE0TDggNi41ODYgMy43MDcgMi4yOTNhMSAxIDAgMCAwLTEuNDE0IDEuNDE0TDYuNTg2IDhsLTQuMjkzIDQuMjkzYTEgMSAwIDEgMCAxLjQxNCAxLjQxNEw4IDkuNDE0bDQuMjkzIDQuMjkzYTEgMSAwIDAgMCAxLjQxNC0xLjQxNEw5LjQxNCA4bDQuMjkzLTQuMjkzWiIvPgo8L3N2Zz4=\"","import { ComponentPropsWithoutRef, useState } from 'react'\n\nimport {\n ResponsiveColorValue,\n TextStyleValue,\n LinkValue,\n} from '../../../../../../../prop-controllers/descriptors'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { useResponsiveColor } from '../../../../../../hooks'\n\nimport { ReactComponent as CaretDown8 } from '../../../../../../icons/caret-down-8.svg'\nimport { ReactComponent as Plus8 } from '../../../../../../icons/plus-8.svg'\nimport { ReactComponent as ArrowDown8 } from '../../../../../../icons/arrow-down-8.svg'\nimport { ReactComponent as ChevronDown8 } from '../../../../../../icons/chevron-down-8.svg'\n\nimport { Link } from '../../../../../../shared/Link'\nimport Button from '../../../../../Button'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\nimport {\n useResponsiveStyle,\n useResponsiveTextStyle,\n} from '../../../../../../utils/responsive-style'\n\ntype DropDownMenuBaseProps = {\n className?: string\n open: boolean\n}\n\ntype DropDownMenuProps = DropDownMenuBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof DropDownMenuBaseProps>\n\nfunction DropDownMenu({ className, open, ...restOfProps }: DropDownMenuProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({ display: open ? 'flex' : 'none', flexDirection: 'column', padding: 8 }),\n className,\n )}\n />\n )\n}\n\ntype ButtonLinkBaseProps = {\n className?: string\n}\n\ntype ButtonLinkProps = ButtonLinkBaseProps &\n Omit<ComponentPropsWithoutRef<typeof Button>, keyof ButtonLinkBaseProps>\n\nfunction ButtonLink({ className, ...restOfProps }: ButtonLinkProps) {\n return <Button {...restOfProps} className={cx(useStyle({ margin: '8px 0' }), className)} />\n}\n\ntype BaseDropDownItemProps = {\n className?: string\n color?: ResponsiveColorValue\n textStyle?: TextStyleValue\n}\n\ntype DropDownItemProps = BaseDropDownItemProps &\n Omit<ComponentPropsWithoutRef<typeof Link>, keyof BaseDropDownItemProps>\n\nfunction DropDownItem({ color, className, textStyle, ...restOfProps }: DropDownItemProps) {\n const colorData = useResponsiveColor(color)\n\n return (\n <Link\n {...restOfProps}\n className={cx(\n useStyle({\n textDecoration: 'none',\n lineHeight: 1.4,\n padding: '8px 16px',\n color: 'black',\n }),\n useStyle(useResponsiveTextStyle(textStyle)),\n useStyle(\n useResponsiveStyle([colorData] as const, ([color]) => ({\n color: color == null ? 'black' : colorToString(color),\n })),\n ),\n className,\n )}\n />\n )\n}\n\ntype Props = Omit<ComponentPropsWithoutRef<typeof Button>, 'textColor' | 'color'> & {\n label: string\n links?: Array<{\n id: string\n payload: ComponentPropsWithoutRef<typeof DropDownItem> & {\n link?: LinkValue\n label: string\n }\n }>\n onClose?: () => unknown\n caret?: string\n textColor?: ResponsiveColorValue\n color?: ResponsiveColorValue\n}\n\nexport default function MobileDropDownButton({\n label,\n caret,\n links = [],\n onClose = () => {},\n color,\n textColor,\n ...restOfProps\n}: Props): JSX.Element {\n const [isOpen, setIsOpen] = useState(false)\n return (\n <>\n <ButtonLink\n {...restOfProps}\n textColor={useResponsiveColor(textColor)}\n color={useResponsiveColor(color)}\n onPointerDown={() => setIsOpen(prev => !prev)}\n >\n <div style={{ display: 'flex', alignItems: 'center' }}>\n <span style={{ marginRight: 6 }}>{label}</span>\n <span style={{ display: 'inline-flex', fill: 'currentColor' }}>\n <>\n {caret === 'caret' && <CaretDown8 />}\n {caret === 'plus' && <Plus8 />}\n {caret === 'arrow-down' && <ArrowDown8 />}\n {caret === 'chevron-down' && <ChevronDown8 />}\n </>\n </span>\n </div>\n </ButtonLink>\n <DropDownMenu open={isOpen}>\n {links.map(({ id, payload }) => (\n <DropDownItem {...payload} key={id} onClick={onClose}>\n {payload.label}\n </DropDownItem>\n ))}\n </DropDownMenu>\n </>\n )\n}\n","import { ComponentPropsWithoutRef, Fragment } from 'react'\n\nimport {\n ResponsiveValue,\n NavigationLinksValue,\n NavigationButton as NavigationButtonValue,\n} from '../../../../../prop-controllers/descriptors'\nimport { ColorValue as Color } from '../../../../utils/types'\nimport { colorToString } from '../../../../utils/colorToString'\nimport { ReactComponent as Times16 } from '../../../../icons/times-16.svg'\n\nimport Button from '../../../Button'\nimport DropDownButton from './components/MobileDropDownButton'\nimport { ResponsiveColor } from '../../../../../runtimes/react/controls'\nimport { useResponsiveColor } from '../../../../hooks'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\nimport { useResponsiveStyle } from '../../../../utils/responsive-style'\n\ntype NavigationButtonProps = NavigationButtonValue['payload'] &\n Omit<ComponentPropsWithoutRef<typeof Button>, 'color' | 'textColor'>\n\nfunction ButtonLink({\n className,\n textColor,\n color,\n ...restOfProps\n}: NavigationButtonProps): JSX.Element {\n return (\n <Button\n {...restOfProps}\n className={cx(useStyle({ margin: '8px 0' }), className)}\n textColor={useResponsiveColor(textColor)}\n color={useResponsiveColor(color)}\n />\n )\n}\n\ntype ContainerBaseProps = {\n className?: string\n animation?: ResponsiveValue<'coverRight' | 'coverLeft'>\n backgroundColor?: ResponsiveValue<Color> | null\n open: boolean\n}\n\ntype ContainerProps = ContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof ContainerBaseProps>\n\nfunction Container({\n className,\n animation,\n backgroundColor,\n open,\n ...restOfProps\n}: ContainerProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({\n position: 'fixed',\n flexDirection: 'column',\n width: '100%',\n padding: '40px 15px',\n transition: 'transform 300ms ease-in-out',\n overflowY: 'auto',\n zIndex: 9999,\n maxWidth: 575,\n }),\n useStyle(\n useResponsiveStyle(\n [animation, backgroundColor] as const,\n ([animation, backgroundColor]) => {\n if (animation == null) return { display: 'none' }\n\n return {\n display: 'flex',\n backgroundColor: backgroundColor == null ? 'black' : colorToString(backgroundColor),\n transform: open\n ? `translate3d(0,0,0)`\n : `translate3d(${{ coverRight: '', coverLeft: '-' }[animation]}100%, 0, 0)`,\n ...{\n coverRight: { top: 0, bottom: 0, right: 0 },\n coverLeft: { top: 0, bottom: 0, left: 0 },\n }[animation],\n }\n },\n ),\n ),\n className,\n )}\n />\n )\n}\n\ntype CloseIconContainerBaseProps = {\n className?: string\n color?: ResponsiveColor | null\n}\n\ntype CloseIconContainerProps = CloseIconContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'button'>, keyof CloseIconContainerBaseProps>\n\nfunction CloseIconContainer({ className, color, ...restOfProps }: CloseIconContainerProps) {\n return (\n <button\n {...restOfProps}\n className={cx(\n useStyle({\n position: 'absolute',\n top: 15,\n right: 15,\n padding: 0,\n border: 0,\n outline: 0,\n background: 'none',\n fill: 'currentcolor',\n }),\n useStyle(\n useResponsiveStyle([color] as const, ([color]) => ({\n color: color == null ? 'rgba(161, 168, 194, 0.5)' : colorToString(color),\n })),\n ),\n className,\n )}\n />\n )\n}\n\ntype Props = {\n animation?: ResponsiveValue<'coverRight' | 'coverLeft'>\n backgroundColor?: ResponsiveColor | null\n closeIconColor?: ResponsiveColor | null\n links?: NavigationLinksValue\n onClose?: () => unknown\n open?: boolean\n}\n\nexport default function MobileMenu({\n animation,\n backgroundColor,\n open = false,\n closeIconColor,\n links = [],\n onClose = () => {},\n}: Props): JSX.Element {\n return (\n <Container animation={animation} backgroundColor={backgroundColor} open={open}>\n <CloseIconContainer color={closeIconColor} onClick={onClose}>\n <Times16 />\n </CloseIconContainer>\n <div\n style={{ display: 'flex', flexDirection: 'column', alignItems: 'center', flexShrink: 0 }}\n >\n {links.map(link => (\n <Fragment key={link.id}>\n {link.type === 'button' && (\n <ButtonLink {...link.payload} onClick={onClose}>\n {link.payload.label}\n </ButtonLink>\n )}\n {link.type === 'dropdown' && <DropDownButton {...link.payload} onClose={onClose} />}\n </Fragment>\n ))}\n </div>\n </Container>\n )\n}\n","import { ComponentPropsWithoutRef, ForwardedRef, forwardRef, useState } from 'react'\n\nimport { ReactComponent as MobileMenu28 } from '../../icons/mobile-menu-28.svg'\n\nimport GutterContainer from '../../shared/GutterContainer'\nimport Image from '../Image'\nimport Button from '../Button'\nimport LinksPlaceholder from './components/LinksPlaceholder'\nimport DropDownButton from './components/DropDownButton'\nimport MobileMenu from './components/MobileMenu'\nimport {\n ResponsiveValue,\n CheckboxValue,\n ElementIDValue,\n GapXValue,\n ImageValue,\n LinkValue,\n NavigationLinksValue,\n ResponsiveIconRadioGroupValue,\n ResponsiveLengthValue,\n ResponsiveSelectValue,\n TextInputValue,\n TextStyleValue,\n NavigationButton as NavigationButtonValue,\n} from '../../../prop-controllers/descriptors'\nimport { ColorValue as Color } from '../../utils/types'\nimport { colorToString } from '../../utils/colorToString'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { useResponsiveColor } from '../../hooks'\nimport { cx } from '@emotion/css'\nimport { useResponsiveStyle, useResponsiveTextStyle } from '../../utils/responsive-style'\nimport { useStyle } from '../../../runtimes/react/use-style'\n\ntype Props = {\n id?: ElementIDValue\n links?: NavigationLinksValue\n linkTextStyle?: TextStyleValue\n showLogo?: CheckboxValue\n logoFile?: ImageValue\n logoWidth?: ResponsiveLengthValue\n logoAltText?: TextInputValue\n logoLink?: LinkValue\n alignment?: ResponsiveIconRadioGroupValue<'flex-start' | 'center' | 'flex-end'>\n gutter?: GapXValue\n mobileMenuAnimation?: ResponsiveSelectValue<'coverRight' | 'coverLeft'>\n mobileMenuOpenIconColor?: ResponsiveColor | null\n mobileMenuCloseIconColor?: ResponsiveColor | null\n mobileMenuBackgroundColor?: ResponsiveColor | null\n width?: string\n margin?: string\n}\n\ntype ContainerBaseProps = {\n width?: string\n margin?: string\n textStyle: Props['linkTextStyle']\n gutter: Props['gutter']\n}\n\ntype ContainerProps = ContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'nav'>, keyof ContainerBaseProps>\n\nconst Container = forwardRef(function Container(\n { className, width, margin, textStyle, gutter, ...restOfProps }: ContainerProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n return (\n <nav\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({ display: 'flex', alignItems: 'center' }),\n width,\n margin,\n useStyle(useResponsiveTextStyle(textStyle)),\n useStyle(\n useResponsiveStyle([gutter] as const, ([gutter = { value: 0, unit: 'px' }]) => ({\n gap: `${gutter.value}${gutter.unit}`,\n })),\n ),\n className,\n )}\n />\n )\n})\n\ntype LinksContainerBaseProps = {\n alignment: Props['alignment']\n mobileMenuAnimation: Props['mobileMenuAnimation']\n}\n\ntype LinksContainerProps = LinksContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof LinksContainerBaseProps>\n\nfunction LinksContainer({\n className,\n alignment,\n mobileMenuAnimation,\n ...restOfProps\n}: LinksContainerProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({\n display: 'flex',\n alignItems: 'center',\n flexGrow: 1,\n }),\n useStyle(\n useResponsiveStyle(\n [alignment, mobileMenuAnimation] as const,\n ([alignment = 'flex-end', mobileMenuAnimation]) => ({\n display: mobileMenuAnimation == null ? 'flex' : 'none',\n justifyContent: alignment,\n }),\n ),\n ),\n className,\n )}\n />\n )\n}\n\ntype OpenIconContainerBaseProps = {\n mobileMenuAnimation: Props['mobileMenuAnimation']\n alignment: Props['alignment']\n color: ResponsiveValue<Color> | null | undefined\n}\n\ntype OpenIconContainerProps = OpenIconContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'button'>, keyof OpenIconContainerBaseProps>\n\nfunction OpenIconContainer({\n className,\n mobileMenuAnimation,\n alignment,\n color,\n ...restOfProps\n}: OpenIconContainerProps) {\n return (\n <button\n {...restOfProps}\n className={cx(\n useStyle({\n display: 'none',\n flexGrow: 1,\n alignItems: 'center',\n background: 'none',\n outline: 0,\n border: 0,\n padding: 0,\n fill: 'currentcolor',\n }),\n useStyle(\n useResponsiveStyle(\n [mobileMenuAnimation, alignment, color] as const,\n ([mobileMenuAnimation, alignment = 'flex-end', color]) => ({\n display: mobileMenuAnimation == null ? 'none' : 'flex',\n justifyContent: alignment,\n color: color == null ? 'rgba(161, 168, 194, 0.5)' : colorToString(color),\n }),\n ),\n ),\n className,\n )}\n />\n )\n}\n\ntype NavigationButtonProps = NavigationButtonValue['payload'] &\n Omit<ComponentPropsWithoutRef<typeof Button>, 'color' | 'textColor'>\n\nfunction NavigationButton(props: NavigationButtonProps): JSX.Element {\n const { textColor, color, ...restOfProps } = props\n\n return (\n <Button\n {...restOfProps}\n textColor={useResponsiveColor(textColor)}\n color={useResponsiveColor(color)}\n />\n )\n}\n\nconst placeholder = {\n src: \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='93.12' height='36' viewBox='0 0 93.12 36'%3E%3Cg id='Layer_2' data-name='Layer 2'%3E%3Cg id='Layer_1-2' data-name='Layer 1'%3E%3Cpath d='M18,0A18,18,0,1,1,0,18,18,18,0,0,1,18,0ZM49.36,21.94h6.36V24H46.8V10h2.56Zm9.06.72a4.88,4.88,0,0,1-1.64-3.72,5,5,0,0,1,1.64-3.74,5.57,5.57,0,0,1,7.7,0,5.09,5.09,0,0,1,.26,7.18l-.26.26a5.56,5.56,0,0,1-7.7,0Zm1.68-6a3.39,3.39,0,0,0,0,4.52,3,3,0,0,0,4.24.08l.08-.08a3.39,3.39,0,0,0,0-4.52,3,3,0,0,0-4.24-.08Zm10,10.68,1-1.92a5.28,5.28,0,0,0,3.3,1.22,3.6,3.6,0,0,0,2.32-.72,2.73,2.73,0,0,0,.9-2.26V22.5a3.61,3.61,0,0,1-1.45,1.26,4.35,4.35,0,0,1-2,.46,4.57,4.57,0,0,1-3.58-1.54A5.48,5.48,0,0,1,69.2,18.9a5.42,5.42,0,0,1,1.36-3.74,4.64,4.64,0,0,1,3.62-1.5,4,4,0,0,1,3.44,1.72v-1.5h2.46v9a6.13,6.13,0,0,1-1.43,4.46,5.27,5.27,0,0,1-4,1.44,7.09,7.09,0,0,1-4.53-1.42Zm1.54-8.44a3.4,3.4,0,0,0,.82,2.3,2.72,2.72,0,0,0,2.17.94,3.13,3.13,0,0,0,1.21-.22,2.89,2.89,0,0,0,1-.62,3.08,3.08,0,0,0,.63-1,3.62,3.62,0,0,0,.21-1.3,4,4,0,0,0-.23-1.33,3.3,3.3,0,0,0-.63-1.05,2.74,2.74,0,0,0-1-.68,3.35,3.35,0,0,0-1.25-.24,2.92,2.92,0,0,0-1.2.24,2.58,2.58,0,0,0-.93.67,3,3,0,0,0-.59,1,3.89,3.89,0,0,0-.19,1.31ZM83.8,22.66a4.88,4.88,0,0,1-1.64-3.72A5,5,0,0,1,83.8,15.2a5.57,5.57,0,0,1,7.7,0,5.09,5.09,0,0,1,.26,7.18,3.19,3.19,0,0,1-.26.26,5.56,5.56,0,0,1-7.7,0Zm1.68-6a3.39,3.39,0,0,0,0,4.52,3,3,0,0,0,4.24.08l.08-.08a3.39,3.39,0,0,0,0-4.52,3,3,0,0,0-4.24-.08Z' fill='%23a1a8c2' opacity='0.4' style='isolation: isolate'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A\",\n dimensions: { width: 93, height: 36 },\n}\n\nconst Navigation = forwardRef<HTMLDivElement, Props>(function Navigation(\n {\n id,\n links = [],\n linkTextStyle,\n showLogo,\n logoFile,\n logoWidth,\n logoAltText,\n logoLink,\n alignment,\n gutter,\n mobileMenuAnimation,\n mobileMenuOpenIconColor,\n mobileMenuCloseIconColor,\n mobileMenuBackgroundColor,\n width,\n margin,\n },\n ref,\n) {\n const [isOpen, setIsOpen] = useState(false)\n\n return (\n <Container\n ref={ref}\n id={id}\n width={width}\n margin={margin}\n textStyle={linkTextStyle}\n gutter={gutter}\n >\n {showLogo === true && (\n <Image\n altText={logoAltText}\n file={logoFile}\n link={logoLink}\n placeholder={placeholder}\n width={logoWidth}\n />\n )}\n <div style={{ display: 'flex', flexGrow: 1, justifyContent: 'flex-end' }}>\n <LinksContainer alignment={alignment} mobileMenuAnimation={mobileMenuAnimation}>\n {links.length > 0 ? (\n links.map((link, i) => (\n <GutterContainer\n key={link.id}\n gutter={gutter}\n first={i === 0}\n last={i === links.length - 1}\n >\n {link.type === 'button' && (\n <NavigationButton {...link.payload}>{link.payload.label}</NavigationButton>\n )}\n {link.type === 'dropdown' && <DropDownButton {...link.payload} />}\n </GutterContainer>\n ))\n ) : (\n <LinksPlaceholder gutter={gutter} />\n )}\n </LinksContainer>\n <OpenIconContainer\n alignment={alignment}\n color={mobileMenuOpenIconColor}\n mobileMenuAnimation={mobileMenuAnimation}\n onClick={() => setIsOpen(true)}\n >\n <MobileMenu28 />\n </OpenIconContainer>\n <MobileMenu\n animation={mobileMenuAnimation}\n backgroundColor={mobileMenuBackgroundColor}\n closeIconColor={mobileMenuCloseIconColor}\n links={links}\n onClose={() => setIsOpen(false)}\n open={isOpen}\n />\n </div>\n </Container>\n )\n})\n\nexport default Navigation\n"],"names":["_path","_extends","React","width","button","useStyle","height","backgroundColor","borderRadius","opacity","links","gutter","_Fragment","map","link","i","GutterContainer","length","DROP_DOWN_MENU_WIDTH","DROP_DOWN_MENU_CLASS_NAME","className","position","restOfProps","cx","top","left","right","background","margin","padding","boxShadow","zIndex","listStyle","overflow","transformOrigin","willChange","transformStyle","display","dropIn","keyframes","DropDownContainer","forwardRef","ref","animation","color","textStyle","colorData","useResponsiveColor","Link","textDecoration","lineHeight","transition","useResponsiveTextStyle","useResponsiveStyle","fontSize","value","unit","fontWeight","fontStyle","letterSpacing","textTransform","colorToString","includes","label","caret","textColor","container","useRef","setPosition","useState","useIsomorphicLayoutEffect","current","ownerDocument","defaultView","innerWidth","offsetLeft","_jsx","Button","alignItems","marginRight","_jsxs","fill","CaretDown8","Plus8","ArrowDown8","ChevronDown8","DropDownMenu","id","payload","DropDownItem","open","flexDirection","onClose","isOpen","setIsOpen","ButtonLink","prev","overflowY","maxWidth","transform","coverRight","coverLeft","bottom","border","outline","closeIconColor","Container","Times16","flexShrink","Fragment","type","DropDownButton","gap","alignment","mobileMenuAnimation","flexGrow","justifyContent","props","placeholder","src","dimensions","Navigation","linkTextStyle","showLogo","logoFile","logoWidth","logoAltText","logoLink","mobileMenuOpenIconColor","mobileMenuCloseIconColor","mobileMenuBackgroundColor","Image","MobileMenu28"],"mappings":"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"}
@@ -31,17 +31,16 @@ var __objRest = (source, exclude) => {
31
31
  };
32
32
  import * as React from "react";
33
33
  import { forwardRef, useRef, useState, createElement, Fragment as Fragment$1 } from "react";
34
- import { G as GutterContainer } from "./index.es4.js";
34
+ import { G as GutterContainer } from "./index.es3.js";
35
35
  import ImageComponent from "./Image.es.js";
36
36
  import Button from "./Button.es.js";
37
- import { U as useStyle } from "./react-page.es.js";
37
+ import { _ as useStyle } from "./react-page.es.js";
38
38
  import { jsx, Fragment, jsxs } from "react/jsx-runtime";
39
- import { l as useResponsiveColor, p as useResponsiveTextStyle, n as useResponsiveStyle, q as colorToString } from "./index.es.js";
39
+ import { l as useResponsiveColor, L as Link, p as useResponsiveTextStyle, n as useResponsiveStyle, q as colorToString } from "./index.es.js";
40
40
  import "use-sync-external-store/shim";
41
41
  import "./actions.es.js";
42
42
  import "slate";
43
43
  import "./state/breakpoints.es.js";
44
- import { L as Link } from "./index.es3.js";
45
44
  import { u as useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect.es.js";
46
45
  import { keyframes, cx } from "@emotion/css";
47
46
  import "next/image";
@@ -49,20 +48,17 @@ import "./placeholders.es.js";
49
48
  import "./next-version.es.js";
50
49
  import "next/package.json";
51
50
  import "zod";
52
- import "scroll-into-view-if-needed";
53
- import "next/link";
54
- import "redux";
55
- import "redux-thunk";
56
- import "@emotion/serialize";
57
- import "@emotion/utils";
58
51
  import "use-sync-external-store/shim/with-selector";
59
52
  import "next/dynamic";
60
53
  import "./text-input.es.js";
61
54
  import "./combobox.es.js";
55
+ import "redux";
56
+ import "redux-thunk";
62
57
  import "./types.es.js";
63
58
  import "./box-models.es.js";
64
59
  import "css-box-model";
65
60
  import "color";
61
+ import "scroll-into-view-if-needed";
66
62
  import "react-dom";
67
63
  import "html-react-parser";
68
64
  import "next/head";
@@ -76,6 +72,11 @@ import "set-cookie-parser";
76
72
  import "./constants.es.js";
77
73
  import "uuid";
78
74
  import "corporate-ipsum";
75
+ import "is-hotkey";
76
+ import "slate-react";
77
+ import "next/link";
78
+ import "@emotion/serialize";
79
+ import "@emotion/utils";
79
80
  var _path$5;
80
81
  function _extends$5() {
81
82
  _extends$5 = Object.assign || function(target) {