tinacms 0.0.0-a5bc4cd-20241024211559 → 0.0.0-a6daef4-20250115020754

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
@@ -774,6 +774,22 @@ var __publicField = (obj, key, value) => {
774
774
  );
775
775
  };
776
776
  }
777
+ function wrapFieldWithNoHeader(Field) {
778
+ return (props) => {
779
+ return /* @__PURE__ */ React__namespace.createElement(
780
+ FieldMeta,
781
+ {
782
+ name: props.input.name,
783
+ label: false,
784
+ description: "",
785
+ error: props.meta.error,
786
+ index: props.index,
787
+ tinaForm: props.tinaForm
788
+ },
789
+ /* @__PURE__ */ React__namespace.createElement(Field, { ...props })
790
+ );
791
+ };
792
+ }
777
793
  function wrapFieldWithError(Field) {
778
794
  return (props) => {
779
795
  return /* @__PURE__ */ React__namespace.createElement(
@@ -846,6 +862,16 @@ var __publicField = (obj, key, value) => {
846
862
  className,
847
863
  ...props
848
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
+ }
849
875
  return /* @__PURE__ */ React__namespace.createElement(
850
876
  "span",
851
877
  {
@@ -3804,7 +3830,7 @@ flowchart TD
3804
3830
  function _objectWithoutProperties(source, excluded) {
3805
3831
  if (source == null)
3806
3832
  return {};
3807
- var target = _objectWithoutPropertiesLoose$1(source, excluded);
3833
+ var target = _objectWithoutPropertiesLoose(source, excluded);
3808
3834
  var key, i;
3809
3835
  if (Object.getOwnPropertySymbols) {
3810
3836
  var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
@@ -3819,7 +3845,7 @@ flowchart TD
3819
3845
  }
3820
3846
  return target;
3821
3847
  }
3822
- function _objectWithoutPropertiesLoose$1(source, excluded) {
3848
+ function _objectWithoutPropertiesLoose(source, excluded) {
3823
3849
  if (source == null)
3824
3850
  return {};
3825
3851
  var target = {};
@@ -4909,7 +4935,28 @@ flowchart TD
4909
4935
  onChange,
4910
4936
  value,
4911
4937
  step
4912
- }) => /* @__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
+ );
4913
4960
  function useCMS() {
4914
4961
  return useCMS$1();
4915
4962
  }
@@ -5710,10 +5757,11 @@ flowchart TD
5710
5757
  return /* @__PURE__ */ React.createElement(
5711
5758
  "button",
5712
5759
  {
5713
- 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"}`,
5714
5762
  onClick
5715
5763
  },
5716
- /* @__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" })
5717
5765
  );
5718
5766
  };
5719
5767
  const DragHandle = ({ isDragging }) => {
@@ -5791,27 +5839,35 @@ flowchart TD
5791
5839
  ))))
5792
5840
  ))));
5793
5841
  };
5794
- const Group = wrapFieldWithError(({ tinaForm, field }) => {
5795
- const cms = useCMS$1();
5796
- React__namespace.useState(false);
5797
- return /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement(
5798
- Header,
5799
- {
5800
- onClick: () => {
5801
- const state = tinaForm.finalForm.getState();
5802
- if (state.invalid === true) {
5803
- cms.alerts.error("Cannot navigate away from an invalid form.");
5804
- return;
5842
+ const Group = wrapFieldWithNoHeader(
5843
+ ({ tinaForm, field }) => {
5844
+ const cms = useCMS$1();
5845
+ return /* @__PURE__ */ React__namespace.createElement(React__namespace.Fragment, null, /* @__PURE__ */ React__namespace.createElement(
5846
+ Header,
5847
+ {
5848
+ onClick: () => {
5849
+ const state = tinaForm.finalForm.getState();
5850
+ if (state.invalid === true) {
5851
+ cms.alerts.error("Cannot navigate away from an invalid form.");
5852
+ return;
5853
+ }
5854
+ cms.dispatch({
5855
+ type: "forms:set-active-field-name",
5856
+ value: { formId: tinaForm.id, fieldName: field.name }
5857
+ });
5805
5858
  }
5806
- cms.dispatch({
5807
- type: "forms:set-active-field-name",
5808
- value: { formId: tinaForm.id, fieldName: field.name }
5809
- });
5810
- }
5811
- },
5812
- field.label || field.name
5813
- ));
5814
- });
5859
+ },
5860
+ field.label || field.name,
5861
+ field.description && /* @__PURE__ */ React__namespace.createElement(
5862
+ "span",
5863
+ {
5864
+ className: `block font-sans text-xs italic font-light text-gray-400 pt-0.5 whitespace-normal m-0`,
5865
+ dangerouslySetInnerHTML: { __html: field.description }
5866
+ }
5867
+ )
5868
+ ));
5869
+ }
5870
+ );
5815
5871
  const Header = ({ onClick, children }) => {
5816
5872
  return /* @__PURE__ */ React__namespace.createElement("div", { className: "pt-1 mb-5" }, /* @__PURE__ */ React__namespace.createElement(
5817
5873
  "button",
@@ -7153,244 +7209,65 @@ flowchart TD
7153
7209
  str = "0" + str;
7154
7210
  return str;
7155
7211
  }
7156
- function _inheritsLoose(subClass, superClass) {
7157
- subClass.prototype = Object.create(superClass.prototype);
7158
- subClass.prototype.constructor = subClass;
7159
- _setPrototypeOf(subClass, superClass);
7160
- }
7161
- function _setPrototypeOf(o, p) {
7162
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf2(o2, p2) {
7163
- o2.__proto__ = p2;
7164
- return o2;
7165
- };
7166
- return _setPrototypeOf(o, p);
7167
- }
7168
- function _objectWithoutPropertiesLoose(source, excluded) {
7169
- if (source == null)
7170
- return {};
7171
- var target = {};
7172
- var sourceKeys = Object.keys(source);
7173
- var key, i;
7174
- for (i = 0; i < sourceKeys.length; i++) {
7175
- key = sourceKeys[i];
7176
- if (excluded.indexOf(key) >= 0)
7177
- continue;
7178
- target[key] = source[key];
7179
- }
7180
- return target;
7181
- }
7182
- function _assertThisInitialized(self2) {
7183
- if (self2 === void 0) {
7184
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
7185
- }
7186
- return self2;
7187
- }
7188
- function isNodeFound(current, componentNode, ignoreClass) {
7189
- if (current === componentNode) {
7190
- 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];
7191
7223
  }
7192
- if (current.correspondingElement) {
7193
- return current.correspondingElement.classList.contains(ignoreClass);
7224
+ if (obj && obj.addEventListener) {
7225
+ obj.addEventListener.apply(obj, args);
7194
7226
  }
7195
- return current.classList.contains(ignoreClass);
7196
7227
  }
7197
- function findHighest(current, componentNode, ignoreClass) {
7198
- if (current === componentNode) {
7199
- return true;
7200
- }
7201
- while (current.parentNode || current.host) {
7202
- if (current.parentNode && isNodeFound(current, componentNode, ignoreClass)) {
7203
- return true;
7204
- }
7205
- current = current.parentNode || current.host;
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];
7206
7233
  }
7207
- return current;
7208
- }
7209
- function clickedScrollbar(evt) {
7210
- return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY;
7211
- }
7212
- var testPassiveEventSupport = function testPassiveEventSupport2() {
7213
- if (typeof window === "undefined" || typeof window.addEventListener !== "function") {
7214
- return;
7215
- }
7216
- var passive = false;
7217
- var options = Object.defineProperty({}, "passive", {
7218
- get: function get2() {
7219
- passive = true;
7220
- }
7221
- });
7222
- var noop = function noop2() {
7223
- };
7224
- window.addEventListener("testPassiveEventSupport", noop, options);
7225
- window.removeEventListener("testPassiveEventSupport", noop, options);
7226
- return passive;
7227
- };
7228
- function autoInc(seed) {
7229
- if (seed === void 0) {
7230
- seed = 0;
7234
+ if (obj && obj.removeEventListener) {
7235
+ obj.removeEventListener.apply(obj, args);
7231
7236
  }
7232
- return function() {
7233
- return ++seed;
7234
- };
7235
7237
  }
7236
- var uid = autoInc();
7237
- var passiveEventSupport;
7238
- var handlersMap = {};
7239
- var enabledInstances = {};
7240
- var touchEvents = ["touchstart", "touchmove"];
7241
- var IGNORE_CLASS_NAME = "ignore-react-onclickoutside";
7242
- function getEventHandlerOptions(instance, eventName) {
7243
- var handlerOptions = {};
7244
- var isTouchEvent = touchEvents.indexOf(eventName) !== -1;
7245
- if (isTouchEvent && passiveEventSupport) {
7246
- handlerOptions.passive = !instance.props.preventDefault;
7247
- }
7248
- return handlerOptions;
7249
- }
7250
- function onClickOutsideHOC(WrappedComponent, config) {
7251
- var _class, _temp;
7252
- var componentName = WrappedComponent.displayName || WrappedComponent.name || "Component";
7253
- return _temp = _class = /* @__PURE__ */ function(_Component) {
7254
- _inheritsLoose(onClickOutside, _Component);
7255
- function onClickOutside(props) {
7256
- var _this;
7257
- _this = _Component.call(this, props) || this;
7258
- _this.__outsideClickHandler = function(event) {
7259
- if (typeof _this.__clickOutsideHandlerProp === "function") {
7260
- _this.__clickOutsideHandlerProp(event);
7261
- return;
7262
- }
7263
- var instance = _this.getInstance();
7264
- if (typeof instance.props.handleClickOutside === "function") {
7265
- instance.props.handleClickOutside(event);
7266
- return;
7267
- }
7268
- if (typeof instance.handleClickOutside === "function") {
7269
- instance.handleClickOutside(event);
7270
- return;
7271
- }
7272
- throw new Error("WrappedComponent: " + componentName + " lacks a handleClickOutside(event) function for processing outside click events.");
7273
- };
7274
- _this.__getComponentNode = function() {
7275
- var instance = _this.getInstance();
7276
- if (config && typeof config.setClickOutsideRef === "function") {
7277
- return config.setClickOutsideRef()(instance);
7278
- }
7279
- if (typeof instance.setClickOutsideRef === "function") {
7280
- return instance.setClickOutsideRef();
7281
- }
7282
- return reactDom.findDOMNode(instance);
7283
- };
7284
- _this.enableOnClickOutside = function() {
7285
- if (typeof document === "undefined" || enabledInstances[_this._uid]) {
7286
- return;
7287
- }
7288
- if (typeof passiveEventSupport === "undefined") {
7289
- passiveEventSupport = testPassiveEventSupport();
7290
- }
7291
- enabledInstances[_this._uid] = true;
7292
- var events = _this.props.eventTypes;
7293
- if (!events.forEach) {
7294
- events = [events];
7295
- }
7296
- handlersMap[_this._uid] = function(event) {
7297
- if (_this.componentNode === null)
7298
- return;
7299
- if (_this.initTimeStamp > event.timeStamp)
7300
- return;
7301
- if (_this.props.preventDefault) {
7302
- event.preventDefault();
7303
- }
7304
- if (_this.props.stopPropagation) {
7305
- event.stopPropagation();
7306
- }
7307
- if (_this.props.excludeScrollbar && clickedScrollbar(event))
7308
- return;
7309
- var current = event.composed && event.composedPath && event.composedPath().shift() || event.target;
7310
- if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {
7311
- return;
7312
- }
7313
- _this.__outsideClickHandler(event);
7314
- };
7315
- events.forEach(function(eventName) {
7316
- document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_assertThisInitialized(_this), eventName));
7317
- });
7318
- };
7319
- _this.disableOnClickOutside = function() {
7320
- delete enabledInstances[_this._uid];
7321
- var fn = handlersMap[_this._uid];
7322
- if (fn && typeof document !== "undefined") {
7323
- var events = _this.props.eventTypes;
7324
- if (!events.forEach) {
7325
- events = [events];
7326
- }
7327
- events.forEach(function(eventName) {
7328
- return document.removeEventListener(eventName, fn, getEventHandlerOptions(_assertThisInitialized(_this), eventName));
7329
- });
7330
- delete handlersMap[_this._uid];
7331
- }
7332
- };
7333
- _this.getRef = function(ref) {
7334
- return _this.instanceRef = ref;
7335
- };
7336
- _this._uid = uid();
7337
- _this.initTimeStamp = performance.now();
7338
- return _this;
7339
- }
7340
- var _proto = onClickOutside.prototype;
7341
- _proto.getInstance = function getInstance() {
7342
- if (WrappedComponent.prototype && !WrappedComponent.prototype.isReactComponent) {
7343
- return this;
7344
- }
7345
- var ref = this.instanceRef;
7346
- return ref.getInstance ? ref.getInstance() : ref;
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);
7347
7257
  };
7348
- _proto.componentDidMount = function componentDidMount() {
7349
- if (typeof document === "undefined" || !document.createElement) {
7350
- return;
7351
- }
7352
- var instance = this.getInstance();
7353
- if (config && typeof config.handleClickOutside === "function") {
7354
- this.__clickOutsideHandlerProp = config.handleClickOutside(instance);
7355
- if (typeof this.__clickOutsideHandlerProp !== "function") {
7356
- throw new Error("WrappedComponent: " + componentName + " lacks a function for processing outside click events specified by the handleClickOutside config option.");
7357
- }
7358
- }
7359
- this.componentNode = this.__getComponentNode();
7360
- if (this.props.disableOnClickOutside)
7361
- return;
7362
- this.enableOnClickOutside();
7363
- };
7364
- _proto.componentDidUpdate = function componentDidUpdate() {
7365
- this.componentNode = this.__getComponentNode();
7366
- };
7367
- _proto.componentWillUnmount = function componentWillUnmount() {
7368
- this.disableOnClickOutside();
7369
- };
7370
- _proto.render = function render() {
7371
- var _this$props = this.props;
7372
- _this$props.excludeScrollbar;
7373
- var props = _objectWithoutPropertiesLoose(_this$props, ["excludeScrollbar"]);
7374
- if (WrappedComponent.prototype && WrappedComponent.prototype.isReactComponent) {
7375
- props.ref = this.getRef;
7376
- } else {
7377
- 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);
7378
7266
  }
7379
- props.disableOnClickOutside = this.disableOnClickOutside;
7380
- props.enableOnClickOutside = this.enableOnClickOutside;
7381
- return React.createElement(WrappedComponent, props);
7382
7267
  };
