chrome-devtools-frontend 1.0.1564339 → 1.0.1565595

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.
Files changed (49) hide show
  1. package/AUTHORS +1 -0
  2. package/front_end/core/sdk/NetworkManager.ts +3 -0
  3. package/front_end/generated/InspectorBackendCommands.ts +9 -0
  4. package/front_end/generated/SupportedCSSProperties.js +46 -0
  5. package/front_end/generated/protocol-mapping.d.ts +18 -0
  6. package/front_end/generated/protocol-proxy-api.d.ts +15 -0
  7. package/front_end/generated/protocol.ts +152 -0
  8. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +2 -2
  9. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +2 -2
  10. package/front_end/models/emulation/EmulatedDevices.ts +28 -0
  11. package/front_end/models/javascript_metadata/NativeFunctions.js +4 -0
  12. package/front_end/models/trace/extras/Initiators.ts +59 -0
  13. package/front_end/models/trace/extras/extras.ts +1 -0
  14. package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +19 -2
  15. package/front_end/models/trace/insights/NetworkDependencyTree.ts +3 -1
  16. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +10 -10
  17. package/front_end/panels/ai_assistance/ai_assistance.ts +1 -1
  18. package/front_end/panels/ai_assistance/components/{UserActionRow.ts → ChatMessage.ts} +10 -10
  19. package/front_end/panels/ai_assistance/components/ChatView.ts +5 -5
  20. package/front_end/panels/common/ExtensionServer.ts +6 -1
  21. package/front_end/panels/console/ConsolePinPane.ts +1 -2
  22. package/front_end/panels/console/ConsoleView.ts +6 -9
  23. package/front_end/panels/elements/CSSValueTraceView.ts +1 -1
  24. package/front_end/panels/elements/ElementsTreeElement.ts +1 -1
  25. package/front_end/panels/elements/LayersWidget.ts +1 -1
  26. package/front_end/panels/elements/components/computedStyleTrace.css +1 -1
  27. package/front_end/panels/emulation/MediaQueryInspector.ts +1 -2
  28. package/front_end/panels/network/RequestResponseView.ts +1 -1
  29. package/front_end/panels/recorder/RecorderController.ts +16 -0
  30. package/front_end/panels/settings/SettingsScreen.ts +7 -0
  31. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +6 -9
  32. package/front_end/panels/timeline/Initiators.ts +7 -5
  33. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +5 -3
  34. package/front_end/third_party/chromium/README.chromium +1 -1
  35. package/front_end/third_party/codemirror.next/rebuild.sh +1 -1
  36. package/front_end/third_party/lit/rebuild.sh +1 -1
  37. package/front_end/ui/components/buttons/button.css +6 -0
  38. package/front_end/ui/components/text_editor/{AiCodeCompletionTeaserPlaceholder.ts → AccessiblePlaceholder.ts} +3 -22
  39. package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +16 -13
  40. package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +11 -10
  41. package/front_end/ui/components/text_editor/TextEditor.ts +3 -0
  42. package/front_end/ui/components/text_editor/text_editor.ts +1 -1
  43. package/front_end/ui/legacy/PopoverHelper.ts +10 -0
  44. package/front_end/ui/legacy/inspectorCommon.css +1 -1
  45. package/front_end/ui/legacy/softContextMenu.css +2 -0
  46. package/front_end/ui/lit/lit.ts +1 -0
  47. package/front_end/ui/visual_logging/KnownContextValues.ts +6 -0
  48. package/package.json +1 -1
  49. /package/front_end/panels/ai_assistance/components/{userActionRow.css → chatMessage.css} +0 -0
@@ -4,7 +4,7 @@
4
4
  /* eslint-disable @devtools/no-imperative-dom-api */
5
5
 
6
6
  import * as CM from '../../../third_party/codemirror.next/codemirror.next.js';
7
- import type * as UI from '../../../ui/legacy/legacy.js';
7
+ import type * as UI from '../../legacy/legacy.js';
8
8
 
