@ni/ok-components 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19064,6 +19064,10 @@ Defines an interaction area clip-path that leaves out the severity text so it is
19064
19064
  name: 'sparkles_16_x_16',
19065
19065
  data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M11.498 2a2.85 2.85 0 0 1-.811 1.69A2.85 2.85 0 0 1 9 4.498a2.85 2.85 0 0 1 1.69.809c.477.476.739 1.076.812 1.693a2.85 2.85 0 0 1 .811-1.69A2.85 2.85 0 0 1 14 4.502a2.85 2.85 0 0 1-1.69-.809A2.84 2.84 0 0 1 11.497 2M7.495 3c-.163 1.355-.737 2.674-1.784 3.719C4.668 7.76 3.352 8.332 2 8.496c1.355.163 2.674.736 3.72 1.78C6.768 11.321 7.343 12.642 7.505 14c.162-1.355.736-2.674 1.784-3.719C10.332 9.24 11.648 8.668 13 8.504c-1.356-.163-2.674-.736-3.72-1.78C8.231 5.679 7.656 4.358 7.495 3" class="cls-1"/></svg>`,
19066
19066
  };
19067
+ const sparklesNested16X16 = {
19068
+ name: 'sparkles_nested_16_x_16',
19069
+ data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m14.21 7.52-.11-.06a14.05 14.05 0 0 1-5.59-5.59l-.06-.11a.51.51 0 0 0-.9 0l-.06.11A14.05 14.05 0 0 1 1.9 7.46l-.11.06a.51.51 0 0 0 0 .9l.11.06a14.05 14.05 0 0 1 5.59 5.59l.06.11c.19.36.7.36.9 0l.06-.11a14.05 14.05 0 0 1 5.59-5.59l.11-.06a.51.51 0 0 0 0-.9m-1.71.36-.08.04a9.46 9.46 0 0 0-3.75 3.75l-.04.08a.34.34 0 0 1-.6 0l-.04-.08a9.46 9.46 0 0 0-3.75-3.75l-.08-.04a.34.34 0 0 1 0-.6l.08-.04a9.46 9.46 0 0 0 3.75-3.75l.04-.08a.34.34 0 0 1 .6 0l.04.08a9.46 9.46 0 0 0 3.75 3.75l.08.04c.24.13.24.47 0 .6" class="cls-1"/><path d="m11.36 7.6-.03.02a6.63 6.63 0 0 0-2.65 2.65l-.02.03c-.1.18-.35.18-.45 0l-.02-.03a6.63 6.63 0 0 0-2.65-2.65l-.03-.02a.255.255 0 0 1 0-.45l.03-.02a6.63 6.63 0 0 0 2.65-2.65l.02-.03c.1-.18.35-.18.45 0l.02.03a6.63 6.63 0 0 0 2.65 2.65l.03.02c.18.1.18.35 0 .45" class="cls-1"/></svg>`,
19070
+ };
19067
19071
  const spinner = {
19068
19072
  name: 'spinner',
19069
19073
  data: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M3.967 7.143h-.762a4.885 4.885 0 0 1 3.938-3.94v.771a4.12 4.12 0 0 0-3.176 3.169M8 2v1.875A4.125 4.125 0 1 1 3.875 8H2a6 6 0 1 0 6-6" class="cls-1"/></svg>`,
@@ -25881,6 +25885,18 @@ so this becomes the fallback color for the slot */ ''}
25881
25885
  }
25882
25886
  registerIconSvg('icon-sparkles', IconSparkles);
25883
25887
 
25888
+ // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
25889
+ // See generation source in nimble-components/build/generate-icons
25890
+ /**
25891
+ * The icon component for the 'sparklesNested' icon
25892
+ */
25893
+ class IconSparklesNested extends IconSvg {
25894
+ constructor() {
25895
+ super(sparklesNested16X16);
25896
+ }
25897
+ }
25898
+ registerIconSvg('icon-sparkles-nested', IconSparklesNested);
25899
+
25884
25900
  // AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
25885
25901
  // See generation source in nimble-components/build/generate-icons
25886
25902
  /**
@@ -39625,8 +39641,8 @@ so this becomes the fallback color for the slot */ ''}
39625
39641
  this.target = targetDesc && targetDesc.nodeDOM.nodeType == 1 ? targetDesc.nodeDOM : null;