7383
- return onClickOutside;
7384
- }(React.Component), _class.displayName = "OnClickOutside(" + componentName + ")", _class.defaultProps = {
7385
- eventTypes: ["mousedown", "touchstart"],
7386
- excludeScrollbar: config && config.excludeScrollbar || false,
7387
- outsideClickIgnoreClass: IGNORE_CLASS_NAME,
7388
- preventDefault: false,
7389
- stopPropagation: false
7390
- }, _class.getClass = function() {
7391
- return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;
7392
- }, _temp;
7393
- }
7268
+ }, [events, ref]);
7269
+ };
7270
+ var _default = useClickAway$1.default = useClickAway;
7394
7271
  const viewModes = {
7395
7272
  YEARS: "years",
7396
7273
  MONTHS: "months",
@@ -7919,22 +7796,13 @@ flowchart TD
7919
7796
  }
7920
7797
  con[method]("***react-datetime:" + message);
7921
7798
  }
7922
- class ClickOutBase extends React.Component {
7923
- constructor() {
7924
- super(...arguments);
7925
- __publicField(this, "container", React.createRef());
7926
- }
7927
- render() {
7928
- return /* @__PURE__ */ React.createElement("div", { className: this.props.className, ref: this.container }, this.props.children);
7929
- }
7930
- handleClickOutside(e) {
7931
- this.props.onClickOut(e);
7932
- }
7933
- setClickOutsideRef() {
7934
- return this.container.current;
7935
- }
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);
7936
7805
  }
