@ni/spright-components 5.3.2 → 5.4.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.
@@ -17823,6 +17823,10 @@
17823
17823
  name: 'calendar_check_lines_16_x_16',
17824
17824
  data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M12 3V2h-2v1H6V2H4v1H2v11h12V3zm1 10H3V6h10z" class="cls-2"/><path d="M5.743 11 4 9.242l.766-.742.97 1.007L8.273 7 9 7.758zM10 8h2v1h-2zM8 10h4v1H8z" class="cls-1"/></svg>`,
17825
17825
  };
17826
+ const calendarCircleExclamation16X16 = {
17827
+ name: 'calendar_circle_exclamation_16_x_16',
17828
+ data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M7.29 13c.13.36.3.69.51 1H2V3h2V2h2v1h4V2h2v1h2v4.7c-.31-.21-.65-.36-1-.48V6.01H3v7h4.29ZM15 11.44c0 1.93-1.57 3.5-3.5 3.5S8 13.37 8 11.44s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5m-2.99 1.29H11v.71h1.01zm.01-3.29h-1.05l.12 2.85h.82l.12-2.85Z" class="cls-1"/></svg>`,
17829
+ };
17826
17830
  const calendarClock16X16 = {
17827
17831
  name: 'calendar_clock_16_x_16',
17828
17832
  data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M14 8.79V3h-2V2h-2v1H6V2H4v1H2v11h7.47c.545.35 1.19.559 1.885.559a3.5 3.5 0 0 0 3.5-3.5c0-.87-.33-1.657-.855-2.269M3 6h10v1.987a3.46 3.46 0 0 0-1.645-.428A3.5 3.5 0 0 0 8.445 13H3zm9.978 7.041a391 391 0 0 1-1.288-1.304.743.743 0 1 1 0-1.338l.908-.908c.081-.081.356-.149.49-.149 0 .09-.06.358-.134.462-.068.095-.791.822-.917.948a.75.75 0 0 1 0 .633l1.386 1.389s.312.327.268.625c-.208 0-.416-.06-.713-.358" class="cls-1"/></svg>`,
@@ -22790,6 +22794,18 @@ so this becomes the fallback color for the slot */ ''}
22790
22794
  }
22791
22795
  registerIcon('icon-calendar-check-lines', IconCalendarCheckLines);
22792
22796
 
22797
+ // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22798
+ // See generation source in nimble-components/build/generate-icons
22799
+ /**
22800
+ * The icon component for the 'calendarCircleExclamation' icon
22801
+ */
22802
+ class IconCalendarCircleExclamation extends Icon {
22803
+ constructor() {
22804
+ super(calendarCircleExclamation16X16);
22805
+ }
22806
+ }
22807
+ registerIcon('icon-calendar-circle-exclamation', IconCalendarCircleExclamation);
22808
+
22793
22809
  // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
22794
22810
  // See generation source in nimble-components/build/generate-icons
22795
22811
  /**
@@ -33891,6 +33907,7 @@ so this becomes the fallback color for the slot */ ''}
33891
33907
  };
33892
33908
  const atomElements = /^(img|br|input|textarea|hr)$/i;
33893
33909
  function scanFor(node, off, targetNode, targetOff, dir) {
33910
+ var _a;
33894
33911
  for (;;) {
33895
33912
  if (node == targetNode && off == targetOff)
33896
33913
  return true;
@@ -33903,10 +33920,17 @@ so this becomes the fallback color for the slot */ ''}
33903
33920
  node = parent;
33904
33921
  }
33905
33922
  else if (node.nodeType == 1) {
33906
- node = node.childNodes[off + (dir < 0 ? -1 : 0)];
33907
- if (node.contentEditable == "false")
33908
- return false;
33909
- off = dir < 0 ? nodeSize(node) : 0;
33923
+ let child = node.childNodes[off + (dir < 0 ? -1 : 0)];
33924
+ if (child.nodeType == 1 && child.contentEditable == "false") {
33925
+ if ((_a = child.pmViewDesc) === null || _a === void 0 ? void 0 : _a.ignoreForSelection)
33926
+ off += dir;
33927
+ else
33928
+ return false;
33929
+ }
33930
+ else {
33931
+ node = child;
33932
+ off = dir < 0 ? nodeSize(node) : 0;
33933
+ }
33910
33934
  }
33911
33935
  else {
33912
33936
  return false;
@@ -34027,7 +34051,7 @@ so this becomes the fallback color for the slot */ ''}
34027
34051
  // Is true for both iOS and iPadOS for convenience
34028
34052
  const ios = safari && (/Mobile\/\w+/.test(agent) || !!nav && nav.maxTouchPoints > 2);
34029
34053
  const mac$2 = ios || (nav ? /Mac/.test(nav.platform) : false);
34030
- const windows = nav ? /Win/.test(nav.platform) : false;
34054
+ const windows$1 = nav ? /Win/.test(nav.platform) : false;
34031
34055
  const android = /Android \d/.test(agent);
34032
34056
  const webkit = !!doc && "webkitFontSmoothing" in doc.documentElement.style;
34033
34057
  const webkit_version = webkit ? +(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent) || [0, 0])[1] : 0;
@@ -34990,6 +35014,7 @@ so this becomes the fallback color for the slot */ ''}
34990
35014
  }
34991
35015
  get domAtom() { return false; }
34992
35016
  get ignoreForCoords() { return false; }
35017
+ get ignoreForSelection() { return false; }
34993
35018
  isText(text) { return false; }
34994
35019
  }
34995
35020
  // A widget desc represents a widget decoration, which is a DOM node
@@ -35034,6 +35059,7 @@ so this becomes the fallback color for the slot */ ''}
35034
35059
  super.destroy();
