tinacms 0.0.0-bc59a81-20241030011355 → 0.0.0-bc986dd-20250128224550

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -862,13 +862,23 @@ var __publicField = (obj, key, value) => {
862
862
  className,
863
863
  ...props
864
864
  }) => {
865
+ if (typeof children === "string") {
866
+ return /* @__PURE__ */ React__namespace.createElement(
867
+ "span",
868
+ {
869
+ className: `block font-sans text-xs italic font-light text-gray-400 pt-0.5 whitespace-normal m-0 ${className}`,
870
+ ...props,
871
+ dangerouslySetInnerHTML: { __html: children }
872
+ }
873
+ );
874
+ }
865
875
  return /* @__PURE__ */ React__namespace.createElement(
866
876
  "span",
867
877
  {
868
878
  className: `block font-sans text-xs italic font-light text-gray-400 pt-0.5 whitespace-normal m-0 ${className}`,
869
- ...props,
870
- dangerouslySetInnerHTML: { __html: children }
871
- }
879
+ ...props
880
+ },
881
+ children
872
882
  );
873
883
  };
874
884
  const FieldError = ({
@@ -3820,7 +3830,7 @@ flowchart TD
3820
3830
  function _objectWithoutProperties(source, excluded) {
3821
3831
  if (source == null)
3822
3832
  return {};
3823
- var target = _objectWithoutPropertiesLoose$1(source, excluded);
3833
+ var target = _objectWithoutPropertiesLoose(source, excluded);
3824
3834
  var key, i;
3825
3835
  if (Object.getOwnPropertySymbols) {
3826
3836
  var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
@@ -3835,7 +3845,7 @@ flowchart TD
3835
3845
  }
3836
3846
  return target;
3837
3847
  }
3838
- function _objectWithoutPropertiesLoose$1(source, excluded) {
3848
+ function _objectWithoutPropertiesLoose(source, excluded) {
3839
3849
  if (source == null)
3840
3850
  return {};
3841
3851
  var target = {};
@@ -4925,7 +4935,28 @@ flowchart TD
4925
4935
  onChange,
4926
4936
  value,
4927
4937
  step
4928
- }) => /* @__PURE__ */ React__namespace.createElement(Input, { type: "number", step, value, onChange });
4938
+ }) => /* @__PURE__ */ React__namespace.createElement(
4939
+ Input,
4940
+ {
4941
+ type: "number",
4942
+ step,
4943
+ value,
4944
+ onChange: (event) => {
4945
+ const inputValue = event.target.value;
4946
+ const newValue = inputValue === "" ? void 0 : inputValue;
4947
+ if (onChange) {
4948
+ const syntheticEvent = {
4949
+ ...event,
4950
+ target: {
4951
+ ...event.target,
4952
+ value: newValue
4953
+ }
4954
+ };
4955
+ onChange(syntheticEvent);
4956
+ }
4957
+ }
4958
+ }
4959
+ );
4929
4960
  function useCMS() {
4930
4961
  return useCMS$1();
4931
4962
  }
@@ -5726,10 +5757,11 @@ flowchart TD
5726
5757
  return /* @__PURE__ */ React.createElement(
5727
5758
  "button",
5728
5759
  {
5729
- className: `w-8 px-1 py-2.5 flex items-center justify-center hover:bg-gray-50 text-gray-200 hover:text-red-500 ${disabled && "pointer-events-none opacity-30 cursor-not-allowed"}`,
5760
+ type: "button",
5761
+ className: `w-8 px-1 py-2.5 flex items-center justify-center text-gray-200 hover:opacity-100 opacity-30 hover:bg-gray-50 ${disabled && "pointer-events-none opacity-30 cursor-not-allowed"}`,
5730
5762
  onClick
5731
5763
  },
5732
- /* @__PURE__ */ React.createElement(TrashIcon, { className: "fill-current transition-colors ease-out duration-100" })
5764
+ /* @__PURE__ */ React.createElement(TrashIcon, { className: "h-5 w-auto fill-current text-red-500 transition-colors duration-150 ease-out" })
5733
5765
  );