7937
- const ClickableWrapper = onClickOutsideHOC(ClickOutBase);
7938
7806
  const DEFAULT_DATE_DISPLAY_FORMAT = "MMM DD, YYYY";
7939
7807
  const DEFAULT_TIME_DISPLAY_FORMAT = "h:mm A";
7940
7808
  const format$1 = (val, _name, field) => {
@@ -7977,7 +7845,10 @@ flowchart TD
7977
7845
  ReactDateTimeWithStyles,
7978
7846
  {
7979
7847
  value: input.value,
7980
- onChange: input.onChange,
7848
+ onChange: (value) => {
7849
+ const newValue = value === "" ? void 0 : value;
7850
+ input.onChange(newValue);
7851
+ },
7981
7852
  dateFormat: dateFormat || DEFAULT_DATE_DISPLAY_FORMAT,
7982
7853
  timeFormat: timeFormat || false,
7983
7854
  inputProps: { className: textFieldClasses },
@@ -10308,7 +10179,7 @@ flowchart TD
10308
10179
  "Event Log"
10309
10180
  ));
10310
10181
  };
10311
- const version = "2.3.0";
10182
+ const version = "2.6.0";
10312
10183
  const Nav = ({
10313
10184
  isLocalMode,
10314
10185
  className = "",
@@ -14425,6 +14296,7 @@ flowchart TD
14425
14296
  ToolbarButton,
14426
14297
  {
14427
14298
  showArrow: false,
14299
+ "data-testid": "rich-text-editor-overflow-menu-button",
14428
14300
  className: "lg:min-w-[130px]",
14429
14301
  isDropdown: true,
14430
14302
  pressed: openState.open,
@@ -14478,7 +14350,17 @@ flowchart TD
14478
14350
  };
14479
14351
  const RawMarkdownToolbarButton = cn$1.withRef(({ clear, ...rest }, ref) => {
14480
14352
  const { props } = useRawMarkdownToolbarButton();
14481
- return /* @__PURE__ */ React.createElement(ToolbarButton, { ref, tooltip: "Link", ...rest, ...props }, /* @__PURE__ */ React.createElement(Icons.raw, null));
14353
+ return /* @__PURE__ */ React.createElement(
14354
+ ToolbarButton,
14355
+ {
14356
+ ref,
14357
+ tooltip: "Link",
14358
+ ...rest,
14359
+ ...props,
14360
+ "data-testid": "markdown-button"
14361
+ },
14362
+ /* @__PURE__ */ React.createElement(Icons.raw, null)
14363
+ );
14482
14364
  });
14483
14365
  function TableDropdownMenu(props) {
14484
14366
  const tableSelected = plateCommon.useEditorSelector(
@@ -14703,7 +14585,12 @@ flowchart TD
14703
14585
  const [itemsShown, setItemsShown] = React.useState(11);
14704
14586
  const { overrides, templates } = useToolbarContext();
14705
14587
  const showEmbedButton = templates.length > 0;
14706
- let items2 = overrides === void 0 ? Object.values(toolbarItems) : overrides.map((item) => toolbarItems[item]).filter((item) => item !== void 0);
14588
+ let items2 = [];
14589
+ if (Array.isArray(overrides)) {
14590
+ items2 = overrides === void 0 ? Object.values(toolbarItems) : overrides.map((item) => toolbarItems[item]).filter((item) => item !== void 0);
14591
+ } else {
14592
+ items2 = (overrides == null ? void 0 : overrides.toolbar) === void 0 ? Object.values(toolbarItems) : overrides.toolbar.map((item) => toolbarItems[item]).filter((item) => item !== void 0);
14593
+ }
14707
14594
  if (!showEmbedButton) {
14708
14595
  items2 = items2.filter((item) => item.label !== toolbarItems.embed.label);
14709
14596
  }
@@ -15031,6 +14918,9 @@ flowchart TD
15031
14918
  if (typeof string !== "string") {
15032
14919
  return false;
15033
14920
  }
14921
+ if (string.startsWith("#")) {
14922
+ return true;
14923
+ }
15034
14924
  const generalMatch = string.match(protocolAndDomainRE);
15035
14925
  const emailLinkMatch = string.match(emailLintRE);
15036
14926
  const localUrlMatch = string.match(localUrlRE);
@@ -15052,12 +14942,12 @@ flowchart TD
15052
14942
  }
15053
14943
  return localhostDomainRE.test(everythingAfterProtocol) || nonLocalhostDomainRE.test(everythingAfterProtocol);
15054
14944
  };
15055
- const RichEditor = (props) => {
14945
+ const RichEditor = ({ input, tinaForm, field }) => {
15056
14946
  var _a;
15057
14947
  const initialValue = React.useMemo(
15058
14948
  () => {
15059
14949
  var _a2, _b;
15060
- 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: "" }] }];
14950
+ 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: "" }] }];
15061
14951
  },
