@mixtint/primer-view-components 0.91.1 → 0.91.3

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.
@@ -292,6 +292,34 @@
292
292
  }
293
293
  }
294
294
 
295
+ @media (min-width: 1012px) {
296
+
297
+ .Layout.Layout--sidebar-xwide {
298
+ --Layout-sidebar-width: 408px;
299
+ }
300
+ }
301
+
302
+ @media (min-width: 1280px) {
303
+
304
+ .Layout.Layout--sidebar-xwide {
305
+ --Layout-sidebar-width: 440px;
306
+ }
307
+ }
308
+
309
+ @media (min-width: 1012px) {
310
+
311
+ .Layout.Layout--sidebar-xxwide {
312
+ --Layout-sidebar-width: 512px;
313
+ }
314
+ }
315
+
316
+ @media (min-width: 1280px) {
317
+
318
+ .Layout.Layout--sidebar-xxwide {
319
+ --Layout-sidebar-width: 544px;
320
+ }
321
+ }
322
+
295
323
  /* Sidebar position */
296
324
 
297
325
  .Layout.Layout--sidebarPosition-start .Layout-sidebar {
@@ -54,6 +54,8 @@
54
54
  ".Layout.Layout--gutter-spacious",
55
55
  ".Layout.Layout--sidebar-narrow",
56
56
  ".Layout.Layout--sidebar-wide",
57
+ ".Layout.Layout--sidebar-xwide",
58
+ ".Layout.Layout--sidebar-xxwide",
57
59
  ".Layout.Layout--sidebarPosition-start .Layout-sidebar",
58
60
  ".Layout.Layout--sidebarPosition-start .Layout-main",
59
61
  ".Layout.Layout--sidebarPosition-end",
@@ -194,7 +194,13 @@
194
194
 
195
195
  .ToggleSwitch-statusIcon {
196
196
  display: flex;
197
+ flex: none;
198
+ align-items: center;
199
+ justify-content: center;
197
200
  width: var(--base-size-16);
201
+ height: var(--base-size-16);
202
+ /* stylelint-disable-next-line primer/typography */
203
+ line-height: 0;
198
204
  /* stylelint-disable-next-line primer/spacing */
199
205
  margin-top: 0.063rem;
200
206
  }
@@ -1,4 +1,4 @@
1
- import { SelectStrategy, SelectVariant, TreeViewSubTreeNodeElement } from './tree_view_sub_tree_node_element';
1
+ import { type SelectStrategy, type SelectVariant, TreeViewSubTreeNodeElement } from './tree_view_sub_tree_node_element';
2
2
  import type { TreeViewCheckedValue, TreeViewNodeInfo, TreeViewNodeType } from '../../shared_events';
3
3
  export declare class TreeViewElement extends HTMLElement {
4
4
  #private;
@@ -15,7 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
16
16
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
17
17
  };
18
- var _TreeViewElement_instances, _TreeViewElement_abortController, _TreeViewElement_autoExpandFrom, _TreeViewElement_eventIsActivation, _TreeViewElement_nodeForEvent, _TreeViewElement_handleNodeEvent, _TreeViewElement_eventIsCheckboxToggle, _TreeViewElement_handleCheckboxToggle, _TreeViewElement_eventIsSingleSelection, _TreeViewElement_handleNodeActivated, _TreeViewElement_handleNodeFocused, _TreeViewElement_handleNodeKeyboardEvent, _TreeViewElement_checkNodeOnly;
18
+ var _TreeViewElement_instances, _TreeViewElement_abortController, _TreeViewElement_containsCheckedTreeItem, _TreeViewElement_autoExpandFrom, _TreeViewElement_eventIsActivation, _TreeViewElement_nodeForEvent, _TreeViewElement_handleNodeEvent, _TreeViewElement_eventIsCheckboxToggle, _TreeViewElement_handleCheckboxToggle, _TreeViewElement_eventIsSingleSelection, _TreeViewElement_handleNodeActivated, _TreeViewElement_handleNodeFocused, _TreeViewElement_handleNodeKeyboardEvent, _TreeViewElement_checkNodeOnly;
19
19
  import { controller, target } from '@github/catalyst';
20
20
  import { useRovingTabIndex } from './tree_view_roving_tab_index';
21
21
  let TreeViewElement = class TreeViewElement extends HTMLElement {
@@ -36,7 +36,6 @@ let TreeViewElement = class TreeViewElement extends HTMLElement {
36
36
  for (const addedNode of mutation.addedNodes) {
37
37
  if (!(addedNode instanceof HTMLElement))
38
38
  continue;
39
- // eslint-disable-next-line custom-elements/no-dom-traversal-in-connectedcallback
40
39
  if (addedNode.querySelector('[aria-expanded=true]')) {
41
40
  __classPrivateFieldGet(this, _TreeViewElement_instances, "m", _TreeViewElement_autoExpandFrom).call(this, addedNode);
42
41
  }
@@ -50,6 +49,9 @@ let TreeViewElement = class TreeViewElement extends HTMLElement {
50
49
  // nodes based on the component's select strategy. These two observers can conflict and cause infinite
51
50
  // looping, so we make sure something actually changed before computing inputs again.
52
51
  const somethingChanged = mutations.some(m => {
52
+ if (m.type === 'childList') {
53
+ return __classPrivateFieldGet(this, _TreeViewElement_instances, "m", _TreeViewElement_containsCheckedTreeItem).call(this, m.addedNodes) || __classPrivateFieldGet(this, _TreeViewElement_instances, "m", _TreeViewElement_containsCheckedTreeItem).call(this, m.removedNodes);
54
+ }
53
55
  if (!(m.target instanceof HTMLElement))
54
56
  return false;
55
57
  return m.target.getAttribute('aria-checked') !== m.oldValue;
@@ -62,6 +64,7 @@ let TreeViewElement = class TreeViewElement extends HTMLElement {
62
64
  childList: true,
63
65
  subtree: true,
64
66
  attributeFilter: ['aria-checked'],
67
+ attributeOldValue: true,
65
68
  });
66
69
  // Correctly initialize the form
67
70
  if (this.formInputContainer) {
@@ -278,7 +281,6 @@ let TreeViewElement = class TreeViewElement extends HTMLElement {
278
281
  }
279
282
  updateHiddenFormInputs() {
280
283
  const newInputs = [];
281
- // eslint-disable-next-line custom-elements/no-dom-traversal-in-connectedcallback
282
284
  for (const node of this.querySelectorAll('[role=treeitem][aria-checked=true]')) {
283
285
  const newInput = this.formInputPrototype.cloneNode();
284
286
  newInput.removeAttribute('data-target');
@@ -300,6 +302,14 @@ let TreeViewElement = class TreeViewElement extends HTMLElement {
300
302
  };
301
303
  _TreeViewElement_abortController = new WeakMap();
302
304
  _TreeViewElement_instances = new WeakSet();
305
+ _TreeViewElement_containsCheckedTreeItem = function _TreeViewElement_containsCheckedTreeItem(nodes) {
306
+ return [...nodes].some(node => {
307
+ if (!(node instanceof Element))
308
+ return false;
309
+ return (node.matches('[role=treeitem][aria-checked=true]') ||
310
+ Boolean(node.querySelector('[role=treeitem][aria-checked=true]')));
311
+ });
312
+ };
303
313
  _TreeViewElement_autoExpandFrom = function _TreeViewElement_autoExpandFrom(root) {
304
314
  for (const element of root.querySelectorAll('[aria-expanded=true]')) {
305
315
  this.expandAncestorsForNode(element);
@@ -304,7 +304,7 @@
304
304
 
305
305
  /* The visual icons should appear vertically centered for single-line items, but remain at the top for items that wrap
306
306
  across more lines. */
307
- align-self: baseline;
307
+ align-self: flex-start;
308
308
  height: var(--custom-line-height, 1.3rem);
309
309
  color: var(--fgColor-muted);
310
310
  align-items: center;
@@ -1,5 +1,5 @@
1
1
  import { CollapsibleElement } from '../collapsible';
2
- declare class CollapsibleHeaderElement extends CollapsibleElement {
2
+ export declare class CollapsibleHeaderElement extends CollapsibleElement {
3
3
  connectedCallback(): void;
4
4
  get baseClass(): string;
5
5
  }
@@ -8,4 +8,3 @@ declare global {
8
8
  CollapsibleHeaderElement: typeof CollapsibleHeaderElement;
9
9
  }
10
10
  }
11
- export {};
@@ -19,3 +19,4 @@ let CollapsibleHeaderElement = class CollapsibleHeaderElement extends Collapsibl
19
19
  CollapsibleHeaderElement = __decorate([
20
20
  controller('collapsible-header')
21
21
  ], CollapsibleHeaderElement);
22
+ export { CollapsibleHeaderElement };
@@ -1,5 +1,5 @@
1
1
  import { CollapsibleElement } from './collapsible';
2
- declare class CollapsibleSectionElement extends CollapsibleElement {
2
+ export declare class CollapsibleSectionElement extends CollapsibleElement {
3
3
  get baseClass(): string;
4
4
  }
5
5
  declare global {
@@ -7,4 +7,3 @@ declare global {
7
7
  CollapsibleSectionElement: typeof CollapsibleSectionElement;
8
8
  }
9
9
  }
10
- export {};
@@ -14,3 +14,4 @@ let CollapsibleSectionElement = class CollapsibleSectionElement extends Collapsi
14
14
  CollapsibleSectionElement = __decorate([
15
15
  controller('collapsible-section')
16
16
  ], CollapsibleSectionElement);
17
+ export { CollapsibleSectionElement };
@@ -6,7 +6,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { controller, target } from '@github/catalyst';
8
8
  let ZenModeButtonElement = class ZenModeButtonElement extends HTMLElement {
9
- // eslint-disable-next-line custom-elements/no-constructor
10
9
  constructor() {
11
10
  super();
12
11
  this.inZenMode = false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mixtint/primer-view-components",
3
- "version": "0.91.1",
3
+ "version": "0.91.3",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -73,7 +73,7 @@
73
73
  "@github/details-menu-element": "^1.0.13",
74
74
  "@github/image-crop-element": "^5.0.0",
75
75
  "@github/include-fragment-element": "^6.4.1",
76
- "@github/relative-time-element": "^5.3.0",
76
+ "@github/relative-time-element": "^5.3.1",
77
77
  "@github/remote-input-element": "^0.4.0",
78
78
  "@github/tab-container-element": "^3.4.0",
79
79
  "@oddbird/popover-polyfill": "^0.5.2",
@@ -90,35 +90,35 @@
90
90
  "@github/browserslist-config": "^1.0.0",
91
91
  "@github/markdownlint-github": "^0.8.3",
92
92
  "@github/prettier-config": "0.0.6",
93
- "@playwright/test": "^1.62.1",
93
+ "@playwright/test": "^1.63.0",
94
94
  "@primer/css": "22.3.0",
95
95
  "@primer/primitives": "^11.10.0",
96
96
  "@primer/stylelint-config": "^13.6.0",
97
97
  "@rollup/plugin-node-resolve": "^16.0.3",
98
98
  "@rollup/plugin-typescript": "^12.3.0",
99
- "axe-core": "^4.12.1",
99
+ "axe-core": "^4.13.0",
100
100
  "chokidar-cli": "^3.0.0",
101
101
  "css-what": "^8.0.0",
102
- "cssnano": "^8.0.2",
102
+ "cssnano": "^8.0.10",
103
103
  "eslint": "^9.39.5",
104
104
  "eslint-plugin-github": "^6.1.2",
105
105
  "glob": "^11.1.0",
106
- "markdownlint-cli2": "^0.22.1",
107
- "mocha": "^11.7.6",
108
- "playwright": "^1.62.1",
109
- "postcss": "^8.5.25",
106
+ "markdownlint-cli2": "^0.23.2",
107
+ "mocha": "^11.8.0",
108
+ "playwright": "^1.63.0",
109
+ "postcss": "^8.5.28",
110
110
  "postcss-cli": "^11.0.1",
111
- "postcss-import": "^16.1.1",
111
+ "postcss-import": "^16.2.0",
112
112
  "postcss-mixins": "^12.1.2",
113
- "postcss-preset-env": "^11.3.2",
114
- "prettier": "^3.9.6",
113
+ "postcss-preset-env": "^11.5.3",
114
+ "prettier": "^3.9.7",
115
115
  "rollup": "^2.80.0",
116
116
  "rollup-plugin-terser": "^7.0.2",
117
117
  "stylelint-actions-formatters": "^16.3.1",
118
118
  "tslib": "^2.8.1",
119
119
  "typescript": "^6.0.3",
120
- "vite": "^8.2.0",
121
- "vite-plugin-ruby": "^5.2.2"
120
+ "vite": "^8.3.0",
121
+ "vite-plugin-ruby": "^5.2.3"
122
122
  },
123
123
  "prettier": "@github/prettier-config",
124
124
  "browserslist": "extends @github/browserslist-config"
@@ -210,6 +210,8 @@ module.exports = new Set([
210
210
  'Layout--gutter-spacious',
211
211
  'Layout--sidebar-narrow',
212
212
  'Layout--sidebar-wide',
213
+ 'Layout--sidebar-xwide',
214
+ 'Layout--sidebar-xxwide',
213
215
  'Layout--sidebarPosition-end',
214
216
  'Layout--sidebarPosition-flowRow-end',
215
217
  'Layout--sidebarPosition-flowRow-none',
@@ -210,6 +210,8 @@ const classNames = new Set([
210
210
  'Layout--gutter-spacious',
211
211
  'Layout--sidebar-narrow',
212
212
  'Layout--sidebar-wide',
213
+ 'Layout--sidebar-xwide',
214
+ 'Layout--sidebar-xxwide',
213
215
  'Layout--sidebarPosition-end',
214
216
  'Layout--sidebarPosition-flowRow-end',
215
217
  'Layout--sidebarPosition-flowRow-none',
@@ -469,12 +469,16 @@
469
469
  "SIDEBAR_WIDTH_MAPPINGS": {
470
470
  "default": "",
471
471
  "narrow": "Layout--sidebar-narrow",
472
- "wide": "Layout--sidebar-wide"
472
+ "wide": "Layout--sidebar-wide",
473
+ "xwide": "Layout--sidebar-xwide",
474
+ "xxwide": "Layout--sidebar-xxwide"
473
475
  },
474
476
  "SIDEBAR_WIDTH_OPTIONS": [
475
477
  "default",
476
478
  "narrow",
477
- "wide"
479
+ "wide",
480
+ "xwide",
481
+ "xxwide"
478
482
  ],
479
483
  "STACKING_BREAKPOINT_DEFAULT": "md",
480
484
  "STACKING_BREAKPOINT_MAPPINGS": {
@@ -5242,7 +5242,7 @@
5242
5242
  "name": "width",
5243
5243
  "type": "Symbol",
5244
5244
  "default": "N/A",
5245
- "description": "One of `:default`, `:narrow`, or `:wide`."
5245
+ "description": "One of `:default`, `:narrow`, `:wide`, `:xwide`, or `:xxwide`."
5246
5246
  },
5247
5247
  {
5248
5248
  "name": "col_placement",
@@ -5436,6 +5436,32 @@
5436
5436
  ]
5437
5437
  }
5438
5438
  },
5439
+ {
5440
+ "preview_path": "primer/alpha/layout/sidebar_width_xwide",
5441
+ "name": "sidebar_width_xwide",
5442
+ "snapshot": "false",
5443
+ "skip_rules": {
5444
+ "wont_fix": [
5445
+ "region"
5446
+ ],
5447
+ "will_fix": [
5448
+ "color-contrast"
5449
+ ]
5450
+ }
5451
+ },
5452
+ {
5453
+ "preview_path": "primer/alpha/layout/sidebar_width_xxwide",
5454
+ "name": "sidebar_width_xxwide",
5455
+ "snapshot": "false",
5456
+ "skip_rules": {
5457
+ "wont_fix": [
5458
+ "region"
5459
+ ],
5460
+ "will_fix": [
5461
+ "color-contrast"
5462
+ ]
5463
+ }
5464
+ },
5439
5465
  {
5440
5466
  "preview_path": "primer/alpha/layout/sidebar_col_placement_start",
5441
5467
  "name": "sidebar_col_placement_start",
@@ -2296,6 +2296,32 @@
2296
2296
  ]
2297
2297
  }
2298
2298
  },
2299
+ {
2300
+ "preview_path": "primer/alpha/layout/sidebar_width_xwide",
2301
+ "name": "sidebar_width_xwide",
2302
+ "snapshot": "false",
2303
+ "skip_rules": {
2304
+ "wont_fix": [
2305
+ "region"
2306
+ ],
2307
+ "will_fix": [
2308
+ "color-contrast"
2309
+ ]
2310
+ }
2311
+ },
2312
+ {
2313
+ "preview_path": "primer/alpha/layout/sidebar_width_xxwide",
2314
+ "name": "sidebar_width_xxwide",
2315
+ "snapshot": "false",
2316
+ "skip_rules": {
2317
+ "wont_fix": [
2318
+ "region"
2319
+ ],
2320
+ "will_fix": [
2321
+ "color-contrast"
2322
+ ]
2323
+ }
2324
+ },
2299
2325
  {
2300
2326
  "preview_path": "primer/alpha/layout/sidebar_col_placement_start",
2301
2327
  "name": "sidebar_col_placement_start",