@zekidev/schemas 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.cjs +669 -589
  2. package/dist/index.js +644 -564
  3. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -564,7 +564,7 @@ var require_react_development = __commonJS({
564
564
  pureComponentPrototype.constructor = PureComponent;
565
565
  assign(pureComponentPrototype, Component.prototype);
566
566
  pureComponentPrototype.isPureReactComponent = true;
567
- function createRef2() {
567
+ function createRef() {
568
568
  var refObject = {
569
569
  current: null
570
570
  };
@@ -788,7 +788,7 @@ var require_react_development = __commonJS({
788
788
  }
789
789
  return element;
790
790
  };
791
- function createElement2(type, config, children) {
791
+ function createElement(type, config, children) {
792
792
  var propName;
793
793
  var props = {};
794
794
  var key = null;
@@ -1310,7 +1310,7 @@ var require_react_development = __commonJS({
1310
1310
  }
1311
1311
  return false;
1312
1312
  }
1313
- function memo2(type, compare) {
1313
+ function memo(type, compare) {
1314
1314
  {
1315
1315
  if (!isValidElementType(type)) {
1316
1316
  error("memo: The first argument must be a component. Instead received: %s", type === null ? "null" : typeof type);
@@ -1386,7 +1386,7 @@ var require_react_development = __commonJS({
1386
1386
  var dispatcher = resolveDispatcher();
1387
1387
  return dispatcher.useLayoutEffect(create, deps);
1388
1388
  }
1389
- function useCallback2(callback, deps) {
1389
+ function useCallback3(callback, deps) {
1390
1390
  var dispatcher = resolveDispatcher();
1391
1391
  return dispatcher.useCallback(callback, deps);
1392
1392
  }
@@ -1887,7 +1887,7 @@ var require_react_development = __commonJS({
1887
1887
  error("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", typeString, info);
1888
1888
  }
1889
1889
  }
1890
- var element = createElement2.apply(this, arguments);
1890
+ var element = createElement.apply(this, arguments);
1891
1891
  if (element == null) {
1892
1892
  return element;
1893
1893
  }
@@ -2146,14 +2146,14 @@ var require_react_development = __commonJS({
2146
2146
  exports2.createContext = createContext2;
2147
2147
  exports2.createElement = createElement$1;
2148
2148
  exports2.createFactory = createFactory;
2149
- exports2.createRef = createRef2;
2149
+ exports2.createRef = createRef;
2150
2150
  exports2.forwardRef = forwardRef2;
2151
2151
  exports2.isValidElement = isValidElement;
2152
2152
  exports2.lazy = lazy;
2153
- exports2.memo = memo2;
2153
+ exports2.memo = memo;
2154
2154
  exports2.startTransition = startTransition;
2155
2155
  exports2.unstable_act = act;
2156
- exports2.useCallback = useCallback2;
2156
+ exports2.useCallback = useCallback3;
2157
2157
  exports2.useContext = useContext2;
2158
2158
  exports2.useDebugValue = useDebugValue2;
2159
2159
  exports2.useDeferredValue = useDeferredValue;
@@ -9519,9 +9519,9 @@ var require_react_dom_development = __commonJS({
9519
9519
  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== "undefined" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === "function") {
9520
9520
  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
9521
9521
  }
9522
- var React6 = require_react();
9522
+ var React7 = require_react();
9523
9523
  var Scheduler = require_scheduler();
9524
- var ReactSharedInternals = React6.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
9524
+ var ReactSharedInternals = React7.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
9525
9525
  var suppressWarning = false;
9526
9526
  function setSuppressWarning(newSuppressWarning) {
9527
9527
  {
@@ -10891,7 +10891,7 @@ var require_react_dom_development = __commonJS({
10891
10891
  if (node.hasOwnProperty(valueField) || typeof descriptor === "undefined" || typeof descriptor.get !== "function" || typeof descriptor.set !== "function") {
10892
10892
  return;
10893
10893
  }
10894
- var get3 = descriptor.get, set3 = descriptor.set;
10894
+ var get3 = descriptor.get, set4 = descriptor.set;
10895
10895
  Object.defineProperty(node, valueField, {
10896
10896
  configurable: true,
10897
10897
  get: function() {
@@ -10902,7 +10902,7 @@ var require_react_dom_development = __commonJS({
10902
10902
  checkFormFieldValueStringCoercion(value);
10903
10903
  }
10904
10904
  currentValue = "" + value;
10905
- set3.call(this, value);
10905
+ set4.call(this, value);
10906
10906
  }
10907
10907
  });
10908
10908
  Object.defineProperty(node, valueField, {
@@ -11128,7 +11128,7 @@ var require_react_dom_development = __commonJS({
11128
11128
  {
11129
11129
  if (props.value == null) {
11130
11130
  if (typeof props.children === "object" && props.children !== null) {
11131
- React6.Children.forEach(props.children, function(child) {
11131
+ React7.Children.forEach(props.children, function(child) {
11132
11132
  if (child == null) {
11133
11133
  return;
11134
11134
  }
@@ -12817,7 +12817,7 @@ var require_react_dom_development = __commonJS({
12817
12817
  function has(key) {
12818
12818
  return key._reactInternals !== void 0;
12819
12819
  }
12820
- function set2(key, value) {
12820
+ function set3(key, value) {
12821
12821
  key._reactInternals = value;
12822
12822
  }
12823
12823
  var NoFlags = (
@@ -13950,14 +13950,14 @@ var require_react_dom_development = __commonJS({
13950
13950
  function includesSomeLane(a, b) {
13951
13951
  return (a & b) !== NoLanes;
13952
13952
  }
13953
- function isSubsetOfLanes(set3, subset) {
13954
- return (set3 & subset) === subset;
13953
+ function isSubsetOfLanes(set4, subset) {
13954
+ return (set4 & subset) === subset;
13955
13955
  }
13956
13956
  function mergeLanes(a, b) {
13957
13957
  return a | b;
13958
13958
  }
13959
- function removeLanes(set3, subset) {
13960
- return set3 & ~subset;
13959
+ function removeLanes(set4, subset) {
13960
+ return set4 & ~subset;
13961
13961
  }
13962
13962
  function intersectLanes(a, b) {
13963
13963
  return a & b;
@@ -16552,7 +16552,7 @@ var require_react_dom_development = __commonJS({
16552
16552
  }
16553
16553
  }
16554
16554
  }
16555
- function createElement2(type, props, rootContainerElement, parentNamespace) {
16555
+ function createElement(type, props, rootContainerElement, parentNamespace) {
16556
16556
  var isCustomComponentTag;
16557
16557
  var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerElement);
16558
16558
  var domElement;
@@ -17422,7 +17422,7 @@ var require_react_dom_development = __commonJS({
17422
17422
  }
17423
17423
  parentNamespace = hostContextDev.namespace;
17424
17424
  }
17425
- var domElement = createElement2(type, props, rootContainerInstance, parentNamespace);
17425
+ var domElement = createElement(type, props, rootContainerInstance, parentNamespace);
17426
17426
  precacheFiberNode(internalInstanceHandle, domElement);
17427
17427
  updateFiberProps(domElement, props);
17428
17428
  return domElement;
@@ -18759,9 +18759,9 @@ var require_react_dom_development = __commonJS({
18759
18759
  }
18760
18760
  return maybeStrictRoot;
18761
18761
  };
18762
- var setToSortedString = function(set3) {
18762
+ var setToSortedString = function(set4) {
18763
18763
  var array = [];
18764
- set3.forEach(function(value) {
18764
+ set4.forEach(function(value) {
18765
18765
  array.push(value);
18766
18766
  });
18767
18767
  return array.sort().join(", ");
@@ -20510,11 +20510,11 @@ var require_react_dom_development = __commonJS({
20510
20510
  }
20511
20511
  function registerMutableSourceForHydration(root2, mutableSource) {
20512
20512
  var getVersion = mutableSource._getVersion;
20513
- var version2 = getVersion(mutableSource._source);
20513
+ var version = getVersion(mutableSource._source);
20514
20514
  if (root2.mutableSourceEagerHydrationData == null) {
20515
- root2.mutableSourceEagerHydrationData = [mutableSource, version2];
20515
+ root2.mutableSourceEagerHydrationData = [mutableSource, version];
20516
20516
  } else {
20517
- root2.mutableSourceEagerHydrationData.push(mutableSource, version2);
20517
+ root2.mutableSourceEagerHydrationData.push(mutableSource, version);
20518
20518
  }
20519
20519
  }
20520
20520
  var ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher, ReactCurrentBatchConfig$2 = ReactSharedInternals.ReactCurrentBatchConfig;
@@ -22724,7 +22724,7 @@ var require_react_dom_development = __commonJS({
22724
22724
  function adoptClassInstance(workInProgress2, instance) {
22725
22725
  instance.updater = classComponentUpdater;
22726
22726
  workInProgress2.stateNode = instance;
22727
- set2(instance, workInProgress2);
22727
+ set3(instance, workInProgress2);
22728
22728
  {
22729
22729
  instance._reactInternalInstance = fakeInternalInstance;
22730
22730
  }
@@ -30778,7 +30778,7 @@ var ctaButton = (0, import_sanity.defineType)({
30778
30778
  });
30779
30779
 
30780
30780
  // ../../apps/studio/schemas/sections/hero.ts
30781
- var import_sanity3 = require("sanity");
30781
+ var import_sanity4 = require("sanity");
30782
30782
 
30783
30783
  // ../../apps/studio/components/tiptap-editor.tsx
30784
30784
  var import_react2 = __toESM(require_react());
@@ -31295,21 +31295,21 @@ var Mark = class _Mark {
31295
31295
  [exclusive](https://prosemirror.net/docs/ref/#model.MarkSpec.excludes) with this mark are present,
31296
31296
  those are replaced by this one.
31297
31297
  */
31298
- addToSet(set2) {
31298
+ addToSet(set3) {
31299
31299
  let copy2, placed = false;
31300
- for (let i = 0; i < set2.length; i++) {
31301
- let other = set2[i];
31300
+ for (let i = 0; i < set3.length; i++) {
31301
+ let other = set3[i];
31302
31302
  if (this.eq(other))
31303
- return set2;
31303
+ return set3;
31304
31304
  if (this.type.excludes(other.type)) {
31305
31305
  if (!copy2)
31306
- copy2 = set2.slice(0, i);
31306
+ copy2 = set3.slice(0, i);
31307
31307
  } else if (other.type.excludes(this.type)) {
31308
- return set2;
31308
+ return set3;
31309
31309
  } else {
31310
31310
  if (!placed && other.type.rank > this.type.rank) {
31311
31311
  if (!copy2)
31312
- copy2 = set2.slice(0, i);
31312
+ copy2 = set3.slice(0, i);
31313
31313
  copy2.push(this);
31314
31314
  placed = true;
31315
31315
  }
@@ -31318,7 +31318,7 @@ var Mark = class _Mark {
31318
31318
  }
31319
31319
  }
31320
31320
  if (!copy2)
31321
- copy2 = set2.slice();
31321
+ copy2 = set3.slice();
31322
31322
  if (!placed)
31323
31323
  copy2.push(this);
31324
31324
  return copy2;
@@ -31327,18 +31327,18 @@ var Mark = class _Mark {
31327
31327
  Remove this mark from the given set, returning a new set. If this
31328
31328
  mark is not in the set, the set itself is returned.
31329
31329
  */
31330
- removeFromSet(set2) {
31331
- for (let i = 0; i < set2.length; i++)
31332
- if (this.eq(set2[i]))
31333
- return set2.slice(0, i).concat(set2.slice(i + 1));
31334
- return set2;
31330
+ removeFromSet(set3) {
31331
+ for (let i = 0; i < set3.length; i++)
31332
+ if (this.eq(set3[i]))
31333
+ return set3.slice(0, i).concat(set3.slice(i + 1));
31334
+ return set3;
31335
31335
  }
31336
31336
  /**
31337
31337
  Test whether this mark is in the given set of marks.
31338
31338
  */
31339
- isInSet(set2) {
31340
- for (let i = 0; i < set2.length; i++)
31341
- if (this.eq(set2[i]))
31339
+ isInSet(set3) {
31340
+ for (let i = 0; i < set3.length; i++)
31341
+ if (this.eq(set3[i]))
31342
31342
  return true;
31343
31343
  return false;
31344
31344
  }
@@ -32755,15 +32755,15 @@ function dfa(nfa2) {
32755
32755
  nfa2[node].forEach(({ term, to }) => {
32756
32756
  if (!term)
32757
32757
  return;
32758
- let set2;
32758
+ let set3;
32759
32759
  for (let i = 0; i < out.length; i++)
32760
32760
  if (out[i][0] == term)
32761
- set2 = out[i][1];
32761
+ set3 = out[i][1];
32762
32762
  nullFrom(nfa2, to).forEach((node2) => {
32763
- if (!set2)
32764
- out.push([term, set2 = []]);
32765
- if (set2.indexOf(node2) == -1)
32766
- set2.push(node2);
32763
+ if (!set3)
32764
+ out.push([term, set3 = []]);
32765
+ if (set3.indexOf(node2) == -1)
32766
+ set3.push(node2);
32767
32767
  });
32768
32768
  });
32769
32769
  });
@@ -33091,21 +33091,21 @@ var MarkType = class _MarkType {
33091
33091
  When there is a mark of this type in the given set, a new set
33092
33092
  without it is returned. Otherwise, the input set is returned.
33093
33093
  */
33094
- removeFromSet(set2) {
33095
- for (var i = 0; i < set2.length; i++)
33096
- if (set2[i].type == this) {
33097
- set2 = set2.slice(0, i).concat(set2.slice(i + 1));
33094
+ removeFromSet(set3) {
33095
+ for (var i = 0; i < set3.length; i++)
33096
+ if (set3[i].type == this) {
33097
+ set3 = set3.slice(0, i).concat(set3.slice(i + 1));
33098
33098
  i--;
33099
33099
  }
33100
- return set2;
33100
+ return set3;
33101
33101
  }
33102
33102
  /**
33103
33103
  Tests whether there is a mark of this type in the given set.
33104
33104
  */
33105
- isInSet(set2) {
33106
- for (let i = 0; i < set2.length; i++)
33107
- if (set2[i].type == this)
33108
- return set2[i];
33105
+ isInSet(set3) {
33106
+ for (let i = 0; i < set3.length; i++)
33107
+ if (set3[i].type == this)
33108
+ return set3[i];
33109
33109
  }
33110
33110
  /**
33111
33111
  @internal
@@ -34858,10 +34858,10 @@ function removeMark(tr2, from2, to, mark) {
34858
34858
  step++;
34859
34859
  let toRemove = null;
34860
34860
  if (mark instanceof MarkType) {
34861
- let set2 = node.marks, found2;
34862
- while (found2 = mark.isInSet(set2)) {
34861
+ let set3 = node.marks, found2;
34862
+ while (found2 = mark.isInSet(set3)) {
34863
34863
  (toRemove || (toRemove = [])).push(found2);
34864
- set2 = found2.removeFromSet(set2);
34864
+ set3 = found2.removeFromSet(set3);
34865
34865
  }
34866
34866
  } else if (mark) {
34867
34867
  if (mark.isInSet(node.marks))
@@ -35913,10 +35913,10 @@ var Transform = class {
35913
35913
  if (mark.isInSet(node.marks))
35914
35914
  this.step(new RemoveNodeMarkStep(pos, mark));
35915
35915
  } else {
35916
- let set2 = node.marks, found2, steps = [];
35917
- while (found2 = mark.isInSet(set2)) {
35916
+ let set3 = node.marks, found2, steps = [];
35917
+ while (found2 = mark.isInSet(set3)) {
35918
35918
  steps.push(new RemoveNodeMarkStep(pos, found2));
35919
- set2 = found2.removeFromSet(set2);
35919
+ set3 = found2.removeFromSet(set3);
35920
35920
  }
35921
35921
  for (let i = steps.length - 1; i >= 0; i--)
35922
35922
  this.step(steps[i]);
@@ -40864,16 +40864,16 @@ function moveSpans(spans, offset) {
40864
40864
  return result;
40865
40865
  }
40866
40866
  function mapAndGatherRemainingDecorations(children, oldChildren, decorations, mapping, offset, oldOffset, options) {
40867
- function gather(set2, oldOffset2) {
40868
- for (let i = 0; i < set2.local.length; i++) {
40869
- let mapped = set2.local[i].map(mapping, offset, oldOffset2);
40867
+ function gather(set3, oldOffset2) {
40868
+ for (let i = 0; i < set3.local.length; i++) {
40869
+ let mapped = set3.local[i].map(mapping, offset, oldOffset2);
40870
40870
  if (mapped)
40871
40871
  decorations.push(mapped);
40872
40872
  else if (options.onRemove)
40873
- options.onRemove(set2.local[i].spec);
40873
+ options.onRemove(set3.local[i].spec);
40874
40874
  }
40875
- for (let i = 0; i < set2.children.length; i += 3)
40876
- gather(set2.children[i + 2], set2.children[i] + oldOffset2 + 1);
40875
+ for (let i = 0; i < set3.children.length; i += 3)
40876
+ gather(set3.children[i + 2], set3.children[i] + oldOffset2 + 1);
40877
40877
  }
40878
40878
  for (let i = 0; i < children.length; i += 3)
40879
40879
  if (children[i + 1] == -1)
@@ -42954,7 +42954,7 @@ function sinkListItem(itemType) {
42954
42954
  };
42955
42955
  }
42956
42956
 
42957
- // ../../node_modules/.pnpm/@tiptap+core@2.27.2_@tiptap+pm@2.27.2/node_modules/@tiptap/core/dist/index.js
42957
+ // ../../node_modules/.pnpm/@tiptap+core@2.11.7_@tiptap+pm@2.11.7/node_modules/@tiptap/core/dist/index.js
42958
42958
  function createChainableState(config) {
42959
42959
  const { state, transaction } = config;
42960
42960
  let { selection } = transaction;
@@ -43902,7 +43902,7 @@ function pasteRulesPlugin(props) {
43902
43902
  dropEvent = event;
43903
43903
  if (!isDroppedFromProseMirror) {
43904
43904
  const dragFromOtherEditor = tiptapDragFromOtherEditor;
43905
- if (dragFromOtherEditor === null || dragFromOtherEditor === void 0 ? void 0 : dragFromOtherEditor.isEditable) {
43905
+ if (dragFromOtherEditor) {
43906
43906
  setTimeout(() => {
43907
43907
  const selection = dragFromOtherEditor.state.selection;
43908
43908
  if (selection) {
@@ -44390,7 +44390,7 @@ var cut = (originRange, targetPos) => ({ editor, tr: tr2 }) => {
44390
44390
  tr2.deleteRange(originRange.from, originRange.to);
44391
44391
  const newPos = tr2.mapping.map(targetPos);
44392
44392
  tr2.insert(newPos, contentSlice.content);
44393
- tr2.setSelection(new TextSelection(tr2.doc.resolve(Math.max(newPos - 1, 0))));
44393
+ tr2.setSelection(new TextSelection(tr2.doc.resolve(newPos - 1)));
44394
44394
  return true;
44395
44395
  };
44396
44396
  var deleteCurrentNode = () => ({ tr: tr2, dispatch }) => {
@@ -44575,9 +44575,6 @@ function isiOS() {
44575
44575
  "iPod"
44576
44576
  ].includes(navigator.platform) || navigator.userAgent.includes("Mac") && "ontouchend" in document;
44577
44577
  }
44578
- function isSafari() {
44579
- return typeof navigator !== "undefined" ? /^((?!chrome|android).)*safari/i.test(navigator.userAgent) : false;
44580
- }
44581
44578
  var focus = (position = null, options = {}) => ({ editor, view, tr: tr2, dispatch }) => {
44582
44579
  options = {
44583
44580
  scrollIntoView: true,
@@ -44590,8 +44587,8 @@ var focus = (position = null, options = {}) => ({ editor, view, tr: tr2, dispatc
44590
44587
  requestAnimationFrame(() => {
44591
44588
  if (!editor.isDestroyed) {
44592
44589
  view.focus();
44593
- if (isSafari() && !isiOS() && !isAndroid()) {
44594
- view.dom.focus({ preventScroll: true });
44590
+ if (options === null || options === void 0 ? void 0 : options.scrollIntoView) {
44591
+ editor.commands.scrollIntoView();
44595
44592
  }
44596
44593
  }
44597
44594
  });
@@ -44744,38 +44741,24 @@ var insertContentAt = (position, value, options) => ({ tr: tr2, dispatch, editor
44744
44741
  ...options
44745
44742
  };
44746
44743
  let content;
44747
- const emitContentError = (error) => {
44744
+ try {
44745
+ content = createNodeFromContent(value, editor.schema, {
44746
+ parseOptions: {
44747
+ preserveWhitespace: "full",
44748
+ ...options.parseOptions
44749
+ },
44750
+ errorOnInvalidContent: (_a = options.errorOnInvalidContent) !== null && _a !== void 0 ? _a : editor.options.enableContentCheck
44751
+ });
44752
+ } catch (e) {
44748
44753
  editor.emit("contentError", {
44749
44754
  editor,
44750
- error,
44755
+ error: e,
44751
44756
  disableCollaboration: () => {
44752
44757
  if (editor.storage.collaboration) {
44753
44758
  editor.storage.collaboration.isDisabled = true;
44754
44759
  }
44755
44760
  }
44756
44761
  });
44757
- };
44758
- const parseOptions = {
44759
- preserveWhitespace: "full",
44760
- ...options.parseOptions
44761
- };
44762
- if (!options.errorOnInvalidContent && !editor.options.enableContentCheck && editor.options.emitContentError) {
44763
- try {
44764
- createNodeFromContent(value, editor.schema, {
44765
- parseOptions,
44766
- errorOnInvalidContent: true
44767
- });
44768
- } catch (e) {
44769
- emitContentError(e);
44770
- }
44771
- }
44772
- try {
44773
- content = createNodeFromContent(value, editor.schema, {
44774
- parseOptions,
44775
- errorOnInvalidContent: (_a = options.errorOnInvalidContent) !== null && _a !== void 0 ? _a : editor.options.enableContentCheck
44776
- });
44777
- } catch (e) {
44778
- emitContentError(e);
44779
44762
  return false;
44780
44763
  }
44781
44764
  let { from: from2, to } = typeof position === "number" ? { from: position, to: position } : { from: position.from, to: position.to };
@@ -46287,9 +46270,6 @@ var NodePos = class _NodePos {
46287
46270
  const isBlock = node.isBlock && !node.isTextblock;
46288
46271
  const isNonTextAtom = node.isAtom && !node.isText;
46289
46272
  const targetPos = this.pos + offset + (isNonTextAtom ? 0 : 1);
46290
- if (targetPos < 0 || targetPos > this.resolvedPos.doc.nodeSize - 2) {
46291
- return;
46292
- }
46293
46273
  const $pos = this.resolvedPos.doc.resolve(targetPos);
46294
46274
  if (!isBlock && $pos.depth <= this.depth) {
46295
46275
  return;
@@ -46476,7 +46456,6 @@ var Editor = class extends EventEmitter {
46476
46456
  enablePasteRules: true,
46477
46457
  enableCoreExtensions: true,
46478
46458
  enableContentCheck: false,
46479
- emitContentError: false,
46480
46459
  onBeforeCreate: () => null,
46481
46460
  onCreate: () => null,
46482
46461
  onUpdate: () => null,
@@ -46618,7 +46597,7 @@ var Editor = class extends EventEmitter {
46618
46597
  let plugins = prevPlugins;
46619
46598
  [].concat(nameOrPluginKeyToRemove).forEach((nameOrPluginKey) => {
46620
46599
  const name = typeof nameOrPluginKey === "string" ? `${nameOrPluginKey}$` : nameOrPluginKey.key;
46621
- plugins = plugins.filter((plugin) => !plugin.key.startsWith(name));
46600
+ plugins = prevPlugins.filter((plugin) => !plugin.key.startsWith(name));
46622
46601
  });
46623
46602
  if (prevPlugins.length === plugins.length) {
46624
46603
  return void 0;
@@ -47099,28 +47078,8 @@ function markPasteRule(config) {
47099
47078
  }
47100
47079
  });
47101
47080
  }
47102
- function canInsertNode(state, nodeType) {
47103
- const { selection } = state;
47104
- const { $from } = selection;
47105
- if (selection instanceof NodeSelection) {
47106
- const index = $from.index();
47107
- const parent = $from.parent;
47108
- return parent.canReplaceWith(index, index + 1, nodeType);
47109
- }
47110
- let depth = $from.depth;
47111
- while (depth >= 0) {
47112
- const index = $from.index(depth);
47113
- const parent = $from.node(depth);
47114
- const match = parent.contentMatchAt(index);
47115
- if (match.matchType(nodeType)) {
47116
- return true;
47117
- }
47118
- depth -= 1;
47119
- }
47120
- return false;
47121
- }
47122
47081
 
47123
- // ../../node_modules/.pnpm/@tiptap+react@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2__@tiptap+pm@2.27.2_react-dom@18.3._dapneixe4e7qjjnfvramineoae/node_modules/@tiptap/react/dist/index.js
47082
+ // ../../node_modules/.pnpm/@tiptap+react@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7__@tiptap+pm@2.11.7_react-dom@18.3._anbgcunlwqk5at6s4gn5quxr7a/node_modules/@tiptap/react/dist/index.js
47124
47083
  var import_react = __toESM(require_react(), 1);
47125
47084
  var import_react_dom = __toESM(require_react_dom(), 1);
47126
47085
  function getDefaultExportFromCjs(x) {
@@ -47967,7 +47926,7 @@ var NodeViewWrapper = import_react.default.forwardRef((props, ref) => {
47967
47926
  );
47968
47927
  });
47969
47928
 
47970
- // ../../node_modules/.pnpm/@tiptap+extension-blockquote@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-blockquote/dist/index.js
47929
+ // ../../node_modules/.pnpm/@tiptap+extension-blockquote@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-blockquote/dist/index.js
47971
47930
  var inputRegex = /^\s*>\s$/;
47972
47931
  var Blockquote = Node2.create({
47973
47932
  name: "blockquote",
@@ -48015,7 +47974,7 @@ var Blockquote = Node2.create({
48015
47974
  }
48016
47975
  });
48017
47976
 
48018
- // ../../node_modules/.pnpm/@tiptap+extension-bold@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-bold/dist/index.js
47977
+ // ../../node_modules/.pnpm/@tiptap+extension-bold@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-bold/dist/index.js
48019
47978
  var starInputRegex = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/;
48020
47979
  var starPasteRegex = /(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g;
48021
47980
  var underscoreInputRegex = /(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/;
@@ -48094,7 +48053,7 @@ var Bold = Mark2.create({
48094
48053
  }
48095
48054
  });
48096
48055
 
48097
- // ../../node_modules/.pnpm/@tiptap+extension-bullet-list@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-bullet-list/dist/index.js
48056
+ // ../../node_modules/.pnpm/@tiptap+extension-bullet-list@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-bullet-list/dist/index.js
48098
48057
  var ListItemName = "listItem";
48099
48058
  var TextStyleName = "textStyle";
48100
48059
  var inputRegex2 = /^\s*([-+*])\s$/;
@@ -48158,7 +48117,7 @@ var BulletList = Node2.create({
48158
48117
  }
48159
48118
  });
48160
48119
 
48161
- // ../../node_modules/.pnpm/@tiptap+extension-code@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-code/dist/index.js
48120
+ // ../../node_modules/.pnpm/@tiptap+extension-code@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-code/dist/index.js
48162
48121
  var inputRegex3 = /(^|[^`])`([^`]+)`(?!`)/;
48163
48122
  var pasteRegex = /(^|[^`])`([^`]+)`(?!`)/g;
48164
48123
  var Code = Mark2.create({
@@ -48215,7 +48174,7 @@ var Code = Mark2.create({
48215
48174
  }
48216
48175
  });
48217
48176
 
48218
- // ../../node_modules/.pnpm/@tiptap+extension-code-block@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2__@tiptap+pm@2.27.2/node_modules/@tiptap/extension-code-block/dist/index.js
48177
+ // ../../node_modules/.pnpm/@tiptap+extension-code-block@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7__@tiptap+pm@2.11.7/node_modules/@tiptap/extension-code-block/dist/index.js
48219
48178
  var backtickInputRegex = /^```([a-z]+)?[\s\n]$/;
48220
48179
  var tildeInputRegex = /^~~~([a-z]+)?[\s\n]$/;
48221
48180
  var CodeBlock = Node2.create({
@@ -48405,7 +48364,7 @@ var CodeBlock = Node2.create({
48405
48364
  }
48406
48365
  });
48407
48366
 
48408
- // ../../node_modules/.pnpm/@tiptap+extension-document@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-document/dist/index.js
48367
+ // ../../node_modules/.pnpm/@tiptap+extension-document@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-document/dist/index.js
48409
48368
  var Document = Node2.create({
48410
48369
  name: "doc",
48411
48370
  topNode: true,
@@ -48545,7 +48504,7 @@ var DropCursorView = class {
48545
48504
  }
48546
48505
  };
48547
48506
 
48548
- // ../../node_modules/.pnpm/@tiptap+extension-dropcursor@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2__@tiptap+pm@2.27.2/node_modules/@tiptap/extension-dropcursor/dist/index.js
48507
+ // ../../node_modules/.pnpm/@tiptap+extension-dropcursor@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7__@tiptap+pm@2.11.7/node_modules/@tiptap/extension-dropcursor/dist/index.js
48549
48508
  var Dropcursor = Extension.create({
48550
48509
  name: "dropCursor",
48551
48510
  addOptions() {
@@ -48776,7 +48735,7 @@ function drawGapCursor(state) {
48776
48735
  return DecorationSet.create(state.doc, [Decoration.widget(state.selection.head, node, { key: "gapcursor" })]);
48777
48736
  }
48778
48737
 
48779
- // ../../node_modules/.pnpm/@tiptap+extension-gapcursor@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2__@tiptap+pm@2.27.2/node_modules/@tiptap/extension-gapcursor/dist/index.js
48738
+ // ../../node_modules/.pnpm/@tiptap+extension-gapcursor@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7__@tiptap+pm@2.11.7/node_modules/@tiptap/extension-gapcursor/dist/index.js
48780
48739
  var Gapcursor = Extension.create({
48781
48740
  name: "gapCursor",
48782
48741
  addProseMirrorPlugins() {
@@ -48797,7 +48756,7 @@ var Gapcursor = Extension.create({
48797
48756
  }
48798
48757
  });
48799
48758
 
48800
- // ../../node_modules/.pnpm/@tiptap+extension-hard-break@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-hard-break/dist/index.js
48759
+ // ../../node_modules/.pnpm/@tiptap+extension-hard-break@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-hard-break/dist/index.js
48801
48760
  var HardBreak = Node2.create({
48802
48761
  name: "hardBreak",
48803
48762
  addOptions() {
@@ -48854,7 +48813,7 @@ var HardBreak = Node2.create({
48854
48813
  }
48855
48814
  });
48856
48815
 
48857
- // ../../node_modules/.pnpm/@tiptap+extension-heading@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-heading/dist/index.js
48816
+ // ../../node_modules/.pnpm/@tiptap+extension-heading@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-heading/dist/index.js
48858
48817
  var Heading = Node2.create({
48859
48818
  name: "heading",
48860
48819
  addOptions() {
@@ -49458,7 +49417,7 @@ var redo = buildCommand(true, true);
49458
49417
  var undoNoScroll = buildCommand(false, false);
49459
49418
  var redoNoScroll = buildCommand(true, false);
49460
49419
 
49461
- // ../../node_modules/.pnpm/@tiptap+extension-history@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2__@tiptap+pm@2.27.2/node_modules/@tiptap/extension-history/dist/index.js
49420
+ // ../../node_modules/.pnpm/@tiptap+extension-history@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7__@tiptap+pm@2.11.7/node_modules/@tiptap/extension-history/dist/index.js
49462
49421
  var History = Extension.create({
49463
49422
  name: "history",
49464
49423
  addOptions() {
@@ -49494,7 +49453,7 @@ var History = Extension.create({
49494
49453
  }
49495
49454
  });
49496
49455
 
49497
- // ../../node_modules/.pnpm/@tiptap+extension-horizontal-rule@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2__@tiptap+pm@2.27.2/node_modules/@tiptap/extension-horizontal-rule/dist/index.js
49456
+ // ../../node_modules/.pnpm/@tiptap+extension-horizontal-rule@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7__@tiptap+pm@2.11.7/node_modules/@tiptap/extension-horizontal-rule/dist/index.js
49498
49457
  var HorizontalRule = Node2.create({
49499
49458
  name: "horizontalRule",
49500
49459
  addOptions() {
@@ -49512,9 +49471,6 @@ var HorizontalRule = Node2.create({
49512
49471
  addCommands() {
49513
49472
  return {
49514
49473
  setHorizontalRule: () => ({ chain, state }) => {
49515
- if (!canInsertNode(state, state.schema.nodes[this.name])) {
49516
- return false;
49517
- }
49518
49474
  const { selection } = state;
49519
49475
  const { $from: $originFrom, $to: $originTo } = selection;
49520
49476
  const currentChain = chain();
@@ -49569,7 +49525,7 @@ var HorizontalRule = Node2.create({
49569
49525
  }
49570
49526
  });
49571
49527
 
49572
- // ../../node_modules/.pnpm/@tiptap+extension-italic@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-italic/dist/index.js
49528
+ // ../../node_modules/.pnpm/@tiptap+extension-italic@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-italic/dist/index.js
49573
49529
  var starInputRegex2 = /(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/;
49574
49530
  var starPasteRegex2 = /(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g;
49575
49531
  var underscoreInputRegex2 = /(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/;
@@ -49647,7 +49603,7 @@ var Italic = Mark2.create({
49647
49603
  }
49648
49604
  });
49649
49605
 
49650
- // ../../node_modules/.pnpm/@tiptap+extension-list-item@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-list-item/dist/index.js
49606
+ // ../../node_modules/.pnpm/@tiptap+extension-list-item@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-list-item/dist/index.js
49651
49607
  var ListItem = Node2.create({
49652
49608
  name: "listItem",
49653
49609
  addOptions() {
@@ -49678,7 +49634,7 @@ var ListItem = Node2.create({
49678
49634
  }
49679
49635
  });
49680
49636
 
49681
- // ../../node_modules/.pnpm/@tiptap+extension-ordered-list@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-ordered-list/dist/index.js
49637
+ // ../../node_modules/.pnpm/@tiptap+extension-ordered-list@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-ordered-list/dist/index.js
49682
49638
  var ListItemName2 = "listItem";
49683
49639
  var TextStyleName2 = "textStyle";
49684
49640
  var inputRegex4 = /^(\d+)\.\s$/;
@@ -49760,7 +49716,7 @@ var OrderedList = Node2.create({
49760
49716
  }
49761
49717
  });
49762
49718
 
49763
- // ../../node_modules/.pnpm/@tiptap+extension-paragraph@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-paragraph/dist/index.js
49719
+ // ../../node_modules/.pnpm/@tiptap+extension-paragraph@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-paragraph/dist/index.js
49764
49720
  var Paragraph = Node2.create({
49765
49721
  name: "paragraph",
49766
49722
  priority: 1e3,
@@ -49793,7 +49749,7 @@ var Paragraph = Node2.create({
49793
49749
  }
49794
49750
  });
49795
49751
 
49796
- // ../../node_modules/.pnpm/@tiptap+extension-strike@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-strike/dist/index.js
49752
+ // ../../node_modules/.pnpm/@tiptap+extension-strike@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-strike/dist/index.js
49797
49753
  var inputRegex5 = /(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/;
49798
49754
  var pasteRegex2 = /(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g;
49799
49755
  var Strike = Mark2.create({
@@ -49860,13 +49816,13 @@ var Strike = Mark2.create({
49860
49816
  }
49861
49817
  });
49862
49818
 
49863
- // ../../node_modules/.pnpm/@tiptap+extension-text@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-text/dist/index.js
49819
+ // ../../node_modules/.pnpm/@tiptap+extension-text@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-text/dist/index.js
49864
49820
  var Text = Node2.create({
49865
49821
  name: "text",
49866
49822
  group: "inline"
49867
49823
  });
49868
49824
 
49869
- // ../../node_modules/.pnpm/@tiptap+starter-kit@2.27.2/node_modules/@tiptap/starter-kit/dist/index.js
49825
+ // ../../node_modules/.pnpm/@tiptap+starter-kit@2.11.7/node_modules/@tiptap/starter-kit/dist/index.js
49870
49826
  var StarterKit = Extension.create({
49871
49827
  name: "starterKit",
49872
49828
  addExtensions() {
@@ -49929,7 +49885,7 @@ var StarterKit = Extension.create({
49929
49885
  }
49930
49886
  });
49931
49887
 
49932
- // ../../node_modules/.pnpm/@tiptap+extension-underline@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-underline/dist/index.js
49888
+ // ../../node_modules/.pnpm/@tiptap+extension-underline@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-underline/dist/index.js
49933
49889
  var Underline = Mark2.create({
49934
49890
  name: "underline",
49935
49891
  addOptions() {
@@ -49973,7 +49929,7 @@ var Underline = Mark2.create({
49973
49929
  }
49974
49930
  });
49975
49931
 
49976
- // ../../node_modules/.pnpm/@tiptap+extension-text-style@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-text-style/dist/index.js
49932
+ // ../../node_modules/.pnpm/@tiptap+extension-text-style@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-text-style/dist/index.js
49977
49933
  var mergeNestedSpanStyles = (element) => {
49978
49934
  if (!element.children.length) {
49979
49935
  return;
@@ -50036,7 +49992,7 @@ var TextStyle = Mark2.create({
50036
49992
  }
50037
49993
  });
50038
49994
 
50039
- // ../../node_modules/.pnpm/@tiptap+extension-color@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2__@tiptap+extension-text-_nwipyjl2zzg6jzm7vhuho2a42m/node_modules/@tiptap/extension-color/dist/index.js
49995
+ // ../../node_modules/.pnpm/@tiptap+extension-color@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7__@tiptap+extension-text-_6inr4ropszdjmgoexhyzt7zmf4/node_modules/@tiptap/extension-color/dist/index.js
50040
49996
  var Color = Extension.create({
50041
49997
  name: "color",
50042
49998
  addOptions() {
@@ -50080,7 +50036,7 @@ var Color = Extension.create({
50080
50036
  }
50081
50037
  });
50082
50038
 
50083
- // ../../node_modules/.pnpm/@tiptap+extension-highlight@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-highlight/dist/index.js
50039
+ // ../../node_modules/.pnpm/@tiptap+extension-highlight@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-highlight/dist/index.js
50084
50040
  var inputRegex6 = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/;
50085
50041
  var pasteRegex3 = /(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g;
50086
50042
  var Highlight = Mark2.create({
@@ -50157,7 +50113,7 @@ var Highlight = Mark2.create({
50157
50113
  }
50158
50114
  });
50159
50115
 
50160
- // ../../node_modules/.pnpm/@tiptap+extension-text-align@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2_/node_modules/@tiptap/extension-text-align/dist/index.js
50116
+ // ../../node_modules/.pnpm/@tiptap+extension-text-align@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7_/node_modules/@tiptap/extension-text-align/dist/index.js
50161
50117
  var TextAlign = Extension.create({
50162
50118
  name: "textAlign",
50163
50119
  addOptions() {
@@ -50199,15 +50155,6 @@ var TextAlign = Extension.create({
50199
50155
  },
50200
50156
  unsetTextAlign: () => ({ commands: commands2 }) => {
50201
50157
  return this.options.types.map((type) => commands2.resetAttributes(type, "textAlign")).every((response) => response);
50202
- },
50203
- toggleTextAlign: (alignment) => ({ editor, commands: commands2 }) => {
50204
- if (!this.options.alignments.includes(alignment)) {
50205
- return false;
50206
- }
50207
- if (editor.isActive({ textAlign: alignment })) {
50208
- return commands2.unsetTextAlign();
50209
- }
50210
- return commands2.setTextAlign(alignment);
50211
50158
  }
50212
50159
  };
50213
50160
  },
@@ -51368,11 +51315,7 @@ function find(str, type = null, opts = null) {
51368
51315
  return filtered;
51369
51316
  }
51370
51317
 
51371
- // ../../node_modules/.pnpm/@tiptap+extension-link@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2__@tiptap+pm@2.27.2/node_modules/@tiptap/extension-link/dist/index.js
51372
- var UNICODE_WHITESPACE_PATTERN = "[\0- \xA0\u1680\u180E\u2000-\u2029\u205F\u3000]";
51373
- var UNICODE_WHITESPACE_REGEX = new RegExp(UNICODE_WHITESPACE_PATTERN);
51374
- var UNICODE_WHITESPACE_REGEX_END = new RegExp(`${UNICODE_WHITESPACE_PATTERN}$`);
51375
- var UNICODE_WHITESPACE_REGEX_GLOBAL = new RegExp(UNICODE_WHITESPACE_PATTERN, "g");
51318
+ // ../../node_modules/.pnpm/@tiptap+extension-link@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7__@tiptap+pm@2.11.7/node_modules/@tiptap/extension-link/dist/index.js
51376
51319
  function isValidLinkStructure(tokens) {
51377
51320
  if (tokens.length === 1) {
51378
51321
  return tokens[0].isLink;
@@ -51401,16 +51344,12 @@ function autolink(options) {
51401
51344
  if (nodesInChangedRanges.length > 1) {
51402
51345
  textBlock = nodesInChangedRanges[0];
51403
51346
  textBeforeWhitespace = newState.doc.textBetween(textBlock.pos, textBlock.pos + textBlock.node.nodeSize, void 0, " ");
51404
- } else if (nodesInChangedRanges.length) {
51405
- const endText = newState.doc.textBetween(newRange.from, newRange.to, " ", " ");
51406
- if (!UNICODE_WHITESPACE_REGEX_END.test(endText)) {
51407
- return;
51408
- }
51347
+ } else if (nodesInChangedRanges.length && newState.doc.textBetween(newRange.from, newRange.to, " ", " ").endsWith(" ")) {
51409
51348
  textBlock = nodesInChangedRanges[0];
51410
51349
  textBeforeWhitespace = newState.doc.textBetween(textBlock.pos, newRange.to, void 0, " ");
51411
51350
  }
51412
51351
  if (textBlock && textBeforeWhitespace) {
51413
- const wordsBeforeWhitespace = textBeforeWhitespace.split(UNICODE_WHITESPACE_REGEX).filter(Boolean);
51352
+ const wordsBeforeWhitespace = textBeforeWhitespace.split(" ").filter((s) => s !== "");
51414
51353
  if (wordsBeforeWhitespace.length <= 0) {
51415
51354
  return false;
51416
51355
  }
@@ -51509,6 +51448,7 @@ function pasteHandler(options) {
51509
51448
  }
51510
51449
  });
51511
51450
  }
51451
+ var ATTR_WHITESPACE = /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g;
51512
51452
  function isAllowedUri(uri, protocols) {
51513
51453
  const allowedProtocols = [
51514
51454
  "http",
@@ -51530,7 +51470,7 @@ function isAllowedUri(uri, protocols) {
51530
51470
  }
51531
51471
  });
51532
51472
  }
51533
- return !uri || uri.replace(UNICODE_WHITESPACE_REGEX_GLOBAL, "").match(new RegExp(
51473
+ return !uri || uri.replace(ATTR_WHITESPACE, "").match(new RegExp(
51534
51474
  // eslint-disable-next-line no-useless-escape
51535
51475
  `^(?:(?:${allowedProtocols.join("|")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,
51536
51476
  "i"
@@ -51722,7 +51662,7 @@ var Link = Mark2.create({
51722
51662
  }
51723
51663
  });
51724
51664
 
51725
- // ../../node_modules/.pnpm/@tiptap+extension-placeholder@2.27.2_@tiptap+core@2.27.2_@tiptap+pm@2.27.2__@tiptap+pm@2.27.2/node_modules/@tiptap/extension-placeholder/dist/index.js
51665
+ // ../../node_modules/.pnpm/@tiptap+extension-placeholder@2.11.7_@tiptap+core@2.11.7_@tiptap+pm@2.11.7__@tiptap+pm@2.11.7/node_modules/@tiptap/extension-placeholder/dist/index.js
51726
51666
  var Placeholder = Extension.create({
51727
51667
  name: "placeholder",
51728
51668
  addOptions() {
@@ -52056,13 +51996,54 @@ function TipTapEditor({ value, onChange, readOnly }) {
52056
51996
  return /* @__PURE__ */ import_react2.default.createElement("div", { className: "tiptap-wrapper" }, /* @__PURE__ */ import_react2.default.createElement(Toolbar, { editor }), /* @__PURE__ */ import_react2.default.createElement("div", { className: "tiptap-content" }, /* @__PURE__ */ import_react2.default.createElement(EditorContent, { editor })));
52057
51997
  }
52058
51998
 
51999
+ // ../../apps/studio/schemas/shared/section-media-fields.ts
52000
+ var import_sanity3 = require("sanity");
52001
+ var sectionMediaFields = [
52002
+ (0, import_sanity3.defineField)({
52003
+ name: "backgroundImage",
52004
+ title: "Imagen de fondo",
52005
+ type: "image",
52006
+ options: { hotspot: true },
52007
+ fields: [
52008
+ (0, import_sanity3.defineField)({
52009
+ name: "alt",
52010
+ title: "Descripci\xF3n (accesibilidad)",
52011
+ type: "string"
52012
+ })
52013
+ ]
52014
+ }),
52015
+ (0, import_sanity3.defineField)({
52016
+ name: "backgroundVideoUrl",
52017
+ title: "Video de fondo (URL .mp4)",
52018
+ type: "string",
52019
+ description: "URL directa a un archivo .mp4. No se reproduce en mobile \u2014 se recomienda agregar tambi\xE9n una imagen de fondo como poster."
52020
+ }),
52021
+ (0, import_sanity3.defineField)({
52022
+ name: "backgroundOverlay",
52023
+ title: "Overlay oscurecedor (%)",
52024
+ type: "number",
52025
+ description: "Oscurece el fondo para mejorar la legibilidad del texto sobre im\xE1genes o videos (0 = sin overlay, 80 = muy oscuro).",
52026
+ initialValue: 0,
52027
+ validation: (r) => r.min(0).max(100),
52028
+ hidden: ({ parent }) => !parent?.backgroundImage && !parent?.backgroundVideoUrl
52029
+ }),
52030
+ (0, import_sanity3.defineField)({
52031
+ name: "animate",
52032
+ title: "Animaci\xF3n de entrada",
52033
+ type: "boolean",
52034
+ description: "La secci\xF3n aparece con una animaci\xF3n fade-up suave al hacer scroll.",
52035
+ initialValue: false
52036
+ })
52037
+ ];
52038
+
52059
52039
  // ../../apps/studio/schemas/sections/hero.ts
52060
- var heroSection = (0, import_sanity3.defineType)({
52040
+ var heroSection = (0, import_sanity4.defineType)({
52061
52041
  name: "hero",
52062
52042
  title: "Hero",
52063
52043
  type: "object",
52064
52044
  fields: [
52065
- (0, import_sanity3.defineField)({
52045
+ ...sectionMediaFields,
52046
+ (0, import_sanity4.defineField)({
52066
52047
  name: "variant",
52067
52048
  title: "Variante",
52068
52049
  type: "string",
@@ -52081,20 +52062,20 @@ var heroSection = (0, import_sanity3.defineType)({
52081
52062
  initialValue: "centered",
52082
52063
  validation: (r) => r.required()
52083
52064
  }),
52084
- (0, import_sanity3.defineField)({ name: "badge", title: "Badge / Etiqueta superior", type: "string" }),
52085
- (0, import_sanity3.defineField)({ name: "subheading", title: "Subt\xEDtulo", type: "string" }),
52086
- (0, import_sanity3.defineField)({ name: "heading", title: "T\xEDtulo principal", type: "string", validation: (r) => r.required() }),
52087
- (0, import_sanity3.defineField)({ name: "description", title: "Descripci\xF3n / Texto secundario", type: "text", rows: 3 }),
52088
- (0, import_sanity3.defineField)({
52065
+ (0, import_sanity4.defineField)({ name: "badge", title: "Badge / Etiqueta superior", type: "string" }),
52066
+ (0, import_sanity4.defineField)({ name: "subheading", title: "Subt\xEDtulo", type: "string" }),
52067
+ (0, import_sanity4.defineField)({ name: "heading", title: "T\xEDtulo principal", type: "string", validation: (r) => r.required() }),
52068
+ (0, import_sanity4.defineField)({ name: "description", title: "Descripci\xF3n / Texto secundario", type: "text", rows: 3 }),
52069
+ (0, import_sanity4.defineField)({
52089
52070
  name: "content",
52090
52071
  title: "Contenido",
52091
52072
  type: "text",
52092
52073
  description: "Texto enriquecido opcional que se muestra debajo de la descripci\xF3n.",
52093
52074
  components: { input: TipTapEditor }
52094
52075
  }),
52095
- (0, import_sanity3.defineField)({ name: "primaryCTA", title: "Bot\xF3n CTA primario", type: "ctaButton" }),
52096
- (0, import_sanity3.defineField)({ name: "secondaryCTA", title: "Bot\xF3n CTA secundario", type: "ctaButton" }),
52097
- (0, import_sanity3.defineField)({
52076
+ (0, import_sanity4.defineField)({ name: "primaryCTA", title: "Bot\xF3n CTA primario", type: "ctaButton" }),
52077
+ (0, import_sanity4.defineField)({ name: "secondaryCTA", title: "Bot\xF3n CTA secundario", type: "ctaButton" }),
52078
+ (0, import_sanity4.defineField)({
52098
52079
  name: "image",
52099
52080
  title: "Imagen",
52100
52081
  description: "No se usa cuando la variante es 'Video de fondo'.",
@@ -52102,10 +52083,10 @@ var heroSection = (0, import_sanity3.defineType)({
52102
52083
  hidden: ({ parent }) => parent?.variant === "video",
52103
52084
  options: { hotspot: true },
52104
52085
  fields: [
52105
- (0, import_sanity3.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
52086
+ (0, import_sanity4.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
52106
52087
  ]
52107
52088
  }),
52108
- (0, import_sanity3.defineField)({
52089
+ (0, import_sanity4.defineField)({
52109
52090
  name: "videoPoster",
52110
52091
  title: "Poster del video (miniatura mientras carga)",
52111
52092
  description: "Se muestra antes de que el video comience a reproducirse.",
@@ -52113,11 +52094,11 @@ var heroSection = (0, import_sanity3.defineType)({
52113
52094
  hidden: ({ parent }) => parent?.variant !== "video" && parent?.variant !== "card",
52114
52095
  options: { hotspot: true },
52115
52096
  fields: [
52116
- (0, import_sanity3.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
52097
+ (0, import_sanity4.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
52117
52098
  ]
52118
52099
  }),
52119
52100
  /* ── Video: upload a file OR paste an external URL ── */
52120
- (0, import_sanity3.defineField)({
52101
+ (0, import_sanity4.defineField)({
52121
52102
  name: "videoFile",
52122
52103
  title: "Video \u2014 subir archivo (MP4/WebM)",
52123
52104
  description: "Subir directamente a Sanity. Tiene prioridad sobre la URL externa de abajo.",
@@ -52125,14 +52106,14 @@ var heroSection = (0, import_sanity3.defineType)({
52125
52106
  hidden: ({ parent }) => parent?.variant !== "video" && parent?.variant !== "card",
52126
52107
  options: { accept: "video/mp4,video/webm,video/*" }
52127
52108
  }),
52128
- (0, import_sanity3.defineField)({
52109
+ (0, import_sanity4.defineField)({
52129
52110
  name: "videoUrl",
52130
52111
  title: "Video \u2014 URL externa",
52131
52112
  description: "Peg\xE1 una URL directa de .mp4 / .webm (Cloudinary, S3, Vimeo link directo, etc.). Solo se usa si no hay archivo subido arriba.",
52132
52113
  type: "url",
52133
52114
  hidden: ({ parent }) => parent?.variant !== "video" && parent?.variant !== "card"
52134
52115
  }),
52135
- (0, import_sanity3.defineField)({
52116
+ (0, import_sanity4.defineField)({
52136
52117
  name: "overlayOpacity",
52137
52118
  title: "Opacidad del overlay de video / imagen %",
52138
52119
  description: "Usado en las variantes de video y fondo. 0 = sin overlay, 100 = completamente opaco.",
@@ -52140,7 +52121,7 @@ var heroSection = (0, import_sanity3.defineType)({
52140
52121
  initialValue: 50,
52141
52122
  validation: (r) => r.min(0).max(100)
52142
52123
  }),
52143
- (0, import_sanity3.defineField)({
52124
+ (0, import_sanity4.defineField)({
52144
52125
  name: "background",
52145
52126
  title: "Fondo",
52146
52127
  type: "string",
@@ -52159,7 +52140,7 @@ var heroSection = (0, import_sanity3.defineType)({
52159
52140
  },
52160
52141
  initialValue: "default"
52161
52142
  }),
52162
- (0, import_sanity3.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52143
+ (0, import_sanity4.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52163
52144
  ],
52164
52145
  preview: {
52165
52146
  select: { title: "heading", subtitle: "variant" },
@@ -52170,13 +52151,14 @@ var heroSection = (0, import_sanity3.defineType)({
52170
52151
  });
52171
52152
 
52172
52153
  // ../../apps/studio/schemas/sections/faq.ts
52173
- var import_sanity4 = require("sanity");
52174
- var faqSection = (0, import_sanity4.defineType)({
52154
+ var import_sanity5 = require("sanity");
52155
+ var faqSection = (0, import_sanity5.defineType)({
52175
52156
  name: "faq",
52176
52157
  title: "FAQ",
52177
52158
  type: "object",
52178
52159
  fields: [
52179
- (0, import_sanity4.defineField)({
52160
+ ...sectionMediaFields,
52161
+ (0, import_sanity5.defineField)({
52180
52162
  name: "variant",
52181
52163
  title: "Variante",
52182
52164
  type: "string",
@@ -52192,17 +52174,17 @@ var faqSection = (0, import_sanity4.defineType)({
52192
52174
  initialValue: "accordion",
52193
52175
  validation: (r) => r.required()
52194
52176
  }),
52195
- (0, import_sanity4.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52196
- (0, import_sanity4.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52197
- (0, import_sanity4.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52198
- (0, import_sanity4.defineField)({
52177
+ (0, import_sanity5.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52178
+ (0, import_sanity5.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52179
+ (0, import_sanity5.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52180
+ (0, import_sanity5.defineField)({
52199
52181
  name: "content",
52200
52182
  title: "Contenido",
52201
52183
  type: "text",
52202
52184
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
52203
52185
  components: { input: TipTapEditor }
52204
52186
  }),
52205
- (0, import_sanity4.defineField)({
52187
+ (0, import_sanity5.defineField)({
52206
52188
  name: "items",
52207
52189
  title: "Elementos FAQ",
52208
52190
  type: "array",
@@ -52210,16 +52192,16 @@ var faqSection = (0, import_sanity4.defineType)({
52210
52192
  {
52211
52193
  type: "object",
52212
52194
  fields: [
52213
- (0, import_sanity4.defineField)({ name: "question", title: "Pregunta", type: "string", validation: (r) => r.required() }),
52214
- (0, import_sanity4.defineField)({ name: "answer", title: "Respuesta", type: "text", rows: 3, validation: (r) => r.required() })
52195
+ (0, import_sanity5.defineField)({ name: "question", title: "Pregunta", type: "string", validation: (r) => r.required() }),
52196
+ (0, import_sanity5.defineField)({ name: "answer", title: "Respuesta", type: "text", rows: 3, validation: (r) => r.required() })
52215
52197
  ],
52216
52198
  preview: { select: { title: "question" } }
52217
52199
  }
52218
52200
  ],
52219
52201
  validation: (r) => r.required().min(1)
52220
52202
  }),
52221
- (0, import_sanity4.defineField)({ name: "cta", title: "Bot\xF3n CTA (opcional)", type: "ctaButton" }),
52222
- (0, import_sanity4.defineField)({
52203
+ (0, import_sanity5.defineField)({ name: "cta", title: "Bot\xF3n CTA (opcional)", type: "ctaButton" }),
52204
+ (0, import_sanity5.defineField)({
52223
52205
  name: "background",
52224
52206
  title: "Fondo",
52225
52207
  type: "string",
@@ -52235,7 +52217,7 @@ var faqSection = (0, import_sanity4.defineType)({
52235
52217
  ], layout: "radio" },
52236
52218
  initialValue: "default"
52237
52219
  }),
52238
- (0, import_sanity4.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52220
+ (0, import_sanity5.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52239
52221
  ],
52240
52222
  preview: {
52241
52223
  select: { title: "title", subtitle: "variant" },
@@ -52246,13 +52228,14 @@ var faqSection = (0, import_sanity4.defineType)({
52246
52228
  });
52247
52229
 
52248
52230
  // ../../apps/studio/schemas/sections/gallery.ts
52249
- var import_sanity5 = require("sanity");
52250
- var gallerySection = (0, import_sanity5.defineType)({
52231
+ var import_sanity6 = require("sanity");
52232
+ var gallerySection = (0, import_sanity6.defineType)({
52251
52233
  name: "gallery",
52252
52234
  title: "Galer\xEDa",
52253
52235
  type: "object",
52254
52236
  fields: [
52255
- (0, import_sanity5.defineField)({
52237
+ ...sectionMediaFields,
52238
+ (0, import_sanity6.defineField)({
52256
52239
  name: "variant",
52257
52240
  title: "Variante",
52258
52241
  type: "string",
@@ -52267,17 +52250,17 @@ var gallerySection = (0, import_sanity5.defineType)({
52267
52250
  initialValue: "grid",
52268
52251
  validation: (r) => r.required()
52269
52252
  }),
52270
- (0, import_sanity5.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52271
- (0, import_sanity5.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52272
- (0, import_sanity5.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52273
- (0, import_sanity5.defineField)({
52253
+ (0, import_sanity6.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52254
+ (0, import_sanity6.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52255
+ (0, import_sanity6.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52256
+ (0, import_sanity6.defineField)({
52274
52257
  name: "content",
52275
52258
  title: "Contenido",
52276
52259
  type: "text",
52277
52260
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
52278
52261
  components: { input: TipTapEditor }
52279
52262
  }),
52280
- (0, import_sanity5.defineField)({
52263
+ (0, import_sanity6.defineField)({
52281
52264
  name: "columns",
52282
52265
  title: "Columnas",
52283
52266
  type: "number",
@@ -52291,7 +52274,7 @@ var gallerySection = (0, import_sanity5.defineType)({
52291
52274
  },
52292
52275
  initialValue: 3
52293
52276
  }),
52294
- (0, import_sanity5.defineField)({
52277
+ (0, import_sanity6.defineField)({
52295
52278
  name: "items",
52296
52279
  title: "Im\xE1genes",
52297
52280
  type: "array",
@@ -52299,24 +52282,24 @@ var gallerySection = (0, import_sanity5.defineType)({
52299
52282
  {
52300
52283
  type: "object",
52301
52284
  fields: [
52302
- (0, import_sanity5.defineField)({
52285
+ (0, import_sanity6.defineField)({
52303
52286
  name: "image",
52304
52287
  title: "Imagen",
52305
52288
  type: "image",
52306
52289
  options: { hotspot: true },
52307
52290
  fields: [
52308
- (0, import_sanity5.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
52291
+ (0, import_sanity6.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
52309
52292
  ],
52310
52293
  validation: (r) => r.required()
52311
52294
  }),
52312
- (0, import_sanity5.defineField)({ name: "caption", title: "Leyenda", type: "string" })
52295
+ (0, import_sanity6.defineField)({ name: "caption", title: "Leyenda", type: "string" })
52313
52296
  ],
52314
52297
  preview: { select: { media: "image", title: "caption" } }
52315
52298
  }
52316
52299
  ],
52317
52300
  validation: (r) => r.required().min(1)
52318
52301
  }),
52319
- (0, import_sanity5.defineField)({
52302
+ (0, import_sanity6.defineField)({
52320
52303
  name: "background",
52321
52304
  title: "Fondo",
52322
52305
  type: "string",
@@ -52332,7 +52315,7 @@ var gallerySection = (0, import_sanity5.defineType)({
52332
52315
  ], layout: "radio" },
52333
52316
  initialValue: "default"
52334
52317
  }),
52335
- (0, import_sanity5.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52318
+ (0, import_sanity6.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52336
52319
  ],
52337
52320
  preview: {
52338
52321
  select: { title: "title", subtitle: "variant" },
@@ -52343,13 +52326,14 @@ var gallerySection = (0, import_sanity5.defineType)({
52343
52326
  });
52344
52327
 
52345
52328
  // ../../apps/studio/schemas/sections/kpis.ts
52346
- var import_sanity6 = require("sanity");
52347
- var kpisSection = (0, import_sanity6.defineType)({
52329
+ var import_sanity7 = require("sanity");
52330
+ var kpisSection = (0, import_sanity7.defineType)({
52348
52331
  name: "kpis",
52349
52332
  title: "KPIs / M\xE9tricas",
52350
52333
  type: "object",
52351
52334
  fields: [
52352
- (0, import_sanity6.defineField)({
52335
+ ...sectionMediaFields,
52336
+ (0, import_sanity7.defineField)({
52353
52337
  name: "variant",
52354
52338
  title: "Variante",
52355
52339
  type: "string",
@@ -52365,17 +52349,17 @@ var kpisSection = (0, import_sanity6.defineType)({
52365
52349
  initialValue: "counters",
52366
52350
  validation: (r) => r.required()
52367
52351
  }),
52368
- (0, import_sanity6.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52369
- (0, import_sanity6.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52370
- (0, import_sanity6.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52371
- (0, import_sanity6.defineField)({
52352
+ (0, import_sanity7.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52353
+ (0, import_sanity7.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52354
+ (0, import_sanity7.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52355
+ (0, import_sanity7.defineField)({
52372
52356
  name: "content",
52373
52357
  title: "Contenido",
52374
52358
  type: "text",
52375
52359
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
52376
52360
  components: { input: TipTapEditor }
52377
52361
  }),
52378
- (0, import_sanity6.defineField)({
52362
+ (0, import_sanity7.defineField)({
52379
52363
  name: "items",
52380
52364
  title: "Elementos KPI",
52381
52365
  type: "array",
@@ -52383,11 +52367,11 @@ var kpisSection = (0, import_sanity6.defineType)({
52383
52367
  {
52384
52368
  type: "object",
52385
52369
  fields: [
52386
- (0, import_sanity6.defineField)({ name: "value", title: "Valor (ej: 98, 1.2M)", type: "string", validation: (r) => r.required() }),
52387
- (0, import_sanity6.defineField)({ name: "label", title: "Etiqueta", type: "string", validation: (r) => r.required() }),
52388
- (0, import_sanity6.defineField)({ name: "description", title: "Descripci\xF3n (opcional)", type: "string" }),
52389
- (0, import_sanity6.defineField)({ name: "prefix", title: "Prefijo (ej: $, +)", type: "string" }),
52390
- (0, import_sanity6.defineField)({ name: "suffix", title: "Sufijo (ej: %, K, M)", type: "string" })
52370
+ (0, import_sanity7.defineField)({ name: "value", title: "Valor (ej: 98, 1.2M)", type: "string", validation: (r) => r.required() }),
52371
+ (0, import_sanity7.defineField)({ name: "label", title: "Etiqueta", type: "string", validation: (r) => r.required() }),
52372
+ (0, import_sanity7.defineField)({ name: "description", title: "Descripci\xF3n (opcional)", type: "string" }),
52373
+ (0, import_sanity7.defineField)({ name: "prefix", title: "Prefijo (ej: $, +)", type: "string" }),
52374
+ (0, import_sanity7.defineField)({ name: "suffix", title: "Sufijo (ej: %, K, M)", type: "string" })
52391
52375
  ],
52392
52376
  preview: {
52393
52377
  select: { prefix: "prefix", value: "value", suffix: "suffix", title: "label" },
@@ -52399,7 +52383,7 @@ var kpisSection = (0, import_sanity6.defineType)({
52399
52383
  ],
52400
52384
  validation: (r) => r.required().min(1)
52401
52385
  }),
52402
- (0, import_sanity6.defineField)({
52386
+ (0, import_sanity7.defineField)({
52403
52387
  name: "background",
52404
52388
  title: "Fondo",
52405
52389
  type: "string",
@@ -52415,7 +52399,7 @@ var kpisSection = (0, import_sanity6.defineType)({
52415
52399
  ], layout: "radio" },
52416
52400
  initialValue: "default"
52417
52401
  }),
52418
- (0, import_sanity6.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52402
+ (0, import_sanity7.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52419
52403
  ],
52420
52404
  preview: {
52421
52405
  select: { title: "title", subtitle: "variant" },
@@ -52426,13 +52410,14 @@ var kpisSection = (0, import_sanity6.defineType)({
52426
52410
  });
52427
52411
 
52428
52412
  // ../../apps/studio/schemas/sections/cards.ts
52429
- var import_sanity7 = require("sanity");
52430
- var cardsSection = (0, import_sanity7.defineType)({
52413
+ var import_sanity8 = require("sanity");
52414
+ var cardsSection = (0, import_sanity8.defineType)({
52431
52415
  name: "cards",
52432
52416
  title: "Tarjetas",
52433
52417
  type: "object",
52434
52418
  fields: [
52435
- (0, import_sanity7.defineField)({
52419
+ ...sectionMediaFields,
52420
+ (0, import_sanity8.defineField)({
52436
52421
  name: "variant",
52437
52422
  title: "Variante",
52438
52423
  type: "string",
@@ -52448,17 +52433,17 @@ var cardsSection = (0, import_sanity7.defineType)({
52448
52433
  initialValue: "grid",
52449
52434
  validation: (r) => r.required()
52450
52435
  }),
52451
- (0, import_sanity7.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52452
- (0, import_sanity7.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52453
- (0, import_sanity7.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52454
- (0, import_sanity7.defineField)({
52436
+ (0, import_sanity8.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52437
+ (0, import_sanity8.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52438
+ (0, import_sanity8.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52439
+ (0, import_sanity8.defineField)({
52455
52440
  name: "content",
52456
52441
  title: "Contenido",
52457
52442
  type: "text",
52458
52443
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
52459
52444
  components: { input: TipTapEditor }
52460
52445
  }),
52461
- (0, import_sanity7.defineField)({
52446
+ (0, import_sanity8.defineField)({
52462
52447
  name: "columns",
52463
52448
  title: "Columnas (variante grilla)",
52464
52449
  type: "number",
@@ -52472,7 +52457,7 @@ var cardsSection = (0, import_sanity7.defineType)({
52472
52457
  },
52473
52458
  initialValue: 3
52474
52459
  }),
52475
- (0, import_sanity7.defineField)({
52460
+ (0, import_sanity8.defineField)({
52476
52461
  name: "items",
52477
52462
  title: "Tarjetas",
52478
52463
  type: "array",
@@ -52480,28 +52465,28 @@ var cardsSection = (0, import_sanity7.defineType)({
52480
52465
  {
52481
52466
  type: "object",
52482
52467
  fields: [
52483
- (0, import_sanity7.defineField)({ name: "title", title: "T\xEDtulo", type: "string", validation: (r) => r.required() }),
52484
- (0, import_sanity7.defineField)({ name: "description", title: "Descripci\xF3n", type: "text", rows: 2 }),
52485
- (0, import_sanity7.defineField)({
52468
+ (0, import_sanity8.defineField)({ name: "title", title: "T\xEDtulo", type: "string", validation: (r) => r.required() }),
52469
+ (0, import_sanity8.defineField)({ name: "description", title: "Descripci\xF3n", type: "text", rows: 2 }),
52470
+ (0, import_sanity8.defineField)({
52486
52471
  name: "image",
52487
52472
  title: "Imagen",
52488
52473
  type: "image",
52489
52474
  options: { hotspot: true },
52490
52475
  fields: [
52491
- (0, import_sanity7.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
52476
+ (0, import_sanity8.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
52492
52477
  ]
52493
52478
  }),
52494
- (0, import_sanity7.defineField)({ name: "badge", title: "Badge / Etiqueta", type: "string" }),
52495
- (0, import_sanity7.defineField)({ name: "cta", title: "Bot\xF3n CTA", type: "ctaButton" }),
52496
- (0, import_sanity7.defineField)({ name: "price", title: "Precio (variante precios)", type: "string" }),
52497
- (0, import_sanity7.defineField)({ name: "priceFrequency", title: "Frecuencia de precio (ej: mes)", type: "string" }),
52498
- (0, import_sanity7.defineField)({
52479
+ (0, import_sanity8.defineField)({ name: "badge", title: "Badge / Etiqueta", type: "string" }),
52480
+ (0, import_sanity8.defineField)({ name: "cta", title: "Bot\xF3n CTA", type: "ctaButton" }),
52481
+ (0, import_sanity8.defineField)({ name: "price", title: "Precio (variante precios)", type: "string" }),
52482
+ (0, import_sanity8.defineField)({ name: "priceFrequency", title: "Frecuencia de precio (ej: mes)", type: "string" }),
52483
+ (0, import_sanity8.defineField)({
52499
52484
  name: "features",
52500
52485
  title: "Lista de caracter\xEDsticas (variante precios)",
52501
52486
  type: "array",
52502
52487
  of: [{ type: "string" }]
52503
52488
  }),
52504
- (0, import_sanity7.defineField)({ name: "highlighted", title: "Destacar esta tarjeta (m\xE1s popular)", type: "boolean", initialValue: false })
52489
+ (0, import_sanity8.defineField)({ name: "highlighted", title: "Destacar esta tarjeta (m\xE1s popular)", type: "boolean", initialValue: false })
52505
52490
  ],
52506
52491
  preview: {
52507
52492
  select: { title: "title", subtitle: "description" }
@@ -52510,7 +52495,7 @@ var cardsSection = (0, import_sanity7.defineType)({
52510
52495
  ],
52511
52496
  validation: (r) => r.required().min(1)
52512
52497
  }),
52513
- (0, import_sanity7.defineField)({
52498
+ (0, import_sanity8.defineField)({
52514
52499
  name: "background",
52515
52500
  title: "Fondo",
52516
52501
  type: "string",
@@ -52526,7 +52511,7 @@ var cardsSection = (0, import_sanity7.defineType)({
52526
52511
  ], layout: "radio" },
52527
52512
  initialValue: "default"
52528
52513
  }),
52529
- (0, import_sanity7.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52514
+ (0, import_sanity8.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52530
52515
  ],
52531
52516
  preview: {
52532
52517
  select: { title: "title", subtitle: "variant" },
@@ -52537,13 +52522,14 @@ var cardsSection = (0, import_sanity7.defineType)({
52537
52522
  });
52538
52523
 
52539
52524
  // ../../apps/studio/schemas/sections/scrollable.ts
52540
- var import_sanity8 = require("sanity");
52541
- var scrollableSection = (0, import_sanity8.defineType)({
52525
+ var import_sanity9 = require("sanity");
52526
+ var scrollableSection = (0, import_sanity9.defineType)({
52542
52527
  name: "scrollable",
52543
52528
  title: "Secci\xF3n desplazable",
52544
52529
  type: "object",
52545
52530
  fields: [
52546
- (0, import_sanity8.defineField)({
52531
+ ...sectionMediaFields,
52532
+ (0, import_sanity9.defineField)({
52547
52533
  name: "variant",
52548
52534
  title: "Variante",
52549
52535
  type: "string",
@@ -52559,17 +52545,17 @@ var scrollableSection = (0, import_sanity8.defineType)({
52559
52545
  initialValue: "horizontal",
52560
52546
  validation: (r) => r.required()
52561
52547
  }),
52562
- (0, import_sanity8.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52563
- (0, import_sanity8.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52564
- (0, import_sanity8.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52565
- (0, import_sanity8.defineField)({
52548
+ (0, import_sanity9.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52549
+ (0, import_sanity9.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52550
+ (0, import_sanity9.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52551
+ (0, import_sanity9.defineField)({
52566
52552
  name: "content",
52567
52553
  title: "Contenido",
52568
52554
  type: "text",
52569
52555
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
52570
52556
  components: { input: TipTapEditor }
52571
52557
  }),
52572
- (0, import_sanity8.defineField)({
52558
+ (0, import_sanity9.defineField)({
52573
52559
  name: "speed",
52574
52560
  title: "Velocidad de la marquesina",
52575
52561
  type: "string",
@@ -52584,7 +52570,7 @@ var scrollableSection = (0, import_sanity8.defineType)({
52584
52570
  },
52585
52571
  initialValue: "normal"
52586
52572
  }),
52587
- (0, import_sanity8.defineField)({
52573
+ (0, import_sanity9.defineField)({
52588
52574
  name: "direction",
52589
52575
  title: "Direcci\xF3n de la marquesina",
52590
52576
  type: "string",
@@ -52598,7 +52584,7 @@ var scrollableSection = (0, import_sanity8.defineType)({
52598
52584
  },
52599
52585
  initialValue: "left"
52600
52586
  }),
52601
- (0, import_sanity8.defineField)({
52587
+ (0, import_sanity9.defineField)({
52602
52588
  name: "items",
52603
52589
  title: "Elementos",
52604
52590
  type: "array",
@@ -52606,26 +52592,26 @@ var scrollableSection = (0, import_sanity8.defineType)({
52606
52592
  {
52607
52593
  type: "object",
52608
52594
  fields: [
52609
- (0, import_sanity8.defineField)({ name: "title", title: "T\xEDtulo", type: "string", validation: (r) => r.required() }),
52610
- (0, import_sanity8.defineField)({ name: "description", title: "Descripci\xF3n", type: "text", rows: 2 }),
52611
- (0, import_sanity8.defineField)({
52595
+ (0, import_sanity9.defineField)({ name: "title", title: "T\xEDtulo", type: "string", validation: (r) => r.required() }),
52596
+ (0, import_sanity9.defineField)({ name: "description", title: "Descripci\xF3n", type: "text", rows: 2 }),
52597
+ (0, import_sanity9.defineField)({
52612
52598
  name: "image",
52613
52599
  title: "Imagen",
52614
52600
  type: "image",
52615
52601
  options: { hotspot: true },
52616
52602
  fields: [
52617
- (0, import_sanity8.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
52603
+ (0, import_sanity9.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
52618
52604
  ]
52619
52605
  }),
52620
- (0, import_sanity8.defineField)({ name: "label", title: "Etiqueta / Tag", type: "string" }),
52621
- (0, import_sanity8.defineField)({ name: "date", title: "Fecha (variante l\xEDnea de tiempo)", type: "string" })
52606
+ (0, import_sanity9.defineField)({ name: "label", title: "Etiqueta / Tag", type: "string" }),
52607
+ (0, import_sanity9.defineField)({ name: "date", title: "Fecha (variante l\xEDnea de tiempo)", type: "string" })
52622
52608
  ],
52623
52609
  preview: { select: { title: "title", subtitle: "label" } }
52624
52610
  }
52625
52611
  ],
52626
52612
  validation: (r) => r.required().min(1)
52627
52613
  }),
52628
- (0, import_sanity8.defineField)({
52614
+ (0, import_sanity9.defineField)({
52629
52615
  name: "background",
52630
52616
  title: "Fondo",
52631
52617
  type: "string",
@@ -52641,7 +52627,7 @@ var scrollableSection = (0, import_sanity8.defineType)({
52641
52627
  ], layout: "radio" },
52642
52628
  initialValue: "default"
52643
52629
  }),
52644
- (0, import_sanity8.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52630
+ (0, import_sanity9.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52645
52631
  ],
52646
52632
  preview: {
52647
52633
  select: { title: "title", subtitle: "variant" },
@@ -52652,13 +52638,14 @@ var scrollableSection = (0, import_sanity8.defineType)({
52652
52638
  });
52653
52639
 
52654
52640
  // ../../apps/studio/schemas/sections/tabs-section.ts
52655
- var import_sanity9 = require("sanity");
52656
- var tabsSection = (0, import_sanity9.defineType)({
52641
+ var import_sanity10 = require("sanity");
52642
+ var tabsSection = (0, import_sanity10.defineType)({
52657
52643
  name: "tabsSection",
52658
52644
  title: "Secci\xF3n de pesta\xF1as",
52659
52645
  type: "object",
52660
52646
  fields: [
52661
- (0, import_sanity9.defineField)({
52647
+ ...sectionMediaFields,
52648
+ (0, import_sanity10.defineField)({
52662
52649
  name: "variant",
52663
52650
  title: "Variante",
52664
52651
  type: "string",
@@ -52674,17 +52661,17 @@ var tabsSection = (0, import_sanity9.defineType)({
52674
52661
  initialValue: "standard",
52675
52662
  validation: (r) => r.required()
52676
52663
  }),
52677
- (0, import_sanity9.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52678
- (0, import_sanity9.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52679
- (0, import_sanity9.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52680
- (0, import_sanity9.defineField)({
52664
+ (0, import_sanity10.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52665
+ (0, import_sanity10.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52666
+ (0, import_sanity10.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52667
+ (0, import_sanity10.defineField)({
52681
52668
  name: "content",
52682
52669
  title: "Contenido",
52683
52670
  type: "text",
52684
52671
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
52685
52672
  components: { input: TipTapEditor }
52686
52673
  }),
52687
- (0, import_sanity9.defineField)({
52674
+ (0, import_sanity10.defineField)({
52688
52675
  name: "items",
52689
52676
  title: "Pesta\xF1as",
52690
52677
  type: "array",
@@ -52692,15 +52679,15 @@ var tabsSection = (0, import_sanity9.defineType)({
52692
52679
  {
52693
52680
  type: "object",
52694
52681
  fields: [
52695
- (0, import_sanity9.defineField)({ name: "label", title: "Etiqueta de pesta\xF1a", type: "string", validation: (r) => r.required() }),
52696
- (0, import_sanity9.defineField)({ name: "content", title: "Contenido", type: "text", rows: 4, validation: (r) => r.required() }),
52697
- (0, import_sanity9.defineField)({
52682
+ (0, import_sanity10.defineField)({ name: "label", title: "Etiqueta de pesta\xF1a", type: "string", validation: (r) => r.required() }),
52683
+ (0, import_sanity10.defineField)({ name: "content", title: "Contenido", type: "text", rows: 4, validation: (r) => r.required() }),
52684
+ (0, import_sanity10.defineField)({
52698
52685
  name: "image",
52699
52686
  title: "Imagen",
52700
52687
  type: "image",
52701
52688
  options: { hotspot: true },
52702
52689
  fields: [
52703
- (0, import_sanity9.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
52690
+ (0, import_sanity10.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
52704
52691
  ]
52705
52692
  })
52706
52693
  ],
@@ -52709,7 +52696,7 @@ var tabsSection = (0, import_sanity9.defineType)({
52709
52696
  ],
52710
52697
  validation: (r) => r.required().min(1)
52711
52698
  }),
52712
- (0, import_sanity9.defineField)({
52699
+ (0, import_sanity10.defineField)({
52713
52700
  name: "background",
52714
52701
  title: "Fondo",
52715
52702
  type: "string",
@@ -52725,7 +52712,7 @@ var tabsSection = (0, import_sanity9.defineType)({
52725
52712
  ], layout: "radio" },
52726
52713
  initialValue: "default"
52727
52714
  }),
52728
- (0, import_sanity9.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52715
+ (0, import_sanity10.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52729
52716
  ],
52730
52717
  preview: {
52731
52718
  select: { title: "title", subtitle: "variant" },
@@ -52736,13 +52723,14 @@ var tabsSection = (0, import_sanity9.defineType)({
52736
52723
  });
52737
52724
 
52738
52725
  // ../../apps/studio/schemas/sections/testimonials.ts
52739
- var import_sanity10 = require("sanity");
52740
- var testimonialsSection = (0, import_sanity10.defineType)({
52726
+ var import_sanity11 = require("sanity");
52727
+ var testimonialsSection = (0, import_sanity11.defineType)({
52741
52728
  name: "testimonials",
52742
52729
  title: "Testimonios",
52743
52730
  type: "object",
52744
52731
  fields: [
52745
- (0, import_sanity10.defineField)({
52732
+ ...sectionMediaFields,
52733
+ (0, import_sanity11.defineField)({
52746
52734
  name: "variant",
52747
52735
  title: "Variante",
52748
52736
  type: "string",
@@ -52757,17 +52745,17 @@ var testimonialsSection = (0, import_sanity10.defineType)({
52757
52745
  initialValue: "grid",
52758
52746
  validation: (r) => r.required()
52759
52747
  }),
52760
- (0, import_sanity10.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52761
- (0, import_sanity10.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52762
- (0, import_sanity10.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52763
- (0, import_sanity10.defineField)({
52748
+ (0, import_sanity11.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52749
+ (0, import_sanity11.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52750
+ (0, import_sanity11.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52751
+ (0, import_sanity11.defineField)({
52764
52752
  name: "content",
52765
52753
  title: "Contenido",
52766
52754
  type: "text",
52767
52755
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
52768
52756
  components: { input: TipTapEditor }
52769
52757
  }),
52770
- (0, import_sanity10.defineField)({
52758
+ (0, import_sanity11.defineField)({
52771
52759
  name: "items",
52772
52760
  title: "Testimonios",
52773
52761
  type: "array",
@@ -52775,18 +52763,18 @@ var testimonialsSection = (0, import_sanity10.defineType)({
52775
52763
  {
52776
52764
  type: "object",
52777
52765
  fields: [
52778
- (0, import_sanity10.defineField)({ name: "quote", title: "Cita", type: "text", rows: 3, validation: (r) => r.required() }),
52779
- (0, import_sanity10.defineField)({ name: "author", title: "Nombre del autor", type: "string", validation: (r) => r.required() }),
52780
- (0, import_sanity10.defineField)({ name: "role", title: "Rol / T\xEDtulo", type: "string" }),
52781
- (0, import_sanity10.defineField)({ name: "company", title: "Empresa", type: "string" }),
52782
- (0, import_sanity10.defineField)({
52766
+ (0, import_sanity11.defineField)({ name: "quote", title: "Cita", type: "text", rows: 3, validation: (r) => r.required() }),
52767
+ (0, import_sanity11.defineField)({ name: "author", title: "Nombre del autor", type: "string", validation: (r) => r.required() }),
52768
+ (0, import_sanity11.defineField)({ name: "role", title: "Rol / T\xEDtulo", type: "string" }),
52769
+ (0, import_sanity11.defineField)({ name: "company", title: "Empresa", type: "string" }),
52770
+ (0, import_sanity11.defineField)({
52783
52771
  name: "avatar",
52784
52772
  title: "Avatar",
52785
52773
  type: "image",
52786
52774
  options: { hotspot: true },
52787
- fields: [(0, import_sanity10.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
52775
+ fields: [(0, import_sanity11.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
52788
52776
  }),
52789
- (0, import_sanity10.defineField)({
52777
+ (0, import_sanity11.defineField)({
52790
52778
  name: "rating",
52791
52779
  title: "Puntuaci\xF3n (1\u20135)",
52792
52780
  type: "number",
@@ -52809,7 +52797,7 @@ var testimonialsSection = (0, import_sanity10.defineType)({
52809
52797
  ],
52810
52798
  validation: (r) => r.required().min(1)
52811
52799
  }),
52812
- (0, import_sanity10.defineField)({
52800
+ (0, import_sanity11.defineField)({
52813
52801
  name: "background",
52814
52802
  title: "Fondo",
52815
52803
  type: "string",
@@ -52825,7 +52813,7 @@ var testimonialsSection = (0, import_sanity10.defineType)({
52825
52813
  ], layout: "radio" },
52826
52814
  initialValue: "default"
52827
52815
  }),
52828
- (0, import_sanity10.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52816
+ (0, import_sanity11.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52829
52817
  ],
52830
52818
  preview: {
52831
52819
  select: { title: "title", subtitle: "variant" },
@@ -52836,13 +52824,14 @@ var testimonialsSection = (0, import_sanity10.defineType)({
52836
52824
  });
52837
52825
 
52838
52826
  // ../../apps/studio/schemas/sections/logos.ts
52839
- var import_sanity11 = require("sanity");
52840
- var logosSection = (0, import_sanity11.defineType)({
52827
+ var import_sanity12 = require("sanity");
52828
+ var logosSection = (0, import_sanity12.defineType)({
52841
52829
  name: "logos",
52842
52830
  title: "Logos / Socios",
52843
52831
  type: "object",
52844
52832
  fields: [
52845
- (0, import_sanity11.defineField)({
52833
+ ...sectionMediaFields,
52834
+ (0, import_sanity12.defineField)({
52846
52835
  name: "variant",
52847
52836
  title: "Variante",
52848
52837
  type: "string",
@@ -52857,17 +52846,17 @@ var logosSection = (0, import_sanity11.defineType)({
52857
52846
  initialValue: "grid",
52858
52847
  validation: (r) => r.required()
52859
52848
  }),
52860
- (0, import_sanity11.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52861
- (0, import_sanity11.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52862
- (0, import_sanity11.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52863
- (0, import_sanity11.defineField)({
52849
+ (0, import_sanity12.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52850
+ (0, import_sanity12.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
52851
+ (0, import_sanity12.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
52852
+ (0, import_sanity12.defineField)({
52864
52853
  name: "content",
52865
52854
  title: "Contenido",
52866
52855
  type: "text",
52867
52856
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
52868
52857
  components: { input: TipTapEditor }
52869
52858
  }),
52870
- (0, import_sanity11.defineField)({
52859
+ (0, import_sanity12.defineField)({
52871
52860
  name: "items",
52872
52861
  title: "Logos",
52873
52862
  type: "array",
@@ -52875,16 +52864,16 @@ var logosSection = (0, import_sanity11.defineType)({
52875
52864
  {
52876
52865
  type: "object",
52877
52866
  fields: [
52878
- (0, import_sanity11.defineField)({
52867
+ (0, import_sanity12.defineField)({
52879
52868
  name: "image",
52880
52869
  title: "Imagen del logo",
52881
52870
  type: "image",
52882
52871
  options: { hotspot: true },
52883
- fields: [(0, import_sanity11.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })],
52872
+ fields: [(0, import_sanity12.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })],
52884
52873
  validation: (r) => r.required()
52885
52874
  }),
52886
- (0, import_sanity11.defineField)({ name: "name", title: "Nombre de la empresa", type: "string", validation: (r) => r.required() }),
52887
- (0, import_sanity11.defineField)({ name: "href", title: "URL del enlace", type: "url" })
52875
+ (0, import_sanity12.defineField)({ name: "name", title: "Nombre de la empresa", type: "string", validation: (r) => r.required() }),
52876
+ (0, import_sanity12.defineField)({ name: "href", title: "URL del enlace", type: "url" })
52888
52877
  ],
52889
52878
  preview: {
52890
52879
  select: { title: "name", media: "image" }
@@ -52893,7 +52882,7 @@ var logosSection = (0, import_sanity11.defineType)({
52893
52882
  ],
52894
52883
  validation: (r) => r.required().min(1)
52895
52884
  }),
52896
- (0, import_sanity11.defineField)({
52885
+ (0, import_sanity12.defineField)({
52897
52886
  name: "background",
52898
52887
  title: "Fondo",
52899
52888
  type: "string",
@@ -52909,7 +52898,7 @@ var logosSection = (0, import_sanity11.defineType)({
52909
52898
  ], layout: "radio" },
52910
52899
  initialValue: "default"
52911
52900
  }),
52912
- (0, import_sanity11.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52901
+ (0, import_sanity12.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52913
52902
  ],
52914
52903
  preview: {
52915
52904
  select: { title: "title", subtitle: "variant" },
@@ -52920,13 +52909,14 @@ var logosSection = (0, import_sanity11.defineType)({
52920
52909
  });
52921
52910
 
52922
52911
  // ../../apps/studio/schemas/sections/cta.ts
52923
- var import_sanity12 = require("sanity");
52924
- var ctaSection = (0, import_sanity12.defineType)({
52912
+ var import_sanity13 = require("sanity");
52913
+ var ctaSection = (0, import_sanity13.defineType)({
52925
52914
  name: "cta",
52926
52915
  title: "CTA",
52927
52916
  type: "object",
52928
52917
  fields: [
52929
- (0, import_sanity12.defineField)({
52918
+ ...sectionMediaFields,
52919
+ (0, import_sanity13.defineField)({
52930
52920
  name: "variant",
52931
52921
  title: "Variante",
52932
52922
  type: "string",
@@ -52941,28 +52931,28 @@ var ctaSection = (0, import_sanity12.defineType)({
52941
52931
  initialValue: "centered",
52942
52932
  validation: (r) => r.required()
52943
52933
  }),
52944
- (0, import_sanity12.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52945
- (0, import_sanity12.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n (arriba)", type: "string" }),
52946
- (0, import_sanity12.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n (arriba)", type: "text", rows: 2 }),
52947
- (0, import_sanity12.defineField)({
52934
+ (0, import_sanity13.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
52935
+ (0, import_sanity13.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n (arriba)", type: "string" }),
52936
+ (0, import_sanity13.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n (arriba)", type: "text", rows: 2 }),
52937
+ (0, import_sanity13.defineField)({
52948
52938
  name: "content",
52949
52939
  title: "Contenido",
52950
52940
  type: "text",
52951
52941
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
52952
52942
  components: { input: TipTapEditor }
52953
52943
  }),
52954
- (0, import_sanity12.defineField)({ name: "heading", title: "Titular del CTA", type: "string", validation: (r) => r.required() }),
52955
- (0, import_sanity12.defineField)({ name: "description", title: "Descripci\xF3n del CTA", type: "text", rows: 2 }),
52956
- (0, import_sanity12.defineField)({ name: "primaryCTA", title: "Bot\xF3n primario", type: "ctaButton" }),
52957
- (0, import_sanity12.defineField)({ name: "secondaryCTA", title: "Bot\xF3n secundario", type: "ctaButton" }),
52958
- (0, import_sanity12.defineField)({
52944
+ (0, import_sanity13.defineField)({ name: "heading", title: "Titular del CTA", type: "string", validation: (r) => r.required() }),
52945
+ (0, import_sanity13.defineField)({ name: "description", title: "Descripci\xF3n del CTA", type: "text", rows: 2 }),
52946
+ (0, import_sanity13.defineField)({ name: "primaryCTA", title: "Bot\xF3n primario", type: "ctaButton" }),
52947
+ (0, import_sanity13.defineField)({ name: "secondaryCTA", title: "Bot\xF3n secundario", type: "ctaButton" }),
52948
+ (0, import_sanity13.defineField)({
52959
52949
  name: "image",
52960
52950
  title: "Imagen (variante dividida)",
52961
52951
  type: "image",
52962
52952
  options: { hotspot: true },
52963
- fields: [(0, import_sanity12.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
52953
+ fields: [(0, import_sanity13.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
52964
52954
  }),
52965
- (0, import_sanity12.defineField)({
52955
+ (0, import_sanity13.defineField)({
52966
52956
  name: "background",
52967
52957
  title: "Fondo",
52968
52958
  type: "string",
@@ -52978,7 +52968,7 @@ var ctaSection = (0, import_sanity12.defineType)({
52978
52968
  ], layout: "radio" },
52979
52969
  initialValue: "default"
52980
52970
  }),
52981
- (0, import_sanity12.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52971
+ (0, import_sanity13.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
52982
52972
  ],
52983
52973
  preview: {
52984
52974
  select: { title: "heading", subtitle: "variant" },
@@ -52989,13 +52979,14 @@ var ctaSection = (0, import_sanity12.defineType)({
52989
52979
  });
52990
52980
 
52991
52981
  // ../../apps/studio/schemas/sections/features.ts
52992
- var import_sanity13 = require("sanity");
52993
- var featuresSection = (0, import_sanity13.defineType)({
52982
+ var import_sanity14 = require("sanity");
52983
+ var featuresSection = (0, import_sanity14.defineType)({
52994
52984
  name: "features",
52995
52985
  title: "Caracter\xEDsticas",
52996
52986
  type: "object",
52997
52987
  fields: [
52998
- (0, import_sanity13.defineField)({
52988
+ ...sectionMediaFields,
52989
+ (0, import_sanity14.defineField)({
52999
52990
  name: "variant",
53000
52991
  title: "Variante",
53001
52992
  type: "string",
@@ -53010,17 +53001,17 @@ var featuresSection = (0, import_sanity13.defineType)({
53010
53001
  initialValue: "grid",
53011
53002
  validation: (r) => r.required()
53012
53003
  }),
53013
- (0, import_sanity13.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53014
- (0, import_sanity13.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53015
- (0, import_sanity13.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53016
- (0, import_sanity13.defineField)({
53004
+ (0, import_sanity14.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53005
+ (0, import_sanity14.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53006
+ (0, import_sanity14.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53007
+ (0, import_sanity14.defineField)({
53017
53008
  name: "content",
53018
53009
  title: "Contenido",
53019
53010
  type: "text",
53020
53011
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
53021
53012
  components: { input: TipTapEditor }
53022
53013
  }),
53023
- (0, import_sanity13.defineField)({
53014
+ (0, import_sanity14.defineField)({
53024
53015
  name: "columns",
53025
53016
  title: "Columnas (variante grilla)",
53026
53017
  type: "number",
@@ -53034,7 +53025,7 @@ var featuresSection = (0, import_sanity13.defineType)({
53034
53025
  },
53035
53026
  initialValue: 3
53036
53027
  }),
53037
- (0, import_sanity13.defineField)({
53028
+ (0, import_sanity14.defineField)({
53038
53029
  name: "items",
53039
53030
  title: "Caracter\xEDsticas",
53040
53031
  type: "array",
@@ -53042,16 +53033,16 @@ var featuresSection = (0, import_sanity13.defineType)({
53042
53033
  {
53043
53034
  type: "object",
53044
53035
  fields: [
53045
- (0, import_sanity13.defineField)({ name: "title", title: "T\xEDtulo", type: "string", validation: (r) => r.required() }),
53046
- (0, import_sanity13.defineField)({ name: "description", title: "Descripci\xF3n", type: "text", rows: 2 }),
53047
- (0, import_sanity13.defineField)({ name: "icon", title: "\xCDcono (nombre de Lucide, ej: Zap)", type: "string" }),
53048
- (0, import_sanity13.defineField)({ name: "badge", title: "Badge / Etiqueta", type: "string" }),
53049
- (0, import_sanity13.defineField)({
53036
+ (0, import_sanity14.defineField)({ name: "title", title: "T\xEDtulo", type: "string", validation: (r) => r.required() }),
53037
+ (0, import_sanity14.defineField)({ name: "description", title: "Descripci\xF3n", type: "text", rows: 2 }),
53038
+ (0, import_sanity14.defineField)({ name: "icon", title: "\xCDcono (nombre de Lucide, ej: Zap)", type: "string" }),
53039
+ (0, import_sanity14.defineField)({ name: "badge", title: "Badge / Etiqueta", type: "string" }),
53040
+ (0, import_sanity14.defineField)({
53050
53041
  name: "image",
53051
53042
  title: "Imagen",
53052
53043
  type: "image",
53053
53044
  options: { hotspot: true },
53054
- fields: [(0, import_sanity13.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
53045
+ fields: [(0, import_sanity14.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
53055
53046
  })
53056
53047
  ],
53057
53048
  preview: {
@@ -53061,7 +53052,7 @@ var featuresSection = (0, import_sanity13.defineType)({
53061
53052
  ],
53062
53053
  validation: (r) => r.required().min(1)
53063
53054
  }),
53064
- (0, import_sanity13.defineField)({
53055
+ (0, import_sanity14.defineField)({
53065
53056
  name: "background",
53066
53057
  title: "Fondo",
53067
53058
  type: "string",
@@ -53077,7 +53068,7 @@ var featuresSection = (0, import_sanity13.defineType)({
53077
53068
  ], layout: "radio" },
53078
53069
  initialValue: "default"
53079
53070
  }),
53080
- (0, import_sanity13.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53071
+ (0, import_sanity14.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53081
53072
  ],
53082
53073
  preview: {
53083
53074
  select: { title: "title", subtitle: "variant" },
@@ -53088,13 +53079,14 @@ var featuresSection = (0, import_sanity13.defineType)({
53088
53079
  });
53089
53080
 
53090
53081
  // ../../apps/studio/schemas/sections/steps.ts
53091
- var import_sanity14 = require("sanity");
53092
- var stepsSection = (0, import_sanity14.defineType)({
53082
+ var import_sanity15 = require("sanity");
53083
+ var stepsSection = (0, import_sanity15.defineType)({
53093
53084
  name: "steps",
53094
53085
  title: "Pasos",
53095
53086
  type: "object",
53096
53087
  fields: [
53097
- (0, import_sanity14.defineField)({
53088
+ ...sectionMediaFields,
53089
+ (0, import_sanity15.defineField)({
53098
53090
  name: "variant",
53099
53091
  title: "Variante",
53100
53092
  type: "string",
@@ -53109,17 +53101,17 @@ var stepsSection = (0, import_sanity14.defineType)({
53109
53101
  initialValue: "numbered",
53110
53102
  validation: (r) => r.required()
53111
53103
  }),
53112
- (0, import_sanity14.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53113
- (0, import_sanity14.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53114
- (0, import_sanity14.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53115
- (0, import_sanity14.defineField)({
53104
+ (0, import_sanity15.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53105
+ (0, import_sanity15.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53106
+ (0, import_sanity15.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53107
+ (0, import_sanity15.defineField)({
53116
53108
  name: "content",
53117
53109
  title: "Contenido",
53118
53110
  type: "text",
53119
53111
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
53120
53112
  components: { input: TipTapEditor }
53121
53113
  }),
53122
- (0, import_sanity14.defineField)({
53114
+ (0, import_sanity15.defineField)({
53123
53115
  name: "items",
53124
53116
  title: "Pasos",
53125
53117
  type: "array",
@@ -53127,15 +53119,15 @@ var stepsSection = (0, import_sanity14.defineType)({
53127
53119
  {
53128
53120
  type: "object",
53129
53121
  fields: [
53130
- (0, import_sanity14.defineField)({ name: "title", title: "T\xEDtulo del paso", type: "string", validation: (r) => r.required() }),
53131
- (0, import_sanity14.defineField)({ name: "description", title: "Descripci\xF3n", type: "text", rows: 2 }),
53132
- (0, import_sanity14.defineField)({ name: "icon", title: "\xCDcono (nombre de Lucide)", type: "string" }),
53133
- (0, import_sanity14.defineField)({
53122
+ (0, import_sanity15.defineField)({ name: "title", title: "T\xEDtulo del paso", type: "string", validation: (r) => r.required() }),
53123
+ (0, import_sanity15.defineField)({ name: "description", title: "Descripci\xF3n", type: "text", rows: 2 }),
53124
+ (0, import_sanity15.defineField)({ name: "icon", title: "\xCDcono (nombre de Lucide)", type: "string" }),
53125
+ (0, import_sanity15.defineField)({
53134
53126
  name: "image",
53135
53127
  title: "Imagen",
53136
53128
  type: "image",
53137
53129
  options: { hotspot: true },
53138
- fields: [(0, import_sanity14.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
53130
+ fields: [(0, import_sanity15.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
53139
53131
  })
53140
53132
  ],
53141
53133
  preview: {
@@ -53145,7 +53137,7 @@ var stepsSection = (0, import_sanity14.defineType)({
53145
53137
  ],
53146
53138
  validation: (r) => r.required().min(1)
53147
53139
  }),
53148
- (0, import_sanity14.defineField)({
53140
+ (0, import_sanity15.defineField)({
53149
53141
  name: "background",
53150
53142
  title: "Fondo",
53151
53143
  type: "string",
@@ -53161,7 +53153,7 @@ var stepsSection = (0, import_sanity14.defineType)({
53161
53153
  ], layout: "radio" },
53162
53154
  initialValue: "default"
53163
53155
  }),
53164
- (0, import_sanity14.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53156
+ (0, import_sanity15.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53165
53157
  ],
53166
53158
  preview: {
53167
53159
  select: { title: "title", subtitle: "variant" },
@@ -53172,13 +53164,14 @@ var stepsSection = (0, import_sanity14.defineType)({
53172
53164
  });
53173
53165
 
53174
53166
  // ../../apps/studio/schemas/sections/team.ts
53175
- var import_sanity15 = require("sanity");
53176
- var teamSection = (0, import_sanity15.defineType)({
53167
+ var import_sanity16 = require("sanity");
53168
+ var teamSection = (0, import_sanity16.defineType)({
53177
53169
  name: "team",
53178
53170
  title: "Equipo",
53179
53171
  type: "object",
53180
53172
  fields: [
53181
- (0, import_sanity15.defineField)({
53173
+ ...sectionMediaFields,
53174
+ (0, import_sanity16.defineField)({
53182
53175
  name: "variant",
53183
53176
  title: "Variante",
53184
53177
  type: "string",
@@ -53193,17 +53186,17 @@ var teamSection = (0, import_sanity15.defineType)({
53193
53186
  initialValue: "grid",
53194
53187
  validation: (r) => r.required()
53195
53188
  }),
53196
- (0, import_sanity15.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53197
- (0, import_sanity15.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53198
- (0, import_sanity15.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53199
- (0, import_sanity15.defineField)({
53189
+ (0, import_sanity16.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53190
+ (0, import_sanity16.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53191
+ (0, import_sanity16.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53192
+ (0, import_sanity16.defineField)({
53200
53193
  name: "content",
53201
53194
  title: "Contenido",
53202
53195
  type: "text",
53203
53196
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
53204
53197
  components: { input: TipTapEditor }
53205
53198
  }),
53206
- (0, import_sanity15.defineField)({
53199
+ (0, import_sanity16.defineField)({
53207
53200
  name: "columns",
53208
53201
  title: "Columnas (variante grilla)",
53209
53202
  type: "number",
@@ -53217,7 +53210,7 @@ var teamSection = (0, import_sanity15.defineType)({
53217
53210
  },
53218
53211
  initialValue: 3
53219
53212
  }),
53220
- (0, import_sanity15.defineField)({
53213
+ (0, import_sanity16.defineField)({
53221
53214
  name: "items",
53222
53215
  title: "Miembros del equipo",
53223
53216
  type: "array",
@@ -53225,18 +53218,18 @@ var teamSection = (0, import_sanity15.defineType)({
53225
53218
  {
53226
53219
  type: "object",
53227
53220
  fields: [
53228
- (0, import_sanity15.defineField)({ name: "name", title: "Nombre", type: "string", validation: (r) => r.required() }),
53229
- (0, import_sanity15.defineField)({ name: "role", title: "Rol / T\xEDtulo", type: "string" }),
53230
- (0, import_sanity15.defineField)({ name: "bio", title: "Biograf\xEDa", type: "text", rows: 3 }),
53231
- (0, import_sanity15.defineField)({
53221
+ (0, import_sanity16.defineField)({ name: "name", title: "Nombre", type: "string", validation: (r) => r.required() }),
53222
+ (0, import_sanity16.defineField)({ name: "role", title: "Rol / T\xEDtulo", type: "string" }),
53223
+ (0, import_sanity16.defineField)({ name: "bio", title: "Biograf\xEDa", type: "text", rows: 3 }),
53224
+ (0, import_sanity16.defineField)({
53232
53225
  name: "avatar",
53233
53226
  title: "Avatar",
53234
53227
  type: "image",
53235
53228
  options: { hotspot: true },
53236
- fields: [(0, import_sanity15.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
53229
+ fields: [(0, import_sanity16.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
53237
53230
  }),
53238
- (0, import_sanity15.defineField)({ name: "twitter", title: "URL de Twitter / X", type: "url" }),
53239
- (0, import_sanity15.defineField)({ name: "linkedin", title: "URL de LinkedIn", type: "url" })
53231
+ (0, import_sanity16.defineField)({ name: "twitter", title: "URL de Twitter / X", type: "url" }),
53232
+ (0, import_sanity16.defineField)({ name: "linkedin", title: "URL de LinkedIn", type: "url" })
53240
53233
  ],
53241
53234
  preview: {
53242
53235
  select: { title: "name", subtitle: "role", media: "avatar" }
@@ -53245,7 +53238,7 @@ var teamSection = (0, import_sanity15.defineType)({
53245
53238
  ],
53246
53239
  validation: (r) => r.required().min(1)
53247
53240
  }),
53248
- (0, import_sanity15.defineField)({
53241
+ (0, import_sanity16.defineField)({
53249
53242
  name: "background",
53250
53243
  title: "Fondo",
53251
53244
  type: "string",
@@ -53261,7 +53254,7 @@ var teamSection = (0, import_sanity15.defineType)({
53261
53254
  ], layout: "radio" },
53262
53255
  initialValue: "default"
53263
53256
  }),
53264
- (0, import_sanity15.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53257
+ (0, import_sanity16.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53265
53258
  ],
53266
53259
  preview: {
53267
53260
  select: { title: "title", subtitle: "variant" },
@@ -53272,13 +53265,14 @@ var teamSection = (0, import_sanity15.defineType)({
53272
53265
  });
53273
53266
 
53274
53267
  // ../../apps/studio/schemas/sections/contact.ts
53275
- var import_sanity16 = require("sanity");
53276
- var contactSection = (0, import_sanity16.defineType)({
53268
+ var import_sanity17 = require("sanity");
53269
+ var contactSection = (0, import_sanity17.defineType)({
53277
53270
  name: "contact",
53278
53271
  title: "Contacto",
53279
53272
  type: "object",
53280
53273
  fields: [
53281
- (0, import_sanity16.defineField)({
53274
+ ...sectionMediaFields,
53275
+ (0, import_sanity17.defineField)({
53282
53276
  name: "variant",
53283
53277
  title: "Variante",
53284
53278
  type: "string",
@@ -53292,36 +53286,36 @@ var contactSection = (0, import_sanity16.defineType)({
53292
53286
  initialValue: "simple",
53293
53287
  validation: (r) => r.required()
53294
53288
  }),
53295
- (0, import_sanity16.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53296
- (0, import_sanity16.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53297
- (0, import_sanity16.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53298
- (0, import_sanity16.defineField)({
53289
+ (0, import_sanity17.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53290
+ (0, import_sanity17.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53291
+ (0, import_sanity17.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53292
+ (0, import_sanity17.defineField)({
53299
53293
  name: "content",
53300
53294
  title: "Contenido",
53301
53295
  type: "text",
53302
53296
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
53303
53297
  components: { input: TipTapEditor }
53304
53298
  }),
53305
- (0, import_sanity16.defineField)({
53299
+ (0, import_sanity17.defineField)({
53306
53300
  name: "details",
53307
53301
  title: "Datos de contacto",
53308
53302
  type: "object",
53309
53303
  fields: [
53310
- (0, import_sanity16.defineField)({ name: "email", title: "Correo electr\xF3nico", type: "string" }),
53311
- (0, import_sanity16.defineField)({ name: "phone", title: "N\xFAmero de tel\xE9fono", type: "string" }),
53312
- (0, import_sanity16.defineField)({ name: "address", title: "Direcci\xF3n", type: "text", rows: 2 }),
53313
- (0, import_sanity16.defineField)({ name: "hours", title: "Horario de atenci\xF3n", type: "string" })
53304
+ (0, import_sanity17.defineField)({ name: "email", title: "Correo electr\xF3nico", type: "string" }),
53305
+ (0, import_sanity17.defineField)({ name: "phone", title: "N\xFAmero de tel\xE9fono", type: "string" }),
53306
+ (0, import_sanity17.defineField)({ name: "address", title: "Direcci\xF3n", type: "text", rows: 2 }),
53307
+ (0, import_sanity17.defineField)({ name: "hours", title: "Horario de atenci\xF3n", type: "string" })
53314
53308
  ]
53315
53309
  }),
53316
- (0, import_sanity16.defineField)({ name: "cta", title: "Bot\xF3n CTA", type: "ctaButton" }),
53317
- (0, import_sanity16.defineField)({
53310
+ (0, import_sanity17.defineField)({ name: "cta", title: "Bot\xF3n CTA", type: "ctaButton" }),
53311
+ (0, import_sanity17.defineField)({
53318
53312
  name: "image",
53319
53313
  title: "Imagen (variante dividida)",
53320
53314
  type: "image",
53321
53315
  options: { hotspot: true },
53322
- fields: [(0, import_sanity16.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
53316
+ fields: [(0, import_sanity17.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
53323
53317
  }),
53324
- (0, import_sanity16.defineField)({
53318
+ (0, import_sanity17.defineField)({
53325
53319
  name: "background",
53326
53320
  title: "Fondo",
53327
53321
  type: "string",
@@ -53337,7 +53331,7 @@ var contactSection = (0, import_sanity16.defineType)({
53337
53331
  ], layout: "radio" },
53338
53332
  initialValue: "default"
53339
53333
  }),
53340
- (0, import_sanity16.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53334
+ (0, import_sanity17.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53341
53335
  ],
53342
53336
  preview: {
53343
53337
  select: { title: "title", subtitle: "variant" },
@@ -53348,13 +53342,14 @@ var contactSection = (0, import_sanity16.defineType)({
53348
53342
  });
53349
53343
 
53350
53344
  // ../../apps/studio/schemas/sections/banner.ts
53351
- var import_sanity17 = require("sanity");
53352
- var bannerSection = (0, import_sanity17.defineType)({
53345
+ var import_sanity18 = require("sanity");
53346
+ var bannerSection = (0, import_sanity18.defineType)({
53353
53347
  name: "banner",
53354
53348
  title: "Banner",
53355
53349
  type: "object",
53356
53350
  fields: [
53357
- (0, import_sanity17.defineField)({
53351
+ ...sectionMediaFields,
53352
+ (0, import_sanity18.defineField)({
53358
53353
  name: "variant",
53359
53354
  title: "Variante",
53360
53355
  type: "string",
@@ -53368,17 +53363,17 @@ var bannerSection = (0, import_sanity17.defineType)({
53368
53363
  initialValue: "simple",
53369
53364
  validation: (r) => r.required()
53370
53365
  }),
53371
- (0, import_sanity17.defineField)({ name: "badge", title: "Chip de badge", type: "string" }),
53372
- (0, import_sanity17.defineField)({ name: "message", title: "Mensaje", type: "string", validation: (r) => r.required() }),
53373
- (0, import_sanity17.defineField)({
53366
+ (0, import_sanity18.defineField)({ name: "badge", title: "Chip de badge", type: "string" }),
53367
+ (0, import_sanity18.defineField)({ name: "message", title: "Mensaje", type: "string", validation: (r) => r.required() }),
53368
+ (0, import_sanity18.defineField)({
53374
53369
  name: "content",
53375
53370
  title: "Contenido adicional",
53376
53371
  type: "text",
53377
53372
  description: "Texto enriquecido opcional para mostrar junto al banner.",
53378
53373
  components: { input: TipTapEditor }
53379
53374
  }),
53380
- (0, import_sanity17.defineField)({ name: "cta", title: "Bot\xF3n CTA", type: "ctaButton" }),
53381
- (0, import_sanity17.defineField)({
53375
+ (0, import_sanity18.defineField)({ name: "cta", title: "Bot\xF3n CTA", type: "ctaButton" }),
53376
+ (0, import_sanity18.defineField)({
53382
53377
  name: "background",
53383
53378
  title: "Fondo",
53384
53379
  type: "string",
@@ -53394,7 +53389,7 @@ var bannerSection = (0, import_sanity17.defineType)({
53394
53389
  ], layout: "radio" },
53395
53390
  initialValue: "default"
53396
53391
  }),
53397
- (0, import_sanity17.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53392
+ (0, import_sanity18.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53398
53393
  ],
53399
53394
  preview: {
53400
53395
  select: { title: "message", subtitle: "variant" },
@@ -53405,13 +53400,14 @@ var bannerSection = (0, import_sanity17.defineType)({
53405
53400
  });
53406
53401
 
53407
53402
  // ../../apps/studio/schemas/sections/maps.ts
53408
- var import_sanity18 = require("sanity");
53409
- var mapsSection = (0, import_sanity18.defineType)({
53403
+ var import_sanity19 = require("sanity");
53404
+ var mapsSection = (0, import_sanity19.defineType)({
53410
53405
  name: "maps",
53411
53406
  title: "Mapa",
53412
53407
  type: "object",
53413
53408
  fields: [
53414
- (0, import_sanity18.defineField)({
53409
+ ...sectionMediaFields,
53410
+ (0, import_sanity19.defineField)({
53415
53411
  name: "variant",
53416
53412
  title: "Variante",
53417
53413
  type: "string",
@@ -53426,7 +53422,7 @@ var mapsSection = (0, import_sanity18.defineType)({
53426
53422
  initialValue: "pins",
53427
53423
  validation: (r) => r.required()
53428
53424
  }),
53429
- (0, import_sanity18.defineField)({
53425
+ (0, import_sanity19.defineField)({
53430
53426
  name: "mapStyle",
53431
53427
  title: "Estilo del mapa",
53432
53428
  type: "string",
@@ -53444,17 +53440,17 @@ var mapsSection = (0, import_sanity18.defineType)({
53444
53440
  },
53445
53441
  initialValue: "standard"
53446
53442
  }),
53447
- (0, import_sanity18.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53448
- (0, import_sanity18.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53449
- (0, import_sanity18.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53450
- (0, import_sanity18.defineField)({
53443
+ (0, import_sanity19.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53444
+ (0, import_sanity19.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53445
+ (0, import_sanity19.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53446
+ (0, import_sanity19.defineField)({
53451
53447
  name: "content",
53452
53448
  title: "Contenido",
53453
53449
  type: "text",
53454
53450
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
53455
53451
  components: { input: TipTapEditor }
53456
53452
  }),
53457
- (0, import_sanity18.defineField)({
53453
+ (0, import_sanity19.defineField)({
53458
53454
  name: "embedUrl",
53459
53455
  title: "URL de incrustaci\xF3n de Google Maps",
53460
53456
  type: "string",
@@ -53465,7 +53461,7 @@ var mapsSection = (0, import_sanity18.defineType)({
53465
53461
  return "Debe ser una URL de incrustaci\xF3n de Google Maps que empiece con https://www.google.com/maps/embed";
53466
53462
  })
53467
53463
  }),
53468
- (0, import_sanity18.defineField)({
53464
+ (0, import_sanity19.defineField)({
53469
53465
  name: "locations",
53470
53466
  title: "Ubicaciones",
53471
53467
  type: "array",
@@ -53473,18 +53469,18 @@ var mapsSection = (0, import_sanity18.defineType)({
53473
53469
  {
53474
53470
  type: "object",
53475
53471
  fields: [
53476
- (0, import_sanity18.defineField)({ name: "name", title: "Nombre", type: "string", validation: (r) => r.required() }),
53477
- (0, import_sanity18.defineField)({ name: "address", title: "Direcci\xF3n", type: "string" }),
53478
- (0, import_sanity18.defineField)({ name: "phone", title: "Tel\xE9fono", type: "string" }),
53479
- (0, import_sanity18.defineField)({ name: "hours", title: "Horario", type: "string" }),
53480
- (0, import_sanity18.defineField)({ name: "description", title: "Descripci\xF3n", type: "text", rows: 2 }),
53481
- (0, import_sanity18.defineField)({
53472
+ (0, import_sanity19.defineField)({ name: "name", title: "Nombre", type: "string", validation: (r) => r.required() }),
53473
+ (0, import_sanity19.defineField)({ name: "address", title: "Direcci\xF3n", type: "string" }),
53474
+ (0, import_sanity19.defineField)({ name: "phone", title: "Tel\xE9fono", type: "string" }),
53475
+ (0, import_sanity19.defineField)({ name: "hours", title: "Horario", type: "string" }),
53476
+ (0, import_sanity19.defineField)({ name: "description", title: "Descripci\xF3n", type: "text", rows: 2 }),
53477
+ (0, import_sanity19.defineField)({
53482
53478
  name: "lat",
53483
53479
  title: "Latitud (sobreescritura opcional)",
53484
53480
  type: "number",
53485
53481
  description: "Dejalo vac\xEDo \u2014 la direcci\xF3n se geocodifica autom\xE1ticamente. Solo configur\xE1 esto si necesit\xE1s marcar un punto exacto que no se encuentra por direcci\xF3n (ej: clic derecho en Google Maps \u2192 primer n\xFAmero)."
53486
53482
  }),
53487
- (0, import_sanity18.defineField)({
53483
+ (0, import_sanity19.defineField)({
53488
53484
  name: "lng",
53489
53485
  title: "Longitud (sobreescritura opcional)",
53490
53486
  type: "number",
@@ -53497,7 +53493,7 @@ var mapsSection = (0, import_sanity18.defineType)({
53497
53493
  }
53498
53494
  ]
53499
53495
  }),
53500
- (0, import_sanity18.defineField)({
53496
+ (0, import_sanity19.defineField)({
53501
53497
  name: "background",
53502
53498
  title: "Fondo",
53503
53499
  type: "string",
@@ -53516,7 +53512,7 @@ var mapsSection = (0, import_sanity18.defineType)({
53516
53512
  },
53517
53513
  initialValue: "default"
53518
53514
  }),
53519
- (0, import_sanity18.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53515
+ (0, import_sanity19.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53520
53516
  ],
53521
53517
  preview: {
53522
53518
  select: { title: "title", subtitle: "variant" },
@@ -53527,13 +53523,14 @@ var mapsSection = (0, import_sanity18.defineType)({
53527
53523
  });
53528
53524
 
53529
53525
  // ../../apps/studio/schemas/sections/iframe.ts
53530
- var import_sanity19 = require("sanity");
53531
- var iframeSection = (0, import_sanity19.defineType)({
53526
+ var import_sanity20 = require("sanity");
53527
+ var iframeSection = (0, import_sanity20.defineType)({
53532
53528
  name: "iframe",
53533
53529
  title: "Iframe incrustado",
53534
53530
  type: "object",
53535
53531
  fields: [
53536
- (0, import_sanity19.defineField)({
53532
+ ...sectionMediaFields,
53533
+ (0, import_sanity20.defineField)({
53537
53534
  name: "variant",
53538
53535
  title: "Variante",
53539
53536
  type: "string",
@@ -53548,36 +53545,36 @@ var iframeSection = (0, import_sanity19.defineType)({
53548
53545
  initialValue: "simple",
53549
53546
  validation: (r) => r.required()
53550
53547
  }),
53551
- (0, import_sanity19.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53552
- (0, import_sanity19.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53553
- (0, import_sanity19.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53554
- (0, import_sanity19.defineField)({
53548
+ (0, import_sanity20.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53549
+ (0, import_sanity20.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53550
+ (0, import_sanity20.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53551
+ (0, import_sanity20.defineField)({
53555
53552
  name: "content",
53556
53553
  title: "Contenido",
53557
53554
  type: "text",
53558
53555
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
53559
53556
  components: { input: TipTapEditor }
53560
53557
  }),
53561
- (0, import_sanity19.defineField)({
53558
+ (0, import_sanity20.defineField)({
53562
53559
  name: "src",
53563
53560
  title: "URL de incrustaci\xF3n",
53564
53561
  type: "url",
53565
53562
  description: "\u26A0\uFE0F Si esta URL contiene datos sensibles (tokens, API keys, subdominios privados), no la pegues directamente aqu\xED. Guardala como variable de entorno en .env.local (ej: NEXT_PUBLIC_EMBED_URL=https://...) y referenciala desde el c\xF3digo.",
53566
53563
  validation: (r) => r.required()
53567
53564
  }),
53568
- (0, import_sanity19.defineField)({
53565
+ (0, import_sanity20.defineField)({
53569
53566
  name: "iframeTitle",
53570
53567
  title: "T\xEDtulo del iframe (accesibilidad)",
53571
53568
  type: "string",
53572
53569
  validation: (r) => r.required()
53573
53570
  }),
53574
- (0, import_sanity19.defineField)({
53571
+ (0, import_sanity20.defineField)({
53575
53572
  name: "height",
53576
53573
  title: "Alto (px)",
53577
53574
  type: "number",
53578
53575
  initialValue: 500
53579
53576
  }),
53580
- (0, import_sanity19.defineField)({
53577
+ (0, import_sanity20.defineField)({
53581
53578
  name: "aspectRatio",
53582
53579
  title: "Relaci\xF3n de aspecto (variante responsiva)",
53583
53580
  type: "string",
@@ -53591,7 +53588,7 @@ var iframeSection = (0, import_sanity19.defineType)({
53591
53588
  },
53592
53589
  initialValue: "auto"
53593
53590
  }),
53594
- (0, import_sanity19.defineField)({
53591
+ (0, import_sanity20.defineField)({
53595
53592
  name: "background",
53596
53593
  title: "Fondo",
53597
53594
  type: "string",
@@ -53610,7 +53607,7 @@ var iframeSection = (0, import_sanity19.defineType)({
53610
53607
  },
53611
53608
  initialValue: "default"
53612
53609
  }),
53613
- (0, import_sanity19.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53610
+ (0, import_sanity20.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53614
53611
  ],
53615
53612
  preview: {
53616
53613
  select: { title: "title", subtitle: "variant" },
@@ -53621,13 +53618,14 @@ var iframeSection = (0, import_sanity19.defineType)({
53621
53618
  });
53622
53619
 
53623
53620
  // ../../apps/studio/schemas/sections/comparison.ts
53624
- var import_sanity20 = require("sanity");
53625
- var comparisonSection = (0, import_sanity20.defineType)({
53621
+ var import_sanity21 = require("sanity");
53622
+ var comparisonSection = (0, import_sanity21.defineType)({
53626
53623
  name: "comparison",
53627
53624
  title: "Comparaci\xF3n",
53628
53625
  type: "object",
53629
53626
  fields: [
53630
- (0, import_sanity20.defineField)({
53627
+ ...sectionMediaFields,
53628
+ (0, import_sanity21.defineField)({
53631
53629
  name: "variant",
53632
53630
  title: "Variante",
53633
53631
  type: "string",
@@ -53642,24 +53640,24 @@ var comparisonSection = (0, import_sanity20.defineType)({
53642
53640
  initialValue: "table",
53643
53641
  validation: (r) => r.required()
53644
53642
  }),
53645
- (0, import_sanity20.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53646
- (0, import_sanity20.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53647
- (0, import_sanity20.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53648
- (0, import_sanity20.defineField)({
53643
+ (0, import_sanity21.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53644
+ (0, import_sanity21.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53645
+ (0, import_sanity21.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53646
+ (0, import_sanity21.defineField)({
53649
53647
  name: "content",
53650
53648
  title: "Contenido",
53651
53649
  type: "text",
53652
53650
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
53653
53651
  components: { input: TipTapEditor }
53654
53652
  }),
53655
- (0, import_sanity20.defineField)({
53653
+ (0, import_sanity21.defineField)({
53656
53654
  name: "allFeatures",
53657
53655
  title: "Todas las caracter\xEDsticas (lista maestra)",
53658
53656
  type: "array",
53659
53657
  of: [{ type: "string" }],
53660
53658
  description: "Lista completa de caracter\xEDsticas a comparar en todos los planes"
53661
53659
  }),
53662
- (0, import_sanity20.defineField)({
53660
+ (0, import_sanity21.defineField)({
53663
53661
  name: "columns",
53664
53662
  title: "Planes / Columnas",
53665
53663
  type: "array",
@@ -53667,14 +53665,14 @@ var comparisonSection = (0, import_sanity20.defineType)({
53667
53665
  {
53668
53666
  type: "object",
53669
53667
  fields: [
53670
- (0, import_sanity20.defineField)({ name: "name", title: "Nombre del plan", type: "string", validation: (r) => r.required() }),
53671
- (0, import_sanity20.defineField)({ name: "description", title: "Descripci\xF3n", type: "text", rows: 2 }),
53672
- (0, import_sanity20.defineField)({ name: "price", title: "Precio", type: "string" }),
53673
- (0, import_sanity20.defineField)({ name: "priceFrequency", title: "Frecuencia de precio (ej: mes)", type: "string" }),
53674
- (0, import_sanity20.defineField)({ name: "badge", title: "Badge (ej: M\xE1s popular)", type: "string" }),
53675
- (0, import_sanity20.defineField)({ name: "highlighted", title: "Destacar este plan", type: "boolean", initialValue: false }),
53676
- (0, import_sanity20.defineField)({ name: "cta", title: "Bot\xF3n CTA", type: "ctaButton" }),
53677
- (0, import_sanity20.defineField)({
53668
+ (0, import_sanity21.defineField)({ name: "name", title: "Nombre del plan", type: "string", validation: (r) => r.required() }),
53669
+ (0, import_sanity21.defineField)({ name: "description", title: "Descripci\xF3n", type: "text", rows: 2 }),
53670
+ (0, import_sanity21.defineField)({ name: "price", title: "Precio", type: "string" }),
53671
+ (0, import_sanity21.defineField)({ name: "priceFrequency", title: "Frecuencia de precio (ej: mes)", type: "string" }),
53672
+ (0, import_sanity21.defineField)({ name: "badge", title: "Badge (ej: M\xE1s popular)", type: "string" }),
53673
+ (0, import_sanity21.defineField)({ name: "highlighted", title: "Destacar este plan", type: "boolean", initialValue: false }),
53674
+ (0, import_sanity21.defineField)({ name: "cta", title: "Bot\xF3n CTA", type: "ctaButton" }),
53675
+ (0, import_sanity21.defineField)({
53678
53676
  name: "cells",
53679
53677
  title: "Valores de celda",
53680
53678
  type: "array",
@@ -53689,7 +53687,7 @@ var comparisonSection = (0, import_sanity20.defineType)({
53689
53687
  ],
53690
53688
  validation: (r) => r.required().min(2)
53691
53689
  }),
53692
- (0, import_sanity20.defineField)({
53690
+ (0, import_sanity21.defineField)({
53693
53691
  name: "background",
53694
53692
  title: "Fondo",
53695
53693
  type: "string",
@@ -53708,7 +53706,7 @@ var comparisonSection = (0, import_sanity20.defineType)({
53708
53706
  },
53709
53707
  initialValue: "default"
53710
53708
  }),
53711
- (0, import_sanity20.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53709
+ (0, import_sanity21.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53712
53710
  ],
53713
53711
  preview: {
53714
53712
  select: { title: "title", subtitle: "variant" },
@@ -53719,13 +53717,14 @@ var comparisonSection = (0, import_sanity20.defineType)({
53719
53717
  });
53720
53718
 
53721
53719
  // ../../apps/studio/schemas/sections/duplex.ts
53722
- var import_sanity21 = require("sanity");
53723
- var duplexSection = (0, import_sanity21.defineType)({
53720
+ var import_sanity22 = require("sanity");
53721
+ var duplexSection = (0, import_sanity22.defineType)({
53724
53722
  name: "duplex",
53725
53723
  title: "Duplex (Imagen + Texto)",
53726
53724
  type: "object",
53727
53725
  fields: [
53728
- (0, import_sanity21.defineField)({
53726
+ ...sectionMediaFields,
53727
+ (0, import_sanity22.defineField)({
53729
53728
  name: "variant",
53730
53729
  title: "Variante",
53731
53730
  type: "string",
@@ -53740,45 +53739,45 @@ var duplexSection = (0, import_sanity21.defineType)({
53740
53739
  initialValue: "image-left",
53741
53740
  validation: (r) => r.required()
53742
53741
  }),
53743
- (0, import_sanity21.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53744
- (0, import_sanity21.defineField)({
53742
+ (0, import_sanity22.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53743
+ (0, import_sanity22.defineField)({
53745
53744
  name: "heading",
53746
53745
  title: "Titular",
53747
53746
  type: "string",
53748
53747
  validation: (r) => r.required()
53749
53748
  }),
53750
- (0, import_sanity21.defineField)({ name: "body", title: "Texto del cuerpo", type: "text", rows: 3 }),
53751
- (0, import_sanity21.defineField)({
53749
+ (0, import_sanity22.defineField)({ name: "body", title: "Texto del cuerpo", type: "text", rows: 3 }),
53750
+ (0, import_sanity22.defineField)({
53752
53751
  name: "content",
53753
53752
  title: "Contenido",
53754
53753
  type: "text",
53755
53754
  description: "Texto enriquecido opcional que se muestra debajo del cuerpo de texto.",
53756
53755
  components: { input: TipTapEditor }
53757
53756
  }),
53758
- (0, import_sanity21.defineField)({
53757
+ (0, import_sanity22.defineField)({
53759
53758
  name: "image",
53760
53759
  title: "Imagen",
53761
53760
  type: "image",
53762
53761
  options: { hotspot: true },
53763
53762
  fields: [
53764
- (0, import_sanity21.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
53763
+ (0, import_sanity22.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
53765
53764
  ]
53766
53765
  }),
53767
- (0, import_sanity21.defineField)({
53766
+ (0, import_sanity22.defineField)({
53768
53767
  name: "videoUrl",
53769
53768
  title: "URL de video",
53770
53769
  type: "url",
53771
53770
  description: "Si se proporciona, se mostrar\xE1 un video en lugar de la imagen"
53772
53771
  }),
53773
- (0, import_sanity21.defineField)({ name: "primaryCTA", title: "Bot\xF3n CTA primario", type: "ctaButton" }),
53774
- (0, import_sanity21.defineField)({ name: "secondaryCTA", title: "Bot\xF3n CTA secundario", type: "ctaButton" }),
53775
- (0, import_sanity21.defineField)({
53772
+ (0, import_sanity22.defineField)({ name: "primaryCTA", title: "Bot\xF3n CTA primario", type: "ctaButton" }),
53773
+ (0, import_sanity22.defineField)({ name: "secondaryCTA", title: "Bot\xF3n CTA secundario", type: "ctaButton" }),
53774
+ (0, import_sanity22.defineField)({
53776
53775
  name: "bullets",
53777
53776
  title: "Puntos de lista",
53778
53777
  type: "array",
53779
53778
  of: [{ type: "string" }]
53780
53779
  }),
53781
- (0, import_sanity21.defineField)({
53780
+ (0, import_sanity22.defineField)({
53782
53781
  name: "background",
53783
53782
  title: "Fondo",
53784
53783
  type: "string",
@@ -53797,7 +53796,7 @@ var duplexSection = (0, import_sanity21.defineType)({
53797
53796
  },
53798
53797
  initialValue: "default"
53799
53798
  }),
53800
- (0, import_sanity21.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53799
+ (0, import_sanity22.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53801
53800
  ],
53802
53801
  preview: {
53803
53802
  select: { title: "heading", subtitle: "variant" },
@@ -53808,13 +53807,14 @@ var duplexSection = (0, import_sanity21.defineType)({
53808
53807
  });
53809
53808
 
53810
53809
  // ../../apps/studio/schemas/sections/richtext.ts
53811
- var import_sanity22 = require("sanity");
53812
- var richtextSection = (0, import_sanity22.defineType)({
53810
+ var import_sanity23 = require("sanity");
53811
+ var richtextSection = (0, import_sanity23.defineType)({
53813
53812
  name: "richtext",
53814
53813
  title: "Texto enriquecido",
53815
53814
  type: "object",
53816
53815
  fields: [
53817
- (0, import_sanity22.defineField)({
53816
+ ...sectionMediaFields,
53817
+ (0, import_sanity23.defineField)({
53818
53818
  name: "variant",
53819
53819
  title: "Variante",
53820
53820
  type: "string",
@@ -53829,17 +53829,17 @@ var richtextSection = (0, import_sanity22.defineType)({
53829
53829
  initialValue: "centered",
53830
53830
  validation: (r) => r.required()
53831
53831
  }),
53832
- (0, import_sanity22.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53833
- (0, import_sanity22.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53834
- (0, import_sanity22.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53835
- (0, import_sanity22.defineField)({
53832
+ (0, import_sanity23.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53833
+ (0, import_sanity23.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
53834
+ (0, import_sanity23.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53835
+ (0, import_sanity23.defineField)({
53836
53836
  name: "content",
53837
53837
  title: "Contenido",
53838
53838
  type: "text",
53839
53839
  components: { input: TipTapEditor },
53840
53840
  validation: (r) => r.required()
53841
53841
  }),
53842
- (0, import_sanity22.defineField)({
53842
+ (0, import_sanity23.defineField)({
53843
53843
  name: "background",
53844
53844
  title: "Fondo",
53845
53845
  type: "string",
@@ -53858,7 +53858,7 @@ var richtextSection = (0, import_sanity22.defineType)({
53858
53858
  },
53859
53859
  initialValue: "default"
53860
53860
  }),
53861
- (0, import_sanity22.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53861
+ (0, import_sanity23.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53862
53862
  ],
53863
53863
  preview: {
53864
53864
  select: { title: "title", subtitle: "variant" },
@@ -53869,13 +53869,14 @@ var richtextSection = (0, import_sanity22.defineType)({
53869
53869
  });
53870
53870
 
53871
53871
  // ../../apps/studio/schemas/sections/video-section.ts
53872
- var import_sanity23 = require("sanity");
53873
- var videoSection = (0, import_sanity23.defineType)({
53872
+ var import_sanity24 = require("sanity");
53873
+ var videoSection = (0, import_sanity24.defineType)({
53874
53874
  name: "videoSection",
53875
53875
  title: "Video",
53876
53876
  type: "object",
53877
53877
  fields: [
53878
- (0, import_sanity23.defineField)({
53878
+ ...sectionMediaFields,
53879
+ (0, import_sanity24.defineField)({
53879
53880
  name: "variant",
53880
53881
  title: "Variante",
53881
53882
  type: "string",
@@ -53890,45 +53891,45 @@ var videoSection = (0, import_sanity23.defineType)({
53890
53891
  initialValue: "full",
53891
53892
  validation: (r) => r.required()
53892
53893
  }),
53893
- (0, import_sanity23.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53894
- (0, import_sanity23.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n / Encabezado", type: "string" }),
53895
- (0, import_sanity23.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53896
- (0, import_sanity23.defineField)({
53894
+ (0, import_sanity24.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
53895
+ (0, import_sanity24.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n / Encabezado", type: "string" }),
53896
+ (0, import_sanity24.defineField)({ name: "subtitle", title: "Subt\xEDtulo de secci\xF3n", type: "text", rows: 2 }),
53897
+ (0, import_sanity24.defineField)({
53897
53898
  name: "content",
53898
53899
  title: "Contenido",
53899
53900
  type: "text",
53900
53901
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
53901
53902
  components: { input: TipTapEditor }
53902
53903
  }),
53903
- (0, import_sanity23.defineField)({
53904
+ (0, import_sanity24.defineField)({
53904
53905
  name: "videoUrl",
53905
53906
  title: "URL del video",
53906
53907
  type: "url",
53907
53908
  description: "Peg\xE1 una URL de YouTube, Vimeo o sub\xED un archivo de video a Sanity",
53908
53909
  validation: (r) => r.required()
53909
53910
  }),
53910
- (0, import_sanity23.defineField)({
53911
+ (0, import_sanity24.defineField)({
53911
53912
  name: "poster",
53912
53913
  title: "Imagen de poster",
53913
53914
  type: "image",
53914
53915
  options: { hotspot: true },
53915
53916
  fields: [
53916
- (0, import_sanity23.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
53917
+ (0, import_sanity24.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
53917
53918
  ]
53918
53919
  }),
53919
- (0, import_sanity23.defineField)({
53920
+ (0, import_sanity24.defineField)({
53920
53921
  name: "autoplay",
53921
53922
  title: "Reproducci\xF3n autom\xE1tica",
53922
53923
  type: "boolean",
53923
53924
  initialValue: false
53924
53925
  }),
53925
- (0, import_sanity23.defineField)({
53926
+ (0, import_sanity24.defineField)({
53926
53927
  name: "loop",
53927
53928
  title: "Repetir en bucle",
53928
53929
  type: "boolean",
53929
53930
  initialValue: false
53930
53931
  }),
53931
- (0, import_sanity23.defineField)({
53932
+ (0, import_sanity24.defineField)({
53932
53933
  name: "background",
53933
53934
  title: "Fondo",
53934
53935
  type: "string",
@@ -53947,7 +53948,7 @@ var videoSection = (0, import_sanity23.defineType)({
53947
53948
  },
53948
53949
  initialValue: "default"
53949
53950
  }),
53950
- (0, import_sanity23.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53951
+ (0, import_sanity24.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
53951
53952
  ],
53952
53953
  preview: {
53953
53954
  select: { title: "title", subtitle: "variant" },
@@ -53959,7 +53960,7 @@ var videoSection = (0, import_sanity23.defineType)({
53959
53960
 
53960
53961
  // ../../apps/studio/schemas/sections/event-registration.ts
53961
53962
  var import_react5 = __toESM(require_react());
53962
- var import_sanity24 = require("sanity");
53963
+ var import_sanity25 = require("sanity");
53963
53964
 
53964
53965
  // ../../apps/studio/components/note-input.tsx
53965
53966
  var import_react4 = __toESM(require_react());
@@ -53984,12 +53985,13 @@ function NoteInput({ message, type = "info" }) {
53984
53985
  }
53985
53986
 
53986
53987
  // ../../apps/studio/schemas/sections/event-registration.ts
53987
- var eventRegistrationSection = (0, import_sanity24.defineType)({
53988
+ var eventRegistrationSection = (0, import_sanity25.defineType)({
53988
53989
  name: "eventRegistration",
53989
53990
  title: "Registro de Evento",
53990
53991
  type: "object",
53991
53992
  fields: [
53992
- (0, import_sanity24.defineField)({
53993
+ ...sectionMediaFields,
53994
+ (0, import_sanity25.defineField)({
53993
53995
  name: "setupNote",
53994
53996
  title: " ",
53995
53997
  type: "string",
@@ -54000,7 +54002,7 @@ var eventRegistrationSection = (0, import_sanity24.defineType)({
54000
54002
  })
54001
54003
  }
54002
54004
  }),
54003
- (0, import_sanity24.defineField)({
54005
+ (0, import_sanity25.defineField)({
54004
54006
  name: "variant",
54005
54007
  title: "Variante",
54006
54008
  type: "string",
@@ -54015,17 +54017,17 @@ var eventRegistrationSection = (0, import_sanity24.defineType)({
54015
54017
  initialValue: "card",
54016
54018
  validation: (r) => r.required()
54017
54019
  }),
54018
- (0, import_sanity24.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
54019
- (0, import_sanity24.defineField)({ name: "title", title: "T\xEDtulo", type: "string" }),
54020
- (0, import_sanity24.defineField)({ name: "subtitle", title: "Subt\xEDtulo", type: "text", rows: 2 }),
54021
- (0, import_sanity24.defineField)({
54020
+ (0, import_sanity25.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
54021
+ (0, import_sanity25.defineField)({ name: "title", title: "T\xEDtulo", type: "string" }),
54022
+ (0, import_sanity25.defineField)({ name: "subtitle", title: "Subt\xEDtulo", type: "text", rows: 2 }),
54023
+ (0, import_sanity25.defineField)({
54022
54024
  name: "content",
54023
54025
  title: "Contenido",
54024
54026
  type: "text",
54025
54027
  description: "Texto enriquecido opcional que se muestra debajo del subt\xEDtulo.",
54026
54028
  components: { input: TipTapEditor }
54027
54029
  }),
54028
- (0, import_sanity24.defineField)({
54030
+ (0, import_sanity25.defineField)({
54029
54031
  name: "background",
54030
54032
  title: "Fondo",
54031
54033
  type: "string",
@@ -54040,14 +54042,14 @@ var eventRegistrationSection = (0, import_sanity24.defineType)({
54040
54042
  },
54041
54043
  initialValue: "default"
54042
54044
  }),
54043
- (0, import_sanity24.defineField)({
54045
+ (0, import_sanity25.defineField)({
54044
54046
  name: "image",
54045
54047
  title: "Imagen (variante dividida)",
54046
54048
  type: "image",
54047
54049
  options: { hotspot: true },
54048
- fields: [(0, import_sanity24.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
54050
+ fields: [(0, import_sanity25.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })]
54049
54051
  }),
54050
- (0, import_sanity24.defineField)({
54052
+ (0, import_sanity25.defineField)({
54051
54053
  name: "formId",
54052
54054
  title: "ID del formulario",
54053
54055
  type: "slug",
@@ -54056,7 +54058,7 @@ var eventRegistrationSection = (0, import_sanity24.defineType)({
54056
54058
  validation: (r) => r.required()
54057
54059
  }),
54058
54060
  /* ─── Campos del formulario ─── */
54059
- (0, import_sanity24.defineField)({
54061
+ (0, import_sanity25.defineField)({
54060
54062
  name: "fields",
54061
54063
  title: "Campos del formulario",
54062
54064
  type: "array",
@@ -54067,13 +54069,13 @@ var eventRegistrationSection = (0, import_sanity24.defineType)({
54067
54069
  name: "formField",
54068
54070
  title: "Campo",
54069
54071
  fields: [
54070
- (0, import_sanity24.defineField)({
54072
+ (0, import_sanity25.defineField)({
54071
54073
  name: "label",
54072
54074
  title: "Nombre del campo",
54073
54075
  type: "string",
54074
54076
  validation: (r) => r.required()
54075
54077
  }),
54076
- (0, import_sanity24.defineField)({
54078
+ (0, import_sanity25.defineField)({
54077
54079
  name: "fieldType",
54078
54080
  title: "Tipo",
54079
54081
  type: "string",
@@ -54093,18 +54095,18 @@ var eventRegistrationSection = (0, import_sanity24.defineType)({
54093
54095
  initialValue: "text",
54094
54096
  validation: (r) => r.required()
54095
54097
  }),
54096
- (0, import_sanity24.defineField)({
54098
+ (0, import_sanity25.defineField)({
54097
54099
  name: "required",
54098
54100
  title: "Obligatorio",
54099
54101
  type: "boolean",
54100
54102
  initialValue: true
54101
54103
  }),
54102
- (0, import_sanity24.defineField)({
54104
+ (0, import_sanity25.defineField)({
54103
54105
  name: "placeholder",
54104
54106
  title: "Texto de ayuda (placeholder)",
54105
54107
  type: "string"
54106
54108
  }),
54107
- (0, import_sanity24.defineField)({
54109
+ (0, import_sanity25.defineField)({
54108
54110
  name: "options",
54109
54111
  title: "Opciones (solo para tipo lista)",
54110
54112
  type: "array",
@@ -54135,19 +54137,19 @@ var eventRegistrationSection = (0, import_sanity24.defineType)({
54135
54137
  validation: (r) => r.min(1).error("Agreg\xE1 al menos un campo al formulario")
54136
54138
  }),
54137
54139
  /* ─── Textos ─── */
54138
- (0, import_sanity24.defineField)({
54140
+ (0, import_sanity25.defineField)({
54139
54141
  name: "buttonLabel",
54140
54142
  title: "Texto del bot\xF3n",
54141
54143
  type: "string",
54142
54144
  initialValue: "Enviar"
54143
54145
  }),
54144
- (0, import_sanity24.defineField)({
54146
+ (0, import_sanity25.defineField)({
54145
54147
  name: "successMessage",
54146
54148
  title: "Mensaje de \xE9xito",
54147
54149
  type: "string",
54148
54150
  initialValue: "\xA1Tu registro fue enviado con \xE9xito!"
54149
54151
  }),
54150
- (0, import_sanity24.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
54152
+ (0, import_sanity25.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
54151
54153
  ],
54152
54154
  preview: {
54153
54155
  select: { title: "title", variant: "variant" },
@@ -54159,13 +54161,14 @@ var eventRegistrationSection = (0, import_sanity24.defineType)({
54159
54161
 
54160
54162
  // ../../apps/studio/schemas/sections/newsletter.ts
54161
54163
  var import_react6 = __toESM(require_react());
54162
- var import_sanity25 = require("sanity");
54163
- var newsletterSection = (0, import_sanity25.defineType)({
54164
+ var import_sanity26 = require("sanity");
54165
+ var newsletterSection = (0, import_sanity26.defineType)({
54164
54166
  name: "newsletter",
54165
54167
  title: "Newsletter",
54166
54168
  type: "object",
54167
54169
  fields: [
54168
- (0, import_sanity25.defineField)({
54170
+ ...sectionMediaFields,
54171
+ (0, import_sanity26.defineField)({
54169
54172
  name: "setupNote",
54170
54173
  title: " ",
54171
54174
  type: "string",
@@ -54176,7 +54179,7 @@ var newsletterSection = (0, import_sanity25.defineType)({
54176
54179
  })
54177
54180
  }
54178
54181
  }),
54179
- (0, import_sanity25.defineField)({
54182
+ (0, import_sanity26.defineField)({
54180
54183
  name: "variant",
54181
54184
  title: "Variante",
54182
54185
  type: "string",
@@ -54191,17 +54194,17 @@ var newsletterSection = (0, import_sanity25.defineType)({
54191
54194
  initialValue: "centered",
54192
54195
  validation: (r) => r.required()
54193
54196
  }),
54194
- (0, import_sanity25.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
54195
- (0, import_sanity25.defineField)({ name: "title", title: "T\xEDtulo", type: "string" }),
54196
- (0, import_sanity25.defineField)({ name: "subtitle", title: "Subt\xEDtulo", type: "text", rows: 2 }),
54197
- (0, import_sanity25.defineField)({
54197
+ (0, import_sanity26.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
54198
+ (0, import_sanity26.defineField)({ name: "title", title: "T\xEDtulo", type: "string" }),
54199
+ (0, import_sanity26.defineField)({ name: "subtitle", title: "Subt\xEDtulo", type: "text", rows: 2 }),
54200
+ (0, import_sanity26.defineField)({
54198
54201
  name: "content",
54199
54202
  title: "Contenido",
54200
54203
  type: "text",
54201
54204
  description: "Texto enriquecido que se muestra debajo del subt\xEDtulo.",
54202
54205
  components: { input: TipTapEditor }
54203
54206
  }),
54204
- (0, import_sanity25.defineField)({
54207
+ (0, import_sanity26.defineField)({
54205
54208
  name: "background",
54206
54209
  title: "Fondo",
54207
54210
  type: "string",
@@ -54216,25 +54219,25 @@ var newsletterSection = (0, import_sanity25.defineType)({
54216
54219
  },
54217
54220
  initialValue: "default"
54218
54221
  }),
54219
- (0, import_sanity25.defineField)({
54222
+ (0, import_sanity26.defineField)({
54220
54223
  name: "placeholder",
54221
54224
  title: "Placeholder del campo email",
54222
54225
  type: "string",
54223
54226
  initialValue: "tu@email.com"
54224
54227
  }),
54225
- (0, import_sanity25.defineField)({
54228
+ (0, import_sanity26.defineField)({
54226
54229
  name: "buttonLabel",
54227
54230
  title: "Texto del bot\xF3n",
54228
54231
  type: "string",
54229
54232
  initialValue: "Suscribirme"
54230
54233
  }),
54231
- (0, import_sanity25.defineField)({
54234
+ (0, import_sanity26.defineField)({
54232
54235
  name: "successMessage",
54233
54236
  title: "Mensaje de \xE9xito",
54234
54237
  type: "string",
54235
54238
  initialValue: "\xA1Gracias! Te avisamos cuando haya novedades."
54236
54239
  }),
54237
- (0, import_sanity25.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
54240
+ (0, import_sanity26.defineField)({ name: "id", title: "ID / Anchor", type: "string", description: 'ID de la secci\xF3n para anclas de scroll (ej: "contacto"). Los botones con href="#contacto" scrollear\xE1n aqu\xED.' })
54238
54241
  ],
54239
54242
  preview: {
54240
54243
  select: { title: "title", variant: "variant" },
@@ -54248,13 +54251,14 @@ var newsletterSection = (0, import_sanity25.defineType)({
54248
54251
  });
54249
54252
 
54250
54253
  // ../../apps/studio/schemas/sections/downloads.ts
54251
- var import_sanity26 = require("sanity");
54252
- var downloadsSection = (0, import_sanity26.defineType)({
54254
+ var import_sanity27 = require("sanity");
54255
+ var downloadsSection = (0, import_sanity27.defineType)({
54253
54256
  name: "downloads",
54254
54257
  title: "Descargas",
54255
54258
  type: "object",
54256
54259
  fields: [
54257
- (0, import_sanity26.defineField)({
54260
+ ...sectionMediaFields,
54261
+ (0, import_sanity27.defineField)({
54258
54262
  name: "variant",
54259
54263
  title: "Variante",
54260
54264
  type: "string",
@@ -54262,17 +54266,19 @@ var downloadsSection = (0, import_sanity26.defineType)({
54262
54266
  list: [
54263
54267
  { title: "Grilla \u2014 grupos como cards en grilla", value: "grouped" },
54264
54268
  { title: "Acorde\xF3n \u2014 grupos colapsables", value: "accordion" },
54265
- { title: "Lista plana \u2014 con separadores de grupo", value: "flat" }
54269
+ { title: "Lista plana \u2014 con separadores de grupo", value: "flat" },
54270
+ { title: "Nube \u2014 todos los archivos como chips, sin grupos", value: "cloud" },
54271
+ { title: "Burbujas \u2014 \xEDcono en c\xEDrculo y nombre debajo, sin grupos", value: "bubbles" }
54266
54272
  ],
54267
54273
  layout: "radio"
54268
54274
  },
54269
54275
  initialValue: "grouped",
54270
54276
  validation: (r) => r.required()
54271
54277
  }),
54272
- (0, import_sanity26.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
54273
- (0, import_sanity26.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
54274
- (0, import_sanity26.defineField)({ name: "subtitle", title: "Subt\xEDtulo", type: "text", rows: 2 }),
54275
- (0, import_sanity26.defineField)({
54278
+ (0, import_sanity27.defineField)({ name: "badge", title: "Etiqueta / Badge", type: "string" }),
54279
+ (0, import_sanity27.defineField)({ name: "title", title: "T\xEDtulo de secci\xF3n", type: "string" }),
54280
+ (0, import_sanity27.defineField)({ name: "subtitle", title: "Subt\xEDtulo", type: "text", rows: 2 }),
54281
+ (0, import_sanity27.defineField)({
54276
54282
  name: "groups",
54277
54283
  title: "Grupos de archivos",
54278
54284
  type: "array",
@@ -54280,14 +54286,14 @@ var downloadsSection = (0, import_sanity26.defineType)({
54280
54286
  {
54281
54287
  type: "object",
54282
54288
  fields: [
54283
- (0, import_sanity26.defineField)({
54289
+ (0, import_sanity27.defineField)({
54284
54290
  name: "title",
54285
54291
  title: "Nombre del grupo",
54286
54292
  type: "string",
54287
54293
  description: 'Ej: "Carrera 1", "Formularios 2024"',
54288
54294
  validation: (r) => r.required()
54289
54295
  }),
54290
- (0, import_sanity26.defineField)({
54296
+ (0, import_sanity27.defineField)({
54291
54297
  name: "files",
54292
54298
  title: "Archivos",
54293
54299
  type: "array",
@@ -54295,14 +54301,14 @@ var downloadsSection = (0, import_sanity26.defineType)({
54295
54301
  {
54296
54302
  type: "object",
54297
54303
  fields: [
54298
- (0, import_sanity26.defineField)({
54304
+ (0, import_sanity27.defineField)({
54299
54305
  name: "label",
54300
54306
  title: "Etiqueta del archivo",
54301
54307
  type: "string",
54302
54308
  description: "Nombre visible para el usuario",
54303
54309
  validation: (r) => r.required()
54304
54310
  }),
54305
- (0, import_sanity26.defineField)({
54311
+ (0, import_sanity27.defineField)({
54306
54312
  name: "file",
54307
54313
  title: "Archivo",
54308
54314
  type: "file",
@@ -54337,7 +54343,7 @@ var downloadsSection = (0, import_sanity26.defineType)({
54337
54343
  ],
54338
54344
  validation: (r) => r.required().min(1)
54339
54345
  }),
54340
- (0, import_sanity26.defineField)({
54346
+ (0, import_sanity27.defineField)({
54341
54347
  name: "background",
54342
54348
  title: "Fondo",
54343
54349
  type: "string",
@@ -54356,7 +54362,7 @@ var downloadsSection = (0, import_sanity26.defineType)({
54356
54362
  },
54357
54363
  initialValue: "default"
54358
54364
  }),
54359
- (0, import_sanity26.defineField)({
54365
+ (0, import_sanity27.defineField)({
54360
54366
  name: "id",
54361
54367
  title: "ID / Anchor",
54362
54368
  type: "string",
@@ -54376,29 +54382,89 @@ var downloadsSection = (0, import_sanity26.defineType)({
54376
54382
  });
54377
54383
 
54378
54384
  // ../../apps/studio/schemas/documents/site-settings.ts
54379
- var import_sanity27 = require("sanity");
54380
- var siteSettings = (0, import_sanity27.defineType)({
54385
+ var import_sanity29 = require("sanity");
54386
+
54387
+ // ../../apps/studio/components/color-input.tsx
54388
+ var import_react7 = __toESM(require_react());
54389
+ var import_sanity28 = require("sanity");
54390
+ function ColorInput({ value, onChange }) {
54391
+ const handleChange = (0, import_react7.useCallback)(
54392
+ (e) => {
54393
+ const val = e.currentTarget.value;
54394
+ onChange(val ? (0, import_sanity28.set)(val) : (0, import_sanity28.unset)());
54395
+ },
54396
+ [onChange]
54397
+ );
54398
+ const handleClear = (0, import_react7.useCallback)(() => onChange((0, import_sanity28.unset)()), [onChange]);
54399
+ const raw = value;
54400
+ if (raw !== void 0 && typeof raw !== "string") {
54401
+ return /* @__PURE__ */ import_react7.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: 10 } }, /* @__PURE__ */ import_react7.default.createElement("span", { style: { fontSize: 12, color: "var(--card-muted-fg-color, #888)" } }, "Formato incompatible"), /* @__PURE__ */ import_react7.default.createElement(
54402
+ "button",
54403
+ {
54404
+ type: "button",
54405
+ onClick: handleClear,
54406
+ style: {
54407
+ fontSize: 12,
54408
+ padding: "4px 10px",
54409
+ cursor: "pointer",
54410
+ borderRadius: 4,
54411
+ border: "1px solid var(--card-border-color, #e2e2e2)",
54412
+ background: "none",
54413
+ color: "inherit"
54414
+ }
54415
+ },
54416
+ "Limpiar"
54417
+ ));
54418
+ }
54419
+ return /* @__PURE__ */ import_react7.default.createElement("div", { style: { display: "flex", alignItems: "center", gap: 10 } }, /* @__PURE__ */ import_react7.default.createElement(
54420
+ "input",
54421
+ {
54422
+ type: "color",
54423
+ value: value || "#000000",
54424
+ onChange: handleChange,
54425
+ style: {
54426
+ width: 44,
54427
+ height: 36,
54428
+ padding: 2,
54429
+ cursor: "pointer",
54430
+ borderRadius: 6,
54431
+ border: "1px solid var(--card-border-color, #e2e2e2)",
54432
+ background: "none",
54433
+ flexShrink: 0
54434
+ }
54435
+ }
54436
+ ), /* @__PURE__ */ import_react7.default.createElement("code", { style: { fontSize: 12, color: "var(--card-muted-fg-color, #888)" } }, value || "\u2014"));
54437
+ }
54438
+
54439
+ // ../../apps/studio/schemas/documents/site-settings.ts
54440
+ var siteSettings = (0, import_sanity29.defineType)({
54381
54441
  name: "siteSettings",
54382
54442
  title: "Configuraci\xF3n del sitio",
54383
54443
  type: "document",
54384
54444
  fields: [
54385
- (0, import_sanity27.defineField)({ name: "siteName", title: "Nombre del sitio", type: "string", validation: (r) => r.required() }),
54386
- (0, import_sanity27.defineField)({
54445
+ (0, import_sanity29.defineField)({ name: "siteName", title: "Nombre del sitio", type: "string", validation: (r) => r.required() }),
54446
+ (0, import_sanity29.defineField)({
54387
54447
  name: "logo",
54388
54448
  title: "Logo",
54389
54449
  type: "image",
54390
54450
  options: { hotspot: true },
54391
54451
  fields: [
54392
- (0, import_sanity27.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
54452
+ (0, import_sanity29.defineField)({ name: "alt", title: "Texto alternativo", type: "string" })
54393
54453
  ]
54394
54454
  }),
54455
+ (0, import_sanity29.defineField)({
54456
+ name: "favicon",
54457
+ title: "Favicon",
54458
+ description: "\xCDcono que aparece en la pesta\xF1a del navegador. Recomendado: PNG cuadrado de 32\xD732 o 64\xD764 px (o SVG).",
54459
+ type: "image"
54460
+ }),
54395
54461
  /* ─── Theme ─── */
54396
- (0, import_sanity27.defineField)({
54462
+ (0, import_sanity29.defineField)({
54397
54463
  name: "theme",
54398
54464
  title: "Tema",
54399
54465
  type: "object",
54400
54466
  fields: [
54401
- (0, import_sanity27.defineField)({
54467
+ (0, import_sanity29.defineField)({
54402
54468
  name: "mode",
54403
54469
  title: "Modo de color",
54404
54470
  type: "string",
@@ -54412,7 +54478,7 @@ var siteSettings = (0, import_sanity27.defineType)({
54412
54478
  },
54413
54479
  initialValue: "light"
54414
54480
  }),
54415
- (0, import_sanity27.defineField)({
54481
+ (0, import_sanity29.defineField)({
54416
54482
  name: "palette",
54417
54483
  title: "Paleta de colores",
54418
54484
  type: "string",
@@ -54432,26 +54498,26 @@ var siteSettings = (0, import_sanity27.defineType)({
54432
54498
  },
54433
54499
  initialValue: "default"
54434
54500
  }),
54435
- (0, import_sanity27.defineField)({
54501
+ (0, import_sanity29.defineField)({
54436
54502
  name: "customPalette",
54437
- title: "Paleta personalizada (valores HSL, ej: 221 83% 53%)",
54503
+ title: "Paleta personalizada",
54438
54504
  type: "object",
54439
54505
  hidden: ({ parent }) => parent?.palette !== "custom",
54440
54506
  fields: [
54441
- (0, import_sanity27.defineField)({ name: "primary", title: "Primario (HSL)", type: "string" }),
54442
- (0, import_sanity27.defineField)({ name: "primaryForeground", title: "Primer plano primario (HSL)", type: "string" }),
54443
- (0, import_sanity27.defineField)({ name: "secondary", title: "Secundario (HSL)", type: "string" }),
54444
- (0, import_sanity27.defineField)({ name: "secondaryForeground", title: "Primer plano secundario (HSL)", type: "string" }),
54445
- (0, import_sanity27.defineField)({ name: "accent", title: "Acento (HSL)", type: "string" }),
54446
- (0, import_sanity27.defineField)({ name: "accentForeground", title: "Primer plano de acento (HSL)", type: "string" }),
54447
- (0, import_sanity27.defineField)({ name: "background", title: "Fondo (HSL)", type: "string" }),
54448
- (0, import_sanity27.defineField)({ name: "foreground", title: "Primer plano (HSL)", type: "string" }),
54449
- (0, import_sanity27.defineField)({ name: "muted", title: "Suave (HSL)", type: "string" }),
54450
- (0, import_sanity27.defineField)({ name: "mutedForeground", title: "Primer plano suave (HSL)", type: "string" }),
54451
- (0, import_sanity27.defineField)({ name: "border", title: "Borde (HSL)", type: "string" })
54507
+ (0, import_sanity29.defineField)({ name: "primary", title: "Primario", type: "string", components: { input: ColorInput } }),
54508
+ (0, import_sanity29.defineField)({ name: "primaryForeground", title: "Primer plano primario", type: "string", components: { input: ColorInput } }),
54509
+ (0, import_sanity29.defineField)({ name: "secondary", title: "Secundario", type: "string", components: { input: ColorInput } }),
54510
+ (0, import_sanity29.defineField)({ name: "secondaryForeground", title: "Primer plano secundario", type: "string", components: { input: ColorInput } }),
54511
+ (0, import_sanity29.defineField)({ name: "accent", title: "Acento", type: "string", components: { input: ColorInput } }),
54512
+ (0, import_sanity29.defineField)({ name: "accentForeground", title: "Primer plano de acento", type: "string", components: { input: ColorInput } }),
54513
+ (0, import_sanity29.defineField)({ name: "background", title: "Fondo", type: "string", components: { input: ColorInput } }),
54514
+ (0, import_sanity29.defineField)({ name: "foreground", title: "Primer plano", type: "string", components: { input: ColorInput } }),
54515
+ (0, import_sanity29.defineField)({ name: "muted", title: "Suave", type: "string", components: { input: ColorInput } }),
54516
+ (0, import_sanity29.defineField)({ name: "mutedForeground", title: "Primer plano suave", type: "string", components: { input: ColorInput } }),
54517
+ (0, import_sanity29.defineField)({ name: "border", title: "Borde", type: "string", components: { input: ColorInput } })
54452
54518
  ]
54453
54519
  }),
54454
- (0, import_sanity27.defineField)({
54520
+ (0, import_sanity29.defineField)({
54455
54521
  name: "radius",
54456
54522
  title: "Radio de borde (rem)",
54457
54523
  description: "0 = anguloso, 0.5 = predeterminado, 1 = muy redondeado",
@@ -54462,7 +54528,7 @@ var siteSettings = (0, import_sanity27.defineType)({
54462
54528
  ]
54463
54529
  }),
54464
54530
  /* ─── Layout ─── */
54465
- (0, import_sanity27.defineField)({
54531
+ (0, import_sanity29.defineField)({
54466
54532
  name: "layoutVariant",
54467
54533
  title: "Dise\xF1o",
54468
54534
  type: "string",
@@ -54479,7 +54545,7 @@ var siteSettings = (0, import_sanity27.defineType)({
54479
54545
  },
54480
54546
  initialValue: "default"
54481
54547
  }),
54482
- (0, import_sanity27.defineField)({
54548
+ (0, import_sanity29.defineField)({
54483
54549
  name: "headerVariant",
54484
54550
  title: "Encabezado",
54485
54551
  type: "string",
@@ -54497,7 +54563,7 @@ var siteSettings = (0, import_sanity27.defineType)({
54497
54563
  },
54498
54564
  initialValue: "default"
54499
54565
  }),
54500
- (0, import_sanity27.defineField)({
54566
+ (0, import_sanity29.defineField)({
54501
54567
  name: "footerVariant",
54502
54568
  title: "Pie de p\xE1gina",
54503
54569
  type: "string",
@@ -54511,13 +54577,27 @@ var siteSettings = (0, import_sanity27.defineType)({
54511
54577
  },
54512
54578
  initialValue: "default"
54513
54579
  }),
54580
+ (0, import_sanity29.defineField)({
54581
+ name: "notFoundVariant",
54582
+ title: "P\xE1gina 404",
54583
+ type: "string",
54584
+ options: {
54585
+ list: [
54586
+ { title: "Centrado \u2014 gran n\xFAmero 404 centrado en pantalla", value: "centered" },
54587
+ { title: "Dividido \u2014 branding a la izquierda, mensaje a la derecha", value: "split" },
54588
+ { title: "Minimalista \u2014 solo texto, sin decoraci\xF3n", value: "minimal" }
54589
+ ],
54590
+ layout: "radio"
54591
+ },
54592
+ initialValue: "centered"
54593
+ }),
54514
54594
  /* ─── Navigation ─── */
54515
- (0, import_sanity27.defineField)({
54595
+ (0, import_sanity29.defineField)({
54516
54596
  name: "navigation",
54517
54597
  title: "Navegaci\xF3n",
54518
54598
  type: "object",
54519
54599
  fields: [
54520
- (0, import_sanity27.defineField)({
54600
+ (0, import_sanity29.defineField)({
54521
54601
  name: "links",
54522
54602
  title: "Enlaces de navegaci\xF3n",
54523
54603
  type: "array",
@@ -54525,8 +54605,8 @@ var siteSettings = (0, import_sanity27.defineType)({
54525
54605
  {
54526
54606
  type: "object",
54527
54607
  fields: [
54528
- (0, import_sanity27.defineField)({ name: "label", title: "Etiqueta", type: "string" }),
54529
- (0, import_sanity27.defineField)({ name: "href", title: "Href", type: "string" })
54608
+ (0, import_sanity29.defineField)({ name: "label", title: "Etiqueta", type: "string" }),
54609
+ (0, import_sanity29.defineField)({ name: "href", title: "Href", type: "string" })
54530
54610
  ],
54531
54611
  preview: { select: { title: "label", subtitle: "href" } }
54532
54612
  }
@@ -54535,14 +54615,14 @@ var siteSettings = (0, import_sanity27.defineType)({
54535
54615
  ]
54536
54616
  }),
54537
54617
  /* ─── Footer ─── */
54538
- (0, import_sanity27.defineField)({
54618
+ (0, import_sanity29.defineField)({
54539
54619
  name: "footer",
54540
54620
  title: "Pie de p\xE1gina",
54541
54621
  type: "object",
54542
54622
  fields: [
54543
- (0, import_sanity27.defineField)({ name: "text", title: "Texto del pie / copyright", type: "string" }),
54544
- (0, import_sanity27.defineField)({ name: "description", title: "Descripci\xF3n del pie (variante columnas)", type: "string" }),
54545
- (0, import_sanity27.defineField)({
54623
+ (0, import_sanity29.defineField)({ name: "text", title: "Texto del pie / copyright", type: "string" }),
54624
+ (0, import_sanity29.defineField)({ name: "description", title: "Descripci\xF3n del pie (variante columnas)", type: "string" }),
54625
+ (0, import_sanity29.defineField)({
54546
54626
  name: "links",
54547
54627
  title: "Enlaces del pie",
54548
54628
  type: "array",
@@ -54550,14 +54630,14 @@ var siteSettings = (0, import_sanity27.defineType)({
54550
54630
  {
54551
54631
  type: "object",
54552
54632
  fields: [
54553
- (0, import_sanity27.defineField)({ name: "label", title: "Etiqueta", type: "string" }),
54554
- (0, import_sanity27.defineField)({ name: "href", title: "Href", type: "string" })
54633
+ (0, import_sanity29.defineField)({ name: "label", title: "Etiqueta", type: "string" }),
54634
+ (0, import_sanity29.defineField)({ name: "href", title: "Href", type: "string" })
54555
54635
  ],
54556
54636
  preview: { select: { title: "label", subtitle: "href" } }
54557
54637
  }
54558
54638
  ]
54559
54639
  }),
54560
- (0, import_sanity27.defineField)({
54640
+ (0, import_sanity29.defineField)({
54561
54641
  name: "columns",
54562
54642
  title: "Columnas de enlaces (variante columnas)",
54563
54643
  type: "array",
@@ -54565,8 +54645,8 @@ var siteSettings = (0, import_sanity27.defineType)({
54565
54645
  {
54566
54646
  type: "object",
54567
54647
  fields: [
54568
- (0, import_sanity27.defineField)({ name: "title", title: "T\xEDtulo de columna", type: "string" }),
54569
- (0, import_sanity27.defineField)({
54648
+ (0, import_sanity29.defineField)({ name: "title", title: "T\xEDtulo de columna", type: "string" }),
54649
+ (0, import_sanity29.defineField)({
54570
54650
  name: "links",
54571
54651
  title: "Enlaces",
54572
54652
  type: "array",
@@ -54574,8 +54654,8 @@ var siteSettings = (0, import_sanity27.defineType)({
54574
54654
  {
54575
54655
  type: "object",
54576
54656
  fields: [
54577
- (0, import_sanity27.defineField)({ name: "label", title: "Etiqueta", type: "string" }),
54578
- (0, import_sanity27.defineField)({ name: "href", title: "Href", type: "string" })
54657
+ (0, import_sanity29.defineField)({ name: "label", title: "Etiqueta", type: "string" }),
54658
+ (0, import_sanity29.defineField)({ name: "href", title: "Href", type: "string" })
54579
54659
  ],
54580
54660
  preview: { select: { title: "label", subtitle: "href" } }
54581
54661
  }