@ni/nimble-components 35.5.3 → 35.5.5

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.
@@ -17817,6 +17817,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
17817
17817
  :host([selected]) .control {
17818
17818
  --ni-private-step-icon-color: ${borderHoverColor};
17819
17819
  --ni-private-step-icon-border-color: ${borderHoverColor};
17820
+ --ni-private-step-icon-border-width: 2px;
17820
17821
  --ni-private-step-icon-background-color: rgb(from ${borderHoverColor} r g b / 30%);
17821
17822
  --ni-private-step-icon-background-size: var(--ni-private-step-icon-background-none-size);
17822
17823
  --ni-private-step-line-color: ${borderHoverColor};
@@ -17856,10 +17857,6 @@ Defines an interaction area clip-path that leaves out the severity text so it is
17856
17857
  box-shadow ${smallDelay} ease-in-out;
17857
17858
  }
17858
17859
 
17859
- :host([selected]) .icon {
17860
- --ni-private-step-icon-border-width: 2px;
17861
- }
17862
-
17863
17860
  .icon::before {
17864
17861
  content: '';
17865
17862
  position: absolute;
@@ -17869,7 +17866,8 @@ Defines an interaction area clip-path that leaves out the severity text so it is
17869
17866
  outline-color: var(--ni-private-step-icon-outline-inset-color);
17870
17867
  outline-style: solid;
17871
17868
  outline-width: 0px;
17872
- outline-offset: 0px;
17869
+ ${'' /* outline-offset should always be <=-1 to always render inset */}
17870
+ outline-offset: -1px;
17873
17871
  border: none;
17874
17872
  border-radius: 100%;
17875
17873
  color: transparent;
@@ -17947,9 +17945,9 @@ Defines an interaction area clip-path that leaves out the severity text so it is
17947
17945
  min-width: ${standardPadding};
17948
17946
  height: 1px;
17949
17947
  min-height: 1px;
17948
+ transform: scale(1, 1);
17950
17949
  background: var(--ni-private-step-line-color);
17951
17950
  background-clip: content-box;
17952
- transform: scale(1, 1);
17953
17951
  transition:
17954
17952
  background-color ${smallDelay} ease-in-out,
17955
17953
  transform ${smallDelay} ease-in-out;
@@ -17963,8 +17961,8 @@ Defines an interaction area clip-path that leaves out the severity text so it is
17963
17961
  width: 1px;
17964
17962
  min-width: 1px;
17965
17963
  height: 100%;
17966
- padding-top: ${smallPadding};
17967
17964
  min-height: ${standardPadding};
17965
+ padding-top: ${smallPadding};
17968
17966
  }
17969
17967
 