15062
14952
  []
15063
14953
  );
@@ -15085,7 +14975,7 @@ flowchart TD
15085
14975
  ),
15086
14976
  []
15087
14977
  );
15088
- const tempId = [props.tinaForm.id, props.input.name].join(".");
14978
+ const tempId = [tinaForm.id, input.name].join(".");
15089
14979
  const id = React.useMemo(() => uuid() + tempId, [tempId]);
15090
14980
  const ref = React.useRef(null);
15091
14981
  React.useEffect(() => {
@@ -15095,13 +14985,13 @@ flowchart TD
15095
14985
  const plateElement = (_a2 = ref.current) == null ? void 0 : _a2.querySelector(
15096
14986
  '[role="textbox"]'
15097
14987
  );
15098
- if (props.field.experimental_focusIntent && plateElement) {
14988
+ if (field.experimental_focusIntent && plateElement) {
15099
14989
  if (plateElement)
15100
14990
  plateElement.focus();
15101
14991
  }
15102
14992
  }, 100);
15103
14993
  }
15104
- }, [props.field.experimental_focusIntent, ref]);
14994
+ }, [field.experimental_focusIntent, ref]);
15105
14995
  return /* @__PURE__ */ React.createElement("div", { ref }, /* @__PURE__ */ React.createElement(
15106
14996
  plateCommon.Plate,
15107
14997
  {
@@ -15109,21 +14999,22 @@ flowchart TD
15109
14999
  initialValue,
15110
15000
  plugins: plugins$2,
15111
15001
  onChange: (value) => {
15112
- props.input.onChange({
15002
+ input.onChange({
15113
15003
  type: "root",
15114
- children: value
15004
+ children: value,
15005
+ embedCode: input.value.embedCode
15115
15006
  });
15116
15007
  }
15117
15008
  },
15118
15009
  /* @__PURE__ */ React.createElement(TooltipProvider, null, /* @__PURE__ */ React.createElement(
15119
15010
  ToolbarProvider,
15120
15011
  {
15121
- tinaForm: props.tinaForm,
15122
- templates: props.field.templates,
15123
- overrides: (_a = props.field) == null ? void 0 : _a.toolbarOverride
15012
+ tinaForm,
15013
+ templates: field.templates,
15014
+ overrides: (field == null ? void 0 : field.toolbarOverride) ? field.toolbarOverride : field.overrides
15124
15015
  },
15125
15016
  /* @__PURE__ */ React.createElement(FixedToolbar, null, /* @__PURE__ */ React.createElement(FixedToolbarButtons, null)),
15126
- /* @__PURE__ */ React.createElement(FloatingToolbar, null, /* @__PURE__ */ React.createElement(FloatingToolbarButtons, null))
15017
+ ((_a = field == null ? void 0 : field.overrides) == null ? void 0 : _a.showFloatingToolbar) !== false ? /* @__PURE__ */ React.createElement(FloatingToolbar, null, /* @__PURE__ */ React.createElement(FloatingToolbarButtons, null)) : null
15127
15018
  ), /* @__PURE__ */ React.createElement(Editor, null))
15128
15019
  ));
15129
15020
  };
@@ -30077,6 +29968,7 @@ mutation addPendingDocumentMutation(
30077
29968
  relativePath
30078
29969
  filename
30079
29970
  extension
29971
+ hasReferences
30080
29972
  }
30081
29973
  }