35035
35060
  }
35036
35061
  get domAtom() { return true; }
35062
+ get ignoreForSelection() { return !!this.widget.type.spec.relaxedSide; }
35037
35063
  get side() { return this.widget.type.side; }
35038
35064
  }
35039
35065
  class CompositionViewDesc extends ViewDesc {
@@ -36497,7 +36523,7 @@ so this becomes the fallback color for the slot */ ''}
36497
36523
  }
36498
36524
  function findDirection(view, pos) {
36499
36525
  let $pos = view.state.doc.resolve(pos);
36500
- if (!(chrome || windows) && $pos.parent.inlineContent) {
36526
+ if (!(chrome || windows$1) && $pos.parent.inlineContent) {
36501
36527
  let coords = view.coordsAtPos(pos);
36502
36528
  if (pos > $pos.start()) {
36503
36529
  let before = view.coordsAtPos(pos - 1);
@@ -36903,7 +36929,7 @@ so this becomes the fallback color for the slot */ ''}
36903
36929
  this.mouseDown = null;
36904
36930
  this.lastKeyCode = null;
36905
36931
  this.lastKeyCodeTime = 0;
36906
- this.lastClick = { time: 0, x: 0, y: 0, type: "" };
36932
+ this.lastClick = { time: 0, x: 0, y: 0, type: "", button: 0 };
36907
36933
  this.lastSelectionOrigin = null;
36908
36934
  this.lastSelectionTime = 0;
36909
36935
  this.lastIOSEnter = 0;
@@ -37031,8 +37057,9 @@ so this becomes the fallback color for the slot */ ''}
37031
37057
  let sel = view.state.selection;
37032
37058
  if (!(sel instanceof TextSelection) || !sel.$from.sameParent(sel.$to)) {
37033
37059
  let text = String.fromCharCode(event.charCode);
37034
- if (!/[\r\n]/.test(text) && !view.someProp("handleTextInput", f => f(view, sel.$from.pos, sel.$to.pos, text)))
37035
- view.dispatch(view.state.tr.insertText(text).scrollIntoView());
37060
+ let deflt = () => view.state.tr.insertText(text).scrollIntoView();
37061
+ if (!/[\r\n]/.test(text) && !view.someProp("handleTextInput", f => f(view, sel.$from.pos, sel.$to.pos, text, deflt)))
37062
+ view.dispatch(deflt());
37036
37063
  event.preventDefault();
37037
37064
  }
37038
37065
  };
@@ -37144,13 +37171,14 @@ so this becomes the fallback color for the slot */ ''}
37144
37171
  view.input.shiftKey = event.shiftKey;
37145
37172
  let flushed = forceDOMFlush(view);
37146
37173
  let now = Date.now(), type = "singleClick";
37147
- if (now - view.input.lastClick.time < 500 && isNear(event, view.input.lastClick) && !event[selectNodeModifier]) {
37174
+ if (now - view.input.lastClick.time < 500 && isNear(event, view.input.lastClick) && !event[selectNodeModifier] &&
37175
+ view.input.lastClick.button == event.button) {
37148
37176
  if (view.input.lastClick.type == "singleClick")
37149
37177
  type = "doubleClick";
37150
37178
  else if (view.input.lastClick.type == "doubleClick")
37151
37179
  type = "tripleClick";
37152
37180
  }
37153
- view.input.lastClick = { time: now, x: event.clientX, y: event.clientY, type };
37181
+ view.input.lastClick = { time: now, x: event.clientX, y: event.clientY, type, button: event.button };
37154
37182
  let pos = view.posAtCoords(eventCoords(event));
37155
37183
  if (!pos)
37156
37184
  return;
@@ -37407,10 +37435,10 @@ so this becomes the fallback color for the slot */ ''}
37407
37435
  view.domObserver.forceFlush();
37408
37436
  clearComposition(view);
37409
37437
  if (restarting || view.docView && view.docView.dirty) {
37410
- let sel = selectionFromDOM(view);
37411
- if (sel && !sel.eq(view.state.selection))
37438
+ let sel = selectionFromDOM(view), cur = view.state.selection;
37439
+ if (sel && !sel.eq(cur))
37412
37440
  view.dispatch(view.state.tr.setSelection(sel));
37413
- else if ((view.markCursor || restarting) && !view.state.selection.empty)
37441
+ else if ((view.markCursor || restarting) && !cur.$from.node(cur.$from.sharedDepth(cur.to)).inlineContent)
37414
37442
  view.dispatch(view.state.tr.deleteSelection());
37415
37443
  else
37416
37444
  view.updateState(view.state);
@@ -38915,7 +38943,26 @@ so this becomes the fallback color for the slot */ ''}
38915
38943
  }, 20);
38916
38944
  }
38917
38945
  let chFrom = change.start, chTo = change.endA;
38918
- let tr, storedMarks, markChange;
38946
+ let mkTr = (base) => {
38947
+ let tr = base || view.state.tr.replace(chFrom, chTo, parse.doc.slice(change.start - parse.from, change.endB - parse.from));
38948
+ if (parse.sel) {
38949
+ let sel = resolveSelection(view, tr.doc, parse.sel);
38950
+ // Chrome will sometimes, during composition, report the
38951
+ // selection in the wrong place. If it looks like that is
38952
+ // happening, don't update the selection.
38953
+ // Edge just doesn't move the cursor forward when you start typing
38954
+ // in an empty block or between br nodes.
38955
+ if (sel && !(chrome && view.composing && sel.empty &&
38956
+ (change.start != change.endB || view.input.lastChromeDelete < Date.now() - 100) &&
38957
+ (sel.head == chFrom || sel.head == tr.mapping.map(chTo) - 1) ||
38958
+ ie$1 && sel.empty && sel.head == chFrom))
38959
+ tr.setSelection(sel);
38960
+ }
38961
+ if (compositionID)
38962
+ tr.setMeta("composition", compositionID);
38963
+ return tr.scrollIntoView();
38964
+ };
38965
+ let markChange;
38919
38966
  if (inlineChange) {
38920
38967
  if ($from.pos == $to.pos) { // Deletion
38921
38968
  // IE11 sometimes weirdly moves the DOM selection around after
@@ -38924,46 +38971,33 @@ so this becomes the fallback color for the slot */ ''}
38924
38971
  view.domObserver.suppressSelectionUpdates();
38925
38972
  setTimeout(() => selectionToDOM(view), 20);
38926
38973
  }