17970
17968
  .subtitle {
@@ -17993,6 +17991,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
17993
17991
  @layer hover {
17994
17992
  .control:hover {
17995
17993
  --ni-private-step-icon-border-color: ${borderHoverColor};
17994
+ --ni-private-step-icon-border-width: 2px;
17996
17995
  --ni-private-step-icon-background-size: var(--ni-private-step-icon-background-inset-size);
17997
17996
  --ni-private-step-line-color: ${borderHoverColor};
17998
17997
  }
@@ -18023,8 +18022,12 @@ Defines an interaction area clip-path that leaves out the severity text so it is
18023
18022
  --ni-private-step-line-color: ${borderHoverColor};
18024
18023
  }
18025
18024
 
18026
- .control:hover .icon {
18027
- --ni-private-step-icon-border-width: 2px;
18025
+ :host([readonly]) .control:hover {
18026
+ --ni-private-step-icon-color: revert-layer;
18027
+ --ni-private-step-icon-border-color: revert-layer;
18028
+ --ni-private-step-icon-border-width: revert-layer;
18029
+ --ni-private-step-icon-background-size: revert-layer;
18030
+ --ni-private-step-line-color: revert-layer;
18028
18031
  }
18029
18032
 
18030
18033
  .control:hover .line {
@@ -18034,11 +18037,16 @@ Defines an interaction area clip-path that leaves out the severity text so it is
18034
18037
  .container.vertical .control:hover .line {
18035
18038
  transform: scale(2, 1);
18036
18039
  }
18040
+
18041
+ :host([readonly]) .container .control:hover .line {
18042
+ transform: revert-layer;
18043
+ }
18037
18044
  }
18038
18045
 
18039
18046
  @layer focusVisible {
18040
18047
  .control${focusVisible} {
18041
18048
  --ni-private-step-icon-border-color: ${borderHoverColor};
18049
+ --ni-private-step-icon-border-width: 2px;
18042
18050
  --ni-private-step-icon-outline-inset-color: ${borderHoverColor};
18043
18051
  --ni-private-step-icon-background-size: var(--ni-private-step-icon-background-inset-size);
18044
18052
  --ni-private-step-line-color: ${borderHoverColor};
@@ -18074,10 +18082,6 @@ Defines an interaction area clip-path that leaves out the severity text so it is
18074
18082
  --ni-private-step-line-color: ${borderHoverColor};
18075
18083
  }
18076
18084
 
18077
- .control${focusVisible} .icon {
18078
- --ni-private-step-icon-border-width: 2px;
18079
- }
18080
-
18081
18085
  .control${focusVisible} .icon::before {
18082
18086
  outline-width: ${borderWidth};
18083
18087
  ${'' /* -1px control to outline edge -2px focus border -1px inset gap */}
@@ -18096,6 +18100,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
18096
18100
  @layer active {
18097
18101
  .control:active {
18098
18102
  --ni-private-step-icon-border-color: ${borderHoverColor};
18103
+ --ni-private-step-icon-border-width: 2px;
18099
18104
  --ni-private-step-icon-background-color: ${fillSelectedColor};
18100
18105
  --ni-private-step-icon-background-size: var(--ni-private-step-icon-background-full-size);
18101
18106
  --ni-private-step-line-color: ${borderHoverColor};
@@ -18127,26 +18132,45 @@ Defines an interaction area clip-path that leaves out the severity text so it is
18127
18132
  --ni-private-step-line-color: ${borderHoverColor};
18128
18133
  }
18129
18134
 
18130
- .control:active .icon {
18131
- --ni-private-step-icon-border-width: 2px;
18135
+ :host([readonly]) .control:active {
18136
+ --ni-private-step-icon-color: revert-layer;
18137
+ --ni-private-step-icon-border-color: revert-layer;
18138
+ --ni-private-step-icon-border-width: revert-layer;
18139
+ --ni-private-step-icon-background-color: revert-layer;
18140
+ --ni-private-step-icon-background-size: revert-layer;
18141
+ --ni-private-step-line-color: revert-layer;
18132
18142
  }
18133
18143
 
18134
18144
  .control:active .icon::before {
18135
18145
  outline-width: 0px;
18136
- outline-offset: 0px;
18146
+ outline-offset: -1px;
18147
+ }
18148
+
18149
+ :host([readonly]) .control:active .icon::before {
18150
+ outline-width: revert-layer;
18151
+ outline-offset: revert-layer;
18137
18152
  }
18138
18153
 
18139
18154
  .control:active .line {
18140
18155
  transform: scale(1, 1);
18141
18156
  }
18157
+
18158
+ :host([readonly]) .control:active .line {
18159
+ transform: revert-layer;
18160
+ }
18142
18161
  }
18143
18162
 
18144
18163
  @layer disabled {
18164
+ :host([readonly]) .control {
18165
+ cursor: default;
18166
+ }
18167
+
18145
18168
  :host([disabled]) .control {
18146
18169
  cursor: default;
18147
18170
  color: ${buttonLabelDisabledFontColor};
18148
18171
  --ni-private-step-icon-color: rgb(from ${buttonLabelFontColor} r g b / 30%);
18149
18172
  --ni-private-step-icon-border-color: transparent;
18173
+ --ni-private-step-icon-border-width: 1px;
18150
18174
  --ni-private-step-icon-background-color: rgba(${borderRgbPartialColor}, 0.1);
18151
18175
  --ni-private-step-icon-background-size: var(--ni-private-step-icon-background-full-size);
18152
18176
  --ni-private-step-icon-outline-inset-color: transparent;
@@ -19460,6 +19484,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
19460
19484
  aria-owns="${x => x.ariaOwns}"
19461
19485
  aria-relevant="${x => x.ariaRelevant}"
19462
19486
  aria-roledescription="${x => x.ariaRoledescription}"
19487
+ @click="${(x, c) => x.onClick(c.event)}"
19463
19488
  ${ref('control')}
19464
19489
  >
19465
19490
  <div class="icon-background"></div>
@@ -19545,6 +19570,15 @@ Defines an interaction area clip-path that leaves out the severity text so it is
19545
19570
  */
19546
19571
  this.stepInternals = new StepInternals();
19547
19572
  }
19573
+ /**
19574
+ * @internal
19575
+ */
19576
+ onClick(e) {
19577
+ if (this.disabled || this.readOnly) {
19578
+ e.preventDefault();
19579
+ e.stopImmediatePropagation();
19580
+ }
19581
+ }
19548
19582
  }
19549
19583
  __decorate([
19550
19584
  attr()
@@ -32801,7 +32835,8 @@ so this becomes the fallback color for the slot */ ''}
32801
32835
  return new ReplaceStep(this.from, this.from + this.slice.size, doc.slice(this.from, this.to));
32802
32836
  }
32803
32837
  map(mapping) {
32804
- let from = mapping.mapResult(this.from, 1), to = mapping.mapResult(this.to, -1);
32838
+ let to = mapping.mapResult(this.to, -1);
32839
+ let from = this.from == this.to && ReplaceStep.MAP_BIAS < 0 ? to : mapping.mapResult(this.from, 1);
32805
32840
  if (from.deletedAcross && to.deletedAcross)
32806
32841
  return null;
32807
32842
  return new ReplaceStep(from.pos, Math.max(from.pos, to.pos), this.slice, this.structure);
@@ -32840,6 +32875,15 @@ so this becomes the fallback color for the slot */ ''}
32840
32875
  return new ReplaceStep(json.from, json.to, Slice.fromJSON(schema, json.slice), !!json.structure);
32841
32876
  }
32842
32877
  }
32878
+ /**
32879
+ By default, for backwards compatibility, an inserting step
32880
+ mapped over an insertion at that same position fill move after
32881
+ the inserted content. In a collaborative editing situation, that
32882
+ can make redone insertions appear in unexpected places. You can
32883
+ set this to -1 to make such mapping keep the step before the
32884
+ insertion instead.
32885
+ */
32886
+ ReplaceStep.MAP_BIAS = 1;
32843
32887
  Step$1.jsonID("replace", ReplaceStep);
32844
32888
  /**
32845
32889
  Replace a part of the document with a slice of content, but
@@ -33826,6 +33870,26 @@ so this becomes the fallback color for the slot */ ''}
33826
33870
  }
33827
33871
  function deleteRange$1(tr, from, to) {
33828
33872
  let $from = tr.doc.resolve(from), $to = tr.doc.resolve(to);
33873
+ // When the deleted range spans from the start of one textblock to
33874
+ // the start of another one, move out of the start of both blocks.
33875
+ if ($from.parent.isTextblock && $to.parent.isTextblock && $from.start() != $to.start() &&
33876
+ $from.parentOffset == 0 && $to.parentOffset == 0) {
33877
+ let shared = $from.sharedDepth(to), isolated = false;
33878
+ for (let d = $from.depth; d > shared; d--)
33879
+ if ($from.node(d).type.spec.isolating)
33880
+ isolated = true;
33881
+ for (let d = $to.depth; d > shared; d--)
33882
+ if ($to.node(d).type.spec.isolating)
33883
+ isolated = true;
33884
+ if (!isolated) {
33885
+ for (let d = $from.depth; d > 0 && from == $from.start(d); d--)
33886
+ from = $from.before(d);
33887
+ for (let d = $to.depth; d > 0 && to == $to.start(d); d--)
33888
+ to = $to.before(d);
33889
+ $from = tr.doc.resolve(from);
33890
+ $to = tr.doc.resolve(to);
33891
+ }
33892
+ }
33829
33893
  let covered = coveredDepths($from, $to);
33830
33894
  for (let i = 0; i < covered.length; i++) {
33831
33895
  let depth = covered[i], last = i == covered.length - 1;
@@ -42574,7 +42638,6 @@ so this becomes the fallback color for the slot */ ''}
42574
42638
  return !!findMarkInSet(marks, type, attributes);
42575
42639
  }
42576
42640
  function getMarkRange($pos, type, attributes) {
42577
- var _a;
42578
42641
  if (!$pos || !type) {
42579
42642
  return;
42580
42643
  }
@@ -42585,7 +42648,12 @@ so this becomes the fallback color for the slot */ ''}
42585
42648
  if (!start.node || !start.node.marks.some((mark2) => mark2.type === type)) {
42586
42649
  return;
42587
42650
  }
42588
- attributes = attributes || ((_a = start.node.marks[0]) == null ? void 0 : _a.attrs);
42651
+ if (!attributes) {
42652
+ const firstMark = start.node.marks.find((mark2) => mark2.type === type);
42653
+ if (firstMark) {
42654
+ attributes = firstMark.attrs;
42655
+ }
42656
+ }
42589
42657
  const mark = findMarkInSet([...start.node.marks], type, attributes);
42590
42658
  if (!mark) {
42591
42659
  return;
@@ -42620,7 +42688,7 @@ so this becomes the fallback color for the slot */ ''}
42620
42688
  }