39626
39642
  let { selection } = view.state;
39627
39643
  if (event.button == 0 &&
39628
- targetNode.type.spec.draggable && targetNode.type.spec.selectable !== false ||
39629
- selection instanceof NodeSelection && selection.from <= targetPos && selection.to > targetPos)
39644
+ (targetNode.type.spec.draggable && targetNode.type.spec.selectable !== false ||
39645
+ selection instanceof NodeSelection && selection.from <= targetPos && selection.to > targetPos))
39630
39646
  this.mightDrag = {
39631
39647
  node: targetNode,
39632
39648
  pos: targetPos,
@@ -39975,8 +39991,9 @@ so this becomes the fallback color for the slot */ ''}
39975
39991
  }
39976
39992
  const dragCopyModifier = mac$2 ? "altKey" : "ctrlKey";
39977
39993
  function dragMoves(view, event) {
39978
- let moves = view.someProp("dragCopies", test => !test(event));
39979
- return moves != null ? moves : !event[dragCopyModifier];
39994
+ let copy;
39995
+ view.someProp("dragCopies", test => { copy = copy || test(event); });
39996
+ return copy != null ? !copy : !event[dragCopyModifier];
39980
39997
  }
39981
39998
  handlers.dragstart = (view, _event) => {
39982
39999
  let event = _event;
@@ -40003,7 +40020,7 @@ so this becomes the fallback color for the slot */ ''}
40003
40020
  if (!event.dataTransfer.files.length || !chrome || chrome_version > 120)
40004
40021
  event.dataTransfer.clearData();
40005
40022
  event.dataTransfer.setData(brokenClipboardAPI ? "Text" : "text/html", dom.innerHTML);
40006
- // See https://github.com/ProseMirror/prosemirror/issues/1156
40023
+ // See https://code.haverbeke.berlin/prosemirror/prosemirror/issues/1156
40007
40024
  event.dataTransfer.effectAllowed = "copyMove";
40008
40025
  if (!brokenClipboardAPI)
40009
40026
  event.dataTransfer.setData("text/plain", text);
@@ -41628,7 +41645,7 @@ so this becomes the fallback color for the slot */ ''}
41628
41645
  this.pluginViews = [];
41629
41646
  /**
41630
41647
  Holds `true` when a hack node is needed in Firefox to prevent the
41631
- [space is eaten issue](https://github.com/ProseMirror/prosemirror/issues/651)
41648
+ [space is eaten issue](https://code.haverbeke.berlin/prosemirror/prosemirror/issues/651)
41632
41649
  @internal
41633
41650
  */
41634
41651
  this.requiresGeckoHackNode = false;
@@ -43169,7 +43186,7 @@ so this becomes the fallback color for the slot */ ''}
43169
43186
  const fromSelectionAtStart = $from.parentOffset === 0;
43170
43187
  const isTextSelection2 = $fromNode.isText || $fromNode.isTextblock;
43171
43188
  const hasContent = $fromNode.content.size > 0;
43172
- if (fromSelectionAtStart && isTextSelection2 && hasContent) {
43189
+ if (fromSelectionAtStart && isTextSelection2 && hasContent && isOnlyBlockContent) {
43173
43190
  from = Math.max(0, from - 1);
43174
43191
  }
43175
43192
  tr.replaceWith(from, to, newContent);
@@ -44786,6 +44803,16 @@ so this becomes the fallback color for the slot */ ''}
44786
44803
  tr.join(after);
44787
44804
  return true;
44788
44805
  };
44806
+ function createInnerSelectionForWholeDocList(tr) {
44807
+ const doc = tr.doc;
44808
+ const list = doc.firstChild;
44809
+ if (!list) {
44810
+ return null;
44811
+ }
44812
+ const $start = doc.resolve(1);
44813
+ const $end = doc.resolve(list.nodeSize - 1);
44814
+ return TextSelection.between($start, $end);
44815
+ }
44789
44816
  var toggleList = (listTypeOrName, itemTypeOrName, keepMarks, attributes = {}) => ({ editor, tr, state, dispatch, chain, commands, can }) => {
44790
44817
  const { extensions, splittableMarks } = editor.extensionManager;
44791
44818
  const listType = getNodeType(listTypeOrName, state.schema);
@@ -44798,13 +44825,35 @@ so this becomes the fallback color for the slot */ ''}
44798
44825
  return false;