38927
- tr = view.state.tr.delete(chFrom, chTo);
38928
- storedMarks = doc.resolve(change.start).marksAcross(doc.resolve(change.endA));
38974
+ let tr = mkTr(view.state.tr.delete(chFrom, chTo));
38975
+ let marks = doc.resolve(change.start).marksAcross(doc.resolve(change.endA));
38976
+ if (marks)
38977
+ tr.ensureMarks(marks);
38978
+ view.dispatch(tr);
38929
38979
  }
38930
38980
  else if ( // Adding or removing a mark
38931
38981
  change.endA == change.endB &&
38932
38982
  (markChange = isMarkChange($from.parent.content.cut($from.parentOffset, $to.parentOffset), $fromA.parent.content.cut($fromA.parentOffset, change.endA - $fromA.start())))) {
38933
- tr = view.state.tr;
38983
+ let tr = mkTr(view.state.tr);
38934
38984
  if (markChange.type == "add")
38935
38985
  tr.addMark(chFrom, chTo, markChange.mark);
38936
38986
  else
38937
38987
  tr.removeMark(chFrom, chTo, markChange.mark);
38988
+ view.dispatch(tr);
38938
38989
  }
38939
38990
  else if ($from.parent.child($from.index()).isText && $from.index() == $to.index() - ($to.textOffset ? 0 : 1)) {
38940
38991
  // Both positions in the same text node -- simply insert text
38941
38992
  let text = $from.parent.textBetween($from.parentOffset, $to.parentOffset);
38942
- if (view.someProp("handleTextInput", f => f(view, chFrom, chTo, text)))
38943
- return;
38944
- tr = view.state.tr.insertText(text, chFrom, chTo);
38945
- }
38946
- }
38947
- if (!tr)
38948
- tr = view.state.tr.replace(chFrom, chTo, parse.doc.slice(change.start - parse.from, change.endB - parse.from));
38949
- if (parse.sel) {
38950
- let sel = resolveSelection(view, tr.doc, parse.sel);
38951
- // Chrome will sometimes, during composition, report the
38952
- // selection in the wrong place. If it looks like that is
38953
- // happening, don't update the selection.
38954
- // Edge just doesn't move the cursor forward when you start typing
38955
- // in an empty block or between br nodes.
38956
- if (sel && !(chrome && view.composing && sel.empty &&
38957
- (change.start != change.endB || view.input.lastChromeDelete < Date.now() - 100) &&
38958
- (sel.head == chFrom || sel.head == tr.mapping.map(chTo) - 1) ||
38959
- ie$1 && sel.empty && sel.head == chFrom))
38960
- tr.setSelection(sel);
38961
- }
38962
- if (storedMarks)
38963
- tr.ensureMarks(storedMarks);
38964
- if (compositionID)
38965
- tr.setMeta("composition", compositionID);
38966
- view.dispatch(tr.scrollIntoView());
38993
+ let deflt = () => mkTr(view.state.tr.insertText(text, chFrom, chTo));
38994
+ if (!view.someProp("handleTextInput", f => f(view, chFrom, chTo, text, deflt)))
38995
+ view.dispatch(deflt());
38996
+ }
38997
+ }
38998
+ else {
38999
+ view.dispatch(mkTr());
39000
+ }
38967
39001
  }
38968
39002
  function resolveSelection(view, doc, parsedSel) {
38969
39003
  if (Math.max(parsedSel.anchor, parsedSel.head) > doc.content.size)
@@ -39557,22 +39591,6 @@ so this becomes the fallback color for the slot */ ''}
39557
39591
  return dispatchEvent$1(this, event);
39558
39592
  }
39559
39593
  /**
39560
- Dispatch a transaction. Will call
39561
- [`dispatchTransaction`](https://prosemirror.net/docs/ref/#view.DirectEditorProps.dispatchTransaction)
39562
- when given, and otherwise defaults to applying the transaction to
39563
- the current state and calling
39564
- [`updateState`](https://prosemirror.net/docs/ref/#view.EditorView.updateState) with the result.
39565
- This method is bound to the view instance, so that it can be
39566
- easily passed around.
39567
- */
39568
- dispatch(tr) {
39569
- let dispatchTransaction = this._props.dispatchTransaction;
39570
- if (dispatchTransaction)
39571
- dispatchTransaction.call(this, tr);
39572
- else
39573
- this.updateState(this.state.apply(tr));
39574
- }
39575
- /**
39576
39594
  @internal
39577
39595
  */
39578
39596
  domSelectionRange() {
@@ -39589,6 +39607,13 @@ so this becomes the fallback color for the slot */ ''}
39589
39607
  return this.root.getSelection();
39590
39608
  }
39591
39609
  }