42621
42689
 
42622
42690
  // src/commands/extendMarkRange.ts
42623
- var extendMarkRange = (typeOrName, attributes = {}) => ({ tr, state, dispatch }) => {
42691
+ var extendMarkRange = (typeOrName, attributes) => ({ tr, state, dispatch }) => {
42624
42692
  const type = getMarkType(typeOrName, state.schema);
42625
42693
  const { doc, selection } = tr;
42626
42694
  const { $from, from, to } = selection;
@@ -45875,7 +45943,7 @@ so this becomes the fallback color for the slot */ ''}
45875
45943
  const newEnd = mapping.slice(index).map(step.to);
45876
45944
  const oldStart = mapping.invert().map(newStart, -1);
45877
45945
  const oldEnd = mapping.invert().map(newEnd);
45878
- const foundBeforeMark = (_a3 = nextTransaction.doc.nodeAt(newStart - 1)) == null ? void 0 : _a3.marks.some((mark) => mark.eq(step.mark));
45946
+ const foundBeforeMark = newStart > 0 ? (_a3 = nextTransaction.doc.nodeAt(newStart - 1)) == null ? void 0 : _a3.marks.some((mark) => mark.eq(step.mark)) : false;
45879
45947
  const foundAfterMark = (_b3 = nextTransaction.doc.nodeAt(newEnd)) == null ? void 0 : _b3.marks.some((mark) => mark.eq(step.mark));
45880
45948
  this.editor.emit("delete", {
45881
45949
  type: "mark",
@@ -61856,6 +61924,19 @@ ${nextLine.slice(indentLevel + 2)}`;
61856
61924
  }
61857
61925
 
61858
61926
  // src/suggestion.ts
61927
+ function hasInsertedWhitespace(transaction) {
61928
+ if (!transaction.docChanged) {
61929
+ return false;
61930
+ }
61931
+ return transaction.steps.some((step) => {
61932
+ const slice = step.slice;
61933
+ if (!(slice == null ? void 0 : slice.content)) {
61934
+ return false;
61935
+ }
61936
+ const inserted = slice.content.textBetween(0, slice.content.size, "\n");
61937
+ return /\s/.test(inserted);
61938
+ });
61939
+ }
61859
61940
  var SuggestionPluginKey = new PluginKey("suggestion");
61860
61941
  function Suggestion({
61861
61942
  pluginKey = SuggestionPluginKey,
@@ -61874,10 +61955,12 @@ ${nextLine.slice(indentLevel + 2)}`;
61874
61955
  render = () => ({}),
61875
61956
  allow = () => true,
61876
61957
  findSuggestionMatch: findSuggestionMatch2 = findSuggestionMatch,
61877
- shouldShow
61958
+ shouldShow,
61959
+ shouldResetDismissed
61878
61960
  }) {
61879
61961
  let props;
61880
61962
  const renderer = render == null ? void 0 : render();
61963
+ const effectiveAllowSpaces = allowSpaces && !allowToIncludeChar;
61881
61964
  const getAnchorClientRect = () => {
61882
61965
  const pos = editor.state.selection.$anchor.pos;
61883
61966
  const coords = editor.view.coordsAtPos(pos);
@@ -61899,6 +61982,27 @@ ${nextLine.slice(indentLevel + 2)}`;
61899
61982
  return (currentDecorationNode == null ? void 0 : currentDecorationNode.getBoundingClientRect()) || null;
61900
61983
  };
61901
61984
  };
61985
+ const shouldKeepDismissed = ({
61986
+ match,
61987
+ dismissedRange,
61988
+ state,
61989
+ transaction
61990
+ }) => {
61991
+ if (shouldResetDismissed == null ? void 0 : shouldResetDismissed({
61992
+ editor,
61993
+ state,
61994
+ range: dismissedRange,
61995
+ match,
61996
+ transaction,
61997
+ allowSpaces: effectiveAllowSpaces
61998
+ })) {
61999
+ return false;
62000
+ }
62001
+ if (effectiveAllowSpaces) {
62002
+ return match.range.from === dismissedRange.from;
62003
+ }
62004
+ return match.range.from === dismissedRange.from && !hasInsertedWhitespace(transaction);
62005
+ };
61902
62006
  function dispatchExit(view, pluginKeyRef) {
61903
62007
  var _a;
61904
62008
  try {
@@ -62001,7 +62105,8 @@ ${nextLine.slice(indentLevel + 2)}`;
62001
62105
  },
62002
62106
  query: null,
62003
62107
  text: null,
62004
- composing: false
62108
+ composing: false,
62109
+ dismissedRange: null
62005
62110
  };
62006
62111
  return state;
62007
62112
  },
