{
  "version": 3,
  "sources": ["../../../../../node_modules/react-property/lib/possibleStandardNamesOptimized.js", "../../../../../node_modules/react-property/lib/index.js", "../../src/document/models/controlProps/controlsWithAutoVariantOption.ts", "../../src/document/models/richText/richTextId.ts", "../../src/document/models/richText/richTextDocumentNormalization.ts", "../../src/document/models/CanvasTree/nodes/utils/compileRichText.tsx", "../../../../../node_modules/inline-style-parser/index.js", "../../../../../node_modules/style-to-object/src/index.ts", "../../src/utils/parseStyleToJS.ts"],
  "sourcesContent": ["// An attribute in which the DOM/SVG standard name is the same as the React prop name (e.g., 'accept').\nvar SAME = 0;\nexports.SAME = SAME;\n\n// An attribute in which the React prop name is the camelcased version of the DOM/SVG standard name (e.g., 'acceptCharset').\nvar CAMELCASE = 1;\nexports.CAMELCASE = CAMELCASE;\n\nexports.possibleStandardNames = {\n  accept: 0,\n  acceptCharset: 1,\n  'accept-charset': 'acceptCharset',\n  accessKey: 1,\n  action: 0,\n  allowFullScreen: 1,\n  alt: 0,\n  as: 0,\n  async: 0,\n  autoCapitalize: 1,\n  autoComplete: 1,\n  autoCorrect: 1,\n  autoFocus: 1,\n  autoPlay: 1,\n  autoSave: 1,\n  capture: 0,\n  cellPadding: 1,\n  cellSpacing: 1,\n  challenge: 0,\n  charSet: 1,\n  checked: 0,\n  children: 0,\n  cite: 0,\n  class: 'className',\n  classID: 1,\n  className: 1,\n  cols: 0,\n  colSpan: 1,\n  content: 0,\n  contentEditable: 1,\n  contextMenu: 1,\n  controls: 0,\n  controlsList: 1,\n  coords: 0,\n  crossOrigin: 1,\n  dangerouslySetInnerHTML: 1,\n  data: 0,\n  dateTime: 1,\n  default: 0,\n  defaultChecked: 1,\n  defaultValue: 1,\n  defer: 0,\n  dir: 0,\n  disabled: 0,\n  disablePictureInPicture: 1,\n  disableRemotePlayback: 1,\n  download: 0,\n  draggable: 0,\n  encType: 1,\n  enterKeyHint: 1,\n  for: 'htmlFor',\n  form: 0,\n  formMethod: 1,\n  formAction: 1,\n  formEncType: 1,\n  formNoValidate: 1,\n  formTarget: 1,\n  frameBorder: 1,\n  headers: 0,\n  height: 0,\n  hidden: 0,\n  high: 0,\n  href: 0,\n  hrefLang: 1,\n  htmlFor: 1,\n  httpEquiv: 1,\n  'http-equiv': 'httpEquiv',\n  icon: 0,\n  id: 0,\n  innerHTML: 1,\n  inputMode: 1,\n  integrity: 0,\n  is: 0,\n  itemID: 1,\n  itemProp: 1,\n  itemRef: 1,\n  itemScope: 1,\n  itemType: 1,\n  keyParams: 1,\n  keyType: 1,\n  kind: 0,\n  label: 0,\n  lang: 0,\n  list: 0,\n  loop: 0,\n  low: 0,\n  manifest: 0,\n  marginWidth: 1,\n  marginHeight: 1,\n  max: 0,\n  maxLength: 1,\n  media: 0,\n  mediaGroup: 1,\n  method: 0,\n  min: 0,\n  minLength: 1,\n  multiple: 0,\n  muted: 0,\n  name: 0,\n  noModule: 1,\n  nonce: 0,\n  noValidate: 1,\n  open: 0,\n  optimum: 0,\n  pattern: 0,\n  placeholder: 0,\n  playsInline: 1,\n  poster: 0,\n  preload: 0,\n  profile: 0,\n  radioGroup: 1,\n  readOnly: 1,\n  referrerPolicy: 1,\n  rel: 0,\n  required: 0,\n  reversed: 0,\n  role: 0,\n  rows: 0,\n  rowSpan: 1,\n  sandbox: 0,\n  scope: 0,\n  scoped: 0,\n  scrolling: 0,\n  seamless: 0,\n  selected: 0,\n  shape: 0,\n  size: 0,\n  sizes: 0,\n  span: 0,\n  spellCheck: 1,\n  src: 0,\n  srcDoc: 1,\n  srcLang: 1,\n  srcSet: 1,\n  start: 0,\n  step: 0,\n  style: 0,\n  summary: 0,\n  tabIndex: 1,\n  target: 0,\n  title: 0,\n  type: 0,\n  useMap: 1,\n  value: 0,\n  width: 0,\n  wmode: 0,\n  wrap: 0,\n  about: 0,\n  accentHeight: 1,\n  'accent-height': 'accentHeight',\n  accumulate: 0,\n  additive: 0,\n  alignmentBaseline: 1,\n  'alignment-baseline': 'alignmentBaseline',\n  allowReorder: 1,\n  alphabetic: 0,\n  amplitude: 0,\n  arabicForm: 1,\n  'arabic-form': 'arabicForm',\n  ascent: 0,\n  attributeName: 1,\n  attributeType: 1,\n  autoReverse: 1,\n  azimuth: 0,\n  baseFrequency: 1,\n  baselineShift: 1,\n  'baseline-shift': 'baselineShift',\n  baseProfile: 1,\n  bbox: 0,\n  begin: 0,\n  bias: 0,\n  by: 0,\n  calcMode: 1,\n  capHeight: 1,\n  'cap-height': 'capHeight',\n  clip: 0,\n  clipPath: 1,\n  'clip-path': 'clipPath',\n  clipPathUnits: 1,\n  clipRule: 1,\n  'clip-rule': 'clipRule',\n  color: 0,\n  colorInterpolation: 1,\n  'color-interpolation': 'colorInterpolation',\n  colorInterpolationFilters: 1,\n  'color-interpolation-filters': 'colorInterpolationFilters',\n  colorProfile: 1,\n  'color-profile': 'colorProfile',\n  colorRendering: 1,\n  'color-rendering': 'colorRendering',\n  contentScriptType: 1,\n  contentStyleType: 1,\n  cursor: 0,\n  cx: 0,\n  cy: 0,\n  d: 0,\n  datatype: 0,\n  decelerate: 0,\n  descent: 0,\n  diffuseConstant: 1,\n  direction: 0,\n  display: 0,\n  divisor: 0,\n  dominantBaseline: 1,\n  'dominant-baseline': 'dominantBaseline',\n  dur: 0,\n  dx: 0,\n  dy: 0,\n  edgeMode: 1,\n  elevation: 0,\n  enableBackground: 1,\n  'enable-background': 'enableBackground',\n  end: 0,\n  exponent: 0,\n  externalResourcesRequired: 1,\n  fill: 0,\n  fillOpacity: 1,\n  'fill-opacity': 'fillOpacity',\n  fillRule: 1,\n  'fill-rule': 'fillRule',\n  filter: 0,\n  filterRes: 1,\n  filterUnits: 1,\n  floodOpacity: 1,\n  'flood-opacity': 'floodOpacity',\n  floodColor: 1,\n  'flood-color': 'floodColor',\n  focusable: 0,\n  fontFamily: 1,\n  'font-family': 'fontFamily',\n  fontSize: 1,\n  'font-size': 'fontSize',\n  fontSizeAdjust: 1,\n  'font-size-adjust': 'fontSizeAdjust',\n  fontStretch: 1,\n  'font-stretch': 'fontStretch',\n  fontStyle: 1,\n  'font-style': 'fontStyle',\n  fontVariant: 1,\n  'font-variant': 'fontVariant',\n  fontWeight: 1,\n  'font-weight': 'fontWeight',\n  format: 0,\n  from: 0,\n  fx: 0,\n  fy: 0,\n  g1: 0,\n  g2: 0,\n  glyphName: 1,\n  'glyph-name': 'glyphName',\n  glyphOrientationHorizontal: 1,\n  'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\n  glyphOrientationVertical: 1,\n  'glyph-orientation-vertical': 'glyphOrientationVertical',\n  glyphRef: 1,\n  gradientTransform: 1,\n  gradientUnits: 1,\n  hanging: 0,\n  horizAdvX: 1,\n  'horiz-adv-x': 'horizAdvX',\n  horizOriginX: 1,\n  'horiz-origin-x': 'horizOriginX',\n  ideographic: 0,\n  imageRendering: 1,\n  'image-rendering': 'imageRendering',\n  in2: 0,\n  in: 0,\n  inlist: 0,\n  intercept: 0,\n  k1: 0,\n  k2: 0,\n  k3: 0,\n  k4: 0,\n  k: 0,\n  kernelMatrix: 1,\n  kernelUnitLength: 1,\n  kerning: 0,\n  keyPoints: 1,\n  keySplines: 1,\n  keyTimes: 1,\n  lengthAdjust: 1,\n  letterSpacing: 1,\n  'letter-spacing': 'letterSpacing',\n  lightingColor: 1,\n  'lighting-color': 'lightingColor',\n  limitingConeAngle: 1,\n  local: 0,\n  markerEnd: 1,\n  'marker-end': 'markerEnd',\n  markerHeight: 1,\n  markerMid: 1,\n  'marker-mid': 'markerMid',\n  markerStart: 1,\n  'marker-start': 'markerStart',\n  markerUnits: 1,\n  markerWidth: 1,\n  mask: 0,\n  maskContentUnits: 1,\n  maskUnits: 1,\n  mathematical: 0,\n  mode: 0,\n  numOctaves: 1,\n  offset: 0,\n  opacity: 0,\n  operator: 0,\n  order: 0,\n  orient: 0,\n  orientation: 0,\n  origin: 0,\n  overflow: 0,\n  overlinePosition: 1,\n  'overline-position': 'overlinePosition',\n  overlineThickness: 1,\n  'overline-thickness': 'overlineThickness',\n  paintOrder: 1,\n  'paint-order': 'paintOrder',\n  panose1: 0,\n  'panose-1': 'panose1',\n  pathLength: 1,\n  patternContentUnits: 1,\n  patternTransform: 1,\n  patternUnits: 1,\n  pointerEvents: 1,\n  'pointer-events': 'pointerEvents',\n  points: 0,\n  pointsAtX: 1,\n  pointsAtY: 1,\n  pointsAtZ: 1,\n  prefix: 0,\n  preserveAlpha: 1,\n  preserveAspectRatio: 1,\n  primitiveUnits: 1,\n  property: 0,\n  r: 0,\n  radius: 0,\n  refX: 1,\n  refY: 1,\n  renderingIntent: 1,\n  'rendering-intent': 'renderingIntent',\n  repeatCount: 1,\n  repeatDur: 1,\n  requiredExtensions: 1,\n  requiredFeatures: 1,\n  resource: 0,\n  restart: 0,\n  result: 0,\n  results: 0,\n  rotate: 0,\n  rx: 0,\n  ry: 0,\n  scale: 0,\n  security: 0,\n  seed: 0,\n  shapeRendering: 1,\n  'shape-rendering': 'shapeRendering',\n  slope: 0,\n  spacing: 0,\n  specularConstant: 1,\n  specularExponent: 1,\n  speed: 0,\n  spreadMethod: 1,\n  startOffset: 1,\n  stdDeviation: 1,\n  stemh: 0,\n  stemv: 0,\n  stitchTiles: 1,\n  stopColor: 1,\n  'stop-color': 'stopColor',\n  stopOpacity: 1,\n  'stop-opacity': 'stopOpacity',\n  strikethroughPosition: 1,\n  'strikethrough-position': 'strikethroughPosition',\n  strikethroughThickness: 1,\n  'strikethrough-thickness': 'strikethroughThickness',\n  string: 0,\n  stroke: 0,\n  strokeDasharray: 1,\n  'stroke-dasharray': 'strokeDasharray',\n  strokeDashoffset: 1,\n  'stroke-dashoffset': 'strokeDashoffset',\n  strokeLinecap: 1,\n  'stroke-linecap': 'strokeLinecap',\n  strokeLinejoin: 1,\n  'stroke-linejoin': 'strokeLinejoin',\n  strokeMiterlimit: 1,\n  'stroke-miterlimit': 'strokeMiterlimit',\n  strokeWidth: 1,\n  'stroke-width': 'strokeWidth',\n  strokeOpacity: 1,\n  'stroke-opacity': 'strokeOpacity',\n  suppressContentEditableWarning: 1,\n  suppressHydrationWarning: 1,\n  surfaceScale: 1,\n  systemLanguage: 1,\n  tableValues: 1,\n  targetX: 1,\n  targetY: 1,\n  textAnchor: 1,\n  'text-anchor': 'textAnchor',\n  textDecoration: 1,\n  'text-decoration': 'textDecoration',\n  textLength: 1,\n  textRendering: 1,\n  'text-rendering': 'textRendering',\n  to: 0,\n  transform: 0,\n  typeof: 0,\n  u1: 0,\n  u2: 0,\n  underlinePosition: 1,\n  'underline-position': 'underlinePosition',\n  underlineThickness: 1,\n  'underline-thickness': 'underlineThickness',\n  unicode: 0,\n  unicodeBidi: 1,\n  'unicode-bidi': 'unicodeBidi',\n  unicodeRange: 1,\n  'unicode-range': 'unicodeRange',\n  unitsPerEm: 1,\n  'units-per-em': 'unitsPerEm',\n  unselectable: 0,\n  vAlphabetic: 1,\n  'v-alphabetic': 'vAlphabetic',\n  values: 0,\n  vectorEffect: 1,\n  'vector-effect': 'vectorEffect',\n  version: 0,\n  vertAdvY: 1,\n  'vert-adv-y': 'vertAdvY',\n  vertOriginX: 1,\n  'vert-origin-x': 'vertOriginX',\n  vertOriginY: 1,\n  'vert-origin-y': 'vertOriginY',\n  vHanging: 1,\n  'v-hanging': 'vHanging',\n  vIdeographic: 1,\n  'v-ideographic': 'vIdeographic',\n  viewBox: 1,\n  viewTarget: 1,\n  visibility: 0,\n  vMathematical: 1,\n  'v-mathematical': 'vMathematical',\n  vocab: 0,\n  widths: 0,\n  wordSpacing: 1,\n  'word-spacing': 'wordSpacing',\n  writingMode: 1,\n  'writing-mode': 'writingMode',\n  x1: 0,\n  x2: 0,\n  x: 0,\n  xChannelSelector: 1,\n  xHeight: 1,\n  'x-height': 'xHeight',\n  xlinkActuate: 1,\n  'xlink:actuate': 'xlinkActuate',\n  xlinkArcrole: 1,\n  'xlink:arcrole': 'xlinkArcrole',\n  xlinkHref: 1,\n  'xlink:href': 'xlinkHref',\n  xlinkRole: 1,\n  'xlink:role': 'xlinkRole',\n  xlinkShow: 1,\n  'xlink:show': 'xlinkShow',\n  xlinkTitle: 1,\n  'xlink:title': 'xlinkTitle',\n  xlinkType: 1,\n  'xlink:type': 'xlinkType',\n  xmlBase: 1,\n  'xml:base': 'xmlBase',\n  xmlLang: 1,\n  'xml:lang': 'xmlLang',\n  xmlns: 0,\n  'xml:space': 'xmlSpace',\n  xmlnsXlink: 1,\n  'xmlns:xlink': 'xmlnsXlink',\n  xmlSpace: 1,\n  y1: 0,\n  y2: 0,\n  y: 0,\n  yChannelSelector: 1,\n  z: 0,\n  zoomAndPan: 1\n};\n", "'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _slicedToArray(arr, i) {\n  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n  if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n  var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n  if (_i == null) return;\n  var _arr = [];\n  var _n = true;\n  var _d = false;\n\n  var _s, _e;\n\n  try {\n    for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n      _arr.push(_s.value);\n\n      if (i && _arr.length === i) break;\n    }\n  } catch (err) {\n    _d = true;\n    _e = err;\n  } finally {\n    try {\n      if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n    } finally {\n      if (_d) throw _e;\n    }\n  }\n\n  return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n\n  for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n  return arr2;\n}\n\nfunction _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\n// A reserved attribute.\n// It is handled by React separately and shouldn't be written to the DOM.\nvar RESERVED = 0; // A simple string attribute.\n// Attributes that aren't in the filter are presumed to have this type.\n\nvar STRING = 1; // A string attribute that accepts booleans in React. In HTML, these are called\n// \"enumerated\" attributes with \"true\" and \"false\" as possible values.\n// When true, it should be set to a \"true\" string.\n// When false, it should be set to a \"false\" string.\n\nvar BOOLEANISH_STRING = 2; // A real boolean attribute.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n\nvar BOOLEAN = 3; // An attribute that can be used as a flag as well as with a value.\n// When true, it should be present (set either to an empty string or its name).\n// When false, it should be omitted.\n// For any other value, should be present with that value.\n\nvar OVERLOADED_BOOLEAN = 4; // An attribute that must be numeric or parse as a numeric.\n// When falsy, it should be removed.\n\nvar NUMERIC = 5; // An attribute that must be positive numeric or parse as a positive numeric.\n// When falsy, it should be removed.\n\nvar POSITIVE_NUMERIC = 6;\nfunction getPropertyInfo(name) {\n  return properties.hasOwnProperty(name) ? properties[name] : null;\n}\n\nfunction PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL, removeEmptyString) {\n  this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN;\n  this.attributeName = attributeName;\n  this.attributeNamespace = attributeNamespace;\n  this.mustUseProperty = mustUseProperty;\n  this.propertyName = name;\n  this.type = type;\n  this.sanitizeURL = sanitizeURL;\n  this.removeEmptyString = removeEmptyString;\n} // When adding attributes to this list, be sure to also add them to\n// the `possibleStandardNames` module to ensure casing and incorrect\n// name warnings.\n\n\nvar properties = {}; // These props are reserved by React. They shouldn't be written to the DOM.\n\nvar reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular\n// elements (not just inputs). Now that ReactDOMInput assigns to the\n// defaultValue property -- do we need this?\n'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'];\nreservedProps.forEach(function (name) {\n  properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty\n  name, // attributeName\n  null, // attributeNamespace\n  false, // sanitizeURL\n  false);\n}); // A few React string attributes have a different name.\n// This is a mapping from React prop names to the attribute names.\n\n[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) {\n  var _ref2 = _slicedToArray(_ref, 2),\n      name = _ref2[0],\n      attributeName = _ref2[1];\n\n  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n  attributeName, // attributeName\n  null, // attributeNamespace\n  false, // sanitizeURL\n  false);\n}); // These are \"enumerated\" HTML attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n\n['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (name) {\n  properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\n  name.toLowerCase(), // attributeName\n  null, // attributeNamespace\n  false, // sanitizeURL\n  false);\n}); // These are \"enumerated\" SVG attributes that accept \"true\" and \"false\".\n// In React, we let users pass `true` and `false` even though technically\n// these aren't boolean attributes (they are coerced to strings).\n// Since these are SVG attributes, their attribute names are case-sensitive.\n\n['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(function (name) {\n  properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\n  name, // attributeName\n  null, // attributeNamespace\n  false, // sanitizeURL\n  false);\n}); // These are HTML boolean attributes.\n\n['allowFullScreen', 'async', // Note: there is a special case that prevents it from being written to the DOM\n// on the client side because the browsers are inconsistent. Instead we call focus().\n'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'disablePictureInPicture', 'disableRemotePlayback', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless', // Microdata\n'itemScope'].forEach(function (name) {\n  properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty\n  name.toLowerCase(), // attributeName\n  null, // attributeNamespace\n  false, // sanitizeURL\n  false);\n}); // These are the few React props that we set as DOM properties\n// rather than attributes. These are all booleans.\n\n['checked', // Note: `option.selected` is not updated if `select.multiple` is\n// disabled with `removeAttribute`. We have special logic for handling this.\n'multiple', 'muted', 'selected' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n  properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty\n  name, // attributeName\n  null, // attributeNamespace\n  false, // sanitizeURL\n  false);\n}); // These are HTML attributes that are \"overloaded booleans\": they behave like\n// booleans, but can also accept a string value.\n\n['capture', 'download' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n  properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty\n  name, // attributeName\n  null, // attributeNamespace\n  false, // sanitizeURL\n  false);\n}); // These are HTML attributes that must be positive numbers.\n\n['cols', 'rows', 'size', 'span' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (name) {\n  properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty\n  name, // attributeName\n  null, // attributeNamespace\n  false, // sanitizeURL\n  false);\n}); // These are HTML attributes that must be numbers.\n\n['rowSpan', 'start'].forEach(function (name) {\n  properties[name] = new PropertyInfoRecord(name, NUMERIC, false, // mustUseProperty\n  name.toLowerCase(), // attributeName\n  null, // attributeNamespace\n  false, // sanitizeURL\n  false);\n});\nvar CAMELIZE = /[\\-\\:]([a-z])/g;\n\nvar capitalize = function capitalize(token) {\n  return token[1].toUpperCase();\n}; // This is a list of all SVG attributes that need special casing, namespacing,\n// or boolean value assignment. Regular attributes that just accept strings\n// and have the same names are omitted, just like in the HTML attribute filter.\n// Some of these attributes can be hard to find. This list was created by\n// scraping the MDN documentation.\n\n\n['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'xmlns:xlink', 'x-height' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n  var name = attributeName.replace(CAMELIZE, capitalize);\n  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n  attributeName, null, // attributeNamespace\n  false, // sanitizeURL\n  false);\n}); // String SVG attributes with the xlink namespace.\n\n['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n  var name = attributeName.replace(CAMELIZE, capitalize);\n  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n  attributeName, 'http://www.w3.org/1999/xlink', false, // sanitizeURL\n  false);\n}); // String SVG attributes with the xml namespace.\n\n['xml:base', 'xml:lang', 'xml:space' // NOTE: if you add a camelCased prop to this list,\n// you'll need to set attributeName to name.toLowerCase()\n// instead in the assignment below.\n].forEach(function (attributeName) {\n  var name = attributeName.replace(CAMELIZE, capitalize);\n  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\n  attributeName, 'http://www.w3.org/XML/1998/namespace', false, // sanitizeURL\n  false);\n}); // These attribute exists both in HTML and SVG.\n// The attribute name is case-sensitive in SVG so we can't just use\n// the React name like we do for attributes that exist only in HTML.\n\n['tabIndex', 'crossOrigin'].forEach(function (attributeName) {\n  properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\n  attributeName.toLowerCase(), // attributeName\n  null, // attributeNamespace\n  false, // sanitizeURL\n  false);\n}); // These attributes accept URLs. These must not allow javascript: URLS.\n// These will also need to accept Trusted Types object in the future.\n\nvar xlinkHref = 'xlinkHref';\nproperties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, // mustUseProperty\n'xlink:href', 'http://www.w3.org/1999/xlink', true, // sanitizeURL\nfalse);\n['src', 'href', 'action', 'formAction'].forEach(function (attributeName) {\n  properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\n  attributeName.toLowerCase(), // attributeName\n  null, // attributeNamespace\n  true, // sanitizeURL\n  true);\n});\n\nvar _require = require('../lib/possibleStandardNamesOptimized'),\n    CAMELCASE = _require.CAMELCASE,\n    SAME = _require.SAME,\n    possibleStandardNamesOptimized = _require.possibleStandardNames;\n\nvar ATTRIBUTE_NAME_START_CHAR = \":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\";\nvar ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + \"\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\";\n/**\n * Checks whether a property name is a custom attribute.\n *\n * @see {@link https://github.com/facebook/react/blob/15-stable/src/renderers/dom/shared/HTMLDOMPropertyConfig.js#L23-L25}\n *\n * @param {string}\n * @return {boolean}\n */\n\nvar isCustomAttribute = RegExp.prototype.test.bind( // eslint-disable-next-line no-misleading-character-class\nnew RegExp('^(data|aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$'));\nvar possibleStandardNames = Object.keys(possibleStandardNamesOptimized).reduce(function (accumulator, standardName) {\n  var propName = possibleStandardNamesOptimized[standardName];\n\n  if (propName === SAME) {\n    accumulator[standardName] = standardName;\n  } else if (propName === CAMELCASE) {\n    accumulator[standardName.toLowerCase()] = standardName;\n  } else {\n    accumulator[standardName] = propName;\n  }\n\n  return accumulator;\n}, {});\n\nexports.BOOLEAN = BOOLEAN;\nexports.BOOLEANISH_STRING = BOOLEANISH_STRING;\nexports.NUMERIC = NUMERIC;\nexports.OVERLOADED_BOOLEAN = OVERLOADED_BOOLEAN;\nexports.POSITIVE_NUMERIC = POSITIVE_NUMERIC;\nexports.RESERVED = RESERVED;\nexports.STRING = STRING;\nexports.getPropertyInfo = getPropertyInfo;\nexports.isCustomAttribute = isCustomAttribute;\nexports.possibleStandardNames = possibleStandardNames;\n", "import type { VerifiedPropertyControls } from \"@framerjs/framer-runtime\"\nimport { Dictionary } from \"app/dictionary.ts\"\nimport { ControlType } from \"library/render/types/PropertyControls.ts\"\n\nexport function controlsWithAutoVariantOption(controls: VerifiedPropertyControls): VerifiedPropertyControls {\n\tconst variantControl = controls.variant\n\tif (!variantControl) return controls\n\tif (variantControl.type !== ControlType.Enum) return controls\n\n\tconst variantOptions = [null, ...variantControl.options]\n\tconst optionTitles = variantControl.optionTitles && [Dictionary.Auto, ...variantControl.optionTitles]\n\n\treturn {\n\t\t...controls,\n\t\tvariant: {\n\t\t\t...variantControl,\n\t\t\toptions: variantOptions,\n\t\t\toptionTitles,\n\t\t},\n\t}\n}\n", "const firstIdChars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\"\nconst idChars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_\"\n\nexport function randomRichTextId(): string {\n\treturn (\n\t\trandomChar(firstIdChars) +\n\t\trandomChar(idChars) +\n\t\trandomChar(idChars) +\n\t\trandomChar(idChars) +\n\t\trandomChar(idChars) +\n\t\trandomChar(idChars) +\n\t\trandomChar(idChars) +\n\t\trandomChar(idChars) +\n\t\trandomChar(idChars)\n\t)\n}\n\nfunction randomChar(chars: string): string {\n\treturn chars.charAt(Math.floor(Math.random() * chars.length))\n}\n", "import { stableStringify } from \"@framerjs/shared/src/stableStringify.ts\"\nimport type {\n\tRichTextBlock,\n\tRichTextBlockquoteBlock,\n\tRichTextBulletedListBlock,\n\tRichTextDocument,\n\tRichTextInline,\n\tRichTextListItem,\n\tRichTextNumberedListBlock,\n\tRichTextTableBlock,\n\tRichTextTableCell,\n\tRichTextTableRow,\n\tRichTextText,\n\tRichTextTextBlock,\n} from \"./RichTextDocument.ts\"\nimport { randomRichTextId } from \"./richTextId.ts\"\n\nexport function normalizeRichTextDocument(document: RichTextDocument): RichTextDocument {\n\treturn {\n\t\ttype: \"richText\",\n\t\tvariant: document.variant,\n\t\tchildren: normalizeBlocks(document.children),\n\t}\n}\n\nfunction normalizeBlocks(blocks: readonly RichTextBlock[]): RichTextBlock[] {\n\treturn blocks.map(normalizeBlock)\n}\n\nfunction normalizeBlock(block: RichTextBlock): RichTextBlock {\n\tswitch (block.type) {\n\t\tcase \"textBlock\":\n\t\t\treturn normalizeTextBlock(block)\n\t\tcase \"bulletedList\":\n\t\t\treturn normalizeBulletedListBlock(block)\n\t\tcase \"numberedList\":\n\t\t\treturn normalizeNumberedListBlock(block)\n\t\tcase \"blockquote\":\n\t\t\treturn normalizeBlockquoteBlock(block)\n\t\tcase \"table\":\n\t\t\treturn normalizeTableBlock(block)\n\t\tcase \"media\":\n\t\tcase \"module\":\n\t\t\treturn block\n\t}\n}\n\nfunction normalizeTextBlock(block: RichTextTextBlock): RichTextTextBlock {\n\treturn {\n\t\t...block,\n\t\tchildren: normalizeInlines(block.children),\n\t}\n}\n\nfunction normalizeBulletedListBlock(block: RichTextBulletedListBlock): RichTextBulletedListBlock {\n\tconst children = block.children.map(item => normalizeListItem(item))\n\treturn {\n\t\t...block,\n\t\tchildren: children.length > 0 ? children : [createDefaultListItem()],\n\t}\n}\n\nfunction normalizeNumberedListBlock(block: RichTextNumberedListBlock): RichTextNumberedListBlock {\n\tconst children = block.children.map(item => normalizeListItem(item))\n\treturn {\n\t\t...block,\n\t\tchildren: children.length > 0 ? children : [createDefaultListItem()],\n\t}\n}\n\nfunction normalizeBlockquoteBlock(block: RichTextBlockquoteBlock): RichTextBlockquoteBlock {\n\tconst children = normalizeBlocks(block.children)\n\treturn {\n\t\t...block,\n\t\tchildren: children.length > 0 ? children : [createDefaultTextBlock()],\n\t}\n}\n\nfunction normalizeTableBlock(block: RichTextTableBlock): RichTextTableBlock {\n\tconst rows = block.children.map(row => normalizeTableRow(row))\n\tconst completeRows = rows.length > 0 ? rows : [createDefaultTableRow()]\n\tconst cellCount = Math.max(...completeRows.map(row => row.children.length))\n\treturn {\n\t\t...block,\n\t\tchildren: completeRows.map(row => normalizeTableRowCellCount(row, cellCount)),\n\t}\n}\n\nfunction normalizeListItem(item: RichTextListItem): RichTextListItem {\n\tconst children = normalizeBlocks(item.children)\n\treturn {\n\t\t...item,\n\t\tchildren: children.length > 0 ? children : [createDefaultTextBlock(\"inherit\")],\n\t}\n}\n\nfunction normalizeTableRow(row: RichTextTableRow): RichTextTableRow {\n\tconst cells = row.children.map(normalizeTableCell)\n\treturn {\n\t\t...row,\n\t\tchildren: cells.length > 0 ? cells : [createDefaultTableCell()],\n\t}\n}\n\nfunction normalizeTableRowCellCount(row: RichTextTableRow, cellCount: number): RichTextTableRow {\n\tif (row.children.length >= cellCount) return row\n\tconst children = [...row.children]\n\twhile (children.length < cellCount) {\n\t\tchildren.push(createDefaultTableCell())\n\t}\n\treturn {\n\t\t...row,\n\t\tchildren,\n\t}\n}\n\nfunction normalizeTableCell(cell: RichTextTableCell): RichTextTableCell {\n\tconst children = normalizeBlocks(cell.children)\n\treturn {\n\t\t...cell,\n\t\tchildren: children.length > 0 ? children : [createDefaultTextBlock()],\n\t}\n}\n\nfunction normalizeInlines(inlines: readonly RichTextInline[]): RichTextInline[] {\n\tconst normalizedLineBreaks = splitTextLineBreaks(inlines)\n\tconst filtered = normalizedLineBreaks.filter(inline => inline.type === \"lineBreak\" || inline.text.length > 0)\n\treturn collapseAdjacentTextInlines(filtered)\n}\n\nfunction splitTextLineBreaks(inlines: readonly RichTextInline[]): RichTextInline[] {\n\tconst split: RichTextInline[] = []\n\tfor (const inline of inlines) {\n\t\tif (inline.type === \"lineBreak\" || !inline.text.includes(\"\\n\")) {\n\t\t\tsplit.push(inline)\n\t\t\tcontinue\n\t\t}\n\t\tappendSplitTextInline(inline, split)\n\t}\n\treturn split\n}\n\nfunction appendSplitTextInline(inline: RichTextText, split: RichTextInline[]): void {\n\tlet cursor = 0\n\tlet usedOriginalId = false\n\twhile (cursor < inline.text.length) {\n\t\tconst lineBreakIndex = inline.text.indexOf(\"\\n\", cursor)\n\t\tif (lineBreakIndex === -1) {\n\t\t\tconst chunk = inline.text.slice(cursor)\n\t\t\tif (chunk.length > 0) {\n\t\t\t\tsplit.push({\n\t\t\t\t\t...inline,\n\t\t\t\t\tid: usedOriginalId ? randomRichTextId() : inline.id,\n\t\t\t\t\ttext: chunk,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tconst chunk = inline.text.slice(cursor, lineBreakIndex)\n\t\tif (chunk.length > 0) {\n\t\t\tsplit.push({\n\t\t\t\t...inline,\n\t\t\t\tid: usedOriginalId ? randomRichTextId() : inline.id,\n\t\t\t\ttext: chunk,\n\t\t\t})\n\t\t\tusedOriginalId = true\n\t\t}\n\t\tsplit.push({ id: randomRichTextId(), type: \"lineBreak\" })\n\t\tcursor = lineBreakIndex + 1\n\t}\n}\n\nfunction collapseAdjacentTextInlines(inlines: RichTextInline[]): RichTextInline[] {\n\tconst collapsed: RichTextInline[] = []\n\tfor (const inline of inlines) {\n\t\tconst previous = collapsed[collapsed.length - 1]\n\t\tif (previous?.type === \"text\" && inline.type === \"text\" && canMergeTextInlines(previous, inline)) {\n\t\t\tcollapsed[collapsed.length - 1] = { ...previous, text: previous.text + inline.text }\n\t\t\tcontinue\n\t\t}\n\t\tcollapsed.push(inline.type === \"text\" ? { ...inline } : inline)\n\t}\n\treturn collapsed\n}\n\nfunction canMergeTextInlines(a: RichTextText, b: RichTextText): boolean {\n\tif (a.bold !== b.bold) return false\n\tif (a.italic !== b.italic) return false\n\tif (a.inlineCode !== b.inlineCode) return false\n\tif (a.link === b.link) return true\n\tif (!a.link || !b.link) return false\n\treturn stableStringify(a.link) === stableStringify(b.link)\n}\n\nfunction createDefaultTextBlock(textDirection: RichTextTextBlock[\"textDirection\"] = \"auto\"): RichTextTextBlock {\n\treturn {\n\t\tid: randomRichTextId(),\n\t\ttype: \"textBlock\",\n\t\ttag: \"p\",\n\t\ttextDirection,\n\t\tchildren: [],\n\t}\n}\n\nfunction createDefaultListItem(): RichTextListItem {\n\treturn {\n\t\tid: randomRichTextId(),\n\t\ttype: \"listItem\",\n\t\tchildren: [createDefaultTextBlock(\"inherit\")],\n\t}\n}\n\nfunction createDefaultTableRow(): RichTextTableRow {\n\treturn {\n\t\tid: randomRichTextId(),\n\t\ttype: \"tableRow\",\n\t\tchildren: [createDefaultTableCell()],\n\t}\n}\n\nfunction createDefaultTableCell(): RichTextTableCell {\n\treturn {\n\t\tid: randomRichTextId(),\n\t\ttype: \"tableCell\",\n\t\tcellType: \"cell\",\n\t\tchildren: [createDefaultTextBlock()],\n\t}\n}\n", "import { createAbsoluteAssetURL, createAbsoluteImageAssetURL, parseAssetReference } from \"@framerjs/assets\"\nimport type { AnyComponentLoader, ReactComponentDefinition } from \"@framerjs/framer-runtime\"\nimport { SupportedLayoutOption } from \"@framerjs/framer-runtime/crossorigin\"\nimport type { SandboxReactComponentDefinition } from \"@framerjs/framer-runtime/sandbox\"\nimport {\n\tassert,\n\tassertNever,\n\ttype ModuleExportIdentifierString,\n\tisEmptyObject,\n\tisExternalModuleIdentifier,\n\tisModuleExportIdentifier,\n\tparseModuleIdentifier,\n} from \"@framerjs/shared\"\nimport type { SerializableRecord } from \"code-generation/js/SerializableValue.ts\"\nimport { js, jsx } from \"code-generation/js/js.ts\"\nimport { SafeJS, SerializableObject, serializeJS } from \"code-generation/js/serializeJS.ts\"\nimport type { AssetCollector } from \"code-generation/utils/AssetCollector.ts\"\nimport type { CSSVariableDefinitionCollector } from \"code-generation/utils/CSSVariableDefinitionCollector.ts\"\nimport type { ImportCollector } from \"code-generation/utils/ImportCollector.ts\"\nimport type { LinkCollector, SerializableLink } from \"code-generation/utils/LinkCollector.ts\"\nimport type { VariableCollector } from \"code-generation/utils/VariableCollector.ts\"\nimport type { ControlProps } from \"document/models/controlProps/ControlProp.ts\"\nimport type { RawControlProps } from \"document/models/controlProps/RawControlProp.ts\"\nimport { controlsWithAutoVariantOption } from \"document/models/controlProps/controlsWithAutoVariantOption.ts\"\nimport { filterComponentPresetControls } from \"document/models/controlProps/filterComponentPresetControls.ts\"\nimport { getControlProps } from \"document/models/controlProps/getControlProps.ts\"\nimport { getResolvedControlPropValues } from \"document/models/controlProps/getResolvedControlPropValues.ts\"\nimport type {\n\tRichTextBlock,\n\tRichTextDirection,\n\tRichTextDocument,\n\tRichTextInline,\n\tRichTextLink,\n\tRichTextMediaBlock,\n\tRichTextText,\n} from \"document/models/richText/RichTextDocument.ts\"\nimport { normalizeRichTextDocument } from \"document/models/richText/richTextDocumentNormalization.ts\"\nimport type { RichTextTreeValue } from \"document/models/richText/richTextStorage.ts\"\nimport { parseGradient } from \"document/utils/parseGradient.ts\"\nimport { AutoBreakpointVariant, ComponentPresetsConsumer } from \"library/index.ts\"\nimport { Link as LinkComponent } from \"library/modules/Link/index.tsx\"\nimport type { LinkProps } from \"library/modules/Link/types.ts\"\nimport { type LinkToWebPage, isLinkToWebPage } from \"library/modules/LinkToWebPage.ts\"\nimport { isEqual } from \"library/render/utils/isEqual.ts\"\nimport { memoize } from \"library/utils/memoize.ts\"\nimport { DATA_STOP_IDS } from \"prosemirror/schema/backgroundMask.ts\"\nimport {\n\tCLICK_TRACKING_ID_ATTR,\n\tLINK_ATTR,\n\tOPEN_IN_NEW_TAB_ATTR,\n\tPRESERVE_PARAMS_ATTR,\n\tREL_VALUES_VAR_ATTR,\n\tSMOOTH_SCROLL_ATTR,\n\tgetAnchorElementClickTrackingId,\n\tgetAnchorElementLink,\n\tgetAnchorElementOpenInNewTab,\n\tgetAnchorElementPreserveParams,\n\tgetAnchorElementRelValues,\n\tgetAnchorElementSmoothScroll,\n} from \"prosemirror/schema/link.ts\"\nimport {\n\tCMS_MODULE_ALIGNMENT_ATTR,\n\tCMS_MODULE_IDENTIFIER_ATTR,\n\tCMS_MODULE_PROPS_ATTR,\n\tCMS_MODULE_TAG,\n\tCMS_MODULE_WIDTH_ATTR,\n\tModuleAlignment,\n\tModuleWidth,\n\tparseModuleAlignment,\n\tparseModuleWidth,\n} from \"prosemirror/schema/module.ts\"\nimport { Fragment, createElement } from \"react\"\nimport * as ReactProps from \"react-property\"\nimport { parseHTML } from \"utils/parseHTML.ts\"\nimport { parseStyleToJS } from \"utils/parseStyleToJS.ts\"\nimport { resolveLinkToURL } from \"utils/resolveLink.ts\"\nimport { isString, isUndefined } from \"utils/typeChecks.ts\"\nimport { projectVectorSetIdentifier } from \"utils/vectorSets.ts\"\nimport type { CanvasTree } from \"../../CanvasTree.ts\"\nimport type { ResponsiveImage } from \"../../traits/ResponsiveImage.ts\"\nimport { type VariableReference, isVariableReference } from \"../../traits/VariableReference.ts\"\nimport { type Link, isLinkToURL } from \"../../traits/utils/Link.ts\"\nimport { isResolvedCollectionItemSelector } from \"../../traits/utils/ResolvedCollectionItemSelector.ts\"\nimport { sizeValueToCSSValue } from \"../../traits/utils/cssValues.ts\"\nimport { getSupportedLayoutForCodeComponent, mapVariableProps } from \"../CodeComponentNode.ts\"\nimport type { NodeID } from \"../NodeID.ts\"\nimport { isExternalModuleNode } from \"./nodeCheck.ts\"\n\ntype Props = Record<string, unknown>\n\nexport interface RichTextResolvers {\n\tasset(reference: string): string | undefined\n\tlink(link: Link | VariableReference): string | LinkToWebPage | undefined\n\tresponsiveImage(reference: string): ResponsiveImage | undefined\n\tvariable(variable: VariableReference): unknown\n\tcolor(color: string): string\n}\n\nexport interface RichTextSerializers<Serialized> {\n\tfragment(children: Serialized[]): Serialized\n\tlink(props: LinkProps, children: Serialized[]): Serialized\n\tmodule(identifier: ModuleExportIdentifierString, props: Props): Serialized | undefined\n\ttag(tag: string, props: Props | undefined, children: Serialized[]): Serialized\n\ttext(text: string): Serialized\n}\n\nfunction getReactProps(tag: string, attributes: NamedNodeMap, resolvers: RichTextResolvers) {\n\tconst props: Props = {}\n\n\tfor (const { name, value } of attributes) {\n\t\tconst propName = ReactProps.possibleStandardNames[name] ?? name\n\t\tconst propInfo = ReactProps.getPropertyInfo(propName)\n\n\t\t// Skip props related to links.\n\t\tif (propName === LINK_ATTR) continue\n\t\tif (propName === OPEN_IN_NEW_TAB_ATTR) continue\n\t\tif (propName === SMOOTH_SCROLL_ATTR) continue\n\t\tif (propName === CLICK_TRACKING_ID_ATTR) continue\n\t\tif (propName === PRESERVE_PARAMS_ATTR) continue\n\t\tif (propName === REL_VALUES_VAR_ATTR) continue\n\t\t// rel is handled by getLinkProps and the Link component.\n\t\tif (propName === \"rel\") continue\n\t\t// Skip props for canvas parsing.\n\t\tif (propName === DATA_STOP_IDS) continue\n\t\t// Skip props related to images.\n\t\tif (propName === \"data-framer-height\") continue\n\t\tif (propName === \"data-framer-width\") continue\n\n\t\tif (propInfo) {\n\t\t\tif (propInfo.type === ReactProps.BOOLEAN) {\n\t\t\t\tprops[propName] = true\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tif (propInfo.type === ReactProps.OVERLOADED_BOOLEAN && value === \"\") {\n\t\t\t\tprops[propName] = true\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\n\t\tif (propName === \"data-framer-asset\") {\n\t\t\tif (tag === \"img\") {\n\t\t\t\tconst image = resolvers.responsiveImage(value)\n\t\t\t\tif (image) {\n\t\t\t\t\tprops.src = image.src\n\t\t\t\t\tprops.srcSet = image.srcSet\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst src = resolvers.asset(value)\n\t\t\t\tif (src) {\n\t\t\t\t\tprops.src = src\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (propName === \"style\") {\n\t\t\tconst style = parseStyleToJS(value)\n\n\t\t\tif (isString(style.backgroundImage)) {\n\t\t\t\tconst gradient = parseGradient(style.backgroundImage)\n\t\t\t\tif (gradient) {\n\t\t\t\t\tstyle.backgroundImage = gradient.toCSS(undefined, resolvers.color)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tprops[propName] = style\n\t\t} else {\n\t\t\tprops[propName] = value\n\t\t}\n\t}\n\n\tif (!isEmptyObject(props)) {\n\t\treturn props\n\t}\n}\n\nfunction resolveValue<Value>(resolvers: RichTextResolvers, value: Value | VariableReference): Value {\n\tif (isVariableReference(value)) {\n\t\treturn resolvers.variable(value) as Value\n\t}\n\n\treturn value\n}\n\nfunction getLinkProps(\n\telement: HTMLElement,\n\tresolvers: RichTextResolvers,\n\tnodeId: NodeID | undefined,\n\tscopeId: NodeID | undefined,\n): LinkProps | undefined {\n\tconst link = getAnchorElementLink(element)\n\tif (!link) return\n\n\tconst openInNewTab = getAnchorElementOpenInNewTab(element)\n\tconst smoothScroll = getAnchorElementSmoothScroll(element)\n\tconst clickTrackingId = getAnchorElementClickTrackingId(element)\n\tconst rel = getAnchorElementRelValues(element)\n\tconst preserveParams = getAnchorElementPreserveParams(element)\n\n\treturn {\n\t\thref: resolvers.link(link),\n\t\topenInNewTab: resolveValue(resolvers, openInNewTab),\n\t\tsmoothScroll: resolveValue(resolvers, smoothScroll),\n\t\tclickTrackingId: resolveValue(resolvers, clickTrackingId),\n\t\trelValues: resolveValue(resolvers, rel),\n\t\tpreserveParams: resolveValue(resolvers, preserveParams),\n\t\t// Flag that the `<Link>` can assume its child is a `<motion.a />`.\n\t\tmotionChild: true,\n\t\tnodeId,\n\t\tscopeId,\n\t}\n}\n\nexport function getModuleProps(\n\tcomponentDefinition: ReactComponentDefinition | SandboxReactComponentDefinition | null,\n\trawControlProps: RawControlProps,\n): ControlProps {\n\tconst controls = controlsWithAutoVariantOption(filterComponentPresetControls(componentDefinition, \"onlyNonPresets\"))\n\treturn getControlProps(controls, rawControlProps)\n}\n\nfunction getResolvedModuleProps<Serialized>(\n\tidentifier: ModuleExportIdentifierString,\n\trawControlProps: RawControlProps,\n\tresolvers: RichTextResolvers,\n\tserializers: RichTextSerializers<Serialized>,\n\toptions: Options,\n): Props {\n\tconst { componentLoader } = options\n\tassert(componentLoader, \"Definition provider is required for module props\")\n\n\tconst componentDefinition = componentLoader.reactComponentForIdentifier(identifier)\n\n\tconst controls = controlsWithAutoVariantOption(filterComponentPresetControls(componentDefinition, \"onlyNonPresets\"))\n\tconst controlProps = getControlProps(controls, rawControlProps)\n\n\tconst resolvedControlPropValues = getResolvedControlPropValues(controls, controlProps, {\n\t\tresolveDynamicValue() {\n\t\t\treturn undefined\n\t\t},\n\t\tresolveAsset(value, _control, _controlProp, resolveImage) {\n\t\t\tif (resolveImage) {\n\t\t\t\treturn resolvers.responsiveImage(value as string)\n\t\t\t}\n\t\t\treturn resolvers.asset(value as string)\n\t\t},\n\t\tresolveResponsiveImage(value) {\n\t\t\treturn resolvers.responsiveImage(value as string)\n\t\t},\n\t\tresolveLink(_controlKey, controlProp) {\n\t\t\treturn linkFromValue(controlProp.value, resolvers)\n\t\t},\n\t\tresolvePageScope(value) {\n\t\t\treturn linkFromValue(value, resolvers)\n\t\t},\n\t\tresolveFont() {\n\t\t\treturn {}\n\t\t},\n\t\tresolveLocalizedValue(value) {\n\t\t\treturn value\n\t\t},\n\t\tresolveScrollSectionRef() {\n\t\t\treturn undefined\n\t\t},\n\t\tresolveCustomCursor() {\n\t\t\treturn undefined\n\t\t},\n\t\tresolveVectorSetItem(value, control) {\n\t\t\tif (isVariableReference(value)) return\n\t\t\tif (!isString(value) || !isModuleExportIdentifier(value)) return\n\n\t\t\tconst projectedIdentifier = projectVectorSetIdentifier(options.tree, control, value)\n\t\t\tif (!projectedIdentifier) return\n\n\t\t\treturn options.resolveVectorSetItem?.(projectedIdentifier)\n\t\t},\n\t\tresolveColor(value) {\n\t\t\treturn resolvers.color(value)\n\t\t},\n\t\tresolveRichText(value) {\n\t\t\treturn compileRichTextTreeValue(value, resolvers, serializers, options)\n\t\t},\n\t})\n\treturn mapVariableProps(componentLoader, identifier, resolvedControlPropValues)\n}\n\nfunction linkFromValue(value: unknown, resolvers: RichTextResolvers) {\n\t// type cast because SerializableLink's index signature for type string is missing in type UnresolvedSlug\n\treturn resolvers.link(value as Link | VariableReference) as unknown as string | SerializableLink | undefined\n}\n\nfunction shouldUseAspectRatio(componentLoader: AnyComponentLoader, identifier: string) {\n\tconst supportedLayouts = getSupportedLayoutForCodeComponent(componentLoader, identifier)\n\n\treturn (\n\t\tsupportedLayouts.height === SupportedLayoutOption.Fixed ||\n\t\tsupportedLayouts.height === SupportedLayoutOption.AnyPreferFixed\n\t)\n}\n\nfunction getModuleWrapperProps(\n\ttree: CanvasTree | undefined,\n\tcomponentLoader: AnyComponentLoader,\n\tidentifier: ModuleExportIdentifierString,\n\twidth: ModuleWidth = ModuleWidth.Fill,\n\talignment: ModuleAlignment = ModuleAlignment.Left,\n): Props {\n\tlet height: number | string = \"auto\"\n\tlet aspectRatio: string | undefined\n\n\tconst parsedIdentifier = parseModuleIdentifier(identifier)\n\n\tif (tree && isExternalModuleIdentifier(parsedIdentifier) && shouldUseAspectRatio(componentLoader, identifier)) {\n\t\tconst externalModuleNode = tree.getNodeWithTrait(parsedIdentifier.moduleId, isExternalModuleNode)\n\n\t\tif (externalModuleNode) {\n\t\t\taspectRatio = `${externalModuleNode.intrinsicWidth} / ${externalModuleNode.intrinsicHeight}`\n\t\t\theight = externalModuleNode.intrinsicHeight\n\t\t}\n\t}\n\n\tconst style: React.CSSProperties = {\n\t\twidth: width === ModuleWidth.Fill ? \"100%\" : \"fit-content\",\n\t\theight: sizeValueToCSSValue(height),\n\t}\n\n\tif (aspectRatio) {\n\t\tstyle.height = \"auto\"\n\t\tstyle.aspectRatio = aspectRatio\n\t}\n\n\tif (width === ModuleWidth.Fit) {\n\t\tstyle.overflow = \"hidden\"\n\n\t\tif (alignment === ModuleAlignment.Center) {\n\t\t\tstyle.marginLeft = \"auto\"\n\t\t\tstyle.marginRight = \"auto\"\n\t\t} else if (alignment === ModuleAlignment.Right) {\n\t\t\tstyle.marginLeft = \"auto\"\n\t\t}\n\t}\n\n\treturn {\n\t\tclassName: \"framer-text-module\",\n\t\tstyle,\n\t\t\"data-width\": width,\n\t}\n}\n\ninterface Options {\n\tcomponentLoader?: AnyComponentLoader\n\tresolveVectorSetItem?: (\n\t\tidentifier: ModuleExportIdentifierString,\n\t) => ModuleExportIdentifierString | React.ComponentType<unknown> | undefined\n\ttree?: CanvasTree\n\tnodeId?: NodeID | undefined\n\tscopeId?: NodeID | undefined\n}\n\nfunction compileRichText<Serialized>(\n\thtml: string,\n\tresolvers: RichTextResolvers,\n\tserializers: RichTextSerializers<Serialized>,\n\toptions: Options,\n): Serialized {\n\tconst { componentLoader, tree, nodeId, scopeId } = options\n\tconst container = parseHTML(html)\n\n\tfunction compileNode(node: Node): Serialized | undefined {\n\t\tif (node instanceof Text) {\n\t\t\treturn serializers.text(node.data)\n\t\t}\n\n\t\tif (node instanceof HTMLElement) {\n\t\t\tconst tag = node.tagName.toLowerCase()\n\n\t\t\t// `template` used to be an old tag for modules; we switched to `framer-module` in Jun 2025.\n\t\t\tif (tag === CMS_MODULE_TAG || tag === \"template\") {\n\t\t\t\tif (!componentLoader) return\n\n\t\t\t\tconst identifier = node.getAttribute(CMS_MODULE_IDENTIFIER_ATTR) ?? undefined\n\t\t\t\tif (!isModuleExportIdentifier(identifier)) return\n\n\t\t\t\tconst jsonControlProps = node.getAttribute(CMS_MODULE_PROPS_ATTR) ?? \"\"\n\t\t\t\tconst rawControlProps: RawControlProps = JSON.parse(jsonControlProps)\n\t\t\t\tconst moduleProps = getResolvedModuleProps(identifier, rawControlProps, resolvers, serializers, options)\n\n\t\t\t\tconst moduleElement = serializers.module(identifier, moduleProps)\n\t\t\t\tif (!moduleElement) return\n\n\t\t\t\tconst width = parseModuleWidth(node.getAttribute(CMS_MODULE_WIDTH_ATTR))\n\t\t\t\tconst alignment = parseModuleAlignment(node.getAttribute(CMS_MODULE_ALIGNMENT_ATTR))\n\t\t\t\tconst wrapperProps = getModuleWrapperProps(tree, componentLoader, identifier, width, alignment)\n\t\t\t\treturn serializers.tag(\"div\", wrapperProps, [moduleElement])\n\t\t\t}\n\n\t\t\tconst props = getReactProps(tag, node.attributes, resolvers)\n\t\t\tconst children = compileChildNodes(node.childNodes)\n\t\t\tconst element = serializers.tag(tag, props, children)\n\n\t\t\tif (tag === \"a\") {\n\t\t\t\tconst linkProps = getLinkProps(node, resolvers, nodeId, scopeId)\n\n\t\t\t\tif (linkProps) {\n\t\t\t\t\treturn serializers.link(linkProps, [element])\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (node instanceof HTMLImageElement) {\n\t\t\t\tconst linkProps = getLinkProps(node, resolvers, nodeId, scopeId)\n\n\t\t\t\tif (linkProps) {\n\t\t\t\t\treturn serializers.link(linkProps, [\n\t\t\t\t\t\tserializers.tag(\n\t\t\t\t\t\t\t\"a\",\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tclassName: \"framer-image\",\n\t\t\t\t\t\t\t\t\"data-preset-tag\": \"img\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[element],\n\t\t\t\t\t\t),\n\t\t\t\t\t])\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn element\n\t\t}\n\t}\n\n\tfunction compileChildNodes(children: NodeListOf<ChildNode>) {\n\t\tconst result: Serialized[] = []\n\n\t\tfor (const child of children) {\n\t\t\tconst compiled = compileNode(child)\n\n\t\t\tif (!isUndefined(compiled)) {\n\t\t\t\tresult.push(compiled)\n\t\t\t}\n\t\t}\n\n\t\treturn result\n\t}\n\n\tconst nodes = compileChildNodes(container.childNodes)\n\treturn serializers.fragment(nodes)\n}\n\nexport function compileRichTextTreeValue<Serialized>(\n\tvalue: RichTextTreeValue,\n\tresolvers: RichTextResolvers,\n\tserializers: RichTextSerializers<Serialized>,\n\toptions: Options,\n): Serialized {\n\tif (typeof value === \"string\") return compileRichText(value, resolvers, serializers, options)\n\treturn compileRichTextDocument(value, resolvers, serializers, options)\n}\n\n// Rich-text image dimensions are stored as source bitmap pixels. Generated\n// image width/height props use CSS pixels, so match the existing HTML/\n// ProseMirror path's 2x source-to-layout sizing convention.\nconst RICH_TEXT_IMAGE_SOURCE_TO_CSS_PIXEL_RATIO = 2\n\nfunction compileRichTextDocument<Serialized>(\n\tdocument: RichTextDocument,\n\tresolvers: RichTextResolvers,\n\tserializers: RichTextSerializers<Serialized>,\n\toptions: Options,\n): Serialized {\n\tconst { componentLoader, tree, nodeId, scopeId } = options\n\tconst normalizedDocument = normalizeRichTextDocument(document)\n\n\tfunction compileBlock(block: RichTextBlock): Serialized | undefined {\n\t\tswitch (block.type) {\n\t\t\tcase \"textBlock\":\n\t\t\t\treturn compileTextBlock(block)\n\n\t\t\tcase \"bulletedList\":\n\t\t\t\treturn serializers.tag(\"ul\", getDirectionProps(block.textDirection), block.children.map(compileListItem))\n\n\t\t\tcase \"numberedList\":\n\t\t\t\treturn serializers.tag(\"ol\", getNumberedListProps(block), block.children.map(compileListItem))\n\n\t\t\tcase \"blockquote\":\n\t\t\t\treturn serializers.tag(\"blockquote\", undefined, compileBlocks(block.children))\n\n\t\t\tcase \"media\":\n\t\t\t\treturn compileMedia(block)\n\n\t\t\tcase \"module\":\n\t\t\t\treturn compileModule(block)\n\n\t\t\tcase \"table\":\n\t\t\t\treturn serializers.tag(\"figure\", { className: \"framer-table-wrapper\" }, [\n\t\t\t\t\tserializers.tag(\"table\", undefined, [\n\t\t\t\t\t\tserializers.tag(\n\t\t\t\t\t\t\t\"tbody\",\n\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\tblock.children.map(row =>\n\t\t\t\t\t\t\t\tserializers.tag(\n\t\t\t\t\t\t\t\t\t\"tr\",\n\t\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t\trow.children.map(cell =>\n\t\t\t\t\t\t\t\t\t\tserializers.tag(cell.cellType === \"header\" ? \"th\" : \"td\", undefined, compileBlocks(cell.children)),\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t),\n\t\t\t\t\t]),\n\t\t\t\t])\n\n\t\t\tdefault:\n\t\t\t\tassertNever(block)\n\t\t}\n\t}\n\n\tfunction compileBlocks(blocks: RichTextBlock[]): Serialized[] {\n\t\tconst result: Serialized[] = []\n\t\tfor (const block of blocks) {\n\t\t\tconst compiled = compileBlock(block)\n\t\t\tif (!isUndefined(compiled)) result.push(compiled)\n\t\t}\n\t\treturn result\n\t}\n\n\tfunction compileListItem(item: { children: RichTextBlock[] }): Serialized {\n\t\tconst firstChild = item.children[0]\n\t\tconst presetTag = firstChild?.type === \"textBlock\" ? firstChild.tag : \"p\"\n\t\treturn serializers.tag(\"li\", { \"data-preset-tag\": presetTag }, compileBlocks(item.children))\n\t}\n\n\tfunction compileTextBlock(block: Extract<RichTextBlock, { type: \"textBlock\" }>): Serialized {\n\t\tconst children = compileInlines(block.children)\n\n\t\tif (shouldAddTrailingBreak(block.children)) {\n\t\t\tchildren.push(serializers.tag(\"br\", { className: \"trailing-break\" }, []))\n\t\t}\n\n\t\treturn serializers.tag(block.tag, getDirectionProps(block.textDirection), children)\n\t}\n\n\tfunction shouldAddTrailingBreak(inlines: RichTextInline[]): boolean {\n\t\tconst lastInline = inlines.at(-1)\n\t\treturn !lastInline || lastInline.type === \"lineBreak\"\n\t}\n\n\tfunction compileMedia(block: RichTextMediaBlock): Serialized {\n\t\tconst tag = block.mediaType === \"video\" ? \"video\" : \"img\"\n\t\tconst props = getMediaProps(tag, block)\n\t\tconst element = serializers.tag(tag, props, [])\n\t\tif (block.mediaType !== \"image\" || !block.link) return element\n\n\t\treturn serializers.link(getRichTextLinkProps(block.link), [\n\t\t\tserializers.tag(\n\t\t\t\t\"a\",\n\t\t\t\t{\n\t\t\t\t\tclassName: \"framer-image\",\n\t\t\t\t\t\"data-preset-tag\": \"img\",\n\t\t\t\t},\n\t\t\t\t[element],\n\t\t\t),\n\t\t])\n\t}\n\n\tfunction compileModule(block: RichTextBlock): Serialized | undefined {\n\t\tif (block.type !== \"module\") return\n\t\tif (!componentLoader) return\n\t\tif (!isModuleExportIdentifier(block.identifier)) return\n\n\t\tconst moduleProps = getResolvedModuleProps(block.identifier, block.props, resolvers, serializers, options)\n\t\tconst moduleElement = serializers.module(block.identifier, moduleProps)\n\t\tif (!moduleElement) return\n\n\t\tconst wrapperProps = getModuleWrapperProps(\n\t\t\ttree,\n\t\t\tcomponentLoader,\n\t\t\tblock.identifier,\n\t\t\tparseModuleWidth(block.width),\n\t\t\tparseModuleAlignment(block.alignment),\n\t\t)\n\t\treturn serializers.tag(\"div\", wrapperProps, [moduleElement])\n\t}\n\n\tfunction compileInlines(inlines: RichTextInline[]): Serialized[] {\n\t\tconst compiled: Serialized[] = []\n\t\tlet linkedChildren: Serialized[] = []\n\t\tlet currentLink: RichTextLink | undefined\n\n\t\tconst flushLink = () => {\n\t\t\tif (!currentLink) return\n\t\t\tcompiled.push(compileLink(currentLink, linkedChildren))\n\t\t\tcurrentLink = undefined\n\t\t\tlinkedChildren = []\n\t\t}\n\n\t\tfor (const inline of inlines) {\n\t\t\tif (inline.type === \"lineBreak\") {\n\t\t\t\tflushLink()\n\t\t\t\tcompiled.push(serializers.tag(\"br\", undefined, []))\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tconst text = compileText(inline)\n\t\t\tif (!inline.link) {\n\t\t\t\tflushLink()\n\t\t\t\tcompiled.push(text)\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tif (!currentLink || !isEqual(currentLink, inline.link)) {\n\t\t\t\tflushLink()\n\t\t\t\tcurrentLink = inline.link\n\t\t\t}\n\t\t\tlinkedChildren.push(text)\n\t\t}\n\n\t\tflushLink()\n\t\treturn compiled\n\t}\n\n\tfunction compileText(text: RichTextText): Serialized {\n\t\tlet compiled = serializers.text(text.text)\n\n\t\tif (text.bold) compiled = serializers.tag(\"strong\", undefined, [compiled])\n\t\tif (text.italic) compiled = serializers.tag(\"em\", undefined, [compiled])\n\t\tif (text.inlineCode) compiled = serializers.tag(\"code\", undefined, [compiled])\n\t\treturn compiled\n\t}\n\n\tfunction compileLink(link: RichTextLink, children: Serialized[]): Serialized {\n\t\treturn serializers.link(getRichTextLinkProps(link), [serializers.tag(\"a\", undefined, children)])\n\t}\n\n\tfunction getRichTextLinkProps(link: RichTextLink): LinkProps {\n\t\treturn {\n\t\t\thref: resolvers.link(link.link),\n\t\t\topenInNewTab: link.openInNewTab,\n\t\t\tsmoothScroll: link.smoothScroll,\n\t\t\tclickTrackingId: link.clickTrackingId,\n\t\t\trelValues: link.relValues,\n\t\t\tpreserveParams: link.preserveParams,\n\t\t\tmotionChild: true,\n\t\t\tnodeId,\n\t\t\tscopeId,\n\t\t}\n\t}\n\n\tfunction getMediaProps(tag: \"img\" | \"video\", block: RichTextMediaBlock): Props {\n\t\tconst props: Props = { className: \"framer-image\" }\n\t\tconst parsedReference = parseAssetReference(block.src)\n\n\t\tif (parsedReference && tag === \"img\") {\n\t\t\tconst image = resolvers.responsiveImage(block.src)\n\t\t\tif (image) {\n\t\t\t\tprops.src = image.src\n\t\t\t\tprops.srcSet = image.srcSet\n\t\t\t} else {\n\t\t\t\tprops.src = resolvers.asset(block.src) ?? block.src\n\t\t\t}\n\t\t} else if (parsedReference) {\n\t\t\tprops.src = resolvers.asset(block.src) ?? block.src\n\t\t} else {\n\t\t\tprops.src = block.src\n\t\t}\n\n\t\tif (tag === \"video\") {\n\t\t\tprops.autoPlay = true\n\t\t\tprops.loop = true\n\t\t\tprops.muted = true\n\t\t\tprops.playsInline = true\n\t\t\treturn props\n\t\t}\n\n\t\tprops.alt = block.alt ?? \"\"\n\t\tif (block.pixelWidth) props.width = block.pixelWidth / RICH_TEXT_IMAGE_SOURCE_TO_CSS_PIXEL_RATIO\n\t\tif (block.pixelHeight) props.height = block.pixelHeight / RICH_TEXT_IMAGE_SOURCE_TO_CSS_PIXEL_RATIO\n\t\tif (block.pixelWidth && block.pixelHeight) {\n\t\t\tprops.style = { aspectRatio: `${block.pixelWidth}/${block.pixelHeight}` }\n\t\t}\n\n\t\treturn props\n\t}\n\n\tfunction getNumberedListProps(block: Extract<RichTextBlock, { type: \"numberedList\" }>): Props {\n\t\tconst props = getDirectionProps(block.textDirection)\n\t\tif (block.start !== 1) props.start = block.start\n\t\tif (block.listStyleType !== \"decimal\") props.style = { \"--list-style-type\": block.listStyleType }\n\t\treturn props\n\t}\n\n\tfunction getDirectionProps(direction: RichTextDirection): Props {\n\t\treturn { dir: direction === \"inherit\" ? \"auto\" : direction }\n\t}\n\n\treturn serializers.fragment(compileBlocks(normalizedDocument.children))\n}\n\ntype GetVariableValue = (variable: VariableReference) => unknown\n\nfunction resolveLink(\n\ttree: CanvasTree | undefined,\n\tlink: unknown,\n\tgetVariableValue?: GetVariableValue,\n): string | LinkToWebPage | undefined {\n\tif (isLinkToURL(link)) {\n\t\treturn resolveLinkToURL(tree, link)\n\t}\n\n\tif (isString(link)) {\n\t\treturn link\n\t}\n\n\tif (isLinkToWebPage(link)) {\n\t\tif (!link.pathVariables) return link\n\n\t\tconst dereferencedPathVariables: Record<string, string> = {}\n\n\t\tfor (const key in link.pathVariables) {\n\t\t\tconst value = link.pathVariables[key]\n\t\t\tif (isUndefined(value)) continue\n\n\t\t\tif (isVariableReference(value)) {\n\t\t\t\tconst resolved = getVariableValue?.(value)\n\t\t\t\tdereferencedPathVariables[key] = isString(resolved) ? resolved : \"\"\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tif (isResolvedCollectionItemSelector(value)) {\n\t\t\t\tdereferencedPathVariables[key] = value.value\n\t\t\t\tcontinue\n\t\t\t}\n\n\t\t\tif (isString(value)) {\n\t\t\t\tdereferencedPathVariables[key] = value\n\t\t\t}\n\t\t}\n\n\t\treturn { ...link, pathVariables: dereferencedPathVariables }\n\t}\n\n\treturn undefined\n}\n\nfunction getRichTextResolversForCanvasRendering(\n\ttree?: CanvasTree,\n\tgetVariableValue?: GetVariableValue,\n): RichTextResolvers {\n\treturn {\n\t\tasset(reference) {\n\t\t\tconst parsedReference = parseAssetReference(reference)\n\t\t\tif (!parsedReference) return\n\n\t\t\treturn createAbsoluteAssetURL(parsedReference.identifier)\n\t\t},\n\n\t\tlink(link): string | LinkToWebPage | undefined {\n\t\t\tif (isVariableReference(link)) {\n\t\t\t\tconst resolved = getVariableValue?.(link)\n\n\t\t\t\treturn resolveLink(tree, resolved, getVariableValue)\n\t\t\t}\n\n\t\t\treturn resolveLink(tree, link, getVariableValue)\n\t\t},\n\n\t\tresponsiveImage(reference) {\n\t\t\tconst parsedReference = parseAssetReference(reference)\n\t\t\tif (!parsedReference) return\n\n\t\t\treturn { src: createAbsoluteImageAssetURL(parsedReference.identifier) }\n\t\t},\n\n\t\tvariable(variable) {\n\t\t\treturn getVariableValue?.(variable)\n\t\t},\n\n\t\tcolor(value) {\n\t\t\treturn value\n\t\t},\n\t}\n}\n\ninterface CanvasRenderingOptions extends Options {\n\tgetVariableValue?: GetVariableValue\n}\n\nexport function compileRichTextForCanvasRendering(value: RichTextTreeValue, options: CanvasRenderingOptions = {}) {\n\tconst { componentLoader, tree, getVariableValue } = options\n\n\tconst resolvers: RichTextResolvers = getRichTextResolversForCanvasRendering(tree, getVariableValue)\n\n\tconst serializers: RichTextSerializers<React.ReactNode> = {\n\t\tfragment(children) {\n\t\t\treturn createElement(Fragment, undefined, ...children)\n\t\t},\n\n\t\tlink(props, children) {\n\t\t\treturn createElement(LinkComponent, props, ...children)\n\t\t},\n\n\t\tmodule(identifier, props) {\n\t\t\t// The React component is only available in the sandbox.\n\t\t\tif (componentLoader?.environment !== \"sandbox\") return\n\n\t\t\tconst componentDefinition = componentLoader.reactComponentForIdentifier(identifier)\n\t\t\tif (!componentDefinition) return\n\n\t\t\tconst Component = componentDefinition.class\n\n\t\t\treturn (\n\t\t\t\t<ComponentPresetsConsumer componentIdentifier={identifier}>\n\t\t\t\t\t{presetProps => <AutoBreakpointVariant component={Component} props={{ ...presetProps, ...props }} />}\n\t\t\t\t</ComponentPresetsConsumer>\n\t\t\t)\n\t\t},\n\n\t\ttag(tag, props, children) {\n\t\t\treturn createElement(tag, props, ...children)\n\t\t},\n\n\t\ttext(text) {\n\t\t\treturn text\n\t\t},\n\t}\n\n\treturn compileRichTextTreeValue(value, resolvers, serializers, options) as React.ReactElement\n}\n\nconst canvasRenderingCache = new Map<string, React.ReactElement>()\n\nexport function compileRichTextForCanvasRenderingMemoized(html: string) {\n\treturn memoize(100, canvasRenderingCache, html, compileRichTextForCanvasRendering)\n}\n\nexport function getRichTextResolversForCodeGeneration(\n\tassets: AssetCollector | undefined,\n\tlinks: Pick<LinkCollector, \"create\"> | undefined,\n\tvariables: VariableCollector | undefined,\n\tcssVariableDefinitions: CSSVariableDefinitionCollector | undefined,\n): RichTextResolvers {\n\treturn {\n\t\tasset(reference) {\n\t\t\tconst asset = assets?.resolve(reference)\n\t\t\tif (!asset) return\n\n\t\t\treturn asset.src\n\t\t},\n\n\t\tlink(link) {\n\t\t\tconst resolved = links?.create(link)\n\t\t\tif (!resolved) return\n\n\t\t\treturn resolved as unknown as string | LinkToWebPage\n\t\t},\n\n\t\tresponsiveImage(reference) {\n\t\t\treturn assets?.resolveResponsiveImage(reference)\n\t\t},\n\n\t\tvariable(variable) {\n\t\t\treturn variables?.create(variable)\n\t\t},\n\n\t\tcolor(color) {\n\t\t\tif (!isString(color)) return color\n\t\t\treturn cssVariableDefinitions?.resolveColor(color) ?? color\n\t\t},\n\t}\n}\n\ninterface RichTextCollectors {\n\tassets?: AssetCollector\n\timports: ImportCollector\n\tlinks?: Pick<LinkCollector, \"create\">\n\tvariables?: VariableCollector\n\tcssVariableDefinitions?: CSSVariableDefinitionCollector\n}\n\ninterface CodeGenerationOptions extends Options {\n\tcollectors: RichTextCollectors\n\tuseFramerMotion?: boolean\n\tuseCreateElement?: boolean\n}\n\nexport function compileRichTextForCodeGeneration(value: RichTextTreeValue, options: CodeGenerationOptions) {\n\tconst { collectors, useFramerMotion, useCreateElement } = options\n\tconst { assets, imports, links, variables, cssVariableDefinitions } = collectors\n\n\tconst resolvers = getRichTextResolversForCodeGeneration(assets, links, variables, cssVariableDefinitions)\n\n\tconst ReactBinding = imports.addImport(\"react\", {\n\t\texportSpecifier: \"*\",\n\t\timportBinding: \"React\",\n\t})\n\n\tfunction serializeElement(\n\t\tname: SafeJS | string,\n\t\tprops: SerializableObject | undefined,\n\t\tchildren: SafeJS[] = [],\n\t): SafeJS {\n\t\tif (useCreateElement) {\n\t\t\t// Remove empty children values.\n\t\t\tconst jsxChildren = children.filter(serializeJS)\n\t\t\tconst createElementBinding = js`${ReactBinding}.createElement`\n\t\t\treturn SafeJS.fn(createElementBinding, name, props ?? js`undefined`, ...jsxChildren)\n\t\t}\n\n\t\tlet serializedChildren = \"\"\n\t\tfor (const child of children) {\n\t\t\tconst jsxChild = jsx.children(child)\n\t\t\tserializedChildren += serializeJS(jsxChild)\n\t\t}\n\n\t\tconst jsxChildren = jsx.fromTrustedString(serializedChildren)\n\t\treturn jsx.tag(name, props, jsxChildren)\n\t}\n\n\tconst serializers: RichTextSerializers<SafeJS> = {\n\t\tfragment(children) {\n\t\t\tconst FragmentBinding = js`${ReactBinding}.Fragment`\n\t\t\treturn serializeElement(FragmentBinding, undefined, children)\n\t\t},\n\n\t\tlink(props, children) {\n\t\t\tconst LinkBinding = imports.addImport(\"framer\", {\n\t\t\t\texportSpecifier: \"Link\",\n\t\t\t})\n\n\t\t\treturn serializeElement(LinkBinding, new SerializableObject(props as unknown as SerializableRecord), children)\n\t\t},\n\n\t\tmodule(_identifier, _props) {\n\t\t\t// Components in rich text can only be used in CMS collections, where they instead go through\n\t\t\t// JSON serialization when the collection is compiled (see RichTextJsonCollector),\n\t\t\t// and deserialization at runtime (see getRichTextJsonResolver).\n\t\t\treturn undefined\n\t\t},\n\n\t\ttag(tag, props, children) {\n\t\t\tconst serializableProps = props ? new SerializableObject(props as SerializableRecord) : undefined\n\n\t\t\tif (tag === \"a\" || useFramerMotion) {\n\t\t\t\tconst TagBinding = imports.addImport(\"framer-motion\", {\n\t\t\t\t\texportSpecifier: `motion.${tag}`,\n\t\t\t\t})\n\n\t\t\t\treturn serializeElement(TagBinding, serializableProps, children)\n\t\t\t}\n\n\t\t\treturn serializeElement(tag, serializableProps, children)\n\t\t},\n\n\t\ttext(text) {\n\t\t\tif (useCreateElement) {\n\t\t\t\tconst serialized = serializeJS(text)\n\t\t\t\treturn new SafeJS(serialized)\n\t\t\t}\n\n\t\t\tconst escaped = escapeText(text)\n\t\t\treturn jsx.fromTrustedString(escaped)\n\t\t},\n\t}\n\n\treturn compileRichTextTreeValue(value, resolvers, serializers, options)\n}\n\nconst escapeMap: Record<string, string> = {\n\t\"&\": \"&amp;\",\n\t\"<\": \"&lt;\",\n\t\">\": \"&gt;\",\n\t\"{\": \"&#123;\",\n\t\"}\": \"&#125;\",\n}\n\nconst escapeRegex = new RegExp(`[${Object.keys(escapeMap).join(\"\")}]`, \"g\")\n\nfunction escapeText(value: string) {\n\treturn value.replaceAll(escapeRegex, key => escapeMap[key] ?? key)\n}\n", "// http://www.w3.org/TR/CSS21/grammar.html\n// https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027\nvar COMMENT_REGEX = /\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g;\n\nvar NEWLINE_REGEX = /\\n/g;\nvar WHITESPACE_REGEX = /^\\s*/;\n\n// declaration\nvar PROPERTY_REGEX = /^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/;\nvar COLON_REGEX = /^:\\s*/;\nvar VALUE_REGEX = /^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/;\nvar SEMICOLON_REGEX = /^[;\\s]*/;\n\n// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill\nvar TRIM_REGEX = /^\\s+|\\s+$/g;\n\n// strings\nvar NEWLINE = '\\n';\nvar FORWARD_SLASH = '/';\nvar ASTERISK = '*';\nvar EMPTY_STRING = '';\n\n// types\nvar TYPE_COMMENT = 'comment';\nvar TYPE_DECLARATION = 'declaration';\n\n/**\n * @param {String} style\n * @param {Object} [options]\n * @return {Object[]}\n * @throws {TypeError}\n * @throws {Error}\n */\nexport default function (style, options) {\n  if (typeof style !== 'string') {\n    throw new TypeError('First argument must be a string');\n  }\n\n  if (!style) return [];\n\n  options = options || {};\n\n  /**\n   * Positional.\n   */\n  var lineno = 1;\n  var column = 1;\n\n  /**\n   * Update lineno and column based on `str`.\n   *\n   * @param {String} str\n   */\n  function updatePosition(str) {\n    var lines = str.match(NEWLINE_REGEX);\n    if (lines) lineno += lines.length;\n    var i = str.lastIndexOf(NEWLINE);\n    column = ~i ? str.length - i : column + str.length;\n  }\n\n  /**\n   * Mark position and patch `node.position`.\n   *\n   * @return {Function}\n   */\n  function position() {\n    var start = { line: lineno, column: column };\n    return function (node) {\n      node.position = new Position(start);\n      whitespace();\n      return node;\n    };\n  }\n\n  /**\n   * Store position information for a node.\n   *\n   * @constructor\n   * @property {Object} start\n   * @property {Object} end\n   * @property {undefined|String} source\n   */\n  function Position(start) {\n    this.start = start;\n    this.end = { line: lineno, column: column };\n    this.source = options.source;\n  }\n\n  /**\n   * Non-enumerable source string.\n   */\n  Position.prototype.content = style;\n\n  var errorsList = [];\n\n  /**\n   * Error `msg`.\n   *\n   * @param {String} msg\n   * @throws {Error}\n   */\n  function error(msg) {\n    var err = new Error(\n      options.source + ':' + lineno + ':' + column + ': ' + msg\n    );\n    err.reason = msg;\n    err.filename = options.source;\n    err.line = lineno;\n    err.column = column;\n    err.source = style;\n\n    if (options.silent) {\n      errorsList.push(err);\n    } else {\n      throw err;\n    }\n  }\n\n  /**\n   * Match `re` and return captures.\n   *\n   * @param {RegExp} re\n   * @return {undefined|Array}\n   */\n  function match(re) {\n    var m = re.exec(style);\n    if (!m) return;\n    var str = m[0];\n    updatePosition(str);\n    style = style.slice(str.length);\n    return m;\n  }\n\n  /**\n   * Parse whitespace.\n   */\n  function whitespace() {\n    match(WHITESPACE_REGEX);\n  }\n\n  /**\n   * Parse comments.\n   *\n   * @param {Object[]} [rules]\n   * @return {Object[]}\n   */\n  function comments(rules) {\n    var c;\n    rules = rules || [];\n    while ((c = comment())) {\n      if (c !== false) {\n        rules.push(c);\n      }\n    }\n    return rules;\n  }\n\n  /**\n   * Parse comment.\n   *\n   * @return {Object}\n   * @throws {Error}\n   */\n  function comment() {\n    var pos = position();\n    if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return;\n\n    var i = 2;\n    while (\n      EMPTY_STRING != style.charAt(i) &&\n      (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))\n    ) {\n      ++i;\n    }\n    i += 2;\n\n    if (EMPTY_STRING === style.charAt(i - 1)) {\n      return error('End of comment missing');\n    }\n\n    var str = style.slice(2, i - 2);\n    column += 2;\n    updatePosition(str);\n    style = style.slice(i);\n    column += 2;\n\n    return pos({\n      type: TYPE_COMMENT,\n      comment: str\n    });\n  }\n\n  /**\n   * Parse declaration.\n   *\n   * @return {Object}\n   * @throws {Error}\n   */\n  function declaration() {\n    var pos = position();\n\n    // prop\n    var prop = match(PROPERTY_REGEX);\n    if (!prop) return;\n    comment();\n\n    // :\n    if (!match(COLON_REGEX)) return error(\"property missing ':'\");\n\n    // val\n    var val = match(VALUE_REGEX);\n\n    var ret = pos({\n      type: TYPE_DECLARATION,\n      property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)),\n      value: val\n        ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING))\n        : EMPTY_STRING\n    });\n\n    // ;\n    match(SEMICOLON_REGEX);\n\n    return ret;\n  }\n\n  /**\n   * Parse declarations.\n   *\n   * @return {Object[]}\n   */\n  function declarations() {\n    var decls = [];\n\n    comments(decls);\n\n    // declarations\n    var decl;\n    while ((decl = declaration())) {\n      if (decl !== false) {\n        decls.push(decl);\n        comments(decls);\n      }\n    }\n\n    return decls;\n  }\n\n  whitespace();\n  return declarations();\n}\n\n/**\n * Trim `str`.\n *\n * @param {String} str\n * @return {String}\n */\nfunction trim(str) {\n  return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING;\n}\n", "import type { Declaration } from 'inline-style-parser';\nimport parse from 'inline-style-parser';\n\nexport { Declaration };\n\nexport interface StyleObject {\n  [name: string]: string;\n}\n\ntype Iterator = (\n  property: string,\n  value: string,\n  declaration: Declaration,\n) => void;\n\n/**\n * Parses inline style to object.\n *\n * @param style - Inline style.\n * @param iterator - Iterator.\n * @returns - Style object or null.\n *\n * @example Parsing inline style to object:\n *\n * ```js\n * import parse from 'style-to-object';\n * parse('line-height: 42;'); // { 'line-height': '42' }\n * ```\n */\nexport default function StyleToObject(\n  style: string,\n  iterator?: Iterator,\n): StyleObject | null {\n  let styleObject: StyleObject | null = null;\n\n  if (!style || typeof style !== 'string') {\n    return styleObject;\n  }\n\n  const declarations = parse(style);\n  const hasIterator = typeof iterator === 'function';\n\n  declarations.forEach((declaration) => {\n    if (declaration.type !== 'declaration') {\n      return;\n    }\n\n    const { property, value } = declaration;\n\n    if (hasIterator) {\n      iterator(property, value, declaration);\n    } else if (value) {\n      styleObject = styleObject || {};\n      styleObject[property] = value;\n    }\n  });\n\n  return styleObject;\n}\n", "import styleToObject from \"style-to-object\"\n\nconst CUSTOM_PROPERTY_REGEX = /^--[a-z0-9-]+$/i\nconst HYPHEN_REGEX = /-([a-z])/g\nconst NO_HYPHEN_REGEX = /^[^-]+$/\nconst VENDOR_PREFIX_REGEX = /^-(webkit|moz|ms|o|khtml)-/\nconst MS_VENDOR_PREFIX_REGEX = /^-(ms)-/\n\nfunction skipCamelCase(property: string): boolean {\n\treturn !property || NO_HYPHEN_REGEX.test(property) || CUSTOM_PROPERTY_REGEX.test(property)\n}\n\nfunction capitalize(_match: string, character: string): string {\n\treturn character.toUpperCase()\n}\n\nfunction trimHyphen(_match: string, prefix: string): string {\n\treturn `${prefix}-`\n}\n\ninterface CamelCaseOptions {\n\treactCompat?: boolean\n}\n\n/**\n * Convert a CSS property name to camelCase.\n * e.g., \"background-color\" -> \"backgroundColor\"\n *\n * Based on style-to-js/utilities.js\n */\nexport function camelCaseCSS(property: string, options: CamelCaseOptions = {}): string {\n\tif (skipCamelCase(property)) {\n\t\treturn property\n\t}\n\n\tlet result = property.toLowerCase()\n\n\tif (options.reactCompat) {\n\t\tresult = result.replace(MS_VENDOR_PREFIX_REGEX, trimHyphen)\n\t} else {\n\t\tresult = result.replace(VENDOR_PREFIX_REGEX, trimHyphen)\n\t}\n\n\treturn result.replace(HYPHEN_REGEX, capitalize)\n}\n\ntype StyleObject = Record<string, string>\n\n/**\n * Parse a CSS inline style string to a JavaScript object with camelCased property names.\n * e.g., \"background-color: red; font-size: 12px\" -> { backgroundColor: \"red\", fontSize: \"12px\" }\n */\nexport function parseStyleToJS(style: string): StyleObject {\n\tconst output: StyleObject = {}\n\tif (!style || typeof style !== \"string\") {\n\t\treturn output\n\t}\n\n\tstyleToObject(style, (property, value) => {\n\t\tif (property && value) {\n\t\t\toutput[camelCaseCSS(property)] = value\n\t\t}\n\t})\n\n\treturn output\n}\n"],
  "mappings": "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",
  "names": ["BOOLEAN", "OVERLOADED_BOOLEAN", "getPropertyInfo", "capitalize", "possibleStandardNames", "chunk", "jsxChildren"]
}
