@remotion/promo-pages 4.0.474 → 4.0.475

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.
package/dist/team.js CHANGED
@@ -216,8 +216,8 @@ var TitleTeamCards = () => {
216
216
  // ../design/dist/esm/index.mjs
217
217
  import * as React23 from "react";
218
218
  import * as React3 from "react";
219
- import { Fragment as Fragment2, jsx as jsx41 } from "react/jsx-runtime";
220
- import React52, { useCallback as useCallback25, useRef as useRef29, useState as useState22 } from "react";
219
+ import { Fragment as Fragment2, jsx as jsx44 } from "react/jsx-runtime";
220
+ import React52, { useCallback as useCallback26, useRef as useRef210, useState as useState22 } from "react";
221
221
 
222
222
  // ../../node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
223
223
  function r(e) {
@@ -1559,7 +1559,7 @@ var getDefaultConfig = () => {
1559
1559
  var twMerge = /* @__PURE__ */ createTailwindMerge(getDefaultConfig);
1560
1560
 
1561
1561
  // ../design/dist/esm/index.mjs
1562
- import React35, { useEffect as useEffect22, useMemo as useMemo42, useState as useState21 } from "react";
1562
+ import React32, { useEffect as useEffect22, useMemo as useMemo42, useState as useState21 } from "react";
1563
1563
 
1564
1564
  // ../paths/dist/esm/index.mjs
1565
1565
  var cutLInstruction = ({
@@ -4512,69 +4512,71 @@ import { forwardRef as forwardRef11, useCallback as useCallback17, useState as u
4512
4512
  import { jsx as jsx27 } from "react/jsx-runtime";
4513
4513
  import { useCallback as useCallback18, useContext as useContext33, useLayoutEffect as useLayoutEffect10, useRef as useRef24 } from "react";
4514
4514
  import { jsx as jsx28 } from "react/jsx-runtime";
4515
+ import React29, { forwardRef as forwardRef12, useCallback as useCallback19, useRef as useRef25 } from "react";
4516
+ import { jsx as jsx29 } from "react/jsx-runtime";
4515
4517
  import { createRef as createRef3 } from "react";
4516
- import React29 from "react";
4518
+ import React30 from "react";
4517
4519
  import {
4518
- useCallback as useCallback19,
4520
+ useCallback as useCallback20,
4519
4521
  useImperativeHandle as useImperativeHandle8,
4520
4522
  useMemo as useMemo32,
4521
- useRef as useRef25,
4523
+ useRef as useRef26,
4522
4524
  useState as useState18
4523
4525
  } from "react";
4524
- import { jsx as jsx29 } from "react/jsx-runtime";
4525
- import React30 from "react";
4526
+ import { jsx as jsx30 } from "react/jsx-runtime";
4527
+ import React31 from "react";
4526
4528
  import { useMemo as useMemo34 } from "react";
4527
4529
  import { createContext as createContext24, useContext as useContext34, useMemo as useMemo33 } from "react";
4528
- import { jsx as jsx30 } from "react/jsx-runtime";
4529
4530
  import { jsx as jsx31 } from "react/jsx-runtime";
4530
- import React32 from "react";
4531
- import React33, { createContext as createContext25 } from "react";
4532
- import React34, { useContext as useContext35 } from "react";
4533
- import { useCallback as useCallback22 } from "react";
4531
+ import { jsx as jsx322 } from "react/jsx-runtime";
4532
+ import React33 from "react";
4533
+ import React34, { createContext as createContext25 } from "react";
4534
+ import React35, { useContext as useContext35 } from "react";
4535
+ import { useCallback as useCallback23 } from "react";
4534
4536
  import {
4535
- useCallback as useCallback20,
4537
+ useCallback as useCallback21,
4536
4538
  useContext as useContext36,
4537
4539
  useEffect as useEffect18,
4538
4540
  useLayoutEffect as useLayoutEffect11,
4539
4541
  useMemo as useMemo35,
4540
4542
  useState as useState19
4541
4543
  } from "react";
4542
- import { jsx as jsx322 } from "react/jsx-runtime";
4543
- import React36, {
4544
- forwardRef as forwardRef12,
4545
- useCallback as useCallback21,
4544
+ import { jsx as jsx33 } from "react/jsx-runtime";
4545
+ import React37, {
4546
+ forwardRef as forwardRef13,
4547
+ useCallback as useCallback22,
4546
4548
  useContext as useContext37,
4547
4549
  useEffect as useEffect20,
4548
4550
  useImperativeHandle as useImperativeHandle9,
4549
4551
  useMemo as useMemo36,
4550
- useRef as useRef26,
4552
+ useRef as useRef27,
4551
4553
  useState as useState20
4552
4554
  } from "react";
4553
4555
  import { useEffect as useEffect19 } from "react";
4554
- import { jsx as jsx33 } from "react/jsx-runtime";
4555
4556
  import { jsx as jsx34 } from "react/jsx-runtime";
4556
- import React38, { useMemo as useMemo37 } from "react";
4557
4557
  import { jsx as jsx35 } from "react/jsx-runtime";
4558
+ import React39, { useMemo as useMemo37 } from "react";
4559
+ import { jsx as jsx36 } from "react/jsx-runtime";
4558
4560
  import {
4559
4561
  Children,
4560
- forwardRef as forwardRef13,
4562
+ forwardRef as forwardRef14,
4561
4563
  useMemo as useMemo38
4562
4564
  } from "react";
4563
- import React39 from "react";
4564
- import { jsx as jsx36 } from "react/jsx-runtime";
4565
- import React41 from "react";
4566
- import { forwardRef as forwardRef15, useCallback as useCallback23, useContext as useContext39 } from "react";
4565
+ import React40 from "react";
4566
+ import { jsx as jsx37 } from "react/jsx-runtime";
4567
+ import React42 from "react";
4568
+ import { forwardRef as forwardRef16, useCallback as useCallback24, useContext as useContext39 } from "react";
4567
4569
  import {
4568
- forwardRef as forwardRef14,
4570
+ forwardRef as forwardRef15,
4569
4571
  useContext as useContext38,
4570
4572
  useEffect as useEffect21,
4571
4573
  useImperativeHandle as useImperativeHandle10,
4572
4574
  useLayoutEffect as useLayoutEffect12,
4573
4575
  useMemo as useMemo39,
4574
- useRef as useRef27
4576
+ useRef as useRef28
4575
4577
  } from "react";
4576
- import { jsx as jsx37 } from "react/jsx-runtime";
4577
4578
  import { jsx as jsx38 } from "react/jsx-runtime";
4579
+ import { jsx as jsx39 } from "react/jsx-runtime";
4578
4580
  var __defProp2 = Object.defineProperty;
4579
4581
  var __export2 = (target, all) => {
4580
4582
  for (var name in all)
@@ -5743,7 +5745,7 @@ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
5743
5745
  var addSequenceStackTraces = (component) => {
5744
5746
  componentsToAddStacksTo.push(component);
5745
5747
  };
5746
- var VERSION = "4.0.474";
5748
+ var VERSION = "4.0.475";
5747
5749
  var checkMultipleRemotionVersions = () => {
5748
5750
  if (typeof globalThis === "undefined") {
5749
5751
  return;
@@ -6110,6 +6112,12 @@ var PremountContext = createContext14({
6110
6112
  premountFramesRemaining: 0
6111
6113
  });
6112
6114
  var sequenceVisualStyleSchema = {
6115
+ "style.transformOrigin": {
6116
+ type: "transform-origin",
6117
+ step: 1,
6118
+ default: "50% 50%",
6119
+ description: "Transform origin"
6120
+ },
6113
6121
  "style.translate": {
6114
6122
  type: "translate",
6115
6123
  step: 1,
@@ -6662,6 +6670,32 @@ var lengthUnits = new Set([
6662
6670
  "vw"
6663
6671
  ]);
6664
6672
  var cssNumberRegex = /^([+-]?(?:\d+\.?\d*|\.\d+))([a-zA-Z%]+)?$/;
6673
+ var transformOriginKeywords = new Set([
6674
+ "left",
6675
+ "center",
6676
+ "right",
6677
+ "top",
6678
+ "bottom"
6679
+ ]);
6680
+ var transformOriginKeywordOptions = (keyword) => {
6681
+ if (keyword === "left") {
6682
+ return [{ axis: "x", value: { value: 0, unit: "%" } }];
6683
+ }
6684
+ if (keyword === "right") {
6685
+ return [{ axis: "x", value: { value: 100, unit: "%" } }];
6686
+ }
6687
+ if (keyword === "top") {
6688
+ return [{ axis: "y", value: { value: 0, unit: "%" } }];
6689
+ }
6690
+ if (keyword === "bottom") {
6691
+ return [{ axis: "y", value: { value: 100, unit: "%" } }];
6692
+ }
6693
+ return [
6694
+ { axis: "x", value: { value: 50, unit: "%" } },
6695
+ { axis: "y", value: { value: 50, unit: "%" } }
6696
+ ];
6697
+ };
6698
+ var transformOriginCenter = { value: 50, unit: "%" };
6665
6699
  var stringifyNumber = (value) => {
6666
6700
  return String(normalizeNumber(value));
6667
6701
  };
@@ -6686,6 +6720,110 @@ var parseStringInterpolationComponent = (component, value) => {
6686
6720
  }
6687
6721
  throw new TypeError(`Cannot interpolate "${value}" because "${unit}" is not a supported translate or rotate unit`);
6688
6722
  };
6723
+ var parseTransformOriginLengthPercentage = ({
6724
+ component,
6725
+ value,
6726
+ allowPercentage
6727
+ }) => {
6728
+ const match = cssNumberRegex.exec(component);
6729
+ if (match === null) {
6730
+ throw new TypeError(`Cannot interpolate "${value}" because "${component}" is not a supported transform-origin ${allowPercentage ? "length-percentage" : "z length"}`);
6731
+ }
6732
+ const unit = match[2] ?? null;
6733
+ const numberValue = Number(match[1]);
6734
+ if (!Number.isFinite(numberValue)) {
6735
+ throw new TypeError(`Cannot interpolate "${value}" because "${component}" is not finite`);
6736
+ }
6737
+ if (unit === null || !lengthUnits.has(unit) || !allowPercentage && unit === "%") {
6738
+ throw new TypeError(`Cannot interpolate "${value}" because "${component}" is not a supported transform-origin ${allowPercentage ? "length-percentage" : "z length"}`);
6739
+ }
6740
+ return { value: numberValue, unit };
6741
+ };
6742
+ var parseTransformOriginToken = (component, value) => {
6743
+ const lower = component.toLowerCase();
6744
+ if (transformOriginKeywords.has(lower)) {
6745
+ return { type: "keyword", keyword: lower };
6746
+ }
6747
+ return {
6748
+ type: "length-percentage",
6749
+ parsed: parseTransformOriginLengthPercentage({
6750
+ component,
6751
+ value,
6752
+ allowPercentage: true
6753
+ })
6754
+ };
6755
+ };
6756
+ var parseTwoTransformOriginKeywords = (first, second, value) => {
6757
+ const candidates = [];
6758
+ for (const firstOption of transformOriginKeywordOptions(first)) {
6759
+ for (const secondOption of transformOriginKeywordOptions(second)) {
6760
+ if (firstOption.axis === secondOption.axis) {
6761
+ continue;
6762
+ }
6763
+ candidates.push(firstOption.axis === "x" ? [firstOption.value, secondOption.value] : [secondOption.value, firstOption.value]);
6764
+ }
6765
+ }
6766
+ if (candidates.length === 0) {
6767
+ throw new TypeError(`Cannot interpolate "${value}" because "${first} ${second}" is not a valid transform-origin keyword pair`);
6768
+ }
6769
+ return candidates[0];
6770
+ };
6771
+ var parseTransformOriginXY = (parts, value) => {
6772
+ if (parts.length === 1) {
6773
+ const token = parseTransformOriginToken(parts[0], value);
6774
+ if (token.type === "length-percentage") {
6775
+ return [token.parsed, transformOriginCenter];
6776
+ }
6777
+ if (token.keyword === "top" || token.keyword === "bottom") {
6778
+ return [
6779
+ transformOriginCenter,
6780
+ transformOriginKeywordOptions(token.keyword)[0].value
6781
+ ];
6782
+ }
6783
+ return [
6784
+ transformOriginKeywordOptions(token.keyword)[0].value,
6785
+ transformOriginCenter
6786
+ ];
6787
+ }
6788
+ const first = parseTransformOriginToken(parts[0], value);
6789
+ const second = parseTransformOriginToken(parts[1], value);
6790
+ if (first.type === "length-percentage" && second.type === "length-percentage") {
6791
+ return [first.parsed, second.parsed];
6792
+ }
6793
+ if (first.type === "keyword" && second.type === "keyword") {
6794
+ return parseTwoTransformOriginKeywords(first.keyword, second.keyword, value);
6795
+ }
6796
+ const keyword = first.type === "keyword" ? first : second.type === "keyword" ? second : null;
6797
+ const length2 = first.type === "length-percentage" ? first.parsed : second.type === "length-percentage" ? second.parsed : null;
6798
+ if (keyword === null || length2 === null) {
6799
+ throw new Error("Expected a keyword and a length-percentage value");
6800
+ }
6801
+ const keywordIsFirst = first.type === "keyword";
6802
+ if (keyword.keyword === "left" || keyword.keyword === "right") {
6803
+ if (!keywordIsFirst) {
6804
+ throw new TypeError(`Cannot interpolate "${value}" because horizontal transform-origin keywords must come before a length-percentage value`);
6805
+ }
6806
+ return [transformOriginKeywordOptions(keyword.keyword)[0].value, length2];
6807
+ }
6808
+ if (keyword.keyword === "top" || keyword.keyword === "bottom") {
6809
+ return [length2, transformOriginKeywordOptions(keyword.keyword)[0].value];
6810
+ }
6811
+ return keywordIsFirst ? [transformOriginCenter, length2] : [length2, transformOriginCenter];
6812
+ };
6813
+ var parseTransformOriginValue = (output, parts) => {
6814
+ const [x, y] = parseTransformOriginXY(parts.slice(0, 2), output);
6815
+ const z = parts[2] === undefined ? { value: 0, unit: null } : parseTransformOriginLengthPercentage({
6816
+ component: parts[2],
6817
+ value: output,
6818
+ allowPercentage: false
6819
+ });
6820
+ return {
6821
+ kind: "translate",
6822
+ values: [x.value, y.value, z.value],
6823
+ units: [x.unit, y.unit, z.unit],
6824
+ dimensions: parts[2] === undefined ? 2 : 3
6825
+ };
6826
+ };
6689
6827
  var parseStringInterpolationValue = (output) => {
6690
6828
  if (typeof output === "number") {
6691
6829
  if (!Number.isFinite(output)) {
@@ -6702,6 +6840,9 @@ var parseStringInterpolationValue = (output) => {
6702
6840
  if (parts.length < 1 || parts.length > 3 || parts[0] === "") {
6703
6841
  throw new TypeError(`String outputRange values must contain 1 to 3 components, but got "${output}"`);
6704
6842
  }
6843
+ if (parts.some((part) => transformOriginKeywords.has(part.toLowerCase()))) {
6844
+ return parseTransformOriginValue(output, parts);
6845
+ }
6705
6846
  const parsed = parts.map((part) => parseStringInterpolationComponent(part, output));
6706
6847
  const [{ kind }] = parsed;
6707
6848
  for (const part of parsed) {
@@ -7457,6 +7598,7 @@ function processColor(color) {
7457
7598
  var interpolateColorsRGB = (value, inputRange, colors, options) => {
7458
7599
  const [r2, g, b2, a2] = [red, green, blue, opacity].map((f) => {
7459
7600
  const unrounded = interpolate(value, inputRange, colors.map((c2) => f(c2)), {
7601
+ easing: options?.easing,
7460
7602
  extrapolateLeft: "clamp",
7461
7603
  extrapolateRight: "clamp",
7462
7604
  posterize: options?.posterize
@@ -7510,6 +7652,7 @@ var interpolateKeyframedStatus = ({
7510
7652
  }
7511
7653
  try {
7512
7654
  return interpolateColors(frame, inputRange, outputs, {
7655
+ easing: easing.map(easingToFn),
7513
7656
  posterize: status.posterize
7514
7657
  });
7515
7658
  } catch {
@@ -8916,7 +9059,7 @@ var animatedImageSchema = {
8916
9059
  max: 10,
8917
9060
  step: 0.1,
8918
9061
  default: 1,
8919
- description: "Playback Rate",
9062
+ description: "Playback rate",
8920
9063
  hiddenFromList: false,
8921
9064
  keyframable: false
8922
9065
  },
@@ -13247,7 +13390,100 @@ var Img = wrapInSchema({
13247
13390
  supportsEffects: true
13248
13391
  });
13249
13392
  addSequenceStackTraces(Img);
13250
- var compositionsRef = React29.createRef();
13393
+ var interactiveElementSchema = {
13394
+ durationInFrames: durationInFramesField,
13395
+ from: fromField,
13396
+ ...sequenceVisualStyleSchema,
13397
+ hidden: hiddenField
13398
+ };
13399
+ var setRef = (ref, value) => {
13400
+ if (typeof ref === "function") {
13401
+ ref(value);
13402
+ } else if (ref) {
13403
+ ref.current = value;
13404
+ }
13405
+ };
13406
+ var makeInteractiveElement = (tag, displayName) => {
13407
+ const Inner = forwardRef12((propsWithControls, ref) => {
13408
+ const {
13409
+ durationInFrames,
13410
+ from,
13411
+ hidden,
13412
+ name,
13413
+ showInTimeline,
13414
+ stack,
13415
+ _experimentalControls,
13416
+ ...props2
13417
+ } = propsWithControls;
13418
+ const refForOutline = useRef25(null);
13419
+ const callbackRef = useCallback19((element) => {
13420
+ refForOutline.current = element;
13421
+ setRef(ref, element);
13422
+ }, [ref]);
13423
+ return /* @__PURE__ */ jsx29(Sequence, {
13424
+ layout: "none",
13425
+ from: from ?? 0,
13426
+ durationInFrames: durationInFrames ?? Infinity,
13427
+ hidden,
13428
+ name: name ?? displayName,
13429
+ showInTimeline: showInTimeline ?? true,
13430
+ _experimentalControls,
13431
+ _remotionInternalStack: stack,
13432
+ _remotionInternalRefForOutline: refForOutline,
13433
+ children: React29.createElement(tag, {
13434
+ ...props2,
13435
+ ref: callbackRef
13436
+ })
13437
+ });
13438
+ });
13439
+ Inner.displayName = displayName;
13440
+ const Wrapped = wrapInSchema({
13441
+ Component: Inner,
13442
+ schema: interactiveElementSchema,
13443
+ supportsEffects: false
13444
+ });
13445
+ Wrapped.displayName = displayName;
13446
+ addSequenceStackTraces(Wrapped);
13447
+ return Wrapped;
13448
+ };
13449
+ var Interactive = {
13450
+ A: makeInteractiveElement("a", "<Interactive.A>"),
13451
+ Article: makeInteractiveElement("article", "<Interactive.Article>"),
13452
+ Aside: makeInteractiveElement("aside", "<Interactive.Aside>"),
13453
+ Button: makeInteractiveElement("button", "<Interactive.Button>"),
13454
+ Circle: makeInteractiveElement("circle", "<Interactive.Circle>"),
13455
+ Code: makeInteractiveElement("code", "<Interactive.Code>"),
13456
+ Div: makeInteractiveElement("div", "<Interactive.Div>"),
13457
+ Ellipse: makeInteractiveElement("ellipse", "<Interactive.Ellipse>"),
13458
+ Em: makeInteractiveElement("em", "<Interactive.Em>"),
13459
+ Footer: makeInteractiveElement("footer", "<Interactive.Footer>"),
13460
+ G: makeInteractiveElement("g", "<Interactive.G>"),
13461
+ H1: makeInteractiveElement("h1", "<Interactive.H1>"),
13462
+ H2: makeInteractiveElement("h2", "<Interactive.H2>"),
13463
+ H3: makeInteractiveElement("h3", "<Interactive.H3>"),
13464
+ H4: makeInteractiveElement("h4", "<Interactive.H4>"),
13465
+ H5: makeInteractiveElement("h5", "<Interactive.H5>"),
13466
+ H6: makeInteractiveElement("h6", "<Interactive.H6>"),
13467
+ Header: makeInteractiveElement("header", "<Interactive.Header>"),
13468
+ Label: makeInteractiveElement("label", "<Interactive.Label>"),
13469
+ Li: makeInteractiveElement("li", "<Interactive.Li>"),
13470
+ Line: makeInteractiveElement("line", "<Interactive.Line>"),
13471
+ Main: makeInteractiveElement("main", "<Interactive.Main>"),
13472
+ Nav: makeInteractiveElement("nav", "<Interactive.Nav>"),
13473
+ Ol: makeInteractiveElement("ol", "<Interactive.Ol>"),
13474
+ P: makeInteractiveElement("p", "<Interactive.P>"),
13475
+ Path: makeInteractiveElement("path", "<Interactive.Path>"),
13476
+ Pre: makeInteractiveElement("pre", "<Interactive.Pre>"),
13477
+ Rect: makeInteractiveElement("rect", "<Interactive.Rect>"),
13478
+ Section: makeInteractiveElement("section", "<Interactive.Section>"),
13479
+ Small: makeInteractiveElement("small", "<Interactive.Small>"),
13480
+ Span: makeInteractiveElement("span", "<Interactive.Span>"),
13481
+ Strong: makeInteractiveElement("strong", "<Interactive.Strong>"),
13482
+ Svg: makeInteractiveElement("svg", "<Interactive.Svg>"),
13483
+ Text: makeInteractiveElement("text", "<Interactive.Text>"),
13484
+ Ul: makeInteractiveElement("ul", "<Interactive.Ul>")
13485
+ };
13486
+ var compositionsRef = React30.createRef();
13251
13487
  var CompositionManagerProvider = ({
13252
13488
  children,
13253
13489
  onlyRenderComposition,
@@ -13258,15 +13494,15 @@ var CompositionManagerProvider = ({
13258
13494
  const [folders, setFolders] = useState18([]);
13259
13495
  const [canvasContent, setCanvasContent] = useState18(initialCanvasContent);
13260
13496
  const [compositions, setCompositions] = useState18(initialCompositions);
13261
- const currentcompositionsRef = useRef25(compositions);
13262
- const updateCompositions = useCallback19((updateComps) => {
13497
+ const currentcompositionsRef = useRef26(compositions);
13498
+ const updateCompositions = useCallback20((updateComps) => {
13263
13499
  setCompositions((comps) => {
13264
13500
  const updated = updateComps(comps);
13265
13501
  currentcompositionsRef.current = updated;
13266
13502
  return updated;
13267
13503
  });
13268
13504
  }, []);
13269
- const registerComposition = useCallback19((comp) => {
13505
+ const registerComposition = useCallback20((comp) => {
13270
13506
  updateCompositions((comps) => {
13271
13507
  if (comps.find((c2) => c2.id === comp.id)) {
13272
13508
  throw new Error(`Multiple composition with id ${comp.id} are registered.`);
@@ -13274,12 +13510,12 @@ var CompositionManagerProvider = ({
13274
13510
  return [...comps, comp];
13275
13511
  });
13276
13512
  }, [updateCompositions]);
13277
- const unregisterComposition = useCallback19((id) => {
13513
+ const unregisterComposition = useCallback20((id) => {
13278
13514
  setCompositions((comps) => {
13279
13515
  return comps.filter((c2) => c2.id !== id);
13280
13516
  });
13281
13517
  }, []);
13282
- const registerFolder = useCallback19((name, parent, nonce, stack) => {
13518
+ const registerFolder = useCallback20((name, parent, nonce, stack) => {
13283
13519
  setFolders((prevFolders) => {
13284
13520
  return [
13285
13521
  ...prevFolders,
@@ -13292,7 +13528,7 @@ var CompositionManagerProvider = ({
13292
13528
  ];
13293
13529
  });
13294
13530
  }, []);
13295
- const unregisterFolder = useCallback19((name, parent) => {
13531
+ const unregisterFolder = useCallback20((name, parent) => {
13296
13532
  setFolders((prevFolders) => {
13297
13533
  return prevFolders.filter((p) => !(p.name === name && p.parent === parent));
13298
13534
  });
@@ -13326,9 +13562,9 @@ var CompositionManagerProvider = ({
13326
13562
  canvasContent
13327
13563
  };
13328
13564
  }, [compositions, folders, currentCompositionMetadata, canvasContent]);
13329
- return /* @__PURE__ */ jsx29(CompositionManager.Provider, {
13565
+ return /* @__PURE__ */ jsx30(CompositionManager.Provider, {
13330
13566
  value: compositionManagerContextValue,
13331
- children: /* @__PURE__ */ jsx29(CompositionSetters.Provider, {
13567
+ children: /* @__PURE__ */ jsx30(CompositionSetters.Provider, {
13332
13568
  value: compositionManagerSetters,
13333
13569
  children
13334
13570
  })
@@ -13426,7 +13662,7 @@ var REMOTION_STUDIO_CONTAINER_ELEMENT = "__remotion-studio-container";
13426
13662
  var getPreviewDomElement = () => {
13427
13663
  return document.getElementById(REMOTION_STUDIO_CONTAINER_ELEMENT);
13428
13664
  };
13429
- var MaxMediaCacheSizeContext = React30.createContext(null);
13665
+ var MaxMediaCacheSizeContext = React31.createContext(null);
13430
13666
  var Root = null;
13431
13667
  var listeners = [];
13432
13668
  var getRoot = () => {
@@ -13471,7 +13707,7 @@ var MediaEnabledProvider = ({
13471
13707
  audioEnabled
13472
13708
  }) => {
13473
13709
  const value = useMemo33(() => ({ videoEnabled, audioEnabled }), [videoEnabled, audioEnabled]);
13474
- return /* @__PURE__ */ jsx30(MediaEnabledContext.Provider, {
13710
+ return /* @__PURE__ */ jsx31(MediaEnabledContext.Provider, {
13475
13711
  value,
13476
13712
  children
13477
13713
  });
@@ -13495,25 +13731,25 @@ var RemotionRootContexts = ({
13495
13731
  const logging = useMemo34(() => {
13496
13732
  return { logLevel, mountTime: Date.now() };
13497
13733
  }, [logLevel]);
13498
- return /* @__PURE__ */ jsx31(LogLevelContext.Provider, {
13734
+ return /* @__PURE__ */ jsx322(LogLevelContext.Provider, {
13499
13735
  value: logging,
13500
- children: /* @__PURE__ */ jsx31(NonceContext.Provider, {
13736
+ children: /* @__PURE__ */ jsx322(NonceContext.Provider, {
13501
13737
  value: nonceContext,
13502
- children: /* @__PURE__ */ jsx31(TimelineContextProvider, {
13738
+ children: /* @__PURE__ */ jsx322(TimelineContextProvider, {
13503
13739
  frameState,
13504
- children: /* @__PURE__ */ jsx31(MediaEnabledProvider, {
13740
+ children: /* @__PURE__ */ jsx322(MediaEnabledProvider, {
13505
13741
  videoEnabled,
13506
13742
  audioEnabled,
13507
- children: /* @__PURE__ */ jsx31(EditorPropsProvider, {
13508
- children: /* @__PURE__ */ jsx31(PrefetchProvider, {
13509
- children: /* @__PURE__ */ jsx31(SequenceManagerProvider, {
13510
- children: /* @__PURE__ */ jsx31(DurationsContextProvider, {
13511
- children: /* @__PURE__ */ jsx31(BufferingProvider, {
13512
- children: /* @__PURE__ */ jsx31(SharedAudioContextProvider, {
13743
+ children: /* @__PURE__ */ jsx322(EditorPropsProvider, {
13744
+ children: /* @__PURE__ */ jsx322(PrefetchProvider, {
13745
+ children: /* @__PURE__ */ jsx322(SequenceManagerProvider, {
13746
+ children: /* @__PURE__ */ jsx322(DurationsContextProvider, {
13747
+ children: /* @__PURE__ */ jsx322(BufferingProvider, {
13748
+ children: /* @__PURE__ */ jsx322(SharedAudioContextProvider, {
13513
13749
  audioLatencyHint,
13514
13750
  audioEnabled,
13515
13751
  previewSampleRate,
13516
- children: /* @__PURE__ */ jsx31(SharedAudioTagsContextProvider, {
13752
+ children: /* @__PURE__ */ jsx322(SharedAudioTagsContextProvider, {
13517
13753
  numberOfAudioTags,
13518
13754
  children
13519
13755
  })
@@ -13699,7 +13935,7 @@ var resolveVideoConfigOrCatch = (params) => {
13699
13935
  };
13700
13936
  }
13701
13937
  };
13702
- var SequenceStackTracesUpdateContext = React32.createContext(() => {});
13938
+ var SequenceStackTracesUpdateContext = React33.createContext(() => {});
13703
13939
  var getEnvVariables = () => {
13704
13940
  if (getRemotionEnvironment().isRendering) {
13705
13941
  const param = window.remotion_envVariables;
@@ -13725,7 +13961,7 @@ var setupEnvVariables = () => {
13725
13961
  window.process.env[key] = env[key];
13726
13962
  });
13727
13963
  };
13728
- var CurrentScaleContext = React33.createContext(null);
13964
+ var CurrentScaleContext = React34.createContext(null);
13729
13965
  var PreviewSizeContext = createContext25({
13730
13966
  setSize: () => {
13731
13967
  return;
@@ -13749,7 +13985,7 @@ var calculateScale = ({
13749
13985
  }
13750
13986
  return Number(previewSize);
13751
13987
  };
13752
- var PixelDensityContext = React34.createContext(null);
13988
+ var PixelDensityContext = React35.createContext(null);
13753
13989
  var getOffthreadVideoSource = ({
13754
13990
  src,
13755
13991
  transparent,
@@ -13931,7 +14167,7 @@ var OffthreadVideoForRendering = ({
13931
14167
  continueRender2,
13932
14168
  delayRender2
13933
14169
  ]);
13934
- const onErr = useCallback20(() => {
14170
+ const onErr = useCallback21(() => {
13935
14171
  if (onError) {
13936
14172
  onError?.(new Error("Failed to load image with src " + imageSrc));
13937
14173
  } else {
@@ -13941,7 +14177,7 @@ var OffthreadVideoForRendering = ({
13941
14177
  const className = useMemo35(() => {
13942
14178
  return [OBJECTFIT_CONTAIN_CLASS_NAME, props2.className].filter(truthy).join(" ");
13943
14179
  }, [props2.className]);
13944
- const onImageFrame = useCallback20((img) => {
14180
+ const onImageFrame = useCallback21((img) => {
13945
14181
  if (onVideoFrame) {
13946
14182
  onVideoFrame(img);
13947
14183
  }
@@ -13950,7 +14186,7 @@ var OffthreadVideoForRendering = ({
13950
14186
  return null;
13951
14187
  }
13952
14188
  continueRender2(imageSrc.handle);
13953
- return /* @__PURE__ */ jsx322(Img, {
14189
+ return /* @__PURE__ */ jsx33(Img, {
13954
14190
  src: imageSrc.src,
13955
14191
  delayRenderRetries,
13956
14192
  delayRenderTimeoutInMilliseconds,
@@ -14006,7 +14242,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
14006
14242
  if (!context) {
14007
14243
  throw new Error("SharedAudioContext not found");
14008
14244
  }
14009
- const videoRef = useRef26(null);
14245
+ const videoRef = useRef27(null);
14010
14246
  const sharedSource = useMemo36(() => {
14011
14247
  if (!context.audioContext) {
14012
14248
  return null;
@@ -14016,7 +14252,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
14016
14252
  ref: videoRef
14017
14253
  });
14018
14254
  }, [context.audioContext]);
14019
- const effectToUse = React36.useInsertionEffect ?? React36.useLayoutEffect;
14255
+ const effectToUse = React37.useInsertionEffect ?? React37.useLayoutEffect;
14020
14256
  effectToUse(() => {
14021
14257
  return () => {
14022
14258
  requestAnimationFrame(() => {
@@ -14074,7 +14310,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
14074
14310
  mediaVolume
14075
14311
  });
14076
14312
  warnAboutTooHighVolume(userPreferredVolume);
14077
- const getStack = useCallback21(() => {
14313
+ const getStack = useCallback22(() => {
14078
14314
  return _remotionInternalStack ?? null;
14079
14315
  }, [_remotionInternalStack]);
14080
14316
  useMediaInTimeline({
@@ -14179,7 +14415,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
14179
14415
  current.removeEventListener("error", errorHandler);
14180
14416
  };
14181
14417
  }, [onError, src]);
14182
- const currentOnDurationCallback = useRef26(onDuration);
14418
+ const currentOnDurationCallback = useRef27(onDuration);
14183
14419
  currentOnDurationCallback.current = onDuration;
14184
14420
  useEmitVideoFrame({ ref: videoRef, onVideoFrame });
14185
14421
  useEffect20(() => {
@@ -14220,7 +14456,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
14220
14456
  requestsVideoFrame: Boolean(onVideoFrame),
14221
14457
  isClientSideRendering: false
14222
14458
  });
14223
- return /* @__PURE__ */ jsx33("video", {
14459
+ return /* @__PURE__ */ jsx34("video", {
14224
14460
  ref: videoRef,
14225
14461
  muted: muted || mediaMuted || userPreferredVolume <= 0,
14226
14462
  playsInline: true,
@@ -14232,7 +14468,7 @@ var VideoForDevelopmentRefForwardingFunction = (props2, ref) => {
14232
14468
  ...nativeProps
14233
14469
  });
14234
14470
  };
14235
- var VideoForPreview = forwardRef12(VideoForDevelopmentRefForwardingFunction);
14471
+ var VideoForPreview = forwardRef13(VideoForDevelopmentRefForwardingFunction);
14236
14472
  var InnerOffthreadVideo = (props2) => {
14237
14473
  const {
14238
14474
  startFrom,
@@ -14249,7 +14485,7 @@ var InnerOffthreadVideo = (props2) => {
14249
14485
  if (environment.isClientSideRendering) {
14250
14486
  throw new Error("<OffthreadVideo> is not supported in @remotion/web-renderer. Use <Video> from @remotion/media instead. See https://remotion.dev/docs/client-side-rendering/limitations");
14251
14487
  }
14252
- const onDuration = useCallback22(() => {
14488
+ const onDuration = useCallback23(() => {
14253
14489
  return;
14254
14490
  }, []);
14255
14491
  if (typeof props2.src !== "string") {
@@ -14263,13 +14499,13 @@ var InnerOffthreadVideo = (props2) => {
14263
14499
  trimAfter
14264
14500
  });
14265
14501
  if (typeof trimBeforeValue !== "undefined" || typeof trimAfterValue !== "undefined") {
14266
- return /* @__PURE__ */ jsx34(Sequence, {
14502
+ return /* @__PURE__ */ jsx35(Sequence, {
14267
14503
  layout: "none",
14268
14504
  from: 0 - (trimBeforeValue ?? 0),
14269
14505
  showInTimeline: false,
14270
14506
  durationInFrames: trimAfterValue,
14271
14507
  name,
14272
- children: /* @__PURE__ */ jsx34(InnerOffthreadVideo, {
14508
+ children: /* @__PURE__ */ jsx35(InnerOffthreadVideo, {
14273
14509
  pauseWhenBuffering: pauseWhenBuffering ?? false,
14274
14510
  ...otherProps,
14275
14511
  trimAfter: undefined,
@@ -14284,7 +14520,7 @@ var InnerOffthreadVideo = (props2) => {
14284
14520
  }
14285
14521
  validateMediaProps(props2, "Video");
14286
14522
  if (environment.isRendering) {
14287
- return /* @__PURE__ */ jsx34(OffthreadVideoForRendering, {
14523
+ return /* @__PURE__ */ jsx35(OffthreadVideoForRendering, {
14288
14524
  pauseWhenBuffering: pauseWhenBuffering ?? false,
14289
14525
  ...otherProps,
14290
14526
  trimAfter: undefined,
@@ -14306,7 +14542,7 @@ var InnerOffthreadVideo = (props2) => {
14306
14542
  delayRenderTimeoutInMilliseconds,
14307
14543
  ...propsForPreview
14308
14544
  } = otherProps;
14309
- return /* @__PURE__ */ jsx34(VideoForPreview, {
14545
+ return /* @__PURE__ */ jsx35(VideoForPreview, {
14310
14546
  _remotionInternalStack: stack ?? null,
14311
14547
  onDuration,
14312
14548
  onlyWarnForMediaSeekingError: true,
@@ -14355,7 +14591,7 @@ var OffthreadVideo = ({
14355
14591
  if (imageFormat) {
14356
14592
  throw new TypeError(`The \`<OffthreadVideo>\` tag does no longer accept \`imageFormat\`. Use the \`transparent\` prop if you want to render a transparent video.`);
14357
14593
  }
14358
- return /* @__PURE__ */ jsx34(InnerOffthreadVideo, {
14594
+ return /* @__PURE__ */ jsx35(InnerOffthreadVideo, {
14359
14595
  acceptableTimeShiftInSeconds,
14360
14596
  allowAmplificationDuringRender: allowAmplificationDuringRender ?? true,
14361
14597
  audioStreamIndex: audioStreamIndex ?? 0,
@@ -14391,20 +14627,20 @@ var OffthreadVideo = ({
14391
14627
  addSequenceStackTraces(OffthreadVideo);
14392
14628
  var WATCH_REMOTION_STATIC_FILES = "remotion_staticFilesChanged";
14393
14629
  function useRemotionContexts() {
14394
- const compositionManagerCtx = React38.useContext(CompositionManager);
14395
- const timelineContext = React38.useContext(TimelineContext);
14396
- const setTimelineContext = React38.useContext(SetTimelineContext);
14397
- const sequenceContext = React38.useContext(SequenceContext);
14398
- const nonceContext = React38.useContext(NonceContext);
14399
- const canUseRemotionHooksContext = React38.useContext(CanUseRemotionHooks);
14400
- const preloadContext = React38.useContext(PreloadContext);
14401
- const resolveCompositionContext = React38.useContext(ResolveCompositionContext);
14402
- const renderAssetManagerContext = React38.useContext(RenderAssetManager);
14403
- const sequenceManagerContext = React38.useContext(SequenceManager);
14404
- const sequenceManagerRefContext = React38.useContext(SequenceManagerRefContext);
14405
- const visualModePropStatusesRefContext = React38.useContext(VisualModePropStatusesRefContext);
14406
- const bufferManagerContext = React38.useContext(BufferingContextReact);
14407
- const logLevelContext = React38.useContext(LogLevelContext);
14630
+ const compositionManagerCtx = React39.useContext(CompositionManager);
14631
+ const timelineContext = React39.useContext(TimelineContext);
14632
+ const setTimelineContext = React39.useContext(SetTimelineContext);
14633
+ const sequenceContext = React39.useContext(SequenceContext);
14634
+ const nonceContext = React39.useContext(NonceContext);
14635
+ const canUseRemotionHooksContext = React39.useContext(CanUseRemotionHooks);
14636
+ const preloadContext = React39.useContext(PreloadContext);
14637
+ const resolveCompositionContext = React39.useContext(ResolveCompositionContext);
14638
+ const renderAssetManagerContext = React39.useContext(RenderAssetManager);
14639
+ const sequenceManagerContext = React39.useContext(SequenceManager);
14640
+ const sequenceManagerRefContext = React39.useContext(SequenceManagerRefContext);
14641
+ const visualModePropStatusesRefContext = React39.useContext(VisualModePropStatusesRefContext);
14642
+ const bufferManagerContext = React39.useContext(BufferingContextReact);
14643
+ const logLevelContext = React39.useContext(LogLevelContext);
14408
14644
  return useMemo37(() => ({
14409
14645
  compositionManagerCtx,
14410
14646
  timelineContext,
@@ -14439,33 +14675,33 @@ function useRemotionContexts() {
14439
14675
  }
14440
14676
  var RemotionContextProvider = (props2) => {
14441
14677
  const { children, contexts } = props2;
14442
- return /* @__PURE__ */ jsx35(LogLevelContext.Provider, {
14678
+ return /* @__PURE__ */ jsx36(LogLevelContext.Provider, {
14443
14679
  value: contexts.logLevelContext,
14444
- children: /* @__PURE__ */ jsx35(CanUseRemotionHooks.Provider, {
14680
+ children: /* @__PURE__ */ jsx36(CanUseRemotionHooks.Provider, {
14445
14681
  value: contexts.canUseRemotionHooksContext,
14446
- children: /* @__PURE__ */ jsx35(NonceContext.Provider, {
14682
+ children: /* @__PURE__ */ jsx36(NonceContext.Provider, {
14447
14683
  value: contexts.nonceContext,
14448
- children: /* @__PURE__ */ jsx35(PreloadContext.Provider, {
14684
+ children: /* @__PURE__ */ jsx36(PreloadContext.Provider, {
14449
14685
  value: contexts.preloadContext,
14450
- children: /* @__PURE__ */ jsx35(CompositionManager.Provider, {
14686
+ children: /* @__PURE__ */ jsx36(CompositionManager.Provider, {
14451
14687
  value: contexts.compositionManagerCtx,
14452
- children: /* @__PURE__ */ jsx35(SequenceManagerRefContext.Provider, {
14688
+ children: /* @__PURE__ */ jsx36(SequenceManagerRefContext.Provider, {
14453
14689
  value: contexts.sequenceManagerRefContext,
14454
- children: /* @__PURE__ */ jsx35(SequenceManager.Provider, {
14690
+ children: /* @__PURE__ */ jsx36(SequenceManager.Provider, {
14455
14691
  value: contexts.sequenceManagerContext,
14456
- children: /* @__PURE__ */ jsx35(VisualModePropStatusesRefContext.Provider, {
14692
+ children: /* @__PURE__ */ jsx36(VisualModePropStatusesRefContext.Provider, {
14457
14693
  value: contexts.visualModePropStatusesRefContext,
14458
- children: /* @__PURE__ */ jsx35(RenderAssetManager.Provider, {
14694
+ children: /* @__PURE__ */ jsx36(RenderAssetManager.Provider, {
14459
14695
  value: contexts.renderAssetManagerContext,
14460
- children: /* @__PURE__ */ jsx35(ResolveCompositionContext.Provider, {
14696
+ children: /* @__PURE__ */ jsx36(ResolveCompositionContext.Provider, {
14461
14697
  value: contexts.resolveCompositionContext,
14462
- children: /* @__PURE__ */ jsx35(TimelineContext.Provider, {
14698
+ children: /* @__PURE__ */ jsx36(TimelineContext.Provider, {
14463
14699
  value: contexts.timelineContext,
14464
- children: /* @__PURE__ */ jsx35(SetTimelineContext.Provider, {
14700
+ children: /* @__PURE__ */ jsx36(SetTimelineContext.Provider, {
14465
14701
  value: contexts.setTimelineContext,
14466
- children: /* @__PURE__ */ jsx35(SequenceContext.Provider, {
14702
+ children: /* @__PURE__ */ jsx36(SequenceContext.Provider, {
14467
14703
  value: contexts.sequenceContext,
14468
- children: /* @__PURE__ */ jsx35(BufferingContextReact.Provider, {
14704
+ children: /* @__PURE__ */ jsx36(BufferingContextReact.Provider, {
14469
14705
  value: contexts.bufferManagerContext,
14470
14706
  children
14471
14707
  })
@@ -14655,9 +14891,9 @@ var validateFrame = ({
14655
14891
  }
14656
14892
  };
14657
14893
  var flattenChildren = (children) => {
14658
- const childrenArray = React39.Children.toArray(children);
14894
+ const childrenArray = React40.Children.toArray(children);
14659
14895
  return childrenArray.reduce((flatChildren, child) => {
14660
- if (child.type === React39.Fragment) {
14896
+ if (child.type === React40.Fragment) {
14661
14897
  return flatChildren.concat(flattenChildren(child.props.children));
14662
14898
  }
14663
14899
  flatChildren.push(child);
@@ -14666,11 +14902,11 @@ var flattenChildren = (children) => {
14666
14902
  };
14667
14903
  var SeriesSequenceRefForwardingFunction = ({ children }, _ref) => {
14668
14904
  useRequireToBeInsideSeries();
14669
- return /* @__PURE__ */ jsx36(IsNotInsideSeriesProvider, {
14905
+ return /* @__PURE__ */ jsx37(IsNotInsideSeriesProvider, {
14670
14906
  children
14671
14907
  });
14672
14908
  };
14673
- var SeriesSequence = forwardRef13(SeriesSequenceRefForwardingFunction);
14909
+ var SeriesSequence = forwardRef14(SeriesSequenceRefForwardingFunction);
14674
14910
  var SequenceWithoutSchemaWithRef = SequenceWithoutSchema;
14675
14911
  var SeriesInner = (props2) => {
14676
14912
  const childrenValue = useMemo38(() => {
@@ -14714,7 +14950,7 @@ var SeriesInner = (props2) => {
14714
14950
  }
14715
14951
  const currentStartFrame = startFrame + offset;
14716
14952
  startFrame += durationInFramesProp + offset;
14717
- return /* @__PURE__ */ jsx36(SequenceWithoutSchemaWithRef, {
14953
+ return /* @__PURE__ */ jsx37(SequenceWithoutSchemaWithRef, {
14718
14954
  ref: castedChild.ref,
14719
14955
  name: name || "<Series.Sequence>",
14720
14956
  _remotionInternalDocumentationLink: name ? undefined : "https://www.remotion.dev/docs/series",
@@ -14725,8 +14961,8 @@ var SeriesInner = (props2) => {
14725
14961
  });
14726
14962
  });
14727
14963
  }, [props2.children]);
14728
- return /* @__PURE__ */ jsx36(IsInsideSeriesContainer, {
14729
- children: /* @__PURE__ */ jsx36(Sequence, {
14964
+ return /* @__PURE__ */ jsx37(IsInsideSeriesContainer, {
14965
+ children: /* @__PURE__ */ jsx37(Sequence, {
14730
14966
  layout: "none",
14731
14967
  name: "<Series>",
14732
14968
  _remotionInternalDocumentationLink: "https://www.remotion.dev/docs/series",
@@ -15208,7 +15444,7 @@ var VideoForRenderingForwardFunction = ({
15208
15444
  const frame = useCurrentFrame();
15209
15445
  const volumePropsFrame = useFrameForVolumeProp(loopVolumeCurveBehavior ?? "repeat");
15210
15446
  const videoConfig = useUnsafeVideoConfig();
15211
- const videoRef = useRef27(null);
15447
+ const videoRef = useRef28(null);
15212
15448
  const sequenceContext = useContext38(SequenceContext);
15213
15449
  const mediaStartsAt = useMediaStartsAt();
15214
15450
  const environment = useRemotionEnvironment();
@@ -15399,13 +15635,13 @@ var VideoForRenderingForwardFunction = ({
15399
15635
  delayRender2
15400
15636
  ]);
15401
15637
  }
15402
- return /* @__PURE__ */ jsx37("video", {
15638
+ return /* @__PURE__ */ jsx38("video", {
15403
15639
  ref: videoRef,
15404
15640
  disableRemotePlayback: true,
15405
15641
  ...props2
15406
15642
  });
15407
15643
  };
15408
- var VideoForRendering = forwardRef14(VideoForRenderingForwardFunction);
15644
+ var VideoForRendering = forwardRef15(VideoForRenderingForwardFunction);
15409
15645
  var VideoForwardingFunction = (props2, ref) => {
15410
15646
  const {
15411
15647
  startFrom,
@@ -15435,7 +15671,7 @@ var VideoForwardingFunction = (props2, ref) => {
15435
15671
  throw new TypeError(`The \`<Html5Video>\` tag requires a string for \`src\`, but got ${JSON.stringify(props2.src)} instead.`);
15436
15672
  }
15437
15673
  const preloadedSrc = usePreload(props2.src);
15438
- const onDuration = useCallback23((src, durationInSeconds) => {
15674
+ const onDuration = useCallback24((src, durationInSeconds) => {
15439
15675
  setDurations({ type: "got-duration", durationInSeconds, src });
15440
15676
  }, [setDurations]);
15441
15677
  const durationFetched = durations[getAbsoluteSrc(preloadedSrc)] ?? durations[getAbsoluteSrc(props2.src)];
@@ -15448,7 +15684,7 @@ var VideoForwardingFunction = (props2, ref) => {
15448
15684
  });
15449
15685
  if (loop && durationFetched !== undefined) {
15450
15686
  if (!Number.isFinite(durationFetched)) {
15451
- return /* @__PURE__ */ jsx38(Html5Video, {
15687
+ return /* @__PURE__ */ jsx39(Html5Video, {
15452
15688
  ...propsOtherThanLoop,
15453
15689
  ref,
15454
15690
  stack,
@@ -15456,7 +15692,7 @@ var VideoForwardingFunction = (props2, ref) => {
15456
15692
  });
15457
15693
  }
15458
15694
  const mediaDuration = durationFetched * fps;
15459
- return /* @__PURE__ */ jsx38(Loop, {
15695
+ return /* @__PURE__ */ jsx39(Loop, {
15460
15696
  durationInFrames: calculateMediaDuration({
15461
15697
  trimAfter: trimAfterValue,
15462
15698
  mediaDurationInFrames: mediaDuration,
@@ -15466,7 +15702,7 @@ var VideoForwardingFunction = (props2, ref) => {
15466
15702
  layout: "none",
15467
15703
  name,
15468
15704
  showInTimeline: false,
15469
- children: /* @__PURE__ */ jsx38(Html5Video, {
15705
+ children: /* @__PURE__ */ jsx39(Html5Video, {
15470
15706
  ...propsOtherThanLoop,
15471
15707
  ref,
15472
15708
  stack,
@@ -15475,13 +15711,13 @@ var VideoForwardingFunction = (props2, ref) => {
15475
15711
  });
15476
15712
  }
15477
15713
  if (typeof trimBeforeValue !== "undefined" || typeof trimAfterValue !== "undefined") {
15478
- return /* @__PURE__ */ jsx38(Sequence, {
15714
+ return /* @__PURE__ */ jsx39(Sequence, {
15479
15715
  layout: "none",
15480
15716
  from: 0 - (trimBeforeValue ?? 0),
15481
15717
  showInTimeline: false,
15482
15718
  durationInFrames: trimAfterValue === undefined ? undefined : trimAfterValue / (props2.playbackRate ?? 1),
15483
15719
  name,
15484
- children: /* @__PURE__ */ jsx38(Html5Video, {
15720
+ children: /* @__PURE__ */ jsx39(Html5Video, {
15485
15721
  pauseWhenBuffering: pauseWhenBuffering ?? false,
15486
15722
  onVideoFrame,
15487
15723
  ...otherProps,
@@ -15496,14 +15732,14 @@ var VideoForwardingFunction = (props2, ref) => {
15496
15732
  volume: props2.volume
15497
15733
  }, "Html5Video");
15498
15734
  if (environment.isRendering) {
15499
- return /* @__PURE__ */ jsx38(VideoForRendering, {
15735
+ return /* @__PURE__ */ jsx39(VideoForRendering, {
15500
15736
  onDuration,
15501
15737
  onVideoFrame: onVideoFrame ?? null,
15502
15738
  ...otherProps,
15503
15739
  ref
15504
15740
  });
15505
15741
  }
15506
- return /* @__PURE__ */ jsx38(VideoForPreview, {
15742
+ return /* @__PURE__ */ jsx39(VideoForPreview, {
15507
15743
  onlyWarnForMediaSeekingError: false,
15508
15744
  ...otherProps,
15509
15745
  ref,
@@ -15516,7 +15752,7 @@ var VideoForwardingFunction = (props2, ref) => {
15516
15752
  onAutoPlayError: onAutoPlayError ?? undefined
15517
15753
  });
15518
15754
  };
15519
- var Html5Video = forwardRef15(VideoForwardingFunction);
15755
+ var Html5Video = forwardRef16(VideoForwardingFunction);
15520
15756
  addSequenceStackTraces(Html5Video);
15521
15757
  checkMultipleRemotionVersions();
15522
15758
  var proxyObj = {};
@@ -15545,9 +15781,9 @@ addSequenceStackTraces(Composition);
15545
15781
  addSequenceStackTraces(Folder);
15546
15782
 
15547
15783
  // ../shapes/dist/esm/index.mjs
15548
- import React, { useCallback as useCallback24, useMemo as useMemo40, useRef as useRef28 } from "react";
15784
+ import React, { useCallback as useCallback25, useMemo as useMemo40, useRef as useRef29 } from "react";
15549
15785
  import { version } from "react-dom";
15550
- import { jsx as jsx39, jsxs as jsxs4 } from "react/jsx-runtime";
15786
+ import { jsx as jsx40, jsxs as jsxs4 } from "react/jsx-runtime";
15551
15787
  import { jsx as jsx210 } from "react/jsx-runtime";
15552
15788
  import { jsx as jsx310 } from "react/jsx-runtime";
15553
15789
  import { jsx as jsx43 } from "react/jsx-runtime";
@@ -15734,11 +15970,11 @@ var RenderSvg = ({
15734
15970
  ...pathStyle ?? {}
15735
15971
  };
15736
15972
  }, [pathStyle]);
15737
- const outlineRef = useRef28(null);
15738
- const setSvgRef = useCallback24((node) => {
15973
+ const outlineRef = useRef29(null);
15974
+ const setSvgRef = useCallback25((node) => {
15739
15975
  outlineRef.current = node;
15740
15976
  }, []);
15741
- const setCanvasRef = useCallback24((canvas) => {
15977
+ const setCanvasRef = useCallback25((canvas) => {
15742
15978
  outlineRef.current = canvas;
15743
15979
  }, []);
15744
15980
  const memoizedEffectDefinitions = Internals.useMemoizedEffectDefinitions(effects);
@@ -15752,7 +15988,7 @@ var RenderSvg = ({
15752
15988
  xmlns: "http://www.w3.org/2000/svg",
15753
15989
  style: effects.length === 0 || !videoConfig ? actualStyle : { overflow: "visible" },
15754
15990
  children: [
15755
- /* @__PURE__ */ jsx39("path", {
15991
+ /* @__PURE__ */ jsx40("path", {
15756
15992
  ...reactSupportsTransformOrigin ? {
15757
15993
  transformOrigin
15758
15994
  } : {
@@ -15772,17 +16008,17 @@ var RenderSvg = ({
15772
16008
  const prevY = prevInstruction.y;
15773
16009
  return /* @__PURE__ */ jsxs4(React.Fragment, {
15774
16010
  children: [
15775
- /* @__PURE__ */ jsx39("path", {
16011
+ /* @__PURE__ */ jsx40("path", {
15776
16012
  d: `M ${prevX} ${prevY} ${i.cp1x} ${i.cp1y}`,
15777
16013
  strokeWidth: 2,
15778
16014
  stroke: "rgba(0, 0, 0, 0.4)"
15779
16015
  }),
15780
- /* @__PURE__ */ jsx39("path", {
16016
+ /* @__PURE__ */ jsx40("path", {
15781
16017
  d: `M ${i.x} ${i.y} ${i.cp2x} ${i.cp2y}`,
15782
16018
  strokeWidth: 2,
15783
16019
  stroke: "rgba(0, 0, 0, 0.4)"
15784
16020
  }),
15785
- /* @__PURE__ */ jsx39("circle", {
16021
+ /* @__PURE__ */ jsx40("circle", {
15786
16022
  cx: i.cp1x,
15787
16023
  cy: i.cp1y,
15788
16024
  r: 3,
@@ -15790,7 +16026,7 @@ var RenderSvg = ({
15790
16026
  strokeWidth: 2,
15791
16027
  stroke: "black"
15792
16028
  }),
15793
- /* @__PURE__ */ jsx39("circle", {
16029
+ /* @__PURE__ */ jsx40("circle", {
15794
16030
  cx: i.cp2x,
15795
16031
  cy: i.cp2y,
15796
16032
  r: 3,
@@ -15805,7 +16041,7 @@ var RenderSvg = ({
15805
16041
  }) : null
15806
16042
  ]
15807
16043
  });
15808
- const content = effects.length === 0 ? svg : /* @__PURE__ */ jsx39(HtmlInCanvas, {
16044
+ const content = effects.length === 0 ? svg : /* @__PURE__ */ jsx40(HtmlInCanvas, {
15809
16045
  ref: setCanvasRef,
15810
16046
  width: Math.ceil(width),
15811
16047
  height: Math.ceil(height),
@@ -15820,7 +16056,7 @@ var RenderSvg = ({
15820
16056
  if (!videoConfig) {
15821
16057
  return svg;
15822
16058
  }
15823
- return /* @__PURE__ */ jsx39(Sequence, {
16059
+ return /* @__PURE__ */ jsx40(Sequence, {
15824
16060
  layout: "none",
15825
16061
  from,
15826
16062
  hidden,
@@ -17933,8 +18169,8 @@ var extrudeAndTransformElement = (options) => {
17933
18169
  // ../design/dist/esm/index.mjs
17934
18170
  import { jsx as jsx212, Fragment as Fragment3 } from "react/jsx-runtime";
17935
18171
  import { jsx as jsx312, jsxs as jsxs5 } from "react/jsx-runtime";
17936
- import { useEffect as useEffect23, useMemo as useMemo210, useRef as useRef30 } from "react";
17937
- import { jsx as jsx44 } from "react/jsx-runtime";
18172
+ import { useEffect as useEffect23, useMemo as useMemo210, useRef as useRef31 } from "react";
18173
+ import { jsx as jsx45 } from "react/jsx-runtime";
17938
18174
  import { jsx as jsx53, jsxs as jsxs23 } from "react/jsx-runtime";
17939
18175
  import React62 from "react";
17940
18176
  import { jsx as jsx63 } from "react/jsx-runtime";
@@ -17945,7 +18181,7 @@ import React72 from "react";
17945
18181
  import { jsx as jsx103 } from "react/jsx-runtime";
17946
18182
  import { jsx as jsx112 } from "react/jsx-runtime";
17947
18183
  import { jsx as jsx122 } from "react/jsx-runtime";
17948
- import * as React362 from "react";
18184
+ import * as React36 from "react";
17949
18185
  import * as ReactDOM4 from "react-dom";
17950
18186
  import React112 from "react";
17951
18187
  import * as React8 from "react";
@@ -17984,7 +18220,7 @@ import * as React27 from "react";
17984
18220
  import * as React28 from "react";
17985
18221
  import { jsx as jsx232 } from "react/jsx-runtime";
17986
18222
  import * as React352 from "react";
17987
- import * as React31 from "react";
18223
+ import * as React312 from "react";
17988
18224
  import { useState as useState112 } from "react";
17989
18225
  import * as React292 from "react";
17990
18226
  import * as React302 from "react";
@@ -17994,21 +18230,21 @@ import * as React322 from "react";
17994
18230
  import { Fragment as Fragment8, jsx as jsx242, jsxs as jsxs42 } from "react/jsx-runtime";
17995
18231
  import { forwardRef as forwardRef142, createElement as createElement7 } from "react";
17996
18232
  import { forwardRef as forwardRef132, createElement as createElement6 } from "react";
17997
- import * as React37 from "react";
18233
+ import * as React372 from "react";
17998
18234
  import { jsx as jsx252, jsxs as jsxs52 } from "react/jsx-runtime";
17999
18235
  import { jsx as jsx262 } from "react/jsx-runtime";
18000
18236
  import * as React49 from "react";
18001
- import * as React382 from "react";
18237
+ import * as React38 from "react";
18002
18238
  import { jsx as jsx272 } from "react/jsx-runtime";
18003
18239
  import * as React47 from "react";
18004
- import React40 from "react";
18240
+ import React402 from "react";
18005
18241
  import * as React392 from "react";
18006
18242
  import { Fragment as Fragment22, jsx as jsx282 } from "react/jsx-runtime";
18007
18243
  import { jsx as jsx292 } from "react/jsx-runtime";
18008
18244
  import React210 from "react";
18009
18245
  import { jsx as jsx2102 } from "react/jsx-runtime";
18010
- import * as React42 from "react";
18011
- import * as React412 from "react";
18246
+ import * as React422 from "react";
18247
+ import * as React41 from "react";
18012
18248
  import * as React43 from "react";
18013
18249
  import * as ReactDOM5 from "react-dom";
18014
18250
  import { jsx as jsx302 } from "react/jsx-runtime";
@@ -18026,7 +18262,7 @@ import { jsx as jsx342 } from "react/jsx-runtime";
18026
18262
  import React51 from "react";
18027
18263
  import { jsx as jsx352 } from "react/jsx-runtime";
18028
18264
  import { jsx as jsx362 } from "react/jsx-runtime";
18029
- function setRef(ref, value) {
18265
+ function setRef2(ref, value) {
18030
18266
  if (typeof ref === "function") {
18031
18267
  return ref(value);
18032
18268
  } else if (ref !== null && ref !== undefined) {
@@ -18037,7 +18273,7 @@ function composeRefs(...refs) {
18037
18273
  return (node) => {
18038
18274
  let hasCleanup = false;
18039
18275
  const cleanups = refs.map((ref) => {
18040
- const cleanup = setRef(ref, node);
18276
+ const cleanup = setRef2(ref, node);
18041
18277
  if (!hasCleanup && typeof cleanup == "function") {
18042
18278
  hasCleanup = true;
18043
18279
  }
@@ -18050,7 +18286,7 @@ function composeRefs(...refs) {
18050
18286
  if (typeof cleanup == "function") {
18051
18287
  cleanup();
18052
18288
  } else {
18053
- setRef(refs[i], null);
18289
+ setRef2(refs[i], null);
18054
18290
  }
18055
18291
  }
18056
18292
  };
@@ -18088,9 +18324,9 @@ function createSlot(ownerName) {
18088
18324
  return child;
18089
18325
  }
18090
18326
  });
18091
- return /* @__PURE__ */ jsx41(SlotClone, { ...slotProps, ref: forwardedRef, children: React23.isValidElement(newElement) ? React23.cloneElement(newElement, undefined, newChildren) : null });
18327
+ return /* @__PURE__ */ jsx44(SlotClone, { ...slotProps, ref: forwardedRef, children: React23.isValidElement(newElement) ? React23.cloneElement(newElement, undefined, newChildren) : null });
18092
18328
  }
18093
- return /* @__PURE__ */ jsx41(SlotClone, { ...slotProps, ref: forwardedRef, children });
18329
+ return /* @__PURE__ */ jsx44(SlotClone, { ...slotProps, ref: forwardedRef, children });
18094
18330
  });
18095
18331
  Slot2.displayName = `${ownerName}.Slot`;
18096
18332
  return Slot2;
@@ -18118,7 +18354,7 @@ function createSlotClone(ownerName) {
18118
18354
  var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
18119
18355
  function createSlottable(ownerName) {
18120
18356
  const Slottable2 = ({ children }) => {
18121
- return /* @__PURE__ */ jsx41(Fragment2, { children });
18357
+ return /* @__PURE__ */ jsx44(Fragment2, { children });
18122
18358
  };
18123
18359
  Slottable2.displayName = `${ownerName}.Slottable`;
18124
18360
  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
@@ -18183,7 +18419,7 @@ var getChildNodeFrom = (htmlElement) => {
18183
18419
  return childNode;
18184
18420
  };
18185
18421
  var useHoverTransforms = (ref, disabled) => {
18186
- const [state, setState] = React35.useState({
18422
+ const [state, setState] = React32.useState({
18187
18423
  progress: 0,
18188
18424
  isActive: false
18189
18425
  });
@@ -18195,7 +18431,7 @@ var useHoverTransforms = (ref, disabled) => {
18195
18431
  eventTarget.dispatchEvent(new Event("enabled"));
18196
18432
  }
18197
18433
  }, [disabled, eventTarget]);
18198
- React35.useEffect(() => {
18434
+ React32.useEffect(() => {
18199
18435
  const element = ref.current;
18200
18436
  if (!element)
18201
18437
  return;
@@ -18270,8 +18506,8 @@ var useHoverTransforms = (ref, disabled) => {
18270
18506
  return state;
18271
18507
  };
18272
18508
  var useClickTransforms = (ref) => {
18273
- const [hoverProgress, setHoverProgress] = React35.useState(0);
18274
- React35.useEffect(() => {
18509
+ const [hoverProgress, setHoverProgress] = React32.useState(0);
18510
+ React32.useEffect(() => {
18275
18511
  const element = getChildNodeFrom(ref.current);
18276
18512
  if (!element) {
18277
18513
  return;
@@ -18455,7 +18691,7 @@ var Spinner = ({ size, duration }) => {
18455
18691
  height: size
18456
18692
  };
18457
18693
  }, [size]);
18458
- const pathsRef = useRef30([]);
18694
+ const pathsRef = useRef31([]);
18459
18695
  useEffect23(() => {
18460
18696
  const animate = () => {
18461
18697
  const now = performance.now();
@@ -18474,11 +18710,11 @@ var Spinner = ({ size, duration }) => {
18474
18710
  cancelAnimationFrame(id);
18475
18711
  };
18476
18712
  }, [duration]);
18477
- return /* @__PURE__ */ jsx44("svg", {
18713
+ return /* @__PURE__ */ jsx45("svg", {
18478
18714
  style,
18479
18715
  viewBox: `0 0 ${viewBox} ${viewBox}`,
18480
18716
  children: new Array(lines).fill(true).map((_, index) => {
18481
- return /* @__PURE__ */ jsx44("path", {
18717
+ return /* @__PURE__ */ jsx45("path", {
18482
18718
  ref: (el) => pathsRef.current[index] = el,
18483
18719
  style: {
18484
18720
  rotate: `${index * Math.PI * 2 / lines}rad`,
@@ -18501,9 +18737,9 @@ var Button = ({
18501
18737
  ...rest
18502
18738
  }) => {
18503
18739
  const [dimensions, setDimensions] = useState22(null);
18504
- const ref = useRef29(null);
18740
+ const ref = useRef210(null);
18505
18741
  const { isActive, progress } = useHoverTransforms(ref, Boolean(disabled || loading));
18506
- const onPointerEnter = useCallback25((e) => {
18742
+ const onPointerEnter = useCallback26((e) => {
18507
18743
  if (e.pointerType !== "mouse") {
18508
18744
  return;
18509
18745
  }
@@ -18540,7 +18776,7 @@ var Button = ({
18540
18776
  const isDisabled = disabled || loading;
18541
18777
  const isAnchor = !asChild && "href" in rest && rest.href !== undefined;
18542
18778
  const sharedClasses = cn("text-text", "inline-flex", "justify-center", "bg-button-bg", "items-center", "font-brand", "border-solid", "text-[1em]", "rounded-lg", "border-black", "border-2", "border-b-4", "cursor-pointer", "px-4", "h-12", "flex-row", "items-center", "relative", "overflow-hidden", isDisabled && "cursor-default opacity-50", className);
18543
- const preventInteraction = useCallback25((e) => {
18779
+ const preventInteraction = useCallback26((e) => {
18544
18780
  e.preventDefault();
18545
18781
  e.stopPropagation();
18546
18782
  }, []);
@@ -18836,7 +19072,7 @@ function composeContextScopes(...scopes) {
18836
19072
  createScope.scopeName = baseScope.scopeName;
18837
19073
  return createScope;
18838
19074
  }
18839
- function setRef2(ref, value) {
19075
+ function setRef22(ref, value) {
18840
19076
  if (typeof ref === "function") {
18841
19077
  ref(value);
18842
19078
  } else if (ref !== null && ref !== undefined) {
@@ -18844,7 +19080,7 @@ function setRef2(ref, value) {
18844
19080
  }
18845
19081
  }
18846
19082
  function composeRefs2(...refs) {
18847
- return (node) => refs.forEach((ref) => setRef2(ref, node));
19083
+ return (node) => refs.forEach((ref) => setRef22(ref, node));
18848
19084
  }
18849
19085
  function useComposedRefs2(...refs) {
18850
19086
  return React9.useCallback(composeRefs2(...refs), refs);
@@ -21942,9 +22178,9 @@ var effectCar = createSidecarMedium();
21942
22178
  var nothing = function() {
21943
22179
  return;
21944
22180
  };
21945
- var RemoveScroll = React31.forwardRef(function(props, parentRef) {
21946
- var ref = React31.useRef(null);
21947
- var _a = React31.useState({
22181
+ var RemoveScroll = React312.forwardRef(function(props, parentRef) {
22182
+ var ref = React312.useRef(null);
22183
+ var _a = React312.useState({
21948
22184
  onScrollCapture: nothing,
21949
22185
  onWheelCapture: nothing,
21950
22186
  onTouchMoveCapture: nothing
@@ -21953,7 +22189,7 @@ var RemoveScroll = React31.forwardRef(function(props, parentRef) {
21953
22189
  var SideCar2 = sideCar;
21954
22190
  var containerRef = useMergeRefs([ref, parentRef]);
21955
22191
  var containerProps = __assign(__assign({}, rest), callbacks);
21956
- return React31.createElement(React31.Fragment, null, enabled && React31.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }), forwardProps ? React31.cloneElement(React31.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React31.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children));
22192
+ return React312.createElement(React312.Fragment, null, enabled && React312.createElement(SideCar2, { sideCar: effectCar, removeScrollBar, shards, noIsolation, inert, setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode }), forwardProps ? React312.cloneElement(React312.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : React312.createElement(Container, __assign({}, containerProps, { className, ref: containerRef }), children));
21957
22193
  });
21958
22194
  RemoveScroll.defaultProps = {
21959
22195
  enabled: true,
@@ -22445,9 +22681,9 @@ var Select = (props) => {
22445
22681
  required
22446
22682
  } = props;
22447
22683
  const popperScope = usePopperScope(__scopeSelect);
22448
- const [trigger, setTrigger] = React362.useState(null);
22449
- const [valueNode, setValueNode] = React362.useState(null);
22450
- const [valueNodeHasChildren, setValueNodeHasChildren] = React362.useState(false);
22684
+ const [trigger, setTrigger] = React36.useState(null);
22685
+ const [valueNode, setValueNode] = React36.useState(null);
22686
+ const [valueNodeHasChildren, setValueNodeHasChildren] = React36.useState(false);
22451
22687
  const direction = useDirection(dir);
22452
22688
  const [open = false, setOpen] = useControllableState({
22453
22689
  prop: openProp,
@@ -22459,9 +22695,9 @@ var Select = (props) => {
22459
22695
  defaultProp: defaultValue,
22460
22696
  onChange: onValueChange
22461
22697
  });
22462
- const triggerPointerDownPosRef = React362.useRef(null);
22698
+ const triggerPointerDownPosRef = React36.useRef(null);
22463
22699
  const isFormControl = trigger ? Boolean(trigger.closest("form")) : true;
22464
- const [nativeOptionsSet, setNativeOptionsSet] = React362.useState(/* @__PURE__ */ new Set);
22700
+ const [nativeOptionsSet, setNativeOptionsSet] = React36.useState(/* @__PURE__ */ new Set);
22465
22701
  const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(";");
22466
22702
  return /* @__PURE__ */ jsx242(Root22, { ...popperScope, children: /* @__PURE__ */ jsxs42(SelectProvider, {
22467
22703
  required,
@@ -22483,10 +22719,10 @@ var Select = (props) => {
22483
22719
  children: [
22484
22720
  /* @__PURE__ */ jsx242(Collection.Provider, { scope: __scopeSelect, children: /* @__PURE__ */ jsx242(SelectNativeOptionsProvider, {
22485
22721
  scope: props.__scopeSelect,
22486
- onNativeOptionAdd: React362.useCallback((option) => {
22722
+ onNativeOptionAdd: React36.useCallback((option) => {
22487
22723
  setNativeOptionsSet((prev) => new Set(prev).add(option));
22488
22724
  }, []),
22489
- onNativeOptionRemove: React362.useCallback((option) => {
22725
+ onNativeOptionRemove: React36.useCallback((option) => {
22490
22726
  setNativeOptionsSet((prev) => {
22491
22727
  const optionsSet = new Set(prev);
22492
22728
  optionsSet.delete(option);
@@ -22514,7 +22750,7 @@ var Select = (props) => {
22514
22750
  };
22515
22751
  Select.displayName = SELECT_NAME;
22516
22752
  var TRIGGER_NAME = "SelectTrigger";
22517
- var SelectTrigger = React362.forwardRef((props, forwardedRef) => {
22753
+ var SelectTrigger = React36.forwardRef((props, forwardedRef) => {
22518
22754
  const { __scopeSelect, disabled = false, ...triggerProps } = props;
22519
22755
  const popperScope = usePopperScope(__scopeSelect);
22520
22756
  const context = useSelectContext(TRIGGER_NAME, __scopeSelect);
@@ -22582,7 +22818,7 @@ var SelectTrigger = React362.forwardRef((props, forwardedRef) => {
22582
22818
  });
22583
22819
  SelectTrigger.displayName = TRIGGER_NAME;
22584
22820
  var VALUE_NAME = "SelectValue";
22585
- var SelectValue = React362.forwardRef((props, forwardedRef) => {
22821
+ var SelectValue = React36.forwardRef((props, forwardedRef) => {
22586
22822
  const { __scopeSelect, className, style, children, placeholder = "", ...valueProps } = props;
22587
22823
  const context = useSelectContext(VALUE_NAME, __scopeSelect);
22588
22824
  const { onValueNodeHasChildrenChange } = context;
@@ -22600,7 +22836,7 @@ var SelectValue = React362.forwardRef((props, forwardedRef) => {
22600
22836
  });
22601
22837
  SelectValue.displayName = VALUE_NAME;
22602
22838
  var ICON_NAME = "SelectIcon";
22603
- var SelectIcon = React362.forwardRef((props, forwardedRef) => {
22839
+ var SelectIcon = React36.forwardRef((props, forwardedRef) => {
22604
22840
  const { __scopeSelect, children, ...iconProps } = props;
22605
22841
  return /* @__PURE__ */ jsx242(Primitive.span, { "aria-hidden": true, ...iconProps, ref: forwardedRef, children: children || "▼" });
22606
22842
  });
@@ -22611,9 +22847,9 @@ var SelectPortal = (props) => {
22611
22847
  };
22612
22848
  SelectPortal.displayName = PORTAL_NAME2;
22613
22849
  var CONTENT_NAME2 = "SelectContent";
22614
- var SelectContent = React362.forwardRef((props, forwardedRef) => {
22850
+ var SelectContent = React36.forwardRef((props, forwardedRef) => {
22615
22851
  const context = useSelectContext(CONTENT_NAME2, props.__scopeSelect);
22616
- const [fragment, setFragment] = React362.useState();
22852
+ const [fragment, setFragment] = React36.useState();
22617
22853
  useLayoutEffect22(() => {
22618
22854
  setFragment(new DocumentFragment);
22619
22855
  }, []);
@@ -22627,7 +22863,7 @@ SelectContent.displayName = CONTENT_NAME2;
22627
22863
  var CONTENT_MARGIN = 10;
22628
22864
  var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME2);
22629
22865
  var CONTENT_IMPL_NAME = "SelectContentImpl";
22630
- var SelectContentImpl = React362.forwardRef((props, forwardedRef) => {
22866
+ var SelectContentImpl = React36.forwardRef((props, forwardedRef) => {
22631
22867
  const {
22632
22868
  __scopeSelect,
22633
22869
  position = "item-aligned",
@@ -22647,20 +22883,20 @@ var SelectContentImpl = React362.forwardRef((props, forwardedRef) => {
22647
22883
  ...contentProps
22648
22884
  } = props;
22649
22885
  const context = useSelectContext(CONTENT_NAME2, __scopeSelect);
22650
- const [content, setContent] = React362.useState(null);
22651
- const [viewport, setViewport] = React362.useState(null);
22886
+ const [content, setContent] = React36.useState(null);
22887
+ const [viewport, setViewport] = React36.useState(null);
22652
22888
  const composedRefs = useComposedRefs2(forwardedRef, (node) => setContent(node));
22653
- const [selectedItem, setSelectedItem] = React362.useState(null);
22654
- const [selectedItemText, setSelectedItemText] = React362.useState(null);
22889
+ const [selectedItem, setSelectedItem] = React36.useState(null);
22890
+ const [selectedItemText, setSelectedItemText] = React36.useState(null);
22655
22891
  const getItems = useCollection(__scopeSelect);
22656
- const [isPositioned, setIsPositioned] = React362.useState(false);
22657
- const firstValidItemFoundRef = React362.useRef(false);
22658
- React362.useEffect(() => {
22892
+ const [isPositioned, setIsPositioned] = React36.useState(false);
22893
+ const firstValidItemFoundRef = React36.useRef(false);
22894
+ React36.useEffect(() => {
22659
22895
  if (content)
22660
22896
  return hideOthers(content);
22661
22897
  }, [content]);
22662
22898
  useFocusGuards();
22663
- const focusFirst2 = React362.useCallback((candidates) => {
22899
+ const focusFirst2 = React36.useCallback((candidates) => {
22664
22900
  const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);
22665
22901
  const [lastItem] = restItems.slice(-1);
22666
22902
  const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
@@ -22677,14 +22913,14 @@ var SelectContentImpl = React362.forwardRef((props, forwardedRef) => {
22677
22913
  return;
22678
22914
  }
22679
22915
  }, [getItems, viewport]);
22680
- const focusSelectedItem = React362.useCallback(() => focusFirst2([selectedItem, content]), [focusFirst2, selectedItem, content]);
22681
- React362.useEffect(() => {
22916
+ const focusSelectedItem = React36.useCallback(() => focusFirst2([selectedItem, content]), [focusFirst2, selectedItem, content]);
22917
+ React36.useEffect(() => {
22682
22918
  if (isPositioned) {
22683
22919
  focusSelectedItem();
22684
22920
  }
22685
22921
  }, [isPositioned, focusSelectedItem]);
22686
22922
  const { onOpenChange, triggerPointerDownPosRef } = context;
22687
- React362.useEffect(() => {
22923
+ React36.useEffect(() => {
22688
22924
  if (content) {
22689
22925
  let pointerMoveDelta = { x: 0, y: 0 };
22690
22926
  const handlePointerMove = (event) => {
@@ -22714,7 +22950,7 @@ var SelectContentImpl = React362.forwardRef((props, forwardedRef) => {
22714
22950
  };
22715
22951
  }
22716
22952
  }, [content, onOpenChange, triggerPointerDownPosRef]);
22717
- React362.useEffect(() => {
22953
+ React36.useEffect(() => {
22718
22954
  const close = () => onOpenChange(false);
22719
22955
  window.addEventListener("blur", close);
22720
22956
  window.addEventListener("resize", close);
@@ -22731,7 +22967,7 @@ var SelectContentImpl = React362.forwardRef((props, forwardedRef) => {
22731
22967
  setTimeout(() => nextItem.ref.current.focus());
22732
22968
  }
22733
22969
  });
22734
- const itemRefCallback = React362.useCallback((node, value, disabled) => {
22970
+ const itemRefCallback = React36.useCallback((node, value, disabled) => {
22735
22971
  const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;
22736
22972
  const isSelectedItem = context.value !== undefined && context.value === value;
22737
22973
  if (isSelectedItem || isFirstValidItem) {
@@ -22740,8 +22976,8 @@ var SelectContentImpl = React362.forwardRef((props, forwardedRef) => {
22740
22976
  firstValidItemFoundRef.current = true;
22741
22977
  }
22742
22978
  }, [context.value]);
22743
- const handleItemLeave = React362.useCallback(() => content?.focus(), [content]);
22744
- const itemTextRefCallback = React362.useCallback((node, value, disabled) => {
22979
+ const handleItemLeave = React36.useCallback(() => content?.focus(), [content]);
22980
+ const itemTextRefCallback = React36.useCallback((node, value, disabled) => {
22745
22981
  const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;
22746
22982
  const isSelectedItem = context.value !== undefined && context.value === value;
22747
22983
  if (isSelectedItem || isFirstValidItem) {
@@ -22836,18 +23072,18 @@ var SelectContentImpl = React362.forwardRef((props, forwardedRef) => {
22836
23072
  });
22837
23073
  SelectContentImpl.displayName = CONTENT_IMPL_NAME;
22838
23074
  var ITEM_ALIGNED_POSITION_NAME = "SelectItemAlignedPosition";
22839
- var SelectItemAlignedPosition = React362.forwardRef((props, forwardedRef) => {
23075
+ var SelectItemAlignedPosition = React36.forwardRef((props, forwardedRef) => {
22840
23076
  const { __scopeSelect, onPlaced, ...popperProps } = props;
22841
23077
  const context = useSelectContext(CONTENT_NAME2, __scopeSelect);
22842
23078
  const contentContext = useSelectContentContext(CONTENT_NAME2, __scopeSelect);
22843
- const [contentWrapper, setContentWrapper] = React362.useState(null);
22844
- const [content, setContent] = React362.useState(null);
23079
+ const [contentWrapper, setContentWrapper] = React36.useState(null);
23080
+ const [content, setContent] = React36.useState(null);
22845
23081
  const composedRefs = useComposedRefs2(forwardedRef, (node) => setContent(node));
22846
23082
  const getItems = useCollection(__scopeSelect);
22847
- const shouldExpandOnScrollRef = React362.useRef(false);
22848
- const shouldRepositionRef = React362.useRef(true);
23083
+ const shouldExpandOnScrollRef = React36.useRef(false);
23084
+ const shouldRepositionRef = React36.useRef(true);
22849
23085
  const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;
22850
- const position = React362.useCallback(() => {
23086
+ const position = React36.useCallback(() => {
22851
23087
  if (context.trigger && context.valueNode && contentWrapper && content && viewport && selectedItem && selectedItemText) {
22852
23088
  const triggerRect = context.trigger.getBoundingClientRect();
22853
23089
  const contentRect = content.getBoundingClientRect();
@@ -22928,12 +23164,12 @@ var SelectItemAlignedPosition = React362.forwardRef((props, forwardedRef) => {
22928
23164
  onPlaced
22929
23165
  ]);
22930
23166
  useLayoutEffect22(() => position(), [position]);
22931
- const [contentZIndex, setContentZIndex] = React362.useState();
23167
+ const [contentZIndex, setContentZIndex] = React36.useState();
22932
23168
  useLayoutEffect22(() => {
22933
23169
  if (content)
22934
23170
  setContentZIndex(window.getComputedStyle(content).zIndex);
22935
23171
  }, [content]);
22936
- const handleScrollButtonChange = React362.useCallback((node) => {
23172
+ const handleScrollButtonChange = React36.useCallback((node) => {
22937
23173
  if (node && shouldRepositionRef.current === true) {
22938
23174
  position();
22939
23175
  focusSelectedItem?.();
@@ -22967,7 +23203,7 @@ var SelectItemAlignedPosition = React362.forwardRef((props, forwardedRef) => {
22967
23203
  });
22968
23204
  SelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;
22969
23205
  var POPPER_POSITION_NAME = "SelectPopperPosition";
22970
- var SelectPopperPosition = React362.forwardRef((props, forwardedRef) => {
23206
+ var SelectPopperPosition = React36.forwardRef((props, forwardedRef) => {
22971
23207
  const {
22972
23208
  __scopeSelect,
22973
23209
  align = "start",
@@ -22997,12 +23233,12 @@ var SelectPopperPosition = React362.forwardRef((props, forwardedRef) => {
22997
23233
  SelectPopperPosition.displayName = POPPER_POSITION_NAME;
22998
23234
  var [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME2, {});
22999
23235
  var VIEWPORT_NAME = "SelectViewport";
23000
- var SelectViewport = React362.forwardRef((props, forwardedRef) => {
23236
+ var SelectViewport = React36.forwardRef((props, forwardedRef) => {
23001
23237
  const { __scopeSelect, nonce, ...viewportProps } = props;
23002
23238
  const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);
23003
23239
  const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);
23004
23240
  const composedRefs = useComposedRefs2(forwardedRef, contentContext.onViewportChange);
23005
- const prevScrollTopRef = React362.useRef(0);
23241
+ const prevScrollTopRef = React36.useRef(0);
23006
23242
  return /* @__PURE__ */ jsxs42(Fragment8, { children: [
23007
23243
  /* @__PURE__ */ jsx242("style", {
23008
23244
  dangerouslySetInnerHTML: {
@@ -23051,14 +23287,14 @@ var SelectViewport = React362.forwardRef((props, forwardedRef) => {
23051
23287
  SelectViewport.displayName = VIEWPORT_NAME;
23052
23288
  var GROUP_NAME = "SelectGroup";
23053
23289
  var [SelectGroupContextProvider, useSelectGroupContext] = createSelectContext(GROUP_NAME);
23054
- var SelectGroup = React362.forwardRef((props, forwardedRef) => {
23290
+ var SelectGroup = React36.forwardRef((props, forwardedRef) => {
23055
23291
  const { __scopeSelect, ...groupProps } = props;
23056
23292
  const groupId = useId();
23057
23293
  return /* @__PURE__ */ jsx242(SelectGroupContextProvider, { scope: __scopeSelect, id: groupId, children: /* @__PURE__ */ jsx242(Primitive.div, { role: "group", "aria-labelledby": groupId, ...groupProps, ref: forwardedRef }) });
23058
23294
  });
23059
23295
  SelectGroup.displayName = GROUP_NAME;
23060
23296
  var LABEL_NAME = "SelectLabel";
23061
- var SelectLabel = React362.forwardRef((props, forwardedRef) => {
23297
+ var SelectLabel = React36.forwardRef((props, forwardedRef) => {
23062
23298
  const { __scopeSelect, ...labelProps } = props;
23063
23299
  const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);
23064
23300
  return /* @__PURE__ */ jsx242(Primitive.div, { id: groupContext.id, ...labelProps, ref: forwardedRef });
@@ -23066,7 +23302,7 @@ var SelectLabel = React362.forwardRef((props, forwardedRef) => {
23066
23302
  SelectLabel.displayName = LABEL_NAME;
23067
23303
  var ITEM_NAME = "SelectItem";
23068
23304
  var [SelectItemContextProvider, useSelectItemContext] = createSelectContext(ITEM_NAME);
23069
- var SelectItem = React362.forwardRef((props, forwardedRef) => {
23305
+ var SelectItem = React36.forwardRef((props, forwardedRef) => {
23070
23306
  const {
23071
23307
  __scopeSelect,
23072
23308
  value,
@@ -23077,8 +23313,8 @@ var SelectItem = React362.forwardRef((props, forwardedRef) => {
23077
23313
  const context = useSelectContext(ITEM_NAME, __scopeSelect);
23078
23314
  const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);
23079
23315
  const isSelected = context.value === value;
23080
- const [textValue, setTextValue] = React362.useState(textValueProp ?? "");
23081
- const [isFocused, setIsFocused] = React362.useState(false);
23316
+ const [textValue, setTextValue] = React36.useState(textValueProp ?? "");
23317
+ const [isFocused, setIsFocused] = React36.useState(false);
23082
23318
  const composedRefs = useComposedRefs2(forwardedRef, (node) => contentContext.itemRefCallback?.(node, value, disabled));
23083
23319
  const textId = useId();
23084
23320
  const handleSelect = () => {
@@ -23096,7 +23332,7 @@ var SelectItem = React362.forwardRef((props, forwardedRef) => {
23096
23332
  disabled,
23097
23333
  textId,
23098
23334
  isSelected,
23099
- onItemTextChange: React362.useCallback((node) => {
23335
+ onItemTextChange: React36.useCallback((node) => {
23100
23336
  setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? "").trim());
23101
23337
  }, []),
23102
23338
  children: /* @__PURE__ */ jsx242(Collection.ItemSlot, {
@@ -23145,16 +23381,16 @@ var SelectItem = React362.forwardRef((props, forwardedRef) => {
23145
23381
  });
23146
23382
  SelectItem.displayName = ITEM_NAME;
23147
23383
  var ITEM_TEXT_NAME = "SelectItemText";
23148
- var SelectItemText = React362.forwardRef((props, forwardedRef) => {
23384
+ var SelectItemText = React36.forwardRef((props, forwardedRef) => {
23149
23385
  const { __scopeSelect, className, style, ...itemTextProps } = props;
23150
23386
  const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);
23151
23387
  const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);
23152
23388
  const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);
23153
23389
  const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);
23154
- const [itemTextNode, setItemTextNode] = React362.useState(null);
23390
+ const [itemTextNode, setItemTextNode] = React36.useState(null);
23155
23391
  const composedRefs = useComposedRefs2(forwardedRef, (node) => setItemTextNode(node), itemContext.onItemTextChange, (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled));
23156
23392
  const textContent = itemTextNode?.textContent;
23157
- const nativeOption = React362.useMemo(() => /* @__PURE__ */ jsx242("option", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value), [itemContext.disabled, itemContext.value, textContent]);
23393
+ const nativeOption = React36.useMemo(() => /* @__PURE__ */ jsx242("option", { value: itemContext.value, disabled: itemContext.disabled, children: textContent }, itemContext.value), [itemContext.disabled, itemContext.value, textContent]);
23158
23394
  const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;
23159
23395
  useLayoutEffect22(() => {
23160
23396
  onNativeOptionAdd(nativeOption);
@@ -23167,17 +23403,17 @@ var SelectItemText = React362.forwardRef((props, forwardedRef) => {
23167
23403
  });
23168
23404
  SelectItemText.displayName = ITEM_TEXT_NAME;
23169
23405
  var ITEM_INDICATOR_NAME = "SelectItemIndicator";
23170
- var SelectItemIndicator = React362.forwardRef((props, forwardedRef) => {
23406
+ var SelectItemIndicator = React36.forwardRef((props, forwardedRef) => {
23171
23407
  const { __scopeSelect, ...itemIndicatorProps } = props;
23172
23408
  const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);
23173
23409
  return itemContext.isSelected ? /* @__PURE__ */ jsx242(Primitive.span, { "aria-hidden": true, ...itemIndicatorProps, ref: forwardedRef }) : null;
23174
23410
  });
23175
23411
  SelectItemIndicator.displayName = ITEM_INDICATOR_NAME;
23176
23412
  var SCROLL_UP_BUTTON_NAME = "SelectScrollUpButton";
23177
- var SelectScrollUpButton = React362.forwardRef((props, forwardedRef) => {
23413
+ var SelectScrollUpButton = React36.forwardRef((props, forwardedRef) => {
23178
23414
  const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
23179
23415
  const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);
23180
- const [canScrollUp, setCanScrollUp] = React362.useState(false);
23416
+ const [canScrollUp, setCanScrollUp] = React36.useState(false);
23181
23417
  const composedRefs = useComposedRefs2(forwardedRef, viewportContext.onScrollButtonChange);
23182
23418
  useLayoutEffect22(() => {
23183
23419
  if (contentContext.viewport && contentContext.isPositioned) {
@@ -23205,10 +23441,10 @@ var SelectScrollUpButton = React362.forwardRef((props, forwardedRef) => {
23205
23441
  });
23206
23442
  SelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;
23207
23443
  var SCROLL_DOWN_BUTTON_NAME = "SelectScrollDownButton";
23208
- var SelectScrollDownButton = React362.forwardRef((props, forwardedRef) => {
23444
+ var SelectScrollDownButton = React36.forwardRef((props, forwardedRef) => {
23209
23445
  const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
23210
23446
  const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);
23211
- const [canScrollDown, setCanScrollDown] = React362.useState(false);
23447
+ const [canScrollDown, setCanScrollDown] = React36.useState(false);
23212
23448
  const composedRefs = useComposedRefs2(forwardedRef, viewportContext.onScrollButtonChange);
23213
23449
  useLayoutEffect22(() => {
23214
23450
  if (contentContext.viewport && contentContext.isPositioned) {
@@ -23236,18 +23472,18 @@ var SelectScrollDownButton = React362.forwardRef((props, forwardedRef) => {
23236
23472
  }) : null;
23237
23473
  });
23238
23474
  SelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;
23239
- var SelectScrollButtonImpl = React362.forwardRef((props, forwardedRef) => {
23475
+ var SelectScrollButtonImpl = React36.forwardRef((props, forwardedRef) => {
23240
23476
  const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;
23241
23477
  const contentContext = useSelectContentContext("SelectScrollButton", __scopeSelect);
23242
- const autoScrollTimerRef = React362.useRef(null);
23478
+ const autoScrollTimerRef = React36.useRef(null);
23243
23479
  const getItems = useCollection(__scopeSelect);
23244
- const clearAutoScrollTimer = React362.useCallback(() => {
23480
+ const clearAutoScrollTimer = React36.useCallback(() => {
23245
23481
  if (autoScrollTimerRef.current !== null) {
23246
23482
  window.clearInterval(autoScrollTimerRef.current);
23247
23483
  autoScrollTimerRef.current = null;
23248
23484
  }
23249
23485
  }, []);
23250
- React362.useEffect(() => {
23486
+ React36.useEffect(() => {
23251
23487
  return () => clearAutoScrollTimer();
23252
23488
  }, [clearAutoScrollTimer]);
23253
23489
  useLayoutEffect22(() => {
@@ -23276,13 +23512,13 @@ var SelectScrollButtonImpl = React362.forwardRef((props, forwardedRef) => {
23276
23512
  });
23277
23513
  });
23278
23514
  var SEPARATOR_NAME = "SelectSeparator";
23279
- var SelectSeparator = React362.forwardRef((props, forwardedRef) => {
23515
+ var SelectSeparator = React36.forwardRef((props, forwardedRef) => {
23280
23516
  const { __scopeSelect, ...separatorProps } = props;
23281
23517
  return /* @__PURE__ */ jsx242(Primitive.div, { "aria-hidden": true, ...separatorProps, ref: forwardedRef });
23282
23518
  });
23283
23519
  SelectSeparator.displayName = SEPARATOR_NAME;
23284
23520
  var ARROW_NAME2 = "SelectArrow";
23285
- var SelectArrow = React362.forwardRef((props, forwardedRef) => {
23521
+ var SelectArrow = React36.forwardRef((props, forwardedRef) => {
23286
23522
  const { __scopeSelect, ...arrowProps } = props;
23287
23523
  const popperScope = usePopperScope(__scopeSelect);
23288
23524
  const context = useSelectContext(ARROW_NAME2, __scopeSelect);
@@ -23293,12 +23529,12 @@ SelectArrow.displayName = ARROW_NAME2;
23293
23529
  function shouldShowPlaceholder(value) {
23294
23530
  return value === "" || value === undefined;
23295
23531
  }
23296
- var BubbleSelect = React362.forwardRef((props, forwardedRef) => {
23532
+ var BubbleSelect = React36.forwardRef((props, forwardedRef) => {
23297
23533
  const { value, ...selectProps } = props;
23298
- const ref = React362.useRef(null);
23534
+ const ref = React36.useRef(null);
23299
23535
  const composedRefs = useComposedRefs2(forwardedRef, ref);
23300
23536
  const prevValue = usePrevious(value);
23301
- React362.useEffect(() => {
23537
+ React36.useEffect(() => {
23302
23538
  const select = ref.current;
23303
23539
  const selectProto = window.HTMLSelectElement.prototype;
23304
23540
  const descriptor = Object.getOwnPropertyDescriptor(selectProto, "value");
@@ -23314,9 +23550,9 @@ var BubbleSelect = React362.forwardRef((props, forwardedRef) => {
23314
23550
  BubbleSelect.displayName = "BubbleSelect";
23315
23551
  function useTypeaheadSearch(onSearchChange) {
23316
23552
  const handleSearchChange = useCallbackRef(onSearchChange);
23317
- const searchRef = React362.useRef("");
23318
- const timerRef = React362.useRef(0);
23319
- const handleTypeaheadSearch = React362.useCallback((key) => {
23553
+ const searchRef = React36.useRef("");
23554
+ const timerRef = React36.useRef(0);
23555
+ const handleTypeaheadSearch = React36.useCallback((key) => {
23320
23556
  const search = searchRef.current + key;
23321
23557
  handleSearchChange(search);
23322
23558
  (function updateSearch(value) {
@@ -23326,11 +23562,11 @@ function useTypeaheadSearch(onSearchChange) {
23326
23562
  timerRef.current = window.setTimeout(() => updateSearch(""), 1000);
23327
23563
  })(search);
23328
23564
  }, [handleSearchChange]);
23329
- const resetTypeahead = React362.useCallback(() => {
23565
+ const resetTypeahead = React36.useCallback(() => {
23330
23566
  searchRef.current = "";
23331
23567
  window.clearTimeout(timerRef.current);
23332
23568
  }, []);
23333
- React362.useEffect(() => {
23569
+ React36.useEffect(() => {
23334
23570
  return () => window.clearTimeout(timerRef.current);
23335
23571
  }, []);
23336
23572
  return [searchRef, handleTypeaheadSearch, resetTypeahead];
@@ -23419,7 +23655,7 @@ var ChevronDown = createLucideIcon("ChevronDown", [
23419
23655
  var ChevronUp = createLucideIcon("ChevronUp", [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]]);
23420
23656
  var Select2 = Root222;
23421
23657
  var SelectValue2 = Value;
23422
- var SelectTrigger2 = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs52(Trigger, {
23658
+ var SelectTrigger2 = React372.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs52(Trigger, {
23423
23659
  ref,
23424
23660
  className: cn("flex h-10 w-full items-center justify-between rounded-md border-black border-2 border-b-4 bg-card-bg px-3 py-5 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 font-brand", className),
23425
23661
  ...props,
@@ -23434,7 +23670,7 @@ var SelectTrigger2 = React37.forwardRef(({ className, children, ...props }, ref)
23434
23670
  ]
23435
23671
  }));
23436
23672
  SelectTrigger2.displayName = Trigger.displayName;
23437
- var SelectScrollUpButton2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(ScrollUpButton, {
23673
+ var SelectScrollUpButton2 = React372.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(ScrollUpButton, {
23438
23674
  ref,
23439
23675
  className: cn("flex cursor-default items-center justify-center py-1", className),
23440
23676
  ...props,
@@ -23443,7 +23679,7 @@ var SelectScrollUpButton2 = React37.forwardRef(({ className, ...props }, ref) =>
23443
23679
  })
23444
23680
  }));
23445
23681
  SelectScrollUpButton2.displayName = ScrollUpButton.displayName;
23446
- var SelectScrollDownButton2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(ScrollDownButton, {
23682
+ var SelectScrollDownButton2 = React372.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(ScrollDownButton, {
23447
23683
  ref,
23448
23684
  className: cn("flex cursor-default items-center justify-center py-1", className),
23449
23685
  ...props,
@@ -23452,7 +23688,7 @@ var SelectScrollDownButton2 = React37.forwardRef(({ className, ...props }, ref)
23452
23688
  })
23453
23689
  }));
23454
23690
  SelectScrollDownButton2.displayName = ScrollDownButton.displayName;
23455
- var SelectContent2 = React37.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx252(Portal2, {
23691
+ var SelectContent2 = React372.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx252(Portal2, {
23456
23692
  children: /* @__PURE__ */ jsxs52(Content2, {
23457
23693
  ref,
23458
23694
  className: cn(" border-2 border-black relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md font-brand bg-card-bg text-text shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className),
@@ -23469,13 +23705,13 @@ var SelectContent2 = React37.forwardRef(({ className, children, position = "popp
23469
23705
  })
23470
23706
  }));
23471
23707
  SelectContent2.displayName = Content2.displayName;
23472
- var SelectLabel2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(Label, {
23708
+ var SelectLabel2 = React372.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(Label, {
23473
23709
  ref,
23474
23710
  className: cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className),
23475
23711
  ...props
23476
23712
  }));
23477
23713
  SelectLabel2.displayName = Label.displayName;
23478
- var SelectItem2 = React37.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs52(Item, {
23714
+ var SelectItem2 = React372.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs52(Item, {
23479
23715
  ref,
23480
23716
  className: cn("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-slate-200 dark:focus:bg-white/10 data-disabled:pointer-events-none data-disabled:opacity-50 font-brand", className),
23481
23717
  ...props,
@@ -23494,7 +23730,7 @@ var SelectItem2 = React37.forwardRef(({ className, children, ...props }, ref) =>
23494
23730
  ]
23495
23731
  }));
23496
23732
  SelectItem2.displayName = Item.displayName;
23497
- var SelectSeparator2 = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(Separator, {
23733
+ var SelectSeparator2 = React372.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx252(Separator, {
23498
23734
  ref,
23499
23735
  className: cn("-mx-1 my-1 h-px bg-muted", className),
23500
23736
  ...props
@@ -23527,19 +23763,19 @@ function composeEventHandlers2(originalEventHandler, ourEventHandler, { checkFor
23527
23763
  function createContextScope2(scopeName, createContextScopeDeps = []) {
23528
23764
  let defaultContexts = [];
23529
23765
  function createContext32(rootComponentName, defaultContext) {
23530
- const BaseContext = React382.createContext(defaultContext);
23766
+ const BaseContext = React38.createContext(defaultContext);
23531
23767
  const index2 = defaultContexts.length;
23532
23768
  defaultContexts = [...defaultContexts, defaultContext];
23533
23769
  const Provider = (props) => {
23534
23770
  const { scope, children, ...context } = props;
23535
23771
  const Context = scope?.[scopeName]?.[index2] || BaseContext;
23536
- const value = React382.useMemo(() => context, Object.values(context));
23772
+ const value = React38.useMemo(() => context, Object.values(context));
23537
23773
  return /* @__PURE__ */ jsx272(Context.Provider, { value, children });
23538
23774
  };
23539
23775
  Provider.displayName = rootComponentName + "Provider";
23540
23776
  function useContext222(consumerName, scope) {
23541
23777
  const Context = scope?.[scopeName]?.[index2] || BaseContext;
23542
- const context = React382.useContext(Context);
23778
+ const context = React38.useContext(Context);
23543
23779
  if (context)
23544
23780
  return context;
23545
23781
  if (defaultContext !== undefined)
@@ -23550,11 +23786,11 @@ function createContextScope2(scopeName, createContextScopeDeps = []) {
23550
23786
  }
23551
23787
  const createScope = () => {
23552
23788
  const scopeContexts = defaultContexts.map((defaultContext) => {
23553
- return React382.createContext(defaultContext);
23789
+ return React38.createContext(defaultContext);
23554
23790
  });
23555
23791
  return function useScope(scope) {
23556
23792
  const contexts = scope?.[scopeName] || scopeContexts;
23557
- return React382.useMemo(() => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }), [scope, contexts]);
23793
+ return React38.useMemo(() => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }), [scope, contexts]);
23558
23794
  };
23559
23795
  };
23560
23796
  createScope.scopeName = scopeName;
@@ -23575,7 +23811,7 @@ function composeContextScopes2(...scopes) {
23575
23811
  const currentScope = scopeProps[`__scope${scopeName}`];
23576
23812
  return { ...nextScopes2, ...currentScope };
23577
23813
  }, {});
23578
- return React382.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
23814
+ return React38.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
23579
23815
  };
23580
23816
  };
23581
23817
  createScope.scopeName = baseScope.scopeName;
@@ -23668,14 +23904,14 @@ function createCollection2(name) {
23668
23904
  const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(PROVIDER_NAME, { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map });
23669
23905
  const CollectionProvider = (props) => {
23670
23906
  const { scope, children } = props;
23671
- const ref = React40.useRef(null);
23672
- const itemMap = React40.useRef(/* @__PURE__ */ new Map).current;
23907
+ const ref = React402.useRef(null);
23908
+ const itemMap = React402.useRef(/* @__PURE__ */ new Map).current;
23673
23909
  return /* @__PURE__ */ jsx292(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
23674
23910
  };
23675
23911
  CollectionProvider.displayName = PROVIDER_NAME;
23676
23912
  const COLLECTION_SLOT_NAME = name + "CollectionSlot";
23677
23913
  const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);
23678
- const CollectionSlot = React40.forwardRef((props, forwardedRef) => {
23914
+ const CollectionSlot = React402.forwardRef((props, forwardedRef) => {
23679
23915
  const { scope, children } = props;
23680
23916
  const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
23681
23917
  const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);
@@ -23685,12 +23921,12 @@ function createCollection2(name) {
23685
23921
  const ITEM_SLOT_NAME = name + "CollectionItemSlot";
23686
23922
  const ITEM_DATA_ATTR = "data-radix-collection-item";
23687
23923
  const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);
23688
- const CollectionItemSlot = React40.forwardRef((props, forwardedRef) => {
23924
+ const CollectionItemSlot = React402.forwardRef((props, forwardedRef) => {
23689
23925
  const { scope, children, ...itemData } = props;
23690
- const ref = React40.useRef(null);
23926
+ const ref = React402.useRef(null);
23691
23927
  const composedRefs = useComposedRefs(forwardedRef, ref);
23692
23928
  const context = useCollectionContext(ITEM_SLOT_NAME, scope);
23693
- React40.useEffect(() => {
23929
+ React402.useEffect(() => {
23694
23930
  context.itemMap.set(ref, { ref, ...itemData });
23695
23931
  return () => void context.itemMap.delete(ref);
23696
23932
  });
@@ -23699,7 +23935,7 @@ function createCollection2(name) {
23699
23935
  CollectionItemSlot.displayName = ITEM_SLOT_NAME;
23700
23936
  function useCollection2(scope) {
23701
23937
  const context = useCollectionContext(name + "CollectionConsumer", scope);
23702
- const getItems = React40.useCallback(() => {
23938
+ const getItems = React402.useCallback(() => {
23703
23939
  const collectionNode = context.collectionRef.current;
23704
23940
  if (!collectionNode)
23705
23941
  return [];
@@ -24017,13 +24253,13 @@ function toSafeIndex(array, index2) {
24017
24253
  function toSafeInteger(number) {
24018
24254
  return number !== number || number === 0 ? 0 : Math.trunc(number);
24019
24255
  }
24020
- var useLayoutEffect222 = globalThis?.document ? React412.useLayoutEffect : () => {};
24021
- var useReactId2 = React42[" useId ".trim().toString()] || (() => {
24256
+ var useLayoutEffect222 = globalThis?.document ? React41.useLayoutEffect : () => {};
24257
+ var useReactId2 = React422[" useId ".trim().toString()] || (() => {
24022
24258
  return;
24023
24259
  });
24024
24260
  var count3 = 0;
24025
24261
  function useId2(deterministicId) {
24026
- const [id, setId] = React42.useState(useReactId2());
24262
+ const [id, setId] = React422.useState(useReactId2());
24027
24263
  useLayoutEffect222(() => {
24028
24264
  if (!deterministicId)
24029
24265
  setId((reactId) => reactId ?? String(count3++));
@@ -24634,15 +24870,15 @@ var Triangle22 = (props) => {
24634
24870
  };
24635
24871
 
24636
24872
  // src/components/team/TrustSection.tsx
24637
- import { jsx as jsx45, jsxs as jsxs6 } from "react/jsx-runtime";
24873
+ import { jsx as jsx46, jsxs as jsxs6 } from "react/jsx-runtime";
24638
24874
  var SwissIcon = () => {
24639
- return /* @__PURE__ */ jsx45("svg", {
24875
+ return /* @__PURE__ */ jsx46("svg", {
24640
24876
  viewBox: "0 0 512 512",
24641
24877
  style: {
24642
24878
  height: 36,
24643
24879
  overflow: "visible"
24644
24880
  },
24645
- children: /* @__PURE__ */ jsx45("path", {
24881
+ children: /* @__PURE__ */ jsx46("path", {
24646
24882
  fill: "#DA291C",
24647
24883
  className: "stroke-black dark:stroke-white",
24648
24884
  strokeWidth: 36,
@@ -24651,13 +24887,13 @@ var SwissIcon = () => {
24651
24887
  });
24652
24888
  };
24653
24889
  var ProfitableIcon = () => {
24654
- return /* @__PURE__ */ jsx45("svg", {
24890
+ return /* @__PURE__ */ jsx46("svg", {
24655
24891
  viewBox: "0 0 512 512",
24656
24892
  style: {
24657
24893
  height: 36,
24658
24894
  overflow: "visible"
24659
24895
  },
24660
- children: /* @__PURE__ */ jsx45("path", {
24896
+ children: /* @__PURE__ */ jsx46("path", {
24661
24897
  className: "fill-brand stroke-black dark:stroke-white",
24662
24898
  strokeWidth: 36,
24663
24899
  d: "M470.7 9.4c3 3.1 5.3 6.6 6.9 10.3s2.4 7.8 2.4 12.2l0 .1 0 72c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-29.7L330.5 175.8c-6.2 6.3-14.3 9.9-22.8 10.2s-17-2.8-23.5-8.7l-70.2-63.4L73.4 263.4c-9.2 9.6-24.3 9.9-33.9 .7s-9.9-24.3-.7-33.9l160-168c6.2-6.5 14.4-10.1 23-10.3s17 3 23.4 8.9l70.4 63.6L404.7 33.9 375.9 34c-13.3 0-24-10.7-24-24s10.7-24 24-24L448 6c0 0 0 0 0 0c8.3 0 16.4 3.4 22.7 9.4zM40 288c-13.3 0-24 10.7-24 24l0 160c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-160c0-13.3-10.7-24-24-24l-48 0zm120 24l0 160c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-160c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zm144-72l0 232c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-232c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24zm144-48l0 280c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24l0-280c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24z"
@@ -24665,13 +24901,13 @@ var ProfitableIcon = () => {
24665
24901
  });
24666
24902
  };
24667
24903
  var KeyIcon = () => {
24668
- return /* @__PURE__ */ jsx45("svg", {
24904
+ return /* @__PURE__ */ jsx46("svg", {
24669
24905
  viewBox: "0 0 512 512",
24670
24906
  style: {
24671
24907
  height: 36,
24672
24908
  overflow: "visible"
24673
24909
  },
24674
- children: /* @__PURE__ */ jsx45("path", {
24910
+ children: /* @__PURE__ */ jsx46("path", {
24675
24911
  className: "fill-brand stroke-black dark:stroke-white",
24676
24912
  strokeWidth: 36,
24677
24913
  d: "M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17l0 80c0 13.3 10.7 24 24 24l80 0c13.3 0 24-10.7 24-24l0-40 40 0c13.3 0 24-10.7 24-24l0-40 40 0c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3zm40-176a40 40 0 1 1 0-80 40 40 0 1 1 0 80z"
@@ -24679,13 +24915,13 @@ var KeyIcon = () => {
24679
24915
  });
24680
24916
  };
24681
24917
  var ShieldIcon = () => {
24682
- return /* @__PURE__ */ jsx45("svg", {
24918
+ return /* @__PURE__ */ jsx46("svg", {
24683
24919
  viewBox: "0 0 512 512",
24684
24920
  style: {
24685
24921
  height: 36,
24686
24922
  overflow: "visible"
24687
24923
  },
24688
- children: /* @__PURE__ */ jsx45("path", {
24924
+ children: /* @__PURE__ */ jsx46("path", {
24689
24925
  className: "fill-brand stroke-black dark:stroke-white",
24690
24926
  strokeWidth: 36,
24691
24927
  d: "M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8l0 378.1C394 378 431.1 230.1 432 141.4L256 66.8z"
@@ -24693,13 +24929,13 @@ var ShieldIcon = () => {
24693
24929
  });
24694
24930
  };
24695
24931
  var ClockIcon = () => {
24696
- return /* @__PURE__ */ jsx45("svg", {
24932
+ return /* @__PURE__ */ jsx46("svg", {
24697
24933
  viewBox: "0 0 512 512",
24698
24934
  style: {
24699
24935
  height: 36,
24700
24936
  overflow: "visible"
24701
24937
  },
24702
- children: /* @__PURE__ */ jsx45("path", {
24938
+ children: /* @__PURE__ */ jsx46("path", {
24703
24939
  className: "fill-brand stroke-black dark:stroke-white",
24704
24940
  strokeWidth: 36,
24705
24941
  d: "M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"
@@ -24707,13 +24943,13 @@ var ClockIcon = () => {
24707
24943
  });
24708
24944
  };
24709
24945
  var UsersIcon = () => {
24710
- return /* @__PURE__ */ jsx45("svg", {
24946
+ return /* @__PURE__ */ jsx46("svg", {
24711
24947
  viewBox: "0 0 640 512",
24712
24948
  style: {
24713
24949
  height: 36,
24714
24950
  overflow: "visible"
24715
24951
  },
24716
- children: /* @__PURE__ */ jsx45("path", {
24952
+ children: /* @__PURE__ */ jsx46("path", {
24717
24953
  className: "fill-brand stroke-black dark:stroke-white",
24718
24954
  strokeWidth: 36,
24719
24955
  d: "M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192l42.7 0c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96l-176.7 0C26.8 320 0 293.2 0 260.7l0 0 0 38zm640 0l0-38 0 0C640 293.2 613.2 320 580.7 320l-176.7 0c26.5-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7l42.7 0C592.2 192 640 239.8 640 298.7zM208 224a112 112 0 1 1 224 0 112 112 0 1 1-224 0zm-16 160l256 0 0 0c53 0 96 43 96 96l0 0c0 17.7-14.3 32-32 32L128 512c-17.7 0-32-14.3-32-32l0 0c0-53 43-96 96-96l0 0z"
@@ -24721,13 +24957,13 @@ var UsersIcon = () => {
24721
24957
  });
24722
24958
  };
24723
24959
  var CodeIcon = () => {
24724
- return /* @__PURE__ */ jsx45("svg", {
24960
+ return /* @__PURE__ */ jsx46("svg", {
24725
24961
  viewBox: "0 0 640 512",
24726
24962
  style: {
24727
24963
  height: 36,
24728
24964
  overflow: "visible"
24729
24965
  },
24730
- children: /* @__PURE__ */ jsx45("path", {
24966
+ children: /* @__PURE__ */ jsx46("path", {
24731
24967
  className: "fill-brand stroke-black dark:stroke-white",
24732
24968
  strokeWidth: 36,
24733
24969
  d: "M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"
@@ -24735,13 +24971,13 @@ var CodeIcon = () => {
24735
24971
  });
24736
24972
  };
24737
24973
  var VideoIcon = () => {
24738
- return /* @__PURE__ */ jsx45("svg", {
24974
+ return /* @__PURE__ */ jsx46("svg", {
24739
24975
  viewBox: "0 0 576 512",
24740
24976
  style: {
24741
24977
  height: 36,
24742
24978
  overflow: "visible"
24743
24979
  },
24744
- children: /* @__PURE__ */ jsx45("path", {
24980
+ children: /* @__PURE__ */ jsx46("path", {
24745
24981
  className: "fill-brand stroke-black dark:stroke-white",
24746
24982
  strokeWidth: 36,
24747
24983
  d: "M0 128C0 92.7 28.7 64 64 64l256 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128zM559.1 99.8c10.4 5.6 16.9 16.4 16.9 28.2l0 256c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64L416 336l0-16 0-128 0-16 14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z"
@@ -24749,13 +24985,13 @@ var VideoIcon = () => {
24749
24985
  });
24750
24986
  };
24751
24987
  var StarIcon = () => {
24752
- return /* @__PURE__ */ jsx45("svg", {
24988
+ return /* @__PURE__ */ jsx46("svg", {
24753
24989
  viewBox: "0 0 576 512",
24754
24990
  style: {
24755
24991
  height: 36,
24756
24992
  overflow: "visible"
24757
24993
  },
24758
- children: /* @__PURE__ */ jsx45("path", {
24994
+ children: /* @__PURE__ */ jsx46("path", {
24759
24995
  className: "fill-brand stroke-black dark:stroke-white",
24760
24996
  strokeWidth: 36,
24761
24997
  d: "M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.6 329l104.2-103.1c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z"
@@ -24772,11 +25008,11 @@ var TrustSection = () => {
24772
25008
  /* @__PURE__ */ jsxs6(Card, {
24773
25009
  className: "lg:w-[300px] text-left px-4 py-6 flex-1",
24774
25010
  children: [
24775
- /* @__PURE__ */ jsx45(SwissIcon, {}),
24776
- /* @__PURE__ */ jsx45("div", {
25011
+ /* @__PURE__ */ jsx46(SwissIcon, {}),
25012
+ /* @__PURE__ */ jsx46("div", {
24777
25013
  className: "h-4"
24778
25014
  }),
24779
- /* @__PURE__ */ jsx45("div", {
25015
+ /* @__PURE__ */ jsx46("div", {
24780
25016
  className: "font-brand font-bold text-2xl mb-2",
24781
25017
  children: "Swiss quality"
24782
25018
  }),
@@ -24793,11 +25029,11 @@ var TrustSection = () => {
24793
25029
  /* @__PURE__ */ jsxs6(Card, {
24794
25030
  className: "lg:w-[300px] text-left px-4 py-6 flex-1",
24795
25031
  children: [
24796
- /* @__PURE__ */ jsx45(ProfitableIcon, {}),
24797
- /* @__PURE__ */ jsx45("div", {
25032
+ /* @__PURE__ */ jsx46(ProfitableIcon, {}),
25033
+ /* @__PURE__ */ jsx46("div", {
24798
25034
  className: "h-4"
24799
25035
  }),
24800
- /* @__PURE__ */ jsx45("div", {
25036
+ /* @__PURE__ */ jsx46("div", {
24801
25037
  className: "font-brand font-bold text-2xl mb-2",
24802
25038
  children: "Sustainable business"
24803
25039
  }),
@@ -24806,7 +25042,7 @@ var TrustSection = () => {
24806
25042
  children: [
24807
25043
  "Remotion is profitable. Aside from our",
24808
25044
  " ",
24809
- /* @__PURE__ */ jsx45("a", {
25045
+ /* @__PURE__ */ jsx46("a", {
24810
25046
  href: "/docs/investors",
24811
25047
  className: "text-brand hover:underline underline-offset-4",
24812
25048
  children: "early investors"
@@ -24821,15 +25057,15 @@ var TrustSection = () => {
24821
25057
  /* @__PURE__ */ jsxs6(Card, {
24822
25058
  className: "lg:w-[300px] text-left px-4 py-6 flex-1",
24823
25059
  children: [
24824
- /* @__PURE__ */ jsx45(KeyIcon, {}),
24825
- /* @__PURE__ */ jsx45("div", {
25060
+ /* @__PURE__ */ jsx46(KeyIcon, {}),
25061
+ /* @__PURE__ */ jsx46("div", {
24826
25062
  className: "h-4"
24827
25063
  }),
24828
- /* @__PURE__ */ jsx45("div", {
25064
+ /* @__PURE__ */ jsx46("div", {
24829
25065
  className: "font-brand font-bold text-2xl mb-2",
24830
25066
  children: "Founder-owned"
24831
25067
  }),
24832
- /* @__PURE__ */ jsx45("div", {
25068
+ /* @__PURE__ */ jsx46("div", {
24833
25069
  className: "font-brand",
24834
25070
  children: "Us founders own the company. And we just want one thing: Make programmatic video glorious."
24835
25071
  })
@@ -24837,7 +25073,7 @@ var TrustSection = () => {
24837
25073
  })
24838
25074
  ]
24839
25075
  }),
24840
- /* @__PURE__ */ jsx45("div", {
25076
+ /* @__PURE__ */ jsx46("div", {
24841
25077
  className: "h-4"
24842
25078
  }),
24843
25079
  /* @__PURE__ */ jsxs6("div", {
@@ -24846,15 +25082,15 @@ var TrustSection = () => {
24846
25082
  /* @__PURE__ */ jsxs6(Card, {
24847
25083
  className: "lg:w-[300px] text-left px-4 py-6 flex-1",
24848
25084
  children: [
24849
- /* @__PURE__ */ jsx45(ClockIcon, {}),
24850
- /* @__PURE__ */ jsx45("div", {
25085
+ /* @__PURE__ */ jsx46(ClockIcon, {}),
25086
+ /* @__PURE__ */ jsx46("div", {
24851
25087
  className: "h-4"
24852
25088
  }),
24853
- /* @__PURE__ */ jsx45("div", {
25089
+ /* @__PURE__ */ jsx46("div", {
24854
25090
  className: "font-brand font-bold text-2xl mb-2",
24855
25091
  children: "5 years and counting"
24856
25092
  }),
24857
- /* @__PURE__ */ jsx45("div", {
25093
+ /* @__PURE__ */ jsx46("div", {
24858
25094
  className: "font-brand",
24859
25095
  children: "Making Remotion since 2021. No plans to change our business model or sell the company."
24860
25096
  })
@@ -24863,11 +25099,11 @@ var TrustSection = () => {
24863
25099
  /* @__PURE__ */ jsxs6(Card, {
24864
25100
  className: "lg:w-[300px] text-left px-4 py-6 flex-1",
24865
25101
  children: [
24866
- /* @__PURE__ */ jsx45(ShieldIcon, {}),
24867
- /* @__PURE__ */ jsx45("div", {
25102
+ /* @__PURE__ */ jsx46(ShieldIcon, {}),
25103
+ /* @__PURE__ */ jsx46("div", {
24868
25104
  className: "h-4"
24869
25105
  }),
24870
- /* @__PURE__ */ jsx45("div", {
25106
+ /* @__PURE__ */ jsx46("div", {
24871
25107
  className: "font-brand font-bold text-2xl mb-2",
24872
25108
  children: "Succession plan"
24873
25109
  }),
@@ -24876,7 +25112,7 @@ var TrustSection = () => {
24876
25112
  children: [
24877
25113
  "If something happens to us, the project will fall under",
24878
25114
  " ",
24879
- /* @__PURE__ */ jsx45("a", {
25115
+ /* @__PURE__ */ jsx46("a", {
24880
25116
  href: "https://github.com/wcandillon",
24881
25117
  target: "_blank",
24882
25118
  className: "text-brand hover:underline underline-offset-4",
@@ -24891,15 +25127,15 @@ var TrustSection = () => {
24891
25127
  /* @__PURE__ */ jsxs6(Card, {
24892
25128
  className: "lg:w-[300px] text-left px-4 py-6 flex-1",
24893
25129
  children: [
24894
- /* @__PURE__ */ jsx45(UsersIcon, {}),
24895
- /* @__PURE__ */ jsx45("div", {
25130
+ /* @__PURE__ */ jsx46(UsersIcon, {}),
25131
+ /* @__PURE__ */ jsx46("div", {
24896
25132
  className: "h-4"
24897
25133
  }),
24898
- /* @__PURE__ */ jsx45("div", {
25134
+ /* @__PURE__ */ jsx46("div", {
24899
25135
  className: "font-brand font-bold text-2xl mb-2",
24900
25136
  children: "200+ customers"
24901
25137
  }),
24902
- /* @__PURE__ */ jsx45("div", {
25138
+ /* @__PURE__ */ jsx46("div", {
24903
25139
  className: "font-brand",
24904
25140
  children: "More than 200 companies trust Remotion, from small businesses to FAANG."
24905
25141
  })
@@ -24907,7 +25143,7 @@ var TrustSection = () => {
24907
25143
  })
24908
25144
  ]
24909
25145
  }),
24910
- /* @__PURE__ */ jsx45("div", {
25146
+ /* @__PURE__ */ jsx46("div", {
24911
25147
  className: "h-4"
24912
25148
  }),
24913
25149
  /* @__PURE__ */ jsxs6("div", {
@@ -24916,15 +25152,15 @@ var TrustSection = () => {
24916
25152
  /* @__PURE__ */ jsxs6(Card, {
24917
25153
  className: "lg:w-[300px] text-left px-4 py-6 flex-1",
24918
25154
  children: [
24919
- /* @__PURE__ */ jsx45(CodeIcon, {}),
24920
- /* @__PURE__ */ jsx45("div", {
25155
+ /* @__PURE__ */ jsx46(CodeIcon, {}),
25156
+ /* @__PURE__ */ jsx46("div", {
24921
25157
  className: "h-4"
24922
25158
  }),
24923
- /* @__PURE__ */ jsx45("div", {
25159
+ /* @__PURE__ */ jsx46("div", {
24924
25160
  className: "font-brand font-bold text-2xl mb-2",
24925
25161
  children: "Source-available"
24926
25162
  }),
24927
- /* @__PURE__ */ jsx45("div", {
25163
+ /* @__PURE__ */ jsx46("div", {
24928
25164
  className: "font-brand",
24929
25165
  children: "Our code is publicly available on GitHub. You can inspect, fork, and self-host it. Full transparency, no black boxes."
24930
25166
  })
@@ -24933,15 +25169,15 @@ var TrustSection = () => {
24933
25169
  /* @__PURE__ */ jsxs6(Card, {
24934
25170
  className: "lg:w-[300px] text-left px-4 py-6 flex-1",
24935
25171
  children: [
24936
- /* @__PURE__ */ jsx45(VideoIcon, {}),
24937
- /* @__PURE__ */ jsx45("div", {
25172
+ /* @__PURE__ */ jsx46(VideoIcon, {}),
25173
+ /* @__PURE__ */ jsx46("div", {
24938
25174
  className: "h-4"
24939
25175
  }),
24940
- /* @__PURE__ */ jsx45("div", {
25176
+ /* @__PURE__ */ jsx46("div", {
24941
25177
  className: "font-brand font-bold text-2xl mb-2",
24942
25178
  children: "1M+ videos/month"
24943
25179
  }),
24944
- /* @__PURE__ */ jsx45("div", {
25180
+ /* @__PURE__ */ jsx46("div", {
24945
25181
  className: "font-brand",
24946
25182
  children: "More than one million videos are rendered with Remotion every month. Battle-tested at scale."
24947
25183
  })
@@ -24950,15 +25186,15 @@ var TrustSection = () => {
24950
25186
  /* @__PURE__ */ jsxs6(Card, {
24951
25187
  className: "lg:w-[300px] text-left px-4 py-6 flex-1",
24952
25188
  children: [
24953
- /* @__PURE__ */ jsx45(StarIcon, {}),
24954
- /* @__PURE__ */ jsx45("div", {
25189
+ /* @__PURE__ */ jsx46(StarIcon, {}),
25190
+ /* @__PURE__ */ jsx46("div", {
24955
25191
  className: "h-4"
24956
25192
  }),
24957
- /* @__PURE__ */ jsx45("div", {
25193
+ /* @__PURE__ */ jsx46("div", {
24958
25194
  className: "font-brand font-bold text-2xl mb-2",
24959
25195
  children: "40,000+ GitHub stars"
24960
25196
  }),
24961
- /* @__PURE__ */ jsx45("div", {
25197
+ /* @__PURE__ */ jsx46("div", {
24962
25198
  className: "font-brand",
24963
25199
  children: "One of the most popular media projects on GitHub. Trusted by the developer community."
24964
25200
  })