@@ -62019,9 +62124,16 @@ ${nextLine.slice(indentLevel + 2)}`;
62019
62124
  next.range = { from: 0, to: 0 };
62020
62125
  next.query = null;
62021
62126
  next.text = null;
62127
+ next.dismissedRange = prev.active ? { ...prev.range } : prev.dismissedRange;
62022
62128
  return next;
62023
62129
  }
62024
62130
  next.composing = composing;
62131
+ if (transaction.docChanged && next.dismissedRange !== null) {
62132
+ next.dismissedRange = {
62133
+ from: transaction.mapping.map(next.dismissedRange.from),
62134
+ to: transaction.mapping.map(next.dismissedRange.to)
62135
+ };
62136
+ }
62025
62137
  if (isEditable && (empty || editor.view.composing)) {
62026
62138
  if ((from < prev.range.from || from > prev.range.to) && !composing && !prev.composing) {
62027
62139
  next.active = false;
@@ -62047,12 +62159,27 @@ ${nextLine.slice(indentLevel + 2)}`;
62047
62159
  text: match.text,
62048
62160
  transaction
62049
62161
  }))) {
62050
- next.active = true;
62051
- next.decorationId = prev.decorationId ? prev.decorationId : decorationId;
62052
- next.range = match.range;
62053
- next.query = match.query;
62054
- next.text = match.text;
62162
+ if (next.dismissedRange !== null && !shouldKeepDismissed({
62163
+ match,
62164
+ dismissedRange: next.dismissedRange,
62165
+ state,
62166
+ transaction
62167
+ })) {
62168
+ next.dismissedRange = null;
62169
+ }
62170
+ if (next.dismissedRange === null) {
62171
+ next.active = true;
62172
+ next.decorationId = prev.decorationId ? prev.decorationId : decorationId;
62173
+ next.range = match.range;
62174
+ next.query = match.query;
62175
+ next.text = match.text;
62176
+ } else {
62177
+ next.active = false;
62178
+ }
62055
62179
  } else {
62180
+ if (!match) {
62181
+ next.dismissedRange = null;
62182
+ }
62056
62183
  next.active = false;
62057
62184
  }