44799
44826
  }
44800
44827
  const parentList = findParentNode((node) => isList(node.type.name, extensions))(selection);
44801
- if (range.depth >= 1 && parentList && range.depth - parentList.depth <= 1) {
44802
- if (parentList.node.type === listType) {
44828
+ const isAllSelection = selection.from === 0 && selection.to === state.doc.content.size;
44829
+ const topLevelNodes = state.doc.content.content;
44830
+ const soleTopLevelNode = topLevelNodes.length === 1 ? topLevelNodes[0] : null;
44831
+ const allSelectionList = isAllSelection && soleTopLevelNode && isList(soleTopLevelNode.type.name, extensions) ? {
44832
+ node: soleTopLevelNode,
44833
+ pos: 0} : null;
44834
+ const currentList = parentList != null ? parentList : allSelectionList;
44835
+ const isInsideExistingList = !!parentList && range.depth >= 1 && range.depth - parentList.depth <= 1;
44836
+ const hasWholeDocSelectedList = !!allSelectionList;
44837
+ if ((isInsideExistingList || hasWholeDocSelectedList) && currentList) {
44838
+ if (currentList.node.type === listType) {
44839
+ if (isAllSelection && hasWholeDocSelectedList) {
44840
+ return chain().command(({ tr: trx, dispatch: disp }) => {
44841
+ const nextSelection = createInnerSelectionForWholeDocList(trx);
44842
+ if (!nextSelection) {
44843
+ return false;
44844
+ }
44845
+ trx.setSelection(nextSelection);
44846
+ if (disp) {
44847
+ disp(trx);
44848
+ }
44849
+ return true;
44850
+ }).liftListItem(itemType).run();
44851
+ }
44803
44852
  return commands.liftListItem(itemType);
44804
44853
  }
44805
- if (isList(parentList.node.type.name, extensions) && listType.validContent(parentList.node.content) && dispatch) {
44854
+ if (isList(currentList.node.type.name, extensions) && listType.validContent(currentList.node.content)) {
44806
44855
  return chain().command(() => {
44807
- tr.setNodeMarkup(parentList.pos, listType);
44856
+ tr.setNodeMarkup(currentList.pos, listType);
44808
44857
  return true;
44809
44858
  }).command(() => joinListBackwards(tr, listType)).command(() => joinListForwards(tr, listType)).run();
44810
44859
  }
@@ -47885,7 +47934,10 @@ ${indentedChild}`;
47885
47934
  }
47886
47935
  markEnd = range.from + startSpaces + captureGroup.length;
47887
47936
  tr.addMark(range.from + startSpaces, markEnd, config.type.create(attributes || {}));
47888
- tr.removeStoredMark(config.type);
47937
+ const isMatchAtEndOfText = match.index !== void 0 && match.input !== void 0 && match.index + match[0].length >= match.input.length;
47938
+ if (!isMatchAtEndOfText) {
47939
+ tr.removeStoredMark(config.type);
47940
+ }
47889
47941
  }
47890
47942
  }
47891
47943
  });
@@ -61412,6 +61464,36 @@ ${indentedChild}`;
61412
61464
  // src/ordered-list/utils.ts
61413
61465
  var ORDERED_LIST_ITEM_REGEX = /^(\s*)(\d+)\.\s+(.*)$/;
61414
61466
  var INDENTED_LINE_REGEX = /^\s/;
61467
+ function isBlockContentLine(line) {
61468
+ const trimmedLine = line.trimStart();
61469
+ return /^[-+*]\s+/.test(trimmedLine) || /^\d+\.\s+/.test(trimmedLine) || /^>\s?/.test(trimmedLine) || /^```/.test(trimmedLine) || /^~~~/.test(trimmedLine);
61470
+ }
61471
+ function splitItemContent(contentLines) {
61472
+ const paragraphLines = [];
61473
+ const blockLines = [];
61474
+ let reachedBlockBoundary = false;
61475
+ contentLines.forEach((line) => {
61476
+ if (reachedBlockBoundary) {
61477
+ blockLines.push(line);
61478
+ return;
61479
+ }
61480
+ if (line.trim() === "") {
61481
+ reachedBlockBoundary = true;
61482
+ blockLines.push(line);
61483
+ return;
61484
+ }
61485
+ if (paragraphLines.length > 0 && isBlockContentLine(line)) {
61486
+ reachedBlockBoundary = true;
61487
+ blockLines.push(line);
61488
+ return;
61489
+ }
61490
+ paragraphLines.push(line);
61491
+ });
61492
+ return {
61493
+ paragraphLines,
61494
+ blockLines
61495
+ };
61496
+ }
61415
61497
  function collectOrderedListItems(lines) {
61416
61498
  const listItems = [];
61417
61499
  let currentLineIndex = 0;
@@ -61424,9 +61506,10 @@ ${indentedChild}`;
61424
61506
  }
61425
61507
  const [, indent, number, content] = match;
61426
61508
  const indentLevel = indent.length;
61427
- let itemContent = content;
61509
+ const itemContentLines = [content];
61428
61510
  let nextLineIndex = currentLineIndex + 1;
61429
61511
  const itemLines = [line];
61512
+ let sawBlankLine = false;
61430
61513
  while (nextLineIndex < lines.length) {
61431
61514
  const nextLine = lines[nextLineIndex];
61432
61515
  const nextMatch = nextLine.match(ORDERED_LIST_ITEM_REGEX);
@@ -61435,21 +61518,27 @@ ${indentedChild}`;
61435
61518
  }
61436
61519
  if (nextLine.trim() === "") {
61437
61520
  itemLines.push(nextLine);
61438
- itemContent += "\n";
61521
+ itemContentLines.push("");
61522
+ sawBlankLine = true;
61439
61523
  nextLineIndex += 1;
61440
61524
  } else if (nextLine.match(INDENTED_LINE_REGEX)) {
61441
61525
  itemLines.push(nextLine);
61442
- itemContent += `
61443
- ${nextLine.slice(indentLevel + 2)}`;
61526
+ itemContentLines.push(nextLine.slice(indentLevel + 2));
61444
61527
  nextLineIndex += 1;
61445
61528
  } else {
61446
- break;
61529
+ if (sawBlankLine) {
61530
+ break;
61531
+ }
61532
+ itemLines.push(nextLine);
61533
+ itemContentLines.push(nextLine);
61534
+ nextLineIndex += 1;
61447
61535
  }
61448
61536
  }
61449
61537
  listItems.push({
61450
61538
  indent: indentLevel,
61451
61539
  number: parseInt(number, 10),
61452
- content: itemContent.trim(),
61540
+ content: itemContentLines.join("\n").trim(),
61541
+ contentLines: itemContentLines,
61453
61542
  raw: itemLines.join("\n")
61454
61543
  });
61455
61544
  consumed = nextLineIndex;
@@ -61458,14 +61547,13 @@ ${nextLine.slice(indentLevel + 2)}`;
61458
61547
  return [listItems, consumed];
61459
61548
  }
61460
61549
  function buildNestedStructure(items, baseIndent, lexer) {
61461
- var _a;
61462
61550
  const result = [];
61463
61551
  let currentIndex = 0;
61464
61552
  while (currentIndex < items.length) {
61465
61553
  const item = items[currentIndex];
61466
61554
  if (item.indent === baseIndent) {
61467
- const contentLines = item.content.split("\n");
61468
- const mainText = ((_a = contentLines[0]) == null ? void 0 : _a.trim()) || "";
61555
+ const { paragraphLines, blockLines } = splitItemContent(item.contentLines);
61556
+ const mainText = paragraphLines.join("\n").trim();
61469
61557
  const tokens = [];
61470
61558
  if (mainText) {
61471
61559
  tokens.push({
@@ -61474,7 +61562,7 @@ ${nextLine.slice(indentLevel + 2)}`;
61474
61562
  tokens: lexer.inlineTokens(mainText)
61475
61563
  });
61476
61564
  }
61477
- const additionalContent = contentLines.slice(1).join("\n").trim();
61565
+ const additionalContent = blockLines.join("\n").trim();
61478
61566
  if (additionalContent) {
61479
61567
  const blockTokens = lexer.blockTokens(additionalContent);
61480
61568
  tokens.push(...blockTokens);
@@ -72946,6 +73034,7 @@ focus outline in that case.
72946
73034
  isRtl: false,
72947
73035
  useScrollendEvent: false,
72948
73036
  useAnimationFrameWithResizeObserver: false,
73037
+ laneAssignmentMode: "estimate",
72949
73038
  ...opts2
72950
73039
  };
72951
73040
  };
@@ -73085,9 +73174,10 @@ focus outline in that case.
73085
73174
  this.options.scrollMargin,
73086
73175
  this.options.getItemKey,
73087
73176
  this.options.enabled,
73088
- this.options.lanes
73177
+ this.options.lanes,
73178
+ this.options.laneAssignmentMode
73089
73179
  ],
73090
- (count, paddingStart, scrollMargin, getItemKey, enabled, lanes) => {
73180
+ (count, paddingStart, scrollMargin, getItemKey, enabled, lanes, laneAssignmentMode) => {
73091
73181
  const lanesChanged = this.prevLanes !== void 0 && this.prevLanes !== lanes;
73092
73182
  if (lanesChanged) {
73093
73183
  this.lanesChangedFlag = true;
@@ -73100,7 +73190,8 @@ focus outline in that case.
73100
73190
  scrollMargin,
73101
73191
  getItemKey,
73102
73192
  enabled,
73103
- lanes
73193
+ lanes,
73194
+ laneAssignmentMode
73104
73195
  };
73105
73196
  },
73106
73197
  {
@@ -73109,7 +73200,15 @@ focus outline in that case.
73109
73200
  );
73110
73201
  this.getMeasurements = memo(
73111
73202
  () => [this.getMeasurementOptions(), this.itemSizeCache],
73112
- ({ count, paddingStart, scrollMargin, getItemKey, enabled, lanes }, itemSizeCache) => {
73203
+ ({
73204
+ count,
73205
+ paddingStart,
73206
+ scrollMargin,
73207
+ getItemKey,
73208
+ enabled,
73209
+ lanes,
73210
+ laneAssignmentMode
73211
+ }, itemSizeCache) => {
73113
73212
  if (!enabled) {
73114
73213
  this.measurementsCache = [];
73115
73214
  this.itemSizeCache.clear();
@@ -73157,6 +73256,7 @@ focus outline in that case.
73157
73256
  const cachedLane = this.laneAssignments.get(i);
73158
73257
  let lane;
73159
73258
  let start;
73259
+ const shouldCacheLane = laneAssignmentMode === "estimate" || itemSizeCache.has(key);
73160
73260
  if (cachedLane !== void 0 && this.options.lanes > 1) {
73161
73261
  lane = cachedLane;
73162
73262
  const prevIndex = laneLastIndex[lane];
@@ -73166,7 +73266,7 @@ focus outline in that case.
73166
73266
  const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);
73167
73267
  start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;
73168
73268
  lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;
73169
- if (this.options.lanes > 1) {
73269
+ if (this.options.lanes > 1 && shouldCacheLane) {
73170
73270
  this.laneAssignments.set(i, lane);
73171
73271
  }
73172
73272
  }
@@ -99400,8 +99500,48 @@ focus outline in that case.
99400
99500
  }
99401
99501
  `;
99402
99502
 
99403
- const nigelChatLightData = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48"><defs><linearGradient id="nigelChatGradient" gradientUnits="userSpaceOnUse" x1="24" y1="0.1611" x2="24" y2="48.1611"><stop offset="0" stop-color="#008557"/><stop offset="1" stop-color="#00C07E"/></linearGradient></defs><path fill="url(#nigelChatGradient)" d="M36.654,11.338c-1.63-1.626-3.685-2.512-5.797-2.766c2.107-0.256,4.157-1.153,5.783-2.776C38.273,4.167,39.175,2.112,39.429,0c0.251,2.115,1.139,4.174,2.774,5.805c1.63,1.626,3.685,2.512,5.797,2.766c-2.108,0.256-4.158,1.153-5.784,2.776c-1.632,1.629-2.534,3.684-2.787,5.796C39.177,15.027,38.289,12.969,36.654,11.338z M18,24v-0.5c0-1.003,0.274-1.941,0.746-2.752c0.473-0.901,1.172-1.589,2.081-2.05c0.198-0.111,0.404-0.208,0.616-0.294c0.005-0.002,0.011-0.004,0.016-0.006C22.09,18.144,22.778,18,23.5,18H28V6.5C28,4.575,26.425,3,24.5,3h-21C1.575,3,0,4.575,0,6.5v14C0,22.425,1.575,24,3.5,24h1.75L3.5,31L18,24z M20,23.5v14c0,1.925,1.575,3.5,3.5,3.5h7l14,7l-1.75-7h1.75c1.925,0,3.5-1.575,3.5-3.5V23c0-1.925-1.575-3-3.5-3h-21C21.575,20,20,21.575,20,23.5z"/></svg>';
99404
- const nigelChatDarkData = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48"><defs><linearGradient id="nigelChatGradientDark" gradientUnits="userSpaceOnUse" x1="24" y1="47.8389" x2="24" y2="-0.1611"><stop offset="0" stop-color="#008557"/><stop offset="1" stop-color="#00C07E"/></linearGradient></defs><path fill="url(#nigelChatGradientDark)" d="M36.654,11.338c-1.63-1.626-3.685-2.512-5.797-2.766c2.107-0.256,4.157-1.153,5.783-2.776C38.273,4.167,39.175,2.112,39.429,0c0.251,2.115,1.139,4.174,2.774,5.805c1.63,1.626,3.685,2.512,5.797,2.766c-2.108,0.256-4.158,1.153-5.784,2.776c-1.632,1.629-2.534,3.684-2.787,5.796C39.177,15.027,38.289,12.969,36.654,11.338z M18,24v-0.5c0-1.003,0.274-1.941,0.746-2.752c0.473-0.901,1.172-1.589,2.081-2.05c0.198-0.111,0.404-0.208,0.616-0.294c0.005-0.002,0.011-0.004,0.016-0.006C22.09,18.144,22.778,18,23.5,18H28V6.5C28,4.575,26.425,3,24.5,3h-21C1.575,3,0,4.575,0,6.5v14C0,22.425,1.575,24,3.5,24h1.75L3.5,31L18,24z M20,23.5v14c0,1.925,1.575,3.5,3.5,3.5h7l14,7l-1.75-7h1.75c1.925,0,3.5-1.575,3.5-3.5V23c0-1.925-1.575-3-3.5-3h-21C21.575,20,20,21.575,20,23.5z"/></svg>';
99503
+ const nigelChatLightData = `<?xml version="1.0" encoding="UTF-8"?>
99504
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 16 16">
99505
+ <defs>
99506
+ <style>
99507
+ .nigel-chat-light-0 {
99508
+ fill: url(#nigel-chat-gradient-light-0);
99509
+ }
99510
+
99511
+ .nigel-chat-light-1 {
99512
+ fill: url(#nigel-chat-gradient-light-1);
99513
+ }
99514
+ </style>
99515
+ <linearGradient id="nigel-chat-gradient-light-1" x1="11.84" y1="6.19" x2="4.84" y2="13.18" gradientTransform="translate(0 18) scale(1 -1)" gradientUnits="userSpaceOnUse">
99516
+ <stop offset="0" stop-color="#023325"/>
99517
+ <stop offset="1" stop-color="#004f38"/>
99518
+ </linearGradient>
99519
+ <linearGradient id="nigel-chat-gradient-light-0" x1="10.25" y1="-146.82" x2="6.95" y2="-150.11" gradientTransform="translate(0 156)" xlink:href="#nigel-chat-gradient-light-1"/>
99520
+ </defs>
99521
+ <path class="nigel-chat-light-1" d="M14.21,7.52l-.11-.06c-2.36-1.29-4.3-3.23-5.59-5.59l-.06-.11c-.19-.36-.7-.36-.9,0l-.06.11c-1.29,2.36-3.23,4.3-5.59,5.59l-.11.06c-.36.19-.36.7,0,.9l.11.06c2.36,1.29,4.3,3.23,5.59,5.59l.06.11c.19.36.7.36.9,0l.06-.11c1.29-2.36,3.23-4.3,5.59-5.59l.11-.06c.36-.19.36-.7,0-.9ZM12.5,7.88l-.08.04c-1.58.87-2.89,2.17-3.75,3.75l-.04.08c-.13.24-.47.24-.6,0l-.04-.08c-.87-1.58-2.17-2.89-3.75-3.75l-.08-.04c-.24-.13-.24-.47,0-.6l.08-.04c1.58-.87,2.89-2.17,3.75-3.75l.04-.08c.13-.24.47-.24.6,0l.04.08c.87,1.58,2.17,2.89,3.75,3.75l.08.04c.24.13.24.47,0,.6Z"/>
99522
+ <path class="nigel-chat-light-0" d="M11.36,7.6l-.03.02c-1.12.61-2.04,1.53-2.65,2.65l-.02.03c-.1.18-.35.18-.45,0l-.02-.03c-.61-1.12-1.53-2.04-2.65-2.65l-.03-.02c-.18-.1-.18-.35,0-.45l.03-.02c1.12-.61,2.04-1.53,2.65-2.65l.02-.03c.1-.18.35-.18.45,0l.02.03c.61,1.12,1.53,2.04,2.65,2.65l.03.02c.18.1.18.35,0,.45Z"/>
99523
+ </svg>`;
99524
+ const nigelChatDarkData = `<?xml version="1.0" encoding="UTF-8"?>
99525
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 16 16">
99526
+ <defs>
99527
+ <style>
99528
+ .nigel-chat-dark-0 {
99529
+ fill: url(#nigel-chat-gradient-dark-0);
99530
+ }
99531
+
99532
+ .nigel-chat-dark-1 {
99533
+ fill: url(#nigel-chat-gradient-dark-1);
99534
+ }
99535
+ </style>
99536
+ <linearGradient id="nigel-chat-gradient-dark-1" x1="11.84" y1="6.19" x2="4.84" y2="13.18" gradientTransform="translate(0 18) scale(1 -1)" gradientUnits="userSpaceOnUse">
99537
+ <stop offset="0" stop-color="#00ad7c"/>
99538
+ <stop offset="1" stop-color="#32eb96"/>
99539
+ </linearGradient>
99540
+ <linearGradient id="nigel-chat-gradient-dark-0" x1="10.25" y1="-658.82" x2="6.95" y2="-662.11" gradientTransform="translate(0 668)" xlink:href="#nigel-chat-gradient-dark-1"/>
99541
+ </defs>
99542
+ <path class="nigel-chat-dark-1" d="M14.21,7.52l-.11-.06c-2.36-1.29-4.3-3.23-5.59-5.59l-.06-.11c-.19-.36-.7-.36-.9,0l-.06.11c-1.29,2.36-3.23,4.3-5.59,5.59l-.11.06c-.36.19-.36.7,0,.9l.11.06c2.36,1.29,4.3,3.23,5.59,5.59l.06.11c.19.36.7.36.9,0l.06-.11c1.29-2.36,3.23-4.3,5.59-5.59l.11-.06c.36-.19.36-.7,0-.9ZM12.5,7.88l-.08.04c-1.58.87-2.89,2.17-3.75,3.75l-.04.08c-.13.24-.47.24-.6,0l-.04-.08c-.87-1.58-2.17-2.89-3.75-3.75l-.08-.04c-.24-.13-.24-.47,0-.6l.08-.04c1.58-.87,2.89-2.17,3.75-3.75l.04-.08c.13-.24.47-.24.6,0l.04.08c.87,1.58,2.17,2.89,3.75,3.75l.08.04c.24.13.24.47,0,.6Z"/>
99543
+ <path class="nigel-chat-dark-0" d="M11.36,7.6l-.03.02c-1.12.61-2.04,1.53-2.65,2.65l-.02.03c-.1.18-.35.18-.45,0l-.02-.03c-.61-1.12-1.53-2.04-2.65-2.65l-.03-.02c-.18-.1-.18-.35,0-.45l.03-.02c1.12-.61,2.04-1.53,2.65-2.65l.02-.03c.1-.18.35-.18.45,0l.02.03c.61,1.12,1.53,2.04,2.65,2.65l.03.02c.18.1.18.35,0,.45Z"/>
99544
+ </svg>`;
99405
99545
 
99406
99546
  const template$6 = html `
99407
99547
  <div class="icon light-icon" aria-hidden="true" :innerHTML="${() => nigelChatLightData}"></div>