9
9
  export function flattenRect(rect: DOMRect, left: boolean): {
10
10
  left: number,
@@ -16,7 +16,6 @@ export function flattenRect(rect: DOMRect, left: boolean): {
16
16
  return {left: x, right: x, top: rect.top, bottom: rect.bottom};
17
17
  }
18
18
 
19
- // TODO(b/462393094): Rename this to be a generic accessible placeholder
20
19
  /**
21
20
  * A CodeMirror WidgetType that displays a UI.Widget.Widget as a placeholder.
22
21
  *
@@ -25,7 +24,7 @@ export function flattenRect(rect: DOMRect, left: boolean): {
25
24
  * it ensures that screen readers can properly announce the content within
26
25
  * the encapsulated widget.
27
26
  */
28
- export class AiCodeCompletionTeaserPlaceholder extends CM.WidgetType {
27
+ export class AccessiblePlaceholder extends CM.WidgetType {
29
28
  constructor(readonly teaser: UI.Widget.Widget) {
30
29
  super();
31
30
  }
@@ -72,25 +71,7 @@ export class AiCodeCompletionTeaserPlaceholder extends CM.WidgetType {
72
71
  this.teaser?.hideWidget();
73
72
  }
74
73
 
75
- override eq(other: AiCodeCompletionTeaserPlaceholder): boolean {
74
+ override eq(other: AccessiblePlaceholder): boolean {
76
75
  return this.teaser === other.teaser;
77
76
  }
78
77
  }
79
-
80
- export function aiCodeCompletionTeaserPlaceholder(teaser: UI.Widget.Widget): CM.Extension {
81
- const plugin = CM.ViewPlugin.fromClass(class {
82
- placeholder: CM.DecorationSet;
83
-
84
- constructor(readonly view: CM.EditorView) {
85
- this.placeholder = CM.Decoration.set(
86
- [CM.Decoration.widget({widget: new AiCodeCompletionTeaserPlaceholder(teaser), side: 1}).range(0)]);
87
- }
88
-
89
- declare update: () => void;
90
-
91
- get decorations(): CM.DecorationSet {
92
- return this.view.state.doc.length ? CM.Decoration.none : this.placeholder;
93
- }
94
- }, {decorations: v => v.decorations});
95
- return plugin;
96
- }
@@ -11,7 +11,7 @@ import * as CodeMirror from '../../../third_party/codemirror.next/codemirror.nex
11
11
  import * as UI from '../../legacy/legacy.js';
12
12
  import * as VisualLogging from '../../visual_logging/visual_logging.js';
13
13
 
14
- import {AiCodeCompletionTeaserPlaceholder} from './AiCodeCompletionTeaserPlaceholder.js';
14
+ import {AccessiblePlaceholder} from './AccessiblePlaceholder.js';
15
15
  import {
16
16
  acceptAiAutoCompleteSuggestion,
17
17
  aiAutoCompleteSuggestion,
@@ -46,10 +46,9 @@ export interface AiCodeCompletionConfig {
46
46
  };
47
47
  onFeatureEnabled: () => void;
48
48
  onFeatureDisabled: () => void;
49
- onSuggestionAccepted: () => void;
49
+ onSuggestionAccepted: (citations: Host.AidaClient.Citation[]) => void;
50
50
  onRequestTriggered: () => void;
51
- // TODO(b/445394511): Move exposing citations to onSuggestionAccepted
52
- onResponseReceived: (citations: Host.AidaClient.Citation[]) => void;
51
+ onResponseReceived: () => void;
53
52
  panel: AiCodeCompletion.AiCodeCompletion.ContextFlavor;
54
53
  }
55
54
 
@@ -67,6 +66,7 @@ export class AiCodeCompletionProvider {
67
66
  #teaser?: PanelCommon.AiCodeCompletionTeaser;
68
67
  #suggestionRenderingTimeout?: number;
69
68
  #editor?: TextEditor;
69
+ #aiCodeCompletionCitations: Host.AidaClient.Citation[] = [];
70
70
  #aiCodeCompletionConfig?: AiCodeCompletionConfig;
71
71
 
72
72
  #boundOnUpdateAiCodeCompletionState = this.#updateAiCodeCompletionState.bind(this);
@@ -198,7 +198,7 @@ export class AiCodeCompletionProvider {
198
198
  if (suggestion?.rpcGlobalId) {
199
199
  this.#aiCodeCompletion?.registerUserAcceptance(suggestion.rpcGlobalId, suggestion.sampleId);
200
200
  }
201
- this.#aiCodeCompletionConfig?.onSuggestionAccepted();
201
+ this.#aiCodeCompletionConfig?.onSuggestionAccepted(this.#aiCodeCompletionCitations);
202
202
  return true;
203
203
  },
204
204
  },
@@ -266,9 +266,11 @@ export class AiCodeCompletionProvider {
266
266
  prefix: string, suffix: string, cursorPositionAtRequest: number,
267
267
  inferenceLanguage?: Host.AidaClient.AidaInferenceLanguage,
268
268
  additionalFiles?: Host.AidaClient.AdditionalFile[]): Promise<void> {
269
+ this.#aiCodeCompletionCitations = [];
270
+
269
271
  if (!this.#aiCodeCompletion) {
270
272
  AiCodeCompletion.debugLog('Ai Code Completion is not initialized');
271
- this.#aiCodeCompletionConfig?.onResponseReceived([]);
273
+ this.#aiCodeCompletionConfig?.onResponseReceived();
272
274
  Host.userMetrics.actionTaken(Host.UserMetrics.Action.AiCodeCompletionError);
273
275
  return;
274
276
  }
@@ -283,20 +285,20 @@ export class AiCodeCompletionProvider {
283
285
  prefix, suffix, cursorPositionAtRequest, inferenceLanguage, additionalFiles);
284
286
 
285
287
  if (!completionResponse) {
286
- this.#aiCodeCompletionConfig?.onResponseReceived([]);
288
+ this.#aiCodeCompletionConfig?.onResponseReceived();
287
289
  return;
288
290
  }
289
291
 
290
292
  const {response, fromCache} = completionResponse;
291
293
 
292
294
  if (!response) {
293
- this.#aiCodeCompletionConfig?.onResponseReceived([]);
295
+ this.#aiCodeCompletionConfig?.onResponseReceived();
294
296
  return;
295
297
  }
296
298
 
297
299
  const sampleResponse = await this.#generateSampleForRequest(response, prefix, suffix);
298
300
  if (!sampleResponse) {
299
- this.#aiCodeCompletionConfig?.onResponseReceived([]);
301
+ this.#aiCodeCompletionConfig?.onResponseReceived();
300
302
  return;
301
303
  }
302
304
 
@@ -310,7 +312,7 @@ export class AiCodeCompletionProvider {
310
312
  this.#suggestionRenderingTimeout = window.setTimeout(() => {
311
313
  const currentCursorPosition = this.#editor?.editor.state.selection.main.head;
312
314
  if (currentCursorPosition !== cursorPositionAtRequest) {
313
- this.#aiCodeCompletionConfig?.onResponseReceived([]);
315
+ this.#aiCodeCompletionConfig?.onResponseReceived();
314
316
  return;
315
317
  }
316
318
  if (this.#aiCodeCompletion) {
@@ -332,11 +334,12 @@ export class AiCodeCompletionProvider {
332
334
 
333
335
  AiCodeCompletion.debugLog(
334
336
  'Suggestion dispatched to the editor', suggestionText, 'at cursor position', cursorPositionAtRequest);
335
- this.#aiCodeCompletionConfig?.onResponseReceived(citations);
337
+ this.#aiCodeCompletionCitations = citations;
338
+ this.#aiCodeCompletionConfig?.onResponseReceived();
336
339
  }, remainingDelay);
337
340
  } catch (e) {
338
341
  AiCodeCompletion.debugLog('Error while fetching code completion suggestions from AIDA', e);
339
- this.#aiCodeCompletionConfig?.onResponseReceived([]);
342
+ this.#aiCodeCompletionConfig?.onResponseReceived();
340
343
  Host.userMetrics.actionTaken(Host.UserMetrics.Action.AiCodeCompletionError);
341
344
  }
342
345
  }
@@ -501,7 +504,7 @@ function aiCodeCompletionTeaserExtension(teaser: PanelCommon.AiCodeCompletionTea
501
504
 
502
505
  #addTeaserWidget(pos: number): void {
503
506
  this.#teaserDecoration = CodeMirror.Decoration.set([
504
- CodeMirror.Decoration.widget({widget: new AiCodeCompletionTeaserPlaceholder(this.teaser), side: 1}).range(pos),
507
+ CodeMirror.Decoration.widget({widget: new AccessiblePlaceholder(this.teaser), side: 1}).range(pos),
505
508
  ]);
506
509
  }
507
510
  }, {
@@ -12,7 +12,7 @@ import * as CodeMirror from '../../../third_party/codemirror.next/codemirror.nex
12
12
  import * as UI from '../../../ui/legacy/legacy.js';
13
13
  import * as VisualLogging from '../../visual_logging/visual_logging.js';
14
14
 
15
- import {AiCodeCompletionTeaserPlaceholder} from './AiCodeCompletionTeaserPlaceholder.js';
15
+ import {AccessiblePlaceholder} from './AccessiblePlaceholder.js';
16
16
  import {AiCodeGenerationParser} from './AiCodeGenerationParser.js';
17
17
  import {
18
18
  acceptAiAutoCompleteSuggestion,
@@ -41,10 +41,9 @@ export interface AiCodeGenerationConfig {
41
41
  generationContext: {
42
42
  inferenceLanguage?: Host.AidaClient.AidaInferenceLanguage,
43
43
  };
44
- onSuggestionAccepted: () => void;
44
+ onSuggestionAccepted: (citations: Host.AidaClient.Citation[]) => void;
45
45
  onRequestTriggered: () => void;
46
- // TODO(b/445394511): Move exposing citations to onSuggestionAccepted
47
- onResponseReceived: (citations: Host.AidaClient.Citation[]) => void;
46
+ onResponseReceived: () => void;
48
47
  panel: AiCodeCompletion.AiCodeCompletion.ContextFlavor;
49
48
  }
50
49
 
@@ -56,6 +55,7 @@ export class AiCodeGenerationProvider {
56
55
  #editor?: TextEditor;
57
56
  #aiCodeGenerationConfig: AiCodeGenerationConfig;
58
57
  #aiCodeGeneration?: AiCodeGeneration.AiCodeGeneration.AiCodeGeneration;
58
+ #aiCodeGenerationCitations: Host.AidaClient.Citation[] = [];
59
59
 
60
60
  #aidaClient: Host.AidaClient.AidaClient = new Host.AidaClient.AidaClient();
61
61
  #boundOnUpdateAiCodeGenerationState = this.#updateAiCodeGenerationState.bind(this);
@@ -170,7 +170,7 @@ export class AiCodeGenerationProvider {
170
170
  if (suggestion?.rpcGlobalId) {
171
171
  this.#aiCodeGeneration.registerUserAcceptance(suggestion.rpcGlobalId, suggestion.sampleId);
172
172
  }
173
- this.#aiCodeGenerationConfig?.onSuggestionAccepted();
173
+ this.#aiCodeGenerationConfig?.onSuggestionAccepted(this.#aiCodeGenerationCitations);
174
174
  return true;
175
175
  },
176
176
  },
@@ -251,6 +251,7 @@ export class AiCodeGenerationProvider {
251
251
  return;
252
252
  }
253
253
 
254
+ this.#aiCodeGenerationCitations = [];
254
255
  this.#generationTeaser.displayState = PanelCommon.AiCodeGenerationTeaser.AiCodeGenerationTeaserDisplayState.LOADING;
255
256
  const cursor = this.#editor.state.selection.main.head;
256
257
  const query = AiCodeGenerationParser.extractCommentText(this.#editor.state, cursor);
@@ -272,7 +273,7 @@ export class AiCodeGenerationProvider {
272
273
  }
273
274
 
274
275
  if (!generationResponse || generationResponse.samples.length === 0) {
275
- this.#aiCodeGenerationConfig?.onResponseReceived([]);
276
+ this.#aiCodeGenerationConfig?.onResponseReceived();
276
277
  return;
277
278
  }
278
279
  const topSample = generationResponse.samples[0];
@@ -304,11 +305,12 @@ export class AiCodeGenerationProvider {
304
305
 
305
306
  AiCodeGeneration.debugLog('Suggestion dispatched to the editor', suggestionText);
306
307
  const citations = topSample.attributionMetadata?.citations ?? [];
307
- this.#aiCodeGenerationConfig?.onResponseReceived(citations);
308
+ this.#aiCodeGenerationCitations = citations;
309
+ this.#aiCodeGenerationConfig?.onResponseReceived();
308
310
  return;
309
311
  } catch (e) {
310
312
  AiCodeGeneration.debugLog('Error while fetching code generation suggestions from AIDA', e);
311
- this.#aiCodeGenerationConfig?.onResponseReceived([]);
313
+ this.#aiCodeGenerationConfig?.onResponseReceived();
312
314
  Host.userMetrics.actionTaken(Host.UserMetrics.Action.AiCodeGenerationError);
313
315
  }
314
316
 
@@ -350,8 +352,7 @@ function aiCodeGenerationTeaserExtension(teaser: PanelCommon.AiCodeGenerationTea
350
352
 
351
353
  if ((isEmptyLine) || (isComment && isCursorAtEndOfLine)) {
352
354
  return CodeMirror.Decoration.set([
353
- CodeMirror.Decoration.widget({widget: new AiCodeCompletionTeaserPlaceholder(teaser), side: 1})
354
- .range(cursorPosition),
355
+ CodeMirror.Decoration.widget({widget: new AccessiblePlaceholder(teaser), side: 1}).range(cursorPosition),
355
356
  ]);
356
357
  }
357
358
  return CodeMirror.Decoration.none;
@@ -67,6 +67,9 @@ export class TextEditor extends HTMLElement {
67
67
  this.#lastScrollSnapshot = this.#activeEditor.scrollSnapshot();
68
68
  this.scrollEventHandledToSaveScrollPositionForTest();
69
69
  });
70
+ this.#activeEditor.scrollDOM.addEventListener('scrollend', () => {
71
+ this.dispatchEvent(new Event('scrollend'));
72
+ });
70
73
 
71
74
  this.#ensureSettingListeners();
72
75
  this.#startObservingResize();
@@ -2,8 +2,8 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
+ export * as AccessiblePlaceholder from './AccessiblePlaceholder.js';
5
6
  export * as AiCodeCompletionProvider from './AiCodeCompletionProvider.js';
6
- export * as AiCodeCompletionTeaserPlaceholder from './AiCodeCompletionTeaserPlaceholder.js';
7
7
  export * as AiCodeGenerationParser from './AiCodeGenerationParser.js';
8
8
  export * as AiCodeGenerationProvider from './AiCodeGenerationProvider.js';
9
9
  export * as AutocompleteHistory from './AutocompleteHistory.js';
@@ -27,6 +27,7 @@ export class PopoverHelper {
27
27
  private readonly boundMouseDown: (event: MouseEvent) => void;
28
28
  private readonly boundMouseMove: (ev: MouseEvent) => void;
29
29
  private readonly boundMouseOut: (event: MouseEvent) => void;
30
+ private readonly boundScrollEnd: (event: Event) => void;
30
31
  private readonly boundKeyUp: (ev: KeyboardEvent) => void;
31
32
  jslogContext?: string;
32
33
  constructor(
@@ -45,6 +46,7 @@ export class PopoverHelper {
45
46
  this.boundMouseDown = this.mouseDown.bind(this);
46
47
  this.boundMouseMove = this.mouseMove.bind(this);
47
48
  this.boundMouseOut = this.mouseOut.bind(this);
49
+ this.boundScrollEnd = this.scrollEnd.bind(this);
48
50
  this.boundKeyUp = this.keyUp.bind(this);
49
51
  this.container.addEventListener('mousedown', this.boundMouseDown, false);
50
52
  this.container.addEventListener('mousemove', this.boundMouseMove, false);
@@ -66,6 +68,10 @@ export class PopoverHelper {
66
68
  return this.scheduledRequest ? this.scheduledRequest.box.contains(event.clientX, event.clientY) : false;
67
69
  }
68
70
 
71
+ private scrollEnd(_event: Event): void {
72
+ this.hidePopover();
73
+ }
74
+
69
75
  private mouseDown(event: MouseEvent): void {
70
76
  if (this.disableOnClick) {
71
77
  this.hidePopover();
@@ -220,12 +226,15 @@ export class PopoverHelper {
220
226
  popover.setContentAnchorBox(request.box);
221
227
  popover.show(document);
222
228
 
229
+ this.container.addEventListener('scrollend', this.boundScrollEnd, true);
230
+
223
231
  this.hidePopoverCallback = () => {
224
232
  if (request.hide) {
225
233
  request.hide.call(null);
226
234
  }
227
235
  popover.hide();
228
236
  popoverHelperInstance = null;
237
+ this.container.removeEventListener('scrollend', this.boundScrollEnd, true);
229
238
  };
230
239
  });
231
240
  }
@@ -246,6 +255,7 @@ export class PopoverHelper {
246
255
  this.container.removeEventListener('mousedown', this.boundMouseDown, false);
247
256
  this.container.removeEventListener('mousemove', this.boundMouseMove, false);
248
257
  this.container.removeEventListener('mouseout', this.boundMouseOut, false);
258
+ this.container.removeEventListener('keyup', this.boundKeyUp, false);
249
259
  }
250
260
  }
251
261
 
@@ -610,7 +610,7 @@ button.link:focus-visible {
610
610
  @media (forced-colors: active) {
611
611
  .dimmed,
612
612
  select:disabled {
613
- opacity: 100%;
613
+ opacity: 70%;
614
614
  }
615
615
 
616
616
  .harmony-input:not([type]),
@@ -125,6 +125,8 @@
125
125
  background-color: Highlight;
126
126
  color: HighlightText;
127
127
  forced-color-adjust: none;
128
+
129
+ --icon-default: HighlightText;
128
130
  }
129
131
 
130
132
  .soft-context-menu .soft-context-menu-item devtools-icon,
@@ -4,6 +4,7 @@
4
4
 
5
5
  import type * as Lit from '../../third_party/lit/lit.js';
6
6
 
7
+ export type {DirectiveResult} from '../../third_party/lit/lib/directive.js';
7
8
  export {
8
9
  Decorators,
9
10
  Directive,
@@ -814,6 +814,7 @@ export const knownContextValues = new Set([
814
814
  'column-rule-color',
815
815
  'column-rule-edge-end-inset',
816
816
  'column-rule-edge-end-outset',
817
+ 'column-rule-edge-inset',
817
818
  'column-rule-edge-inset-end',
818
819
  'column-rule-edge-inset-start',
819
820
  'column-rule-edge-start-inset',
@@ -821,6 +822,7 @@ export const knownContextValues = new Set([
821
822
  'column-rule-inset',
822
823
  'column-rule-interior-end-inset',
823
824
  'column-rule-interior-end-outset',
825
+ 'column-rule-interior-inset',
824
826
  'column-rule-interior-inset-end',
825
827
  'column-rule-interior-inset-start',
826
828
  'column-rule-interior-start-inset',
@@ -3201,6 +3203,7 @@ export const knownContextValues = new Set([
3201
3203
  'row-rule-color',
3202
3204
  'row-rule-edge-end-inset',
3203
3205
  'row-rule-edge-end-outset',
3206
+ 'row-rule-edge-inset',
3204
3207
  'row-rule-edge-inset-end',
3205
3208
  'row-rule-edge-inset-start',
3206
3209
  'row-rule-edge-start-inset',
@@ -3208,6 +3211,7 @@ export const knownContextValues = new Set([
3208
3211
  'row-rule-inset',
3209
3212
  'row-rule-interior-end-inset',
3210
3213
  'row-rule-interior-end-outset',
3214
+ 'row-rule-interior-inset',
3211
3215
  'row-rule-interior-inset-end',
3212
3216
  'row-rule-interior-inset-start',
3213
3217
  'row-rule-interior-start-inset',
@@ -3225,7 +3229,9 @@ export const knownContextValues = new Set([
3225
3229
  'rule',
3226
3230
  'rule-break',
3227
3231
  'rule-color',
3232
+ 'rule-edge-inset',
3228
3233
  'rule-inset',
3234
+ 'rule-interior-inset',
3229
3235
  'rule-outset',
3230
3236
  'rule-set',
3231
3237
  'rule-set-details',
package/package.json CHANGED
@@ -105,5 +105,5 @@
105
105
  "flat-cache": "6.1.12"
106
106
  }
107
107
  },
108
- "version": "1.0.1564339"
108
+ "version": "1.0.1565595"
109
109
  }