62058
62185
  } else {
@@ -62070,41 +62197,18 @@ ${nextLine.slice(indentLevel + 2)}`;
62070
62197
  props: {
62071
62198
  // Call the keydown hook if suggestion is active.
62072
62199
  handleKeyDown(view, event) {
62073
- var _a, _b, _c, _d;
62200
+ var _a, _b;
62074
62201
  const { active, range } = plugin.getState(view.state);
62075
62202
  if (!active) {
62076
62203
  return false;
62077
62204
  }
62078
62205
  if (event.key === "Escape" || event.key === "Esc") {
62079
62206
  const state = plugin.getState(view.state);
62080
- const cachedNode = (_a = props == null ? void 0 : props.decorationNode) != null ? _a : null;
62081
- const decorationNode = cachedNode != null ? cachedNode : (state == null ? void 0 : state.decorationId) ? view.dom.querySelector(`[data-decoration-id="${state.decorationId}"]`) : null;
62082
- const handledByKeyDown = ((_b = renderer == null ? void 0 : renderer.onKeyDown) == null ? void 0 : _b.call(renderer, { view, event, range: state.range })) || false;
62083
- if (handledByKeyDown) {
62084
- return true;
62085
- }
62086
- const exitProps = {
62087
- editor,
62088
- range: state.range,
62089
- query: state.query,
62090
- text: state.text,
62091
- items: [],
62092
- command: (commandProps) => {
62093
- return command({ editor, range: state.range, props: commandProps });
62094
- },
62095
- decorationNode,
62096
- // If we have a cached decoration node, use it for the clientRect
62097
- // to avoid another DOM lookup. If not, leave clientRect null and
62098
- // let consumer decide if they want to query.
62099
- clientRect: decorationNode ? () => {
62100
- return decorationNode.getBoundingClientRect() || null;
62101
- } : null
62102
- };
62103
- (_c = renderer == null ? void 0 : renderer.onExit) == null ? void 0 : _c.call(renderer, exitProps);
62207
+ (_a = renderer == null ? void 0 : renderer.onKeyDown) == null ? void 0 : _a.call(renderer, { view, event, range: state.range });
62104
62208
  dispatchExit(view, pluginKey);
62105
62209
  return true;
62106
62210
  }
62107
- const handled = ((_d = renderer == null ? void 0 : renderer.onKeyDown) == null ? void 0 : _d.call(renderer, { view, event, range })) || false;
62211
+ const handled = ((_b = renderer == null ? void 0 : renderer.onKeyDown) == null ? void 0 : _b.call(renderer, { view, event, range })) || false;
62108
62212
  return handled;
62109
62213
  },
62110
62214
  // Setup decorator on the currently active suggestion.
@@ -62397,7 +62501,8 @@ ${nextLine.slice(indentLevel + 2)}`;
62397
62501
  return helpers.parseChildren([tokens[0]]);
62398
62502
  }