30082
29974
  }
@@ -30168,6 +30060,9 @@ mutation addPendingDocumentMutation(
30168
30060
  document(collection:$collection, relativePath:$relativePath) {
30169
30061
  ... on Document {
30170
30062
  _values
30063
+ _sys {
30064
+ hasReferences
30065
+ }
30171
30066
  }
30172
30067
  }
30173
30068
  }`;
@@ -31894,6 +31789,23 @@ This will work when developing locally but NOT when deployed to production.
31894
31789
  DeleteModal,
31895
31790
  {
31896
31791
  filename: vars.relativePath,
31792
+ checkRefsFunc: async () => {
31793
+ var _a2, _b2;
31794
+ try {
31795
+ const doc = await admin.fetchDocument(
31796
+ collection.name,
31797
+ vars.relativePath,
31798
+ true
31799
+ );
31800
+ return (_b2 = (_a2 = doc == null ? void 0 : doc.document) == null ? void 0 : _a2._sys) == null ? void 0 : _b2.hasReferences;
31801
+ } catch (error) {
31802
+ cms.alerts.error(
31803
+ "Document was not found, ask a developer for help or check the console for an error message"
31804
+ );
31805
+ console.error(error);
31806
+ throw error;
31807
+ }
31808
+ },
31897
31809
  deleteFunc: async () => {
31898
31810
  try {
31899
31811
  await admin.deleteDocument(vars);
@@ -31902,6 +31814,12 @@ This will work when developing locally but NOT when deployed to production.
31902
31814
  );
31903
31815
  reFetchCollection();
31904
31816
  } catch (error) {
31817
+ if (error.message.indexOf("has references")) {
31818
+ cms.alerts.error(
31819
+ error.message.split("\n ").filter(Boolean)[1]
31820
+ );
31821
+ return;
31822
+ }
31905
31823
  cms.alerts.warn(
31906
31824
  "Document was not deleted, ask a developer for help or check the console for an error message"
31907
31825
  );
@@ -31953,6 +31871,12 @@ This will work when developing locally but NOT when deployed to production.
31953
31871
  cms.alerts.info("Document was successfully renamed");
31954
31872
  reFetchCollection();
31955
31873
  } catch (error) {
31874
+ if (error.message.indexOf("has references")) {
31875
+ cms.alerts.error(
31876
+ error.message.split("\n ").filter(Boolean)[1]
31877
+ );
31878
+ return;
31879
+ }
31956
31880
  cms.alerts.warn(
31957
31881
  "Document was not renamed, ask a developer for help or check the console for an error message"
31958
31882
  );
@@ -32426,8 +32350,19 @@ This will work when developing locally but NOT when deployed to production.
32426
32350
  const NoDocumentsPlaceholder = () => {
32427
32351
  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."));
32428
32352
  };
32429
- const DeleteModal = ({ close: close2, deleteFunc, filename }) => {
32430
- 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(
32353
+ const DeleteModal = ({
32354
+ close: close2,
32355
+ deleteFunc,
32356
+ checkRefsFunc,
32357
+ filename
32358
+ }) => {
32359
+ const [hasRefs, setHasRefs] = React.useState();
32360
+ React.useEffect(() => {
32361
+ checkRefsFunc().then((result) => {
32362
+ setHasRefs(result);
32363
+ });
32364
+ }, [filename, checkRefsFunc]);
32365
+ 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(
32431
32366
  Button$1,
32432
32367
  {
32433
32368
  style: { flexGrow: 3 },
@@ -33794,6 +33729,7 @@ This will work when developing locally but NOT when deployed to production.
33794
33729
  exports2.useScreenPlugin = useScreenPlugin;
33795
33730
  exports2.useTinaAuthRedirect = useTinaAuthRedirect;
33796
33731
  exports2.wrapFieldWithError = wrapFieldWithError;
33732
+ exports2.wrapFieldWithNoHeader = wrapFieldWithNoHeader;
33797
33733
  exports2.wrapFieldsWithMeta = wrapFieldsWithMeta;
33798
33734
  Object.defineProperties(exports2, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
33799
33735
  });