39610
+ EditorView.prototype.dispatch = function (tr) {
39611
+ let dispatchTransaction = this._props.dispatchTransaction;
39612
+ if (dispatchTransaction)
39613
+ dispatchTransaction.call(this, tr);
39614
+ else
39615
+ this.updateState(this.state.apply(tr));
39616
+ };
39592
39617
  function computeDocDeco(view) {
39593
39618
  let attrs = Object.create(null);
39594
39619
  attrs.class = "ProseMirror";
@@ -39776,7 +39801,8 @@ so this becomes the fallback color for the slot */ ''}
39776
39801
  return name
39777
39802
  }
39778
39803
 
39779
- const mac = typeof navigator != "undefined" ? /Mac|iP(hone|[oa]d)/.test(navigator.platform) : false;
39804
+ const mac = typeof navigator != "undefined" && /Mac|iP(hone|[oa]d)/.test(navigator.platform);
39805
+ const windows = typeof navigator != "undefined" && /Win/.test(navigator.platform);
39780
39806
  function normalizeKeyName$1(name) {
39781
39807
  let parts = name.split(/-(?!$)/), result = parts[parts.length - 1];
39782
39808
  if (result == "Space")
@@ -39882,12 +39908,14 @@ so this becomes the fallback color for the slot */ ''}
39882
39908
  if (noShift && noShift(view.state, view.dispatch, view))
39883
39909
  return true;
39884
39910
  }