5734
5766
  };
5735
5767
  const DragHandle = ({ isDragging }) => {
@@ -7177,244 +7209,65 @@ flowchart TD
7177
7209
  str = "0" + str;
7178
7210
  return str;
7179
7211
  }
7180
- function _inheritsLoose(subClass, superClass) {
7181
- subClass.prototype = Object.create(superClass.prototype);
7182
- subClass.prototype.constructor = subClass;
7183
- _setPrototypeOf(subClass, superClass);
7184
- }
7185
- function _setPrototypeOf(o, p) {
7186
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf2(o2, p2) {
7187
- o2.__proto__ = p2;
7188
- return o2;
7189
- };
7190
- return _setPrototypeOf(o, p);
7191
- }
7192
- function _objectWithoutPropertiesLoose(source, excluded) {
7193
- if (source == null)
7194
- return {};
7195
- var target = {};
7196
- var sourceKeys = Object.keys(source);
7197
- var key, i;
7198
- for (i = 0; i < sourceKeys.length; i++) {
7199
- key = sourceKeys[i];
7200
- if (excluded.indexOf(key) >= 0)
7201
- continue;
7202
- target[key] = source[key];
7203
- }
7204
- return target;
7205
- }
7206
- function _assertThisInitialized(self2) {
7207
- if (self2 === void 0) {
7208
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
7209
- }
7210
- return self2;
7211
- }
7212
- function isNodeFound(current, componentNode, ignoreClass) {
7213
- if (current === componentNode) {
7214
- return true;
7212
+ var useClickAway$1 = {};
7213
+ var util = {};
7214
+ Object.defineProperty(util, "__esModule", { value: true });
7215
+ util.isNavigator = util.isBrowser = util.off = util.on = util.noop = void 0;
7216
+ var noop = function() {
7217
+ };
7218
+ util.noop = noop;
7219
+ function on(obj) {
7220
+ var args = [];
7221
+ for (var _i = 1; _i < arguments.length; _i++) {
7222
+ args[_i - 1] = arguments[_i];
7215
7223
  }
7216
- if (current.correspondingElement) {
7217
- return current.correspondingElement.classList.contains(ignoreClass);
7224
+ if (obj && obj.addEventListener) {
7225
+ obj.addEventListener.apply(obj, args);
7218
7226
  }
7219
- return current.classList.contains(ignoreClass);
7220
7227
  }
7221
- function findHighest(current, componentNode, ignoreClass) {
7222
- if (current === componentNode) {
7223
- return true;
7228
+ util.on = on;
7229
+ function off(obj) {
7230
+ var args = [];
7231
+ for (var _i = 1; _i < arguments.length; _i++) {
7232
+ args[_i - 1] = arguments[_i];
7224
7233
  }
7225
- while (current.parentNode || current.host) {
7226
- if (current.parentNode && isNodeFound(current, componentNode, ignoreClass)) {
7227
- return true;
7228
- }
7229
- current = current.parentNode || current.host;
7234
+ if (obj && obj.removeEventListener) {
7235
+ obj.removeEventListener.apply(obj, args);
7230
7236
  }
7231
- return current;
7232
7237
  }
7233
- function clickedScrollbar(evt) {
7234
- return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY;
7235
- }
7236
- var testPassiveEventSupport = function testPassiveEventSupport2() {
7237
- if (typeof window === "undefined" || typeof window.addEventListener !== "function") {
7238
- return;
7239
- }
7240
- var passive = false;
7241
- var options = Object.defineProperty({}, "passive", {
7242
- get: function get2() {
7243
- passive = true;
7244
- }
7245
- });
7246
- var noop = function noop2() {
7247
- };
7248
- window.addEventListener("testPassiveEventSupport", noop, options);
7249
- window.removeEventListener("testPassiveEventSupport", noop, options);
7250
- return passive;
7251
- };
7252
- function autoInc(seed) {
7253
- if (seed === void 0) {
7254
- seed = 0;
7255
- }
7256
- return function() {
7257
- return ++seed;
7258
- };
7259
- }
7260
- var uid = autoInc();
7261
- var passiveEventSupport;
7262
- var handlersMap = {};
7263
- var enabledInstances = {};
7264
- var touchEvents = ["touchstart", "touchmove"];
7265
- var IGNORE_CLASS_NAME = "ignore-react-onclickoutside";
7266
- function getEventHandlerOptions(instance, eventName) {
7267
- var handlerOptions = {};
7268
- var isTouchEvent = touchEvents.indexOf(eventName) !== -1;
7269
- if (isTouchEvent && passiveEventSupport) {
7270
- handlerOptions.passive = !instance.props.preventDefault;
7271
- }
7272
- return handlerOptions;
7273
- }
7274
- function onClickOutsideHOC(WrappedComponent, config) {
7275
- var _class, _temp;
7276
- var componentName = WrappedComponent.displayName || WrappedComponent.name || "Component";
7277
- return _temp = _class = /* @__PURE__ */ function(_Component) {
7278
- _inheritsLoose(onClickOutside, _Component);
7279
- function onClickOutside(props) {
7280
- var _this;
7281
- _this = _Component.call(this, props) || this;
7282
- _this.__outsideClickHandler = function(event) {
7283
- if (typeof _this.__clickOutsideHandlerProp === "function") {
7284
- _this.__clickOutsideHandlerProp(event);
7285
- return;
7286
- }
7287
- var instance = _this.getInstance();
7288
- if (typeof instance.props.handleClickOutside === "function") {
7289
- instance.props.handleClickOutside(event);
7290
- return;
7291
- }
7292
- if (typeof instance.handleClickOutside === "function") {
7293
- instance.handleClickOutside(event);
7294
- return;
7295
- }
7296
- throw new Error("WrappedComponent: " + componentName + " lacks a handleClickOutside(event) function for processing outside click events.");
7297
- };
7298
- _this.__getComponentNode = function() {
7299
- var instance = _this.getInstance();
7300
- if (config && typeof config.setClickOutsideRef === "function") {
7301
- return config.setClickOutsideRef()(instance);
7302
- }
7303
- if (typeof instance.setClickOutsideRef === "function") {
7304
- return instance.setClickOutsideRef();
7305
- }
7306
- return reactDom.findDOMNode(instance);
7307
- };
7308
- _this.enableOnClickOutside = function() {
7309
- if (typeof document === "undefined" || enabledInstances[_this._uid]) {
7310
- return;
7311
- }
7312
- if (typeof passiveEventSupport === "undefined") {
7313
- passiveEventSupport = testPassiveEventSupport();
7314
- }
7315
- enabledInstances[_this._uid] = true;
7316
- var events = _this.props.eventTypes;
7317
- if (!events.forEach) {
7318
- events = [events];
7319
- }
7320
- handlersMap[_this._uid] = function(event) {
7321
- if (_this.componentNode === null)
7322
- return;
7323
- if (_this.initTimeStamp > event.timeStamp)
7324
- return;
7325
- if (_this.props.preventDefault) {
7326
- event.preventDefault();
7327
- }
7328
- if (_this.props.stopPropagation) {
7329
- event.stopPropagation();
7330
- }
7331
- if (_this.props.excludeScrollbar && clickedScrollbar(event))
7332
- return;
7333
- var current = event.composed && event.composedPath && event.composedPath().shift() || event.target;
7334
- if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {
7335
- return;
7336
- }
7337
- _this.__outsideClickHandler(event);
7338
- };
7339
- events.forEach(function(eventName) {
7340
- document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_assertThisInitialized(_this), eventName));
7341
- });
7342
- };
7343
- _this.disableOnClickOutside = function() {
7344
- delete enabledInstances[_this._uid];
7345
- var fn = handlersMap[_this._uid];
7346
- if (fn && typeof document !== "undefined") {
7347
- var events = _this.props.eventTypes;
7348
- if (!events.forEach) {
7349
- events = [events];
7350
- }
7351
- events.forEach(function(eventName) {
7352
- return document.removeEventListener(eventName, fn, getEventHandlerOptions(_assertThisInitialized(_this), eventName));
7353
- });
7354
- delete handlersMap[_this._uid];
7355
- }
7356
- };
7357
- _this.getRef = function(ref) {
7358
- return _this.instanceRef = ref;
7359
- };
7360
- _this._uid = uid();
7361
- _this.initTimeStamp = performance.now();
7362
- return _this;
7363
- }
7364
- var _proto = onClickOutside.prototype;
7365
- _proto.getInstance = function getInstance() {
7366
- if (WrappedComponent.prototype && !WrappedComponent.prototype.isReactComponent) {
7367
- return this;
7368
- }
7369
- var ref = this.instanceRef;
7370
- return ref.getInstance ? ref.getInstance() : ref;
7371
- };
7372
- _proto.componentDidMount = function componentDidMount() {
7373
- if (typeof document === "undefined" || !document.createElement) {
7374
- return;
7375
- }
7376
- var instance = this.getInstance();
7377
- if (config && typeof config.handleClickOutside === "function") {
7378
- this.__clickOutsideHandlerProp = config.handleClickOutside(instance);
7379
- if (typeof this.__clickOutsideHandlerProp !== "function") {
7380
- throw new Error("WrappedComponent: " + componentName + " lacks a function for processing outside click events specified by the handleClickOutside config option.");
7381
- }
7382
- }
7383
- this.componentNode = this.__getComponentNode();
7384
- if (this.props.disableOnClickOutside)
7385
- return;
7386
- this.enableOnClickOutside();
7387
- };
7388
- _proto.componentDidUpdate = function componentDidUpdate() {
7389
- this.componentNode = this.__getComponentNode();
7238
+ util.off = off;
7239
+ util.isBrowser = typeof window !== "undefined";
7240
+ util.isNavigator = typeof navigator !== "undefined";
7241
+ Object.defineProperty(useClickAway$1, "__esModule", { value: true });
7242
+ var react_1 = React;
7243
+ var util_1 = util;
7244
+ var defaultEvents = ["mousedown", "touchstart"];
7245
+ var useClickAway = function(ref, onClickAway, events) {
7246
+ if (events === void 0) {
7247
+ events = defaultEvents;
7248
+ }
7249
+ var savedCallback = react_1.useRef(onClickAway);
7250
+ react_1.useEffect(function() {
7251
+ savedCallback.current = onClickAway;
7252
+ }, [onClickAway]);
7253
+ react_1.useEffect(function() {
7254
+ var handler = function(event) {
7255
+ var el = ref.current;
7256
+ el && !el.contains(event.target) && savedCallback.current(event);
7390
7257
  };
7391
- _proto.componentWillUnmount = function componentWillUnmount() {
7392
- this.disableOnClickOutside();
7393
- };
7394
- _proto.render = function render() {
7395
- var _this$props = this.props;
7396
- _this$props.excludeScrollbar;
7397
- var props = _objectWithoutPropertiesLoose(_this$props, ["excludeScrollbar"]);
7398
- if (WrappedComponent.prototype && WrappedComponent.prototype.isReactComponent) {
7399
- props.ref = this.getRef;
7400
- } else {
7401
- props.wrappedRef = this.getRef;
7258
+ for (var _i = 0, events_1 = events; _i < events_1.length; _i++) {
7259
+ var eventName = events_1[_i];
7260
+ util_1.on(document, eventName, handler);
7261
+ }
7262
+ return function() {
7263
+ for (var _i2 = 0, events_2 = events; _i2 < events_2.length; _i2++) {
7264
+ var eventName2 = events_2[_i2];
7265
+ util_1.off(document, eventName2, handler);
7402
7266
  }
7403
- props.disableOnClickOutside = this.disableOnClickOutside;
7404
- props.enableOnClickOutside = this.enableOnClickOutside;
7405
- return React.createElement(WrappedComponent, props);
7406
7267
  };
7407
- return onClickOutside;
7408
- }(React.Component), _class.displayName = "OnClickOutside(" + componentName + ")", _class.defaultProps = {
7409
- eventTypes: ["mousedown", "touchstart"],
7410
- excludeScrollbar: config && config.excludeScrollbar || false,
7411
- outsideClickIgnoreClass: IGNORE_CLASS_NAME,
7412
- preventDefault: false,
7413
- stopPropagation: false
7414
- }, _class.getClass = function() {
7415
- return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;
7416
- }, _temp;
7417
- }
7268
+ }, [events, ref]);
7269
+ };
7270
+ var _default = useClickAway$1.default = useClickAway;
7418
7271
  const viewModes = {
7419
7272
  YEARS: "years",
7420
7273
  MONTHS: "months",
@@ -7943,22 +7796,13 @@ flowchart TD
7943
7796
  }
7944
7797
  con[method]("***react-datetime:" + message);
7945
7798
  }
7946
- class ClickOutBase extends React.Component {
7947
- constructor() {
7948
- super(...arguments);
7949
- __publicField(this, "container", React.createRef());
7950
- }
7951
- render() {
7952
- return /* @__PURE__ */ React.createElement("div", { className: this.props.className, ref: this.container }, this.props.children);
7953
- }
7954
- handleClickOutside(e) {
7955
- this.props.onClickOut(e);
7956
- }
7957
- setClickOutsideRef() {
7958
- return this.container.current;
7959
- }
7799
+ function ClickableWrapper({ className, onClickOut, children }) {
7800
+ const containerRef = React.useRef(null);
7801
+ _default(containerRef, (event) => {
7802
+ onClickOut(event);
7803
+ });
7804
+ return /* @__PURE__ */ React.createElement("div", { className, ref: containerRef }, children);
7960
7805
  }
7961
- const ClickableWrapper = onClickOutsideHOC(ClickOutBase);
7962
7806
  const DEFAULT_DATE_DISPLAY_FORMAT = "MMM DD, YYYY";
7963
7807
  const DEFAULT_TIME_DISPLAY_FORMAT = "h:mm A";
7964
7808
  const format$1 = (val, _name, field) => {
@@ -8001,7 +7845,10 @@ flowchart TD
8001
7845
  ReactDateTimeWithStyles,
8002
7846
  {
8003
7847
  value: input.value,
8004
- onChange: input.onChange,
7848
+ onChange: (value) => {
7849
+ const newValue = value === "" ? void 0 : value;
7850
+ input.onChange(newValue);
7851
+ },
8005
7852
  dateFormat: dateFormat || DEFAULT_DATE_DISPLAY_FORMAT,
8006
7853
  timeFormat: timeFormat || false,
8007
7854
  inputProps: { className: textFieldClasses },
@@ -9453,6 +9300,20 @@ flowchart TD
9453
9300
  }
9454
9301
  }
9455
9302
  }
9303
+ const encodeUrlIfNeeded = (url) => {
9304
+ if (url) {
9305
+ try {
9306
+ const parsed = new URL(url);
9307
+ parsed.pathname = parsed.pathname.split("/").filter((part) => part !== "").map(encodeURIComponent).join("/");
9308
+ return parsed.toString();
9309
+ } catch (e) {
9310
+ console.error("Failed to parse URL:", e);
9311
+ return url;
9312
+ }
9313
+ } else {
9314
+ return url;
9315
+ }
9316
+ };
9456
9317
  let MediaManager$1 = class MediaManager {
9457
9318
  constructor(store, events) {
9458
9319
  this.store = store;
@@ -9525,6 +9386,20 @@ flowchart TD
9525
9386
  try {
9526
9387
  this.events.dispatch({ type: "media:list:start", ...options });
9527
9388
  const media = await this.store.list(options);
9389
+ media.items = media.items.map((item) => {
9390
+ if (item.type === "dir") {
9391
+ return item;
9392
+ }
9393
+ if (item.thumbnails) {
9394
+ for (const [size, src] of Object.entries(item.thumbnails)) {
9395
+ item.thumbnails[size] = encodeUrlIfNeeded(src);
9396
+ }
9397
+ }
9398
+ return {
9399
+ ...item,
9400
+ src: encodeUrlIfNeeded(item.src)
9401
+ };
9402
+ });
9528
9403
  this.events.dispatch({ type: "media:list:success", ...options, media });
9529
9404
  return media;
9530
9405
  } catch (error) {
@@ -10332,7 +10207,7 @@ flowchart TD
10332
10207
  "Event Log"
10333
10208
  ));
10334
10209
  };
10335
- const version = "2.3.0";
10210
+ const version = "2.6.2";
10336
10211
  const Nav = ({
10337
10212
  isLocalMode,
10338
10213
  className = "",
@@ -14652,7 +14527,7 @@ flowchart TD
14652
14527
  key: template.name,
14653
14528
  onMouseDown: (e) => {
14654
14529
  e.preventDefault();
14655
- close();
14530
+ setOpen(false);
14656
14531
  insertMDX(editor, template);
14657
14532
  },
14658
14533
  className: ""
@@ -14738,7 +14613,12 @@ flowchart TD
14738
14613
  const [itemsShown, setItemsShown] = React.useState(11);
14739
14614
  const { overrides, templates } = useToolbarContext();
14740
14615
  const showEmbedButton = templates.length > 0;
14741
- let items2 = overrides === void 0 ? Object.values(toolbarItems) : overrides.map((item) => toolbarItems[item]).filter((item) => item !== void 0);
14616
+ let items2 = [];
14617
+ if (Array.isArray(overrides)) {
14618
+ items2 = overrides === void 0 ? Object.values(toolbarItems) : overrides.map((item) => toolbarItems[item]).filter((item) => item !== void 0);
14619
+ } else {
14620
+ items2 = (overrides == null ? void 0 : overrides.toolbar) === void 0 ? Object.values(toolbarItems) : overrides.toolbar.map((item) => toolbarItems[item]).filter((item) => item !== void 0);
14621
+ }
14742
14622
  if (!showEmbedButton) {
14743
14623
  items2 = items2.filter((item) => item.label !== toolbarItems.embed.label);
14744
14624
  }
@@ -15066,6 +14946,9 @@ flowchart TD
15066
14946
  if (typeof string !== "string") {
15067
14947
  return false;
15068
14948
  }
14949
+ if (string.startsWith("#")) {
14950
+ return true;
14951
+ }
15069
14952
  const generalMatch = string.match(protocolAndDomainRE);
15070
14953
  const emailLinkMatch = string.match(emailLintRE);
15071
14954
  const localUrlMatch = string.match(localUrlRE);
@@ -15087,12 +14970,12 @@ flowchart TD
15087
14970
  }
15088
14971
  return localhostDomainRE.test(everythingAfterProtocol) || nonLocalhostDomainRE.test(everythingAfterProtocol);
15089
14972
  };
15090
- const RichEditor = (props) => {
14973
+ const RichEditor = ({ input, tinaForm, field }) => {
15091
14974
  var _a;
15092
14975
  const initialValue = React.useMemo(
15093
14976
  () => {
15094
14977
  var _a2, _b;
15095
- return ((_b = (_a2 = props.input.value) == null ? void 0 : _a2.children) == null ? void 0 : _b.length) ? props.input.value.children.map(helpers.normalize) : [{ type: "p", children: [{ type: "text", text: "" }] }];
14978
+ return ((_b = (_a2 = input.value) == null ? void 0 : _a2.children) == null ? void 0 : _b.length) ? input.value.children.map(helpers.normalize) : [{ type: "p", children: [{ type: "text", text: "" }] }];
15096
14979
  },
15097
14980
  []
15098
14981
  );
@@ -15120,7 +15003,7 @@ flowchart TD
15120
15003
  ),
15121
15004
  []
15122
15005
  );
15123
- const tempId = [props.tinaForm.id, props.input.name].join(".");
15006
+ const tempId = [tinaForm.id, input.name].join(".");
15124
15007
  const id = React.useMemo(() => uuid() + tempId, [tempId]);
15125
15008
  const ref = React.useRef(null);
15126
15009
  React.useEffect(() => {
@@ -15130,13 +15013,13 @@ flowchart TD
15130
15013
  const plateElement = (_a2 = ref.current) == null ? void 0 : _a2.querySelector(
15131
15014
  '[role="textbox"]'
15132
15015
  );
15133
- if (props.field.experimental_focusIntent && plateElement) {
15016
+ if (field.experimental_focusIntent && plateElement) {
15134
15017
  if (plateElement)
15135
15018
  plateElement.focus();
15136
15019
  }
15137
15020
  }, 100);
15138
15021
  }
15139
- }, [props.field.experimental_focusIntent, ref]);
15022
+ }, [field.experimental_focusIntent, ref]);
15140
15023
  return /* @__PURE__ */ React.createElement("div", { ref }, /* @__PURE__ */ React.createElement(
15141
15024
  plateCommon.Plate,
15142
15025
  {
@@ -15144,7 +15027,7 @@ flowchart TD
15144
15027
  initialValue,
15145
15028
  plugins: plugins$2,
15146
15029
  onChange: (value) => {
15147
- props.input.onChange({
15030
+ input.onChange({
15148
15031
  type: "root",
15149
15032
  children: value
15150
15033
  });
@@ -15153,12 +15036,12 @@ flowchart TD
15153
15036
  /* @__PURE__ */ React.createElement(TooltipProvider, null, /* @__PURE__ */ React.createElement(
15154
15037
  ToolbarProvider,
15155
15038
  {
15156
- tinaForm: props.tinaForm,
15157
- templates: props.field.templates,
15158
- overrides: (_a = props.field) == null ? void 0 : _a.toolbarOverride
15039
+ tinaForm,
15040
+ templates: field.templates,
15041
+ overrides: (field == null ? void 0 : field.toolbarOverride) ? field.toolbarOverride : field.overrides
15159
15042
  },
15160
15043
  /* @__PURE__ */ React.createElement(FixedToolbar, null, /* @__PURE__ */ React.createElement(FixedToolbarButtons, null)),
15161
- /* @__PURE__ */ React.createElement(FloatingToolbar, null, /* @__PURE__ */ React.createElement(FloatingToolbarButtons, null))
15044
+ ((_a = field == null ? void 0 : field.overrides) == null ? void 0 : _a.showFloatingToolbar) !== false ? /* @__PURE__ */ React.createElement(FloatingToolbar, null, /* @__PURE__ */ React.createElement(FloatingToolbarButtons, null)) : null
15162
15045
  ), /* @__PURE__ */ React.createElement(Editor, null))
15163
15046
  ));
15164
15047
  };
@@ -30112,6 +29995,7 @@ mutation addPendingDocumentMutation(
30112
29995
  relativePath
30113
29996
  filename
30114
29997
  extension
29998
+ hasReferences
30115
29999
  }
30116
30000
  }
30117
30001
  }
@@ -30203,6 +30087,9 @@ mutation addPendingDocumentMutation(
30203
30087
  document(collection:$collection, relativePath:$relativePath) {
30204
30088
  ... on Document {
30205
30089
  _values
30090
+ _sys {
30091
+ hasReferences
30092
+ }
30206
30093
  }
30207
30094
  }
30208
30095
  }`;
@@ -31929,6 +31816,23 @@ This will work when developing locally but NOT when deployed to production.
31929
31816
  DeleteModal,
31930
31817
  {
31931
31818
  filename: vars.relativePath,
31819
+ checkRefsFunc: async () => {
31820
+ var _a2, _b2;
31821
+ try {
31822
+ const doc = await admin.fetchDocument(
31823
+ collection.name,
31824
+ vars.relativePath,
31825
+ true
31826
+ );
31827
+ return (_b2 = (_a2 = doc == null ? void 0 : doc.document) == null ? void 0 : _a2._sys) == null ? void 0 : _b2.hasReferences;
31828
+ } catch (error) {
31829
+ cms.alerts.error(
31830
+ "Document was not found, ask a developer for help or check the console for an error message"
31831
+ );
31832
+ console.error(error);
31833
+ throw error;
31834
+ }
31835
+ },
31932
31836
  deleteFunc: async () => {
31933
31837
  try {
31934
31838
  await admin.deleteDocument(vars);
@@ -31937,6 +31841,12 @@ This will work when developing locally but NOT when deployed to production.
31937
31841
  );
31938
31842
  reFetchCollection();
31939
31843
  } catch (error) {
31844
+ if (error.message.indexOf("has references")) {
31845
+ cms.alerts.error(
31846
+ error.message.split("\n ").filter(Boolean)[1]
31847
+ );
31848
+ return;
31849
+ }
31940
31850
  cms.alerts.warn(
31941
31851
  "Document was not deleted, ask a developer for help or check the console for an error message"
31942
31852
  );
@@ -31988,6 +31898,12 @@ This will work when developing locally but NOT when deployed to production.
31988
31898
  cms.alerts.info("Document was successfully renamed");
31989
31899
  reFetchCollection();
31990
31900
  } catch (error) {
31901
+ if (error.message.indexOf("has references")) {
31902
+ cms.alerts.error(
31903
+ error.message.split("\n ").filter(Boolean)[1]
31904
+ );
31905
+ return;
31906
+ }
31991
31907
  cms.alerts.warn(
31992
31908
  "Document was not renamed, ask a developer for help or check the console for an error message"
31993
31909
  );
@@ -32461,8 +32377,19 @@ This will work when developing locally but NOT when deployed to production.
32461
32377
  const NoDocumentsPlaceholder = () => {
32462
32378
  return /* @__PURE__ */ React.createElement("div", { className: "text-center px-5 py-3 flex flex-col items-center justify-center shadow border border-gray-100 bg-gray-50 border-b border-gray-200 w-full max-w-full rounded-lg" }, /* @__PURE__ */ React.createElement("p", { className: "text-base italic font-medium text-gray-300" }, "No documents found."));
32463
32379
  };
32464
- const DeleteModal = ({ close: close2, deleteFunc, filename }) => {
32465
- return /* @__PURE__ */ React.createElement(Modal, null, /* @__PURE__ */ React.createElement(PopupModal, null, /* @__PURE__ */ React.createElement(ModalHeader, { close: close2 }, "Delete ", filename), /* @__PURE__ */ React.createElement(ModalBody, { padded: true }, /* @__PURE__ */ React.createElement("p", null, `Are you sure you want to delete ${filename}?`)), /* @__PURE__ */ React.createElement(ModalActions, null, /* @__PURE__ */ React.createElement(Button$1, { style: { flexGrow: 2 }, onClick: close2 }, "Cancel"), /* @__PURE__ */ React.createElement(
32380
+ const DeleteModal = ({
32381
+ close: close2,
32382
+ deleteFunc,
32383
+ checkRefsFunc,
32384
+ filename
32385
+ }) => {
32386
+ const [hasRefs, setHasRefs] = React.useState();
32387
+ React.useEffect(() => {
32388
+ checkRefsFunc().then((result) => {
32389
+ setHasRefs(result);
32390
+ });
32391
+ }, [filename, checkRefsFunc]);
32392
+ return /* @__PURE__ */ React.createElement(Modal, null, /* @__PURE__ */ React.createElement(PopupModal, null, /* @__PURE__ */ React.createElement(ModalHeader, { close: close2 }, "Delete ", filename), /* @__PURE__ */ React.createElement(ModalBody, { padded: true }, /* @__PURE__ */ React.createElement("p", null, `Are you sure you want to delete ${filename}?${hasRefs ? " References to this document will also be deleted." : ""}`)), /* @__PURE__ */ React.createElement(ModalActions, null, /* @__PURE__ */ React.createElement(Button$1, { style: { flexGrow: 2 }, onClick: close2 }, "Cancel"), /* @__PURE__ */ React.createElement(
32466
32393
  Button$1,
32467
32394
  {
32468
32395
  style: { flexGrow: 3 },