62399
62503
  const content = helpers.parseInline(tokens);
62400
- if (content.length === 1 && content[0].type === "text" && (content[0].text === EMPTY_PARAGRAPH_MARKDOWN || content[0].text === NBSP_CHAR)) {
62504
+ const hasExplicitEmptyParagraphMarker = tokens.length === 1 && tokens[0].type === "text" && (tokens[0].raw === EMPTY_PARAGRAPH_MARKDOWN || tokens[0].text === EMPTY_PARAGRAPH_MARKDOWN || tokens[0].raw === NBSP_CHAR || tokens[0].text === NBSP_CHAR);
62505
+ if (hasExplicitEmptyParagraphMarker && content.length === 1 && content[0].type === "text" && (content[0].text === EMPTY_PARAGRAPH_MARKDOWN || content[0].text === NBSP_CHAR)) {
62401
62506
  return helpers.createNode("paragraph", void 0, []);
62402
62507
  }
62403
62508
  return helpers.createNode("paragraph", void 0, content);
@@ -63714,6 +63819,7 @@ ${nextLine.slice(indentLevel + 2)}`;
63714
63819
  ];
63715
63820
  }
63716
63821
  });
63822
+ var skipTrailingNodeMeta = "skipTrailingNode";
63717
63823
  function nodeEqualsType({ types, node }) {
63718
63824
  return node && Array.isArray(types) && types.includes(node.type) || (node == null ? void 0 : node.type) === types;
63719
63825
  }
@@ -63733,11 +63839,14 @@ ${nextLine.slice(indentLevel + 2)}`;
63733
63839
  return [
63734
63840
  new Plugin({
63735
63841
  key: plugin,
63736
- appendTransaction: (_, __, state) => {
63842
+ appendTransaction: (transactions, __, state) => {
63737
63843
  const { doc, tr, schema } = state;
63738
63844
  const shouldInsertNodeAtEnd = plugin.getState(state);
63739
63845
  const endPosition = doc.content.size;
63740
63846
  const type = schema.nodes[defaultNode];
63847
+ if (transactions.some((transaction) => transaction.getMeta(skipTrailingNodeMeta))) {
63848
+ return;
63849
+ }
63741
63850
  if (!shouldInsertNodeAtEnd) {
63742
63851
  return;
63743
63852
  }
@@ -66450,6 +66559,7 @@ ${nextLine.slice(indentLevel + 2)}`;
66450
66559
  aria-pressed="${x => x.ariaPressed}"
66451
66560
  aria-relevant="${x => x.ariaRelevant}"
66452
66561
  aria-roledescription="${x => x.ariaRoledescription}"
66562
+ @click="${(x, c) => x.onClick(c.event)}"
66453
66563
  ${ref('control')}
66454
66564
  >
66455
66565
  <div class="icon-background"></div>
@@ -66503,6 +66613,15 @@ ${nextLine.slice(indentLevel + 2)}`;
66503
66613
  */
66504
66614
  this.stepInternals = new StepInternals();
66505
66615
  }
66616
+ /**
66617
+ * @internal
66618
+ */
66619
+ onClick(e) {
66620
+ if (this.disabled || this.readOnly) {
66621
+ e.preventDefault();
66622
+ e.stopImmediatePropagation();
66623
+ }
66624
+ }
66506
66625
  }
66507
66626
  __decorate([
66508
66627
  attr()