39885
- if ((event.shiftKey || event.altKey || event.metaKey || name.charCodeAt(0) > 127) &&
39911
+ if ((event.altKey || event.metaKey || event.ctrlKey) &&
39912
+ // Ctrl-Alt may be used for AltGr on Windows
39913
+ !(windows && event.ctrlKey && event.altKey) &&
39886
39914
  (baseName = base$1[event.keyCode]) && baseName != name) {
39887
39915
  // Try falling back to the keyCode when there's a modifier
39888
39916
  // active or the character produced isn't ASCII, and our table
39889
39917
  // produces a different name from the the keyCode. See #668,
39890
- // #1060
39918
+ // #1060, #1529.
39891
39919
  let fromCode = map[modifiers(baseName, event)];
39892
39920
  if (fromCode && fromCode(view.state, view.dispatch, view))
39893
39921
  return true;
@@ -57070,7 +57098,7 @@ img.ProseMirror-separator {
57070
57098
  // THIS FILE IS AUTOMATICALLY GENERATED DO NOT EDIT DIRECTLY
57071
57099
  // See update-tlds.js for encoding/decoding format
57072
57100
  // https://data.iana.org/TLD/tlds-alpha-by-domain.txt
57073
- const encodedTlds = 'aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster6d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2';
57101
+ const encodedTlds = 'aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2';
57074
57102
  // Internationalized domain names containing non-ASCII
57075
57103
  const encodedUtlds = 'ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2';
57076
57104
 
@@ -57510,61 +57538,61 @@ img.ProseMirror-separator {
57510
57538
 
57511
57539
  var tk = /*#__PURE__*/Object.freeze({
57512
57540
  __proto__: null,
57513
- WORD: WORD,
57514
- UWORD: UWORD,
57515
- ASCIINUMERICAL: ASCIINUMERICAL,
57516
57541
  ALPHANUMERICAL: ALPHANUMERICAL,
57517
- LOCALHOST: LOCALHOST,
57518
- TLD: TLD,
57519
- UTLD: UTLD,
57520
- SCHEME: SCHEME,
57521
- SLASH_SCHEME: SLASH_SCHEME,
57522
- NUM: NUM,
57523
- WS: WS,
57524
- NL: NL,
57525
- OPENBRACE: OPENBRACE,
57526
- CLOSEBRACE: CLOSEBRACE,
57527
- OPENBRACKET: OPENBRACKET,
57528
- CLOSEBRACKET: CLOSEBRACKET,
57529
- OPENPAREN: OPENPAREN,
57530
- CLOSEPAREN: CLOSEPAREN,
57531
- OPENANGLEBRACKET: OPENANGLEBRACKET,
57532
- CLOSEANGLEBRACKET: CLOSEANGLEBRACKET,
57533
- FULLWIDTHLEFTPAREN: FULLWIDTHLEFTPAREN,
57534
- FULLWIDTHRIGHTPAREN: FULLWIDTHRIGHTPAREN,
57535
- LEFTCORNERBRACKET: LEFTCORNERBRACKET,
57536
- RIGHTCORNERBRACKET: RIGHTCORNERBRACKET,
57537
- LEFTWHITECORNERBRACKET: LEFTWHITECORNERBRACKET,
57538
- RIGHTWHITECORNERBRACKET: RIGHTWHITECORNERBRACKET,
57539
- FULLWIDTHLESSTHAN: FULLWIDTHLESSTHAN,
57540
- FULLWIDTHGREATERTHAN: FULLWIDTHGREATERTHAN,
57541
57542
  AMPERSAND: AMPERSAND,
57542
57543
  APOSTROPHE: APOSTROPHE,
57544
+ ASCIINUMERICAL: ASCIINUMERICAL,
57543
57545
  ASTERISK: ASTERISK,
57544
57546
  AT: AT,
57545
57547
  BACKSLASH: BACKSLASH,
57546
57548
  BACKTICK: BACKTICK,
57547
57549
  CARET: CARET,
57550
+ CLOSEANGLEBRACKET: CLOSEANGLEBRACKET,
57551
+ CLOSEBRACE: CLOSEBRACE,
57552
+ CLOSEBRACKET: CLOSEBRACKET,
57553
+ CLOSEPAREN: CLOSEPAREN,
57548
57554
  COLON: COLON,
57549
57555
  COMMA: COMMA,
57550
57556
  DOLLAR: DOLLAR,
57551
57557
  DOT: DOT,
57558
+ EMOJI: EMOJI$1,
57552
57559
  EQUALS: EQUALS,
57553
57560
  EXCLAMATION: EXCLAMATION,
57561
+ FULLWIDTHGREATERTHAN: FULLWIDTHGREATERTHAN,
57562
+ FULLWIDTHLEFTPAREN: FULLWIDTHLEFTPAREN,
57563
+ FULLWIDTHLESSTHAN: FULLWIDTHLESSTHAN,
57564
+ FULLWIDTHMIDDLEDOT: FULLWIDTHMIDDLEDOT,
57565
+ FULLWIDTHRIGHTPAREN: FULLWIDTHRIGHTPAREN,
57554
57566
  HYPHEN: HYPHEN,
57567
+ LEFTCORNERBRACKET: LEFTCORNERBRACKET,
57568
+ LEFTWHITECORNERBRACKET: LEFTWHITECORNERBRACKET,
57569
+ LOCALHOST: LOCALHOST,
57570
+ NL: NL,
57571
+ NUM: NUM,
57572
+ OPENANGLEBRACKET: OPENANGLEBRACKET,
57573
+ OPENBRACE: OPENBRACE,
57574
+ OPENBRACKET: OPENBRACKET,
57575
+ OPENPAREN: OPENPAREN,
57555
57576
  PERCENT: PERCENT,
57556
57577
  PIPE: PIPE,
57557
57578
  PLUS: PLUS,
57558
57579
  POUND: POUND,
57559
57580
  QUERY: QUERY,
57560
57581
  QUOTE: QUOTE,
57561
- FULLWIDTHMIDDLEDOT: FULLWIDTHMIDDLEDOT,
57582
+ RIGHTCORNERBRACKET: RIGHTCORNERBRACKET,
57583
+ RIGHTWHITECORNERBRACKET: RIGHTWHITECORNERBRACKET,
57584
+ SCHEME: SCHEME,
57562
57585
  SEMI: SEMI,
57563
57586
  SLASH: SLASH,
57587
+ SLASH_SCHEME: SLASH_SCHEME,
57588
+ SYM: SYM,
57564
57589
  TILDE: TILDE,
57590
+ TLD: TLD,
57565
57591
  UNDERSCORE: UNDERSCORE,
57566
- EMOJI: EMOJI$1,
57567
- SYM: SYM
57592
+ UTLD: UTLD,
57593
+ UWORD: UWORD,
57594
+ WORD: WORD,
57595
+ WS: WS
57568
57596
  });
57569
57597
 
57570
57598
  // Note that these two Unicode ones expand into a really big one with Babel
@@ -57578,6 +57606,7 @@ img.ProseMirror-separator {
57578
57606
  The scanner provides an interface that takes a string of text as input, and
57579
57607
  outputs an array of tokens instances that can be used for easy URL parsing.
57580
57608
  */
57609
+
57581
57610
  const CR = '\r'; // carriage-return character
57582
57611
  const LF = '\n'; // line-feed character
57583
57612
  const EMOJI_VARIATION = '\ufe0f'; // Variation selector, follows heart and others
@@ -58408,6 +58437,7 @@ img.ProseMirror-separator {
58408
58437
  @submodule parser
58409
58438
  @main run
58410
58439
  */
58440
+
58411
58441
  const makeState = arg => new State(arg);
58412
58442
 
58413
58443
  /**
@@ -58423,7 +58453,7 @@ img.ProseMirror-separator {
58423
58453
  // Types of tokens that can follow a URL and be part of the query string
58424
58454
  // but cannot be the very last characters
58425
58455
  // Characters that cannot appear in the URL at all should be excluded
58426
- const qsNonAccepting = [COLON, COMMA, DOT, EXCLAMATION, PERCENT, QUERY, QUOTE, SEMI, OPENANGLEBRACKET, CLOSEANGLEBRACKET, OPENBRACE, CLOSEBRACE, CLOSEBRACKET, OPENBRACKET, OPENPAREN, CLOSEPAREN, FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN, LEFTCORNERBRACKET, RIGHTCORNERBRACKET, LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET, FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN];
58456
+ const qsNonAccepting = [APOSTROPHE, COLON, COMMA, DOT, EXCLAMATION, PERCENT, QUERY, QUOTE, SEMI, OPENANGLEBRACKET, CLOSEANGLEBRACKET, OPENBRACE, CLOSEBRACE, CLOSEBRACKET, OPENBRACKET, OPENPAREN, CLOSEPAREN, FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN, LEFTCORNERBRACKET, RIGHTCORNERBRACKET, LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET, FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN];
58427
58457
 
58428
58458
  // For addresses without the mailto prefix
58429
58459
  // Tokens allowed in the localpart of the email
@@ -68123,7 +68153,7 @@ focus outline in that case.
68123
68153
  return value;
68124
68154
  }
68125
68155
  }
68126
- const approxEqual = (a, b) => Math.abs(a - b) < 1;
68156
+ const approxEqual = (a, b) => Math.abs(a - b) <= 1;
68127
68157
  const debounce = (targetWindow, fn, ms) => {
68128
68158
  let timeoutId;
68129
68159
  return function(...args) {
@@ -68132,6 +68162,10 @@ focus outline in that case.
68132
68162
  };
68133
68163
  };
68134
68164
 
68165
+ const getRect = (element) => {
68166
+ const { offsetWidth, offsetHeight } = element;
68167
+ return { width: offsetWidth, height: offsetHeight };
68168
+ };
68135
68169
  const defaultKeyExtractor = (index) => index;
68136
68170
  const defaultRangeExtractor = (range) => {
68137
68171
  const start = Math.max(range.startIndex - range.overscan, 0);
@@ -68155,7 +68189,7 @@ focus outline in that case.
68155
68189
  const { width, height } = rect;
68156
68190
  cb({ width: Math.round(width), height: Math.round(height) });
68157
68191
  };
68158
- handler(element.getBoundingClientRect());
68192
+ handler(getRect(element));
68159
68193
  if (!targetWindow.ResizeObserver) {
68160
68194
  return () => {
68161
68195
  };
@@ -68170,7 +68204,7 @@ focus outline in that case.
68170
68204
  return;
68171
68205
  }
68172
68206
  }
68173
- handler(element.getBoundingClientRect());
68207
+ handler(getRect(element));
68174
68208
  };
68175
68209
  instance.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();
68176
68210
  });
@@ -68231,9 +68265,7 @@ focus outline in that case.
68231
68265
  return size;
68232
68266
  }
68233
68267
  }
68234
- return Math.round(
68235
- element.getBoundingClientRect()[instance.options.horizontal ? "width" : "height"]
68236
- );
68268
+ return element[instance.options.horizontal ? "offsetWidth" : "offsetHeight"];
68237
68269
  };
68238
68270
  const elementScroll = (offset, {
68239
68271
  adjustments = 0,
@@ -68668,9 +68700,7 @@ focus outline in that case.
68668
68700
  } else if (align === "end") {
68669
68701
  toOffset -= size;
68670
68702
  }
68671
- const scrollSizeProp = this.options.horizontal ? "scrollWidth" : "scrollHeight";
68672
- const scrollSize = this.scrollElement ? "document" in this.scrollElement ? this.scrollElement.document.documentElement[scrollSizeProp] : this.scrollElement[scrollSizeProp] : 0;
68673
- const maxOffset = scrollSize - size;
68703
+ const maxOffset = this.getTotalSize() - size;
68674
68704
  return Math.max(Math.min(maxOffset, toOffset), 0);
68675
68705
  };
68676
68706
  this.getOffsetForIndex = (index, align = "auto") => {
@@ -68734,10 +68764,11 @@ focus outline in that case.
68734
68764
  this.options.getItemKey(index)
68735
68765
  );
68736
68766
  if (elementInDOM) {
68737
- const [latestOffset] = notUndefined(
68738
- this.getOffsetForIndex(index, align)
68739
- );
68740
- if (!approxEqual(latestOffset, this.getScrollOffset())) {
68767
+ const result = this.getOffsetForIndex(index, align);
68768
+ if (!result) return;
68769
+ const [latestOffset] = result;
68770
+ const currentScrollOffset = this.getScrollOffset();
68771
+ if (!approxEqual(latestOffset, currentScrollOffset)) {
68741
68772
  this.scrollToIndex(index, { align, behavior });
68742
68773
  }
68743
68774
  } else {
@@ -82938,6 +82969,7 @@ focus outline in that case.
82938
82969
  Type[Type["DurationMillisecond"] = -28] = "DurationMillisecond";
82939
82970
  Type[Type["DurationMicrosecond"] = -29] = "DurationMicrosecond";
82940
82971
  Type[Type["DurationNanosecond"] = -30] = "DurationNanosecond";
82972
+ Type[Type["IntervalMonthDayNano"] = -31] = "IntervalMonthDayNano";
82941
82973
  })(Type || (Type = {}));
82942
82974
  var BufferType;
82943
82975
  (function (BufferType) {
@@ -83115,11 +83147,14 @@ focus outline in that case.
83115
83147
  number |= word * (BigInt(1) << BigInt(64 * i++));
83116
83148
  }
83117
83149
  }
83118
- if (typeof scale === 'number') {
83119
- const denominator = BigInt(Math.pow(10, scale));
83150
+ if (typeof scale === 'number' && scale > 0) {
83151
+ const denominator = BigInt('1'.padEnd(scale + 1, '0'));
83120
83152
  const quotient = number / denominator;
83121
- const remainder = number % denominator;
83122
- return bigIntToNumber(quotient) + (bigIntToNumber(remainder) / bigIntToNumber(denominator));
83153
+ const remainder = negative ? -(number % denominator) : number % denominator;
83154
+ const integerPart = bigIntToNumber(quotient);
83155
+ const fractionPart = `${remainder}`.padStart(scale, '0');
83156
+ const sign = negative && integerPart === 0 ? '-' : '';
83157
+ return +`${sign}${integerPart}.${fractionPart}`;
83123
83158
  }
83124
83159
  return bigIntToNumber(number);
83125
83160
  }
@@ -83643,7 +83678,12 @@ focus outline in that case.
83643
83678
  const t = type;
83644
83679
  switch (type.typeId) {
83645
83680
  case Type.Decimal: return type.bitWidth / 32;
83646
- case Type.Interval: return 1 + t.unit;
83681
+ case Type.Interval: {
83682
+ if (t.unit === IntervalUnit.MONTH_DAY_NANO) {
83683
+ return 4;
83684
+ }
83685
+ return 1 + t.unit;
83686
+ }
83647
83687
  // case Type.Int: return 1 + +((t as Int_).bitWidth > 32);
83648
83688
  // case Type.Time: return 1 + +((t as Time_).bitWidth > 32);
83649
83689
  case Type.FixedSizeList: return t.listSize;
@@ -83852,6 +83892,9 @@ focus outline in that case.
83852
83892
  case Type.IntervalYearMonth:
83853
83893
  fn = visitor.visitIntervalYearMonth || visitor.visitInterval;
83854
83894
  break;
83895
+ case Type.IntervalMonthDayNano:
83896
+ fn = visitor.visitIntervalMonthDayNano || visitor.visitInterval;
83897
+ break;
83855
83898
  case Type.Duration:
83856
83899
  fn = visitor.visitDuration;
83857
83900
  break;
@@ -83938,6 +83981,7 @@ focus outline in that case.
83938
83981
  switch (type.unit) {
83939
83982
  case IntervalUnit.DAY_TIME: return Type.IntervalDayTime;
83940
83983
  case IntervalUnit.YEAR_MONTH: return Type.IntervalYearMonth;
83984
+ case IntervalUnit.MONTH_DAY_NANO: return Type.IntervalMonthDayNano;
83941
83985
  }
83942
83986
  // @ts-ignore
83943
83987
  return Type.Interval;
@@ -83993,6 +84037,7 @@ focus outline in that case.
83993
84037
  Visitor.prototype.visitSparseUnion = null;
83994
84038
  Visitor.prototype.visitIntervalDayTime = null;
83995
84039
  Visitor.prototype.visitIntervalYearMonth = null;
84040
+ Visitor.prototype.visitIntervalMonthDayNano = null;
83996
84041
  Visitor.prototype.visitDuration = null;
83997
84042
  Visitor.prototype.visitDurationSecond = null;
83998
84043
  Visitor.prototype.visitDurationMillisecond = null;
@@ -84284,15 +84329,19 @@ focus outline in that case.
84284
84329
  /* istanbul ignore next */
84285
84330
  /** @ignore */
84286
84331
  const setIntervalValue = (data, index, value) => {
84287
- (data.type.unit === IntervalUnit.DAY_TIME)
84288
- ? setIntervalDayTime(data, index, value)
84289
- : setIntervalYearMonth(data, index, value);
84332
+ switch (data.type.unit) {
84333
+ case IntervalUnit.YEAR_MONTH: return setIntervalYearMonth(data, index, value);
84334
+ case IntervalUnit.DAY_TIME: return setIntervalDayTime(data, index, value);
84335
+ case IntervalUnit.MONTH_DAY_NANO: return setIntervalMonthDayNano(data, index, value);
84336
+ }
84290
84337
  };
84291
84338
  /** @ignore */
84292
84339
  const setIntervalDayTime = ({ values }, index, value) => { values.set(value.subarray(0, 2), 2 * index); };
84293
84340
  /** @ignore */
84294
84341
  const setIntervalYearMonth = ({ values }, index, value) => { values[index] = (value[0] * 12) + (value[1] % 12); };
84295
84342
  /** @ignore */
84343
+ const setIntervalMonthDayNano = ({ values, stride }, index, value) => { values.set(value.subarray(0, stride), stride * index); };
84344
+ /** @ignore */
84296
84345
  const setDurationSecond = ({ values }, index, value) => { values[index] = value; };
84297
84346
  /** @ignore */
84298
84347
  const setDurationMillisecond = ({ values }, index, value) => { values[index] = value; };
@@ -84368,6 +84417,7 @@ focus outline in that case.
84368
84417
  SetVisitor.prototype.visitInterval = wrapSet(setIntervalValue);
84369
84418
  SetVisitor.prototype.visitIntervalDayTime = wrapSet(setIntervalDayTime);
84370
84419
  SetVisitor.prototype.visitIntervalYearMonth = wrapSet(setIntervalYearMonth);
84420
+ SetVisitor.prototype.visitIntervalMonthDayNano = wrapSet(setIntervalMonthDayNano);
84371
84421
  SetVisitor.prototype.visitDuration = wrapSet(setDuration);
84372
84422
  SetVisitor.prototype.visitDurationSecond = wrapSet(setDurationSecond);
84373
84423
  SetVisitor.prototype.visitDurationMillisecond = wrapSet(setDurationMillisecond);
@@ -84650,9 +84700,11 @@ focus outline in that case.
84650
84700
  };
84651
84701
  /* istanbul ignore next */
84652
84702
  /** @ignore */
84653
- const getInterval = (data, index) => (data.type.unit === IntervalUnit.DAY_TIME)
84654
- ? getIntervalDayTime(data, index)
84655
- : getIntervalYearMonth(data, index);
84703
+ const getInterval = (data, index) => (data.type.unit === IntervalUnit.MONTH_DAY_NANO)
84704
+ ? getIntervalMonthDayNano(data, index)
84705
+ : (data.type.unit === IntervalUnit.DAY_TIME)
84706
+ ? getIntervalDayTime(data, index)
84707
+ : getIntervalYearMonth(data, index);
84656
84708
  /** @ignore */
84657
84709
  const getIntervalDayTime = ({ values }, index) => values.subarray(2 * index, 2 * (index + 1));
84658
84710
  /** @ignore */
@@ -84664,6 +84716,8 @@ focus outline in that case.
84664
84716
  return int32s;
84665
84717
  };
84666
84718
  /** @ignore */
84719
+ const getIntervalMonthDayNano = ({ values }, index) => values.subarray(4 * index, 4 * (index + 1));
84720
+ /** @ignore */
84667
84721
  const getDurationSecond = ({ values }, index) => values[index];
84668
84722
  /** @ignore */
84669
84723
  const getDurationMillisecond = ({ values }, index) => values[index];
@@ -84731,6 +84785,7 @@ focus outline in that case.
84731
84785
  GetVisitor.prototype.visitInterval = wrapGet(getInterval);
84732
84786
  GetVisitor.prototype.visitIntervalDayTime = wrapGet(getIntervalDayTime);
84733
84787
  GetVisitor.prototype.visitIntervalYearMonth = wrapGet(getIntervalYearMonth);
84788
+ GetVisitor.prototype.visitIntervalMonthDayNano = wrapGet(getIntervalMonthDayNano);
84734
84789
  GetVisitor.prototype.visitDuration = wrapGet(getDuration);
84735
84790
  GetVisitor.prototype.visitDurationSecond = wrapGet(getDurationSecond);
84736
84791
  GetVisitor.prototype.visitDurationMillisecond = wrapGet(getDurationMillisecond);
@@ -85801,6 +85856,7 @@ focus outline in that case.
85801
85856
  IndexOfVisitor.prototype.visitInterval = indexOfValue;
85802
85857
  IndexOfVisitor.prototype.visitIntervalDayTime = indexOfValue;
85803
85858
  IndexOfVisitor.prototype.visitIntervalYearMonth = indexOfValue;
85859
+ IndexOfVisitor.prototype.visitIntervalMonthDayNano = indexOfValue;
85804
85860
  IndexOfVisitor.prototype.visitDuration = indexOfValue;
85805
85861
  IndexOfVisitor.prototype.visitDurationSecond = indexOfValue;
85806
85862
  IndexOfVisitor.prototype.visitDurationMillisecond = indexOfValue;
@@ -85916,6 +85972,7 @@ focus outline in that case.
85916
85972
  IteratorVisitor.prototype.visitInterval = vectorIterator;
85917
85973
  IteratorVisitor.prototype.visitIntervalDayTime = vectorIterator;
85918
85974
  IteratorVisitor.prototype.visitIntervalYearMonth = vectorIterator;
85975
+ IteratorVisitor.prototype.visitIntervalMonthDayNano = vectorIterator;
85919
85976
  IteratorVisitor.prototype.visitDuration = vectorIterator;
85920
85977
  IteratorVisitor.prototype.visitDurationSecond = vectorIterator;
85921
85978
  IteratorVisitor.prototype.visitDurationMillisecond = vectorIterator;
@@ -87434,6 +87491,53 @@ focus outline in that case.
87434
87491
  }
87435
87492
  }
87436
87493
 
87494
+ // Licensed to the Apache Software Foundation (ASF) under one
87495
+ // or more contributor license agreements. See the NOTICE file
87496
+ // distributed with this work for additional information
87497
+ // regarding copyright ownership. The ASF licenses this file
87498
+ // to you under the Apache License, Version 2.0 (the
87499
+ // "License"); you may not use this file except in compliance
87500
+ // with the License. You may obtain a copy of the License at
87501
+ //
87502
+ // http://www.apache.org/licenses/LICENSE-2.0
87503
+ //
87504
+ // Unless required by applicable law or agreed to in writing,
87505
+ // software distributed under the License is distributed on an
87506
+ // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
87507
+ // KIND, either express or implied. See the License for the
87508
+ // specific language governing permissions and limitations
87509
+ // under the License.
87510
+ function toIntervalDayTimeInt32Array(objects) {
87511
+ var _a, _b;
87512
+ const length = objects.length;
87513
+ const array = new Int32Array(length * 2);
87514
+ for (let oi = 0, ai = 0; oi < length; oi++) {
87515
+ const interval = objects[oi];
87516
+ array[ai++] = (_a = interval['days']) !== null && _a !== void 0 ? _a : 0;
87517
+ array[ai++] = (_b = interval['milliseconds']) !== null && _b !== void 0 ? _b : 0;
87518
+ }
87519
+ return array;
87520
+ }
87521
+ function toIntervalMonthDayNanoInt32Array(objects) {
87522
+ var _a, _b;
87523
+ const length = objects.length;
87524
+ const data = new Int32Array(length * 4);
87525
+ for (let oi = 0, ai = 0; oi < length; oi++) {
87526
+ const interval = objects[oi];
87527
+ data[ai++] = (_a = interval['months']) !== null && _a !== void 0 ? _a : 0;
87528
+ data[ai++] = (_b = interval['days']) !== null && _b !== void 0 ? _b : 0;
87529
+ const nanoseconds = interval['nanoseconds'];
87530
+ if (nanoseconds) {
87531
+ data[ai++] = Number(BigInt(nanoseconds) & BigInt(0xFFFFFFFF));
87532
+ data[ai++] = Number(BigInt(nanoseconds) >> BigInt(32));
87533
+ }
87534
+ else {
87535
+ ai += 2;
87536
+ }
87537
+ }
87538
+ return data;
87539
+ }
87540
+
87437
87541
  // Licensed to the Apache Software Foundation (ASF) under one
87438
87542
  // or more contributor license agreements. See the NOTICE file
87439
87543
  // distributed with this work for additional information
@@ -87591,6 +87695,14 @@ focus outline in that case.
87591
87695
  else if (DataType.isUtf8(type) || DataType.isLargeUtf8(type)) {
87592
87696
  return encodeUtf8(sources[offset].join(''));
87593
87697
  }
87698
+ else if (DataType.isInterval(type)) {
87699
+ switch (type.unit) {
87700
+ case IntervalUnit.DAY_TIME:
87701
+ return toIntervalDayTimeInt32Array(sources[offset]);
87702
+ case IntervalUnit.MONTH_DAY_NANO:
87703
+ return toIntervalMonthDayNanoInt32Array(sources[offset]);
87704
+ }
87705
+ }
87594
87706
  return toArrayBufferView(Uint8Array, toArrayBufferView(type.ArrayType, sources[offset].map((x) => +x)));
87595
87707
  }
87596
87708
  }
@@ -87761,6 +87873,7 @@ focus outline in that case.
87761
87873
  TypeComparator.prototype.visitInterval = compareInterval;
87762
87874
  TypeComparator.prototype.visitIntervalDayTime = compareInterval;
87763
87875
  TypeComparator.prototype.visitIntervalYearMonth = compareInterval;
87876
+ TypeComparator.prototype.visitIntervalMonthDayNano = compareInterval;
87764
87877
  TypeComparator.prototype.visitDuration = compareDuration;
87765
87878
  TypeComparator.prototype.visitDurationSecond = compareDuration;
87766
87879
  TypeComparator.prototype.visitDurationMillisecond = compareDuration;