@sentry/junior-dashboard 0.238.1 → 0.240.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/junior-dashboard",
3
- "version": "0.238.1",
3
+ "version": "0.240.0",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -34,8 +34,8 @@
34
34
  "react-router": "^7.18.2",
35
35
  "shiki": "4.1.0",
36
36
  "zod": "^4.5.4",
37
- "@sentry/junior-plugin-api": "0.238.1",
38
- "@sentry/junior": "0.238.1"
37
+ "@sentry/junior": "0.240.0",
38
+ "@sentry/junior-plugin-api": "0.240.0"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@oxlint/plugins": "1.79.0",
@@ -618,6 +618,7 @@ export function DashboardShell() {
618
618
  <span
619
619
  aria-hidden="true"
620
620
  className="pointer-events-none fixed inset-0 z-50 block opacity-[0.018]"
621
+ data-dashboard-noise=""
621
622
  style={dashboardNoise}
622
623
  />
623
624
  </VisualViewportShell>
@@ -113,15 +113,20 @@ export function SegmentedNav(props: {
113
113
  : { end, start },
114
114
  );
115
115
  };
116
- // A row hidden at this breakpoint has no width. Reveal the current link
117
- // when it gets one.
116
+ // Recompute the scroll position from the start on every size change so it
117
+ // depends only on the current layout. A row hidden at this breakpoint has
118
+ // no width until it is shown.
118
119
  const observer = new ResizeObserver(() => {
120
+ row.scrollLeft = 0;
119
121
  revealCurrentLink(row);
120
122
  updateEdges();
121
123
  });
122
124
  updateEdges();
123
125
  row.addEventListener("scroll", updateEdges, { passive: true });
124
126
  observer.observe(row);
127
+ // Links can change width, for example when a web font loads, without
128
+ // resizing the row.
129
+ for (const link of row.children) observer.observe(link);
125
130
  return () => {
126
131
  row.removeEventListener("scroll", updateEdges);
127
132
  observer.disconnect();
@@ -177,9 +177,22 @@ export function ChartAxisHtmlLabel(props: {
177
177
  );
178
178
  }
179
179
 
180
+ type ChartBox = { height: number; width: number };
181
+
182
+ /**
183
+ * Screen pixels per SVG user unit. The default `preserveAspectRatio` fits the
184
+ * whole viewBox inside the element box, so the smaller ratio wins.
185
+ */
186
+ function chartSvgScale(box: ChartBox | undefined, layout: ActivityChartLayout) {
187
+ if (!box || box.width <= 0 || box.height <= 0) return 1;
188
+ return Math.min(box.width / layout.width, box.height / layout.height);
189
+ }
190
+
180
191
  /**
181
192
  * Render the shared SVG chart shell and provide its live screen scale to labels.
182
193
  * SVG text uses user units, so labels invert this scale to remain 12px on screen.
194
+ * The scale comes from the current element size and viewBox, so a measurement
195
+ * from an earlier layout is never reused.
183
196
  */
184
197
  export function ChartSvg(props: {
185
198
  "aria-label": string;
@@ -188,22 +201,28 @@ export function ChartSvg(props: {
188
201
  layout: ActivityChartLayout;
189
202
  }) {
190
203
  const svgRef = useRef<SVGSVGElement>(null);
191
- const [scale, setScale] = useState(1);
204
+ const [box, setBox] = useState<ChartBox>();
192
205
 
193
206
  useLayoutEffect(() => {
194
207
  const svg = svgRef.current;
195
208
  if (!svg) return;
196
- const updateScale = () => {
197
- const matrix = svg.getScreenCTM();
198
- const nextScale = matrix ? Math.hypot(matrix.a, matrix.b) : 1;
199
- setScale(nextScale > 0 ? nextScale : 1);
200
- };
201
- updateScale();
202
- const observer = new ResizeObserver(updateScale);
209
+ const updateBox = (next: ChartBox) =>
210
+ setBox((previous) =>
211
+ previous?.width === next.width && previous.height === next.height
212
+ ? previous
213
+ : next,
214
+ );
215
+ // Measure before the first paint; the observer reports later changes.
216
+ updateBox({ height: svg.clientHeight, width: svg.clientWidth });
217
+ const observer = new ResizeObserver(([entry]) => {
218
+ if (entry) updateBox(entry.contentRect);
219
+ });
203
220
  observer.observe(svg);
204
221
  return () => observer.disconnect();
205
222
  }, []);
206
223
 
224
+ const scale = chartSvgScale(box, props.layout);
225
+
207
226
  return (
208
227
  <ChartSvgScaleContext value={scale}>
209
228
  <svg
@@ -57,6 +57,20 @@ const objects: OwnedObjectAnnotation[] = [
57
57
  revision: "a1b2c3d",
58
58
  },
59
59
  },
60
+ {
61
+ kind: "object",
62
+ objectType: "calendar_event",
63
+ plugin: "google",
64
+ key: "event-1",
65
+ label: "Oct 12",
66
+ title: "Parser sync",
67
+ url: "https://calendar.google.com/calendar/event?eid=1",
68
+ facts: {
69
+ type: "calendar_event",
70
+ when: "Mon, Oct 12, 10:00 – 10:30 PDT",
71
+ attendees: ["Sam Lee", "alex@example.com"],
72
+ },
73
+ },
60
74
  {
61
75
  kind: "object",
62
76
  objectType: "item",
@@ -19,6 +19,8 @@ export const objectIconImages: Record<string, string> = {
19
19
  "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAADJklEQVR4nOyaX0hTURzHz03T3fmYL87twc0ppFK4P5r2v0k9REUP1mOYIoaBpvQQqExrZVKWlmYFBUHPgtFLRf8sSzcnc5pz/knEjbYxE9KtFncdWdx68Orxqucong/n4Qv3e+B8d3/cc/a7N3ou+AtsZLaADQ4NQBoagDQ0AGloANLQAKSJRvTNzs01NNzs6u52u9xCHpaVqNXJpedKsrP0ABcM4mHuxMn8sfFxgMb1a6Yjh/MAFpBKqPXeffTVQ0xX63/MzgIsIJXQ6zdveZ2eniaJjV3QBkP6/dNQfJ+ZsVr79uzOBWsPUoAhx3BEpKVtf/rksZDtXWdn6fnyiHY4htdRAB5WIkG8GgqFABboPkAaGoA0NABpNsdhLk4qhYc5KL55vD1ms5Ctr8/2b0pcHMACUgBVsspm64dicnLybFEJyhR1SjLAAlIJFRacAcshIyNdr9UCLCAF2L9vb62xGqCh02iaGm9ERUUBLDDozd0pl8ts7nW53SAcbu94xv+zKSkuigiWZdUp6txd2QAjjLjudEFhsdnSG9E2aw8gB90HSLNpuhKrxfvOD6OjY4FAYOHLDCNLSNBqMxNlMoAGvgBen6+84mJkQ1ySOmPN8WNHUZz4Sqiq2oi4ekiNsc45MorixBRgYGDwY9cndD/HcS2tbShOTCU0+GWI16dP5ecZDixoCwZ/whvln57vzfTbBwACIgPEbI1Zlt/n8/Earl4nfFJSKpP8lvkAHo8HICCyhFQqJa///3XxIzJAamoKrxtvNVksVkAIkSVkMBy83XzH650vjM/dPXAAQoi8A1KWNV2uBesA8Y/RLL3u0cM2uTwREGVFj1GNJvN5R/uLl69s/fZhhzP0W7AfOuV2L/JmZCWswj6QZzgEx+Ie+Iahte0BWANwnYUYhpccF17EyIU5sBwwBVAkynl9xVQfH79NyGm3D/6dolAABDAF2LEzg9dfJybgWHKKXofU18B0mFPI5dVVl9D9yqSkyooyFCeD85MzuN81321xOkcCgaCQR5Ygy8nJrrxQJpWyAAGGfjNHGBqANDQAaWgA0tAApKEBSPMHAAD//+ScimAAAAAGSURBVAMAdeUDtzuCXGcAAAAASUVORK5CYII=",
20
20
  rocket:
21
21
  "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",
22
+ calendar:
23
+ "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAACFUlEQVR4nOyazSt0URzHf/NkMZNn8jweq3nGggwreclbGXbykvIHKClZ0FAUCzGhCFsR8h94KTSDrYbyMlESY4w7NqyMlylkJpyiiw3nzJzbj/w+q9/i+7v3fm733HNP58bc3N3Dd+YXfHNIABsSwIYEsCEBbEgAGwkCDudSWUVVdU3t/oGHJ89iLMxanIvLEDUSBMYnJk/PTnd396ZnZnnyU9OzLMxaWCNETQxEjf/k5LlQFD9X3v8SU/xc+Y+hMYCNTnRB41pdGx2b8Pl8t7d3IA+DQW+xpNgaGwry84QaxQTmFxyd9m7QkqGB/rLSEv68gMD1dbC8sioYDIKW/ImLczrmfsfGcuYF3kJut1u9+vj4v8lJSSCPY0UJBC5YcXl1tb29U2Qt5GwUEDjyHat1b4+92GoFeay4XLamlufa4znURCAcDqu1Qa8Hqbw9YCgU4u6jeQAdEsAmwo+5uvoG+BrQI4RNhI9QWqrFaDSCPNgc7zn0gjgRCrS3tebm5IA8Nre2IhtXNAawIQFsSAAbEsCGBLAhAWxIAJsftaDR6dTy4eERpPLugG9O9CkCAon/zWrd1z+YkPAP5HF+Hng9kdnM3yggkJGZrtZsW0ndWZJOdlYGf1hgDLAbY+/qAI3p6e4ymUz8eeEdmvWNzeGRUa/3SIMdGkuzrTEvV2ypraN/5pAhAWxIABsSwIYEsCEBbJ4AAAD//2bVbpcAAAAGSURBVAMA6RynsswAx0YAAAAASUVORK5CYII=",
22
24
  package:
23
25
  "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAFD0lEQVR4nOyZf1BUVRTHLwsLocwQICMw0oxQmRNLhZR/VMbPJYQAwbJA8gcY8SMIgYFAZAhBUGhh+WH8SoSopkKB0FpAErIpDVHoDxNlnQkHEJYlZ0BAdpfOSLNzebvQe7tvfbPj+8z+ce/3nXP3nnnvvnvueUb35x4gfYaD9Bw2AKZhA2AaNgCmYQNgGjYApjFCOkMk6rjQ0wMND3c3by9PpBsMdJHM9V7py80rGBKLlYqjg0NGeqrrFhdENzQHMHznTpFA2NX1s9qrHh7uSYnx9hs2IPqgLYDpmZmq6trGr75eWJCtYsblGu0OCz0Qud9s7VpEB/QE8O13TRUnKqVTU7i4bp1VXGwMNMrKKySSSfySpYVFTHTUO2+HIK3RNgDVxx0w5nLDw8M+iIwwNX0CurOzc1U1tQ0NjQ8WFnAzWhaG5gGs9Li7ub2RlnLQzs5O1f54oeBCdw9B13JhaBLASo/7U/b2mRlpW7e+sorvpUuXc3Lz/x4exkVtFgblAH4SdeQdLfjn3j1cNDMzi46KDN8dRnKQk3X11bUnp6encfFJc/ND6al8vjeiArUATtV/WSQoIYg7Q4LjYj+EdYmoIJVOlQjLzrS0EvTUlKSw0HcRaSgEMCmVunv64ArP6fnDh9I3bXoWacqNG4OHs3OuX/9LqXA4nO6udnNzc5IjUMiFunsuEhQDDkcmlyMtAHcul4srCoXit98vI9JQyIXGx8cJysDAn++Fvb/d1ycx/qP1NusRFe6O3RUIS8/9KFK9NLx8ia8OhTuwqFCo1WES/kEhsJHB+x6RAMzKKyrBRe3sAZlMhkijYToNmyi+aufn5z+vqvEL2NHS2ra6IxiAWWV1DbgoRRhK411ZwwDe5Hufa2uJ2LfHGHuCJRJJZlb2rtDwq9f6VV1A3LkrFAzATCmCOwwCQ/nwvZBGaBjAIlpcs8Y0IT6utfl7vveyXB9eKXv2RSalpI2MjCwp0IAuiIODN3FLcAR3GASGQpqi7YEGUobCY/l9fdcKCovwt2FH53n4RezfK5fL6041ELw2b34uNTnJxeVFpDX0nMhgKt801rf+cFZYVjExMaHUa7+oI1haW1vHx8UEvOVnYGCA6IC2MzFMKDDAv63ldNSBSBMTE1UDEOESGIAZXbNHtB/qIX+OjYlqa26CzQHXoQsiXFpKsGlEJ1UJ2NTy847Y2tkudaEBXao7HUnYuhDTsAEwzeNUWjQ2Nla2Z+dIJZ7kmbk/q/aP/hcKd4DHc1K2i4tL+/sHEE3AUEJhmbLr7OxE3pfCHXjBmWdoaCh/eAS7NSQO3xvB53slf5xgY2uDNGVsdKywuKS9vVOpwF8483jkR6BwByAXyM7KxBX4Y//AYEFJKRRaEEXABRzBHZ89pBhHPs1Sm4msBLVFDElY0fF8/CgDxTaokfj6BUB1kfw4YAwu4IjX6mDY4qJjftt9ERXoLGw5Omw8mJjw+muvLnV9/AJGR0bRw1RCdPa/8skvF3/9TFAyJL6NOz7SwpaSlUqLW1xeysz4xMFhIyEAsfh2Tu7RK31XCfYMlBZx/ujtzS8ovHlriKCH7AiCzzOTk1JoW1lZum3b1nSmmWDzzNOOaanJL7u6Ii2gobwOlZzTzS1l5Seg2EbSxdLSIi42OjgoEMpYSDvYDxzL0eNPTDh6/JEPp/N8FxQmYGf19HCHH9INOgzg0cCeB5iGDYBp2ACYhg2AadgAmEbvA/gXAAD//0bc6bYAAAAGSURBVAMAXf1G1BWEotwAAAAASUVORK5CYII=",
24
26
  };
@@ -1 +0,0 @@
1
- import{a as s}from"./chunk-2JCGS2R5.js";import{a as i}from"./chunk-H5RFWU3B.js";import{a as n}from"./chunk-7UGJD7LY.js";import{a}from"./chunk-TMGLBCIL.js";import{a as t}from"./chunk-KRCOHE3O.js";import{a as e}from"./chunk-33IMBO4B.js";import"./chunk-7SZRL6FY.js";var l=Object.freeze(JSON.parse('{"fileTypes":[],"injectTo":["text.html.markdown"],"injectionSelector":"L:text.html.markdown","name":"markdown-vue","patterns":[{"include":"#vue-code-block"}],"repository":{"vue-code-block":{"begin":"(^|\\\\G)(\\\\s*)(`{3,}|~{3,})\\\\s*(?i:(vue)((\\\\s+|[,:?{])[^`~]*)?$)","beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown","patterns":[]}},"end":"(^|\\\\G)(\\\\2|\\\\s{0,3})(\\\\3)\\\\s*$","endCaptures":{"3":{"name":"punctuation.definition.markdown"}},"name":"markup.fenced_code.block.markdown","patterns":[{"include":"text.html.vue"}]}},"scopeName":"markdown.vue.codeblock"}')),u=[l];var o=Object.freeze(JSON.parse('{"fileTypes":[],"injectTo":["source.vue","text.html.markdown","text.html.derivative","text.pug"],"injectionSelector":"L:meta.tag -meta.attribute -meta.ng-binding -entity.name.tag.pug -attribute_value -source.tsx -source.js.jsx, L:meta.element -meta.attribute","name":"vue-directives","patterns":[{"include":"text.html.vue#vue-directives"}],"scopeName":"vue.directives"}')),m=[o];var d=Object.freeze(JSON.parse('{"fileTypes":[],"injectTo":["source.vue","text.html.markdown","text.html.derivative","text.pug"],"injectionSelector":"L:text.pug -comment -string.comment, L:text.html.derivative -comment.block, L:text.html.markdown -comment.block","name":"vue-interpolations","patterns":[{"include":"text.html.vue#vue-interpolations"}],"scopeName":"vue.interpolations"}')),r=[d];var p=Object.freeze(JSON.parse(`{"fileTypes":[],"injectTo":["source.vue"],"injectionSelector":"L:source.css -comment, L:source.postcss -comment, L:source.sass -comment, L:source.stylus -comment","name":"vue-sfc-style-variable-injection","patterns":[{"include":"#vue-sfc-style-variable-injection"}],"repository":{"vue-sfc-style-variable-injection":{"begin":"\\\\b(v-bind)\\\\s*\\\\(","beginCaptures":{"1":{"name":"entity.name.function"}},"end":"\\\\)","name":"vue.sfc.style.variable.injection.v-bind","patterns":[{"begin":"([\\"'])","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"source.ts.embedded.html.vue","patterns":[{"include":"source.js"}]},{"include":"source.js"}]}},"scopeName":"vue.sfc.style.variable.injection","embeddedLangs":["javascript"]}`)),c=[...e,p];var g=Object.freeze(JSON.parse(`{"displayName":"Vue","name":"vue","patterns":[{"include":"#vue-comments"},{"include":"#self-closing-tag"},{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"patterns":[{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)md\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"text.html.markdown","patterns":[{"include":"text.html.markdown"}]}]},{"begin":"(?!template(?![-0-:A-Za-z]))([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)html\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"contentName":"text.html.derivative","end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"include":"#html-stuff"}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)pug\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"text.pug","patterns":[{"include":"text.pug"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)stylus\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.stylus","patterns":[{"include":"source.stylus"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)postcss\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.postcss","patterns":[{"include":"source.postcss"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)sass\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.sass","patterns":[{"include":"source.sass"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)css\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.css","patterns":[{"include":"source.css"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)scss\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.css.scss","patterns":[{"include":"source.css.scss"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)less\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.css.less","patterns":[{"include":"source.css.less"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)js\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.js","patterns":[{"include":"source.js"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)ts\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\\\n]*</script[>\\\\s])","end":"(?=</script[>\\\\s])","name":"source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)","name":"source.ts","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*</script[>\\\\s])"}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)jsx\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.js.jsx","patterns":[{"include":"source.js.jsx"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)tsx\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\\\n]*</script[>\\\\s])","end":"(?=</script[>\\\\s])","name":"source.tsx","patterns":[{"include":"source.tsx"}]},{"begin":"(?<=>)","name":"source.tsx","patterns":[{"include":"source.tsx"}],"while":"^(?!\\\\s*</script[>\\\\s])"}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)coffee\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.coffee","patterns":[{"include":"source.coffee"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)json\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.json","patterns":[{"include":"source.json"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)jsonc\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.json.comments","patterns":[{"include":"source.json.comments"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)json5\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.json5","patterns":[{"include":"source.json5"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)yaml\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.yaml","patterns":[{"include":"source.yaml"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)toml\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.toml","patterns":[{"include":"source.toml"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)(g(?:ql|raphql))\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"source.graphql","patterns":[{"include":"source.graphql"}]}]},{"begin":"([-0-:A-Za-z]+)\\\\b(?=[^>]*\\\\blang\\\\s*=\\\\s*([\\"']?)vue\\\\b\\\\2)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"text.html.vue","patterns":[{"include":"text.html.vue"}]}]},{"begin":"(template)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</template[>\\\\s])","name":"text.html.derivative","patterns":[{"include":"#html-stuff"}]}]},{"begin":"(script)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#multi-line-script-tag-stuff"}]},{"begin":"(style)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#multi-line-style-tag-stuff"}]},{"begin":"([-0-:A-Za-z]+)","beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"end":"(</)(\\\\1)\\\\s*(?=>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</)","name":"text"}]}]}],"repository":{"html-stuff":{"patterns":[{"include":"#template-tag"},{"include":"text.html.derivative"},{"include":"text.html.basic"}]},"multi-line-script-tag-stuff":{"begin":"\\\\G","end":"(?=</script[>\\\\s])","patterns":[{"begin":"\\\\G(?!\\\\blang\\\\s*=\\\\s*[\\"']?(?:tsx??|jsx|coffee)\\\\b)","end":"(?=\\\\blang\\\\s*=\\\\s*[\\"']?(?:tsx??|jsx|coffee)\\\\b)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"']?ts\\\\b)","end":"(?=</script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\\\n]*</script[>\\\\s])","end":"(?=</script[>\\\\s])","name":"source.ts","patterns":[{"include":"source.ts"}]},{"begin":"(?<=>)","name":"source.ts","patterns":[{"include":"source.ts"}],"while":"^(?!\\\\s*</script[>\\\\s])"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"']?tsx\\\\b)","end":"(?=</script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)(?=[^\\\\n]*</script[>\\\\s])","end":"(?=</script[>\\\\s])","name":"source.tsx","patterns":[{"include":"source.tsx"}]},{"begin":"(?<=>)","name":"source.tsx","patterns":[{"include":"source.tsx"}],"while":"^(?!\\\\s*</script[>\\\\s])"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"']?jsx\\\\b)","end":"(?=</script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</script[>\\\\s])","name":"source.js.jsx","patterns":[{"include":"source.js.jsx"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"']?coffee\\\\b)","end":"(?=</script[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</script[>\\\\s])","name":"source.coffee","patterns":[{"include":"source.coffee"}]}]},{"begin":"(?<=>)","end":"(?=</script[>\\\\s])","name":"source.js","patterns":[{"include":"source.js"}]}]},"multi-line-style-tag-stuff":{"begin":"\\\\G","end":"(?=</style[>\\\\s])","patterns":[{"begin":"\\\\G(?!\\\\blang\\\\s*=\\\\s*[\\"']?(?:scss|stylus|less|postcss)\\\\b)","end":"(?=\\\\blang\\\\s*=\\\\s*[\\"']?(?:scss|stylus|less|postcss)\\\\b)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"']?scss\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css.scss","patterns":[{"include":"source.css.scss"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"']?stylus\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.stylus","patterns":[{"include":"source.stylus"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"']?less\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css.less","patterns":[{"include":"source.css.less"}]}]},{"begin":"(?=\\\\blang\\\\s*=\\\\s*[\\"']?postcss\\\\b)","end":"(?=</style[>\\\\s])","patterns":[{"include":"#tag-stuff"},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.postcss","patterns":[{"include":"source.postcss"}]}]},{"begin":"(?<=>)","end":"(?=</style[>\\\\s])","name":"source.css","patterns":[{"include":"source.css"}]}]},"self-closing-tag":{"begin":"(<)([-0-:A-Za-z]+)(?=([^>]+/>))","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"end":"(/>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"self-closing-tag","patterns":[{"include":"#tag-stuff"}]},"tag-stuff":{"begin":"\\\\G","end":"(?=/>)|(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.tag-stuff","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}]},"template-tag":{"patterns":[{"include":"#template-tag-1"},{"include":"#template-tag-2"}]},"template-tag-1":{"begin":"(<)(template)\\\\b(>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"},"3":{"name":"punctuation.definition.tag.end.html.vue"}},"end":"(/?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.template-tag.start","patterns":[{"begin":"\\\\G","end":"(?=/>)|((</)(template)(?=[>\\\\s]))","endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}},"name":"meta.template-tag.end","patterns":[{"include":"#html-stuff"}]}]},"template-tag-2":{"begin":"(<)(template)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"end":"(/?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}},"name":"meta.template-tag.start","patterns":[{"begin":"\\\\G","end":"(?=/>)|((</)(template)(?=[>\\\\s]))","endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}},"name":"meta.template-tag.end","patterns":[{"include":"#tag-stuff"},{"include":"#html-stuff"}]}]},"vue-comments":{"patterns":[{"include":"#vue-comments-key-value"},{"begin":"<!--","captures":{"0":{"name":"punctuation.definition.comment.vue"}},"end":"-->","name":"comment.block.vue"}]},"vue-comments-key-value":{"begin":"(<!--)\\\\s*(@)([$\\\\w]+)(?=\\\\s)","beginCaptures":{"1":{"name":"punctuation.definition.comment.vue"},"2":{"name":"punctuation.definition.block.tag.comment.vue"},"3":{"name":"storage.type.class.comment.vue"}},"end":"(-->)","endCaptures":{"1":{"name":"punctuation.definition.comment.vue"}},"name":"comment.block.vue","patterns":[{"include":"source.json#value"}]},"vue-directives":{"patterns":[{"include":"#vue-directives-control"},{"include":"#vue-directives-generic-attr"},{"include":"#vue-directives-style-attr"},{"include":"#vue-directives-original"}]},"vue-directives-control":{"begin":"(?:(v-for)|(v-(?:if|else-if|else)))(?=[)/=>\\\\s])","beginCaptures":{"1":{"name":"keyword.control.loop.vue"},"2":{"name":"keyword.control.conditional.vue"}},"end":"(?=\\\\s*[^=\\\\s])","name":"meta.attribute.directive.control.vue","patterns":[{"include":"#vue-directives-expression"}]},"vue-directives-expression":{"patterns":[{"begin":"(=)\\\\s*([\\"'\`])","beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"punctuation.definition.string.begin.html.vue"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"patterns":[{"begin":"(?<=([\\"'\`]))","end":"(?=\\\\1)","name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]}]},{"begin":"(=)\\\\s*(?=[^\\"'\`])","beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"}},"end":"(?=([>\\\\s]|/>))","patterns":[{"begin":"(?=[^\\"'\`])","end":"(?=([>\\\\s]|/>))","name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]}]}]},"vue-directives-generic-attr":{"begin":"\\\\b(generic)\\\\s*(=)","beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}},"end":"(?<=[\\"'])","name":"meta.attribute.generic.vue","patterns":[{"begin":"([\\"'])","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"name":"meta.type.parameters.vue","patterns":[{"include":"source.ts#comment"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(extends|in|out)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"storage.modifier.ts"},{"include":"source.ts#type"},{"include":"source.ts#punctuation-comma"},{"match":"(=)(?!>)","name":"keyword.operator.assignment.ts"}]}]},"vue-directives-original":{"begin":"(?:(v-[-\\\\w]+)(:)?|([.:])|(@)|(#))(?:(\\\\[)([^]]*)(])|([-\\\\w]+))?","beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"},"3":{"name":"punctuation.attribute-shorthand.bind.html.vue"},"4":{"name":"punctuation.attribute-shorthand.event.html.vue"},"5":{"name":"punctuation.attribute-shorthand.slot.html.vue"},"6":{"name":"punctuation.separator.key-value.html.vue"},"7":{"name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]},"8":{"name":"punctuation.separator.key-value.html.vue"},"9":{"name":"entity.other.attribute-name.html.vue"}},"end":"(?=\\\\s*[^=\\\\s])","name":"meta.attribute.directive.vue","patterns":[{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"entity.other.attribute-name.html.vue"},"match":"(\\\\.)([-\\\\w]*)"},{"include":"#vue-directives-expression"}]},"vue-directives-style-attr":{"begin":"\\\\b(style)\\\\s*(=)","beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}},"end":"(?<=[\\"'])","name":"meta.attribute.style.vue","patterns":[{"begin":"([\\"'])","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}},"name":"source.css.embedded.html.vue","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#escapes"},{"include":"source.css#font-features"},{"match":"(?<![-\\\\w])--[-A-Z_a-z[^\\\\x00-\\\\x7F]](?:[-0-9A-Z_a-z[^\\\\x00-\\\\x7F]]|\\\\\\\\(?:\\\\h{1,6}|.))*","name":"variable.css"},{"begin":"(?<![-A-Za-z])(?=[-A-Za-z])","end":"$|(?![-A-Za-z])","name":"meta.property-name.css","patterns":[{"include":"source.css#property-names"}]},{"begin":"(:)\\\\s*","beginCaptures":{"1":{"name":"punctuation.separator.key-value.css"}},"contentName":"meta.property-value.css","end":"\\\\s*(;)|\\\\s*(?=[\\"'])","endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}},"patterns":[{"include":"source.css#comment-block"},{"include":"source.css#property-values"}]},{"match":";","name":"punctuation.terminator.rule.css"}]}]},"vue-interpolations":{"patterns":[{"begin":"(\\\\{\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.interpolation.begin.html.vue"}},"end":"(}})","endCaptures":{"1":{"name":"punctuation.definition.interpolation.end.html.vue"}},"name":"expression.embedded.vue","patterns":[{"begin":"\\\\G","end":"(?=}})","name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]}]}]}},"scopeName":"text.html.vue","embeddedLangs":["css","javascript","typescript","json","html","html-derivative","markdown-vue","vue-directives","vue-interpolations","vue-sfc-style-variable-injection"],"embeddedLangsLazy":["markdown","pug","stylus","sass","scss","less","jsx","tsx","coffee","jsonc","json5","yaml","toml","graphql"]}`)),b=[...t,...e,...s,...a,...n,...i,...u,...m,...r,...c,g];export{b as default};