@stacksjs/defaults 0.75.110 → 0.75.111

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.
@@ -2,7 +2,7 @@
2
2
  "publisher": "Stacks",
3
3
  "name": "vscode-stacks",
4
4
  "displayName": "Stacks",
5
- "version": "0.75.110",
5
+ "version": "0.75.111",
6
6
  "description": "Stacks, built into VS Code: stx templates, pickier linting and formatting, encrypted env files, the dev server preview and every buddy command. No other extensions required.",
7
7
  "license": "MIT",
8
8
  "funding": "https://github.com/sponsors/chrisbbreuer",
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@stacksjs/defaults",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "0.75.110",
5
+ "version": "0.75.111",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/stacksjs/stacks.git",
@@ -55,7 +55,7 @@
55
55
  "dependencies": {
56
56
  "@iconify-json/f7": "^1.2.2",
57
57
  "@iconify-json/hugeicons": "^1.2.35",
58
- "@stacksjs/mobile": "^0.75.110",
58
+ "@stacksjs/mobile": "^0.75.111",
59
59
  "@stacksjs/sanitizer": "^0.2.422",
60
60
  "@xterm/addon-fit": "^0.11.0",
61
61
  "@xterm/xterm": "^6.0.0",
@@ -46,7 +46,6 @@ const header = useRef('nativeSheetHeader')
46
46
 
47
47
  let releaseBackground: (() => void) | null = null
48
48
  let putBack: (() => void) | null = null
49
- let putBackTimer: ReturnType<typeof setTimeout> | null = null
50
49
  let previousFocus: HTMLElement | null = null
51
50
  let carded = false
52
51
  let stopDrag: (() => void) | null = null
@@ -63,8 +62,6 @@ function root(): HTMLElement | null {
63
62
  function present(): void {
64
63
  const element = root()
65
64
  if (!element || releaseBackground) return
66
- if (putBackTimer) clearTimeout(putBackTimer)
67
- putBackTimer = null
68
65
  detent.set(detents()[0] ?? 'large')
69
66
  previousFocus = element.ownerDocument.activeElement as HTMLElement | null
70
67
  // Out of the page's stacking contexts and transforms (the card below
@@ -78,7 +75,7 @@ function present(): void {
78
75
  // Work its closed style out where it now is, then open it: the panel
79
76
  // slides from there.
80
77
  const sheetPanel = panel.current as HTMLElement | null
81
- if (sheetPanel) void element.ownerDocument.defaultView?.getComputedStyle(sheetPanel).transform
78
+ if (sheetPanel) void sheetPanel.getBoundingClientRect()
82
79
  shown.set(true)
83
80
  void nextTick(() => (panel.current as HTMLElement | null)?.focus())
84
81
  }
@@ -91,12 +88,6 @@ function dismissed(): void {
91
88
  releaseBackground = null
92
89
  previousFocus?.focus?.()
93
90
  previousFocus = null
94
- // Back where it was written once it has slid away.
95
- putBackTimer = setTimeout(() => {
96
- putBackTimer = null
97
- putBack?.()
98
- putBack = null
99
- }, 420)
100
91
  }
101
92
 
102
93
  let wasOpen = false
@@ -124,6 +115,10 @@ function close(): void {
124
115
  }
125
116
 
126
117
  onMount(() => {
118
+ // Give the sheet its permanent presentation parent before its slot loads
119
+ // media. Reparenting an already loading iframe or video interrupts playback.
120
+ const element = root()
121
+ if (element) putBack ??= liftToBody(element)
127
122
  const sheetPanel = panel.current as HTMLElement | null
128
123
  if (!sheetPanel) return
129
124
  const handles = [grabber.current, header.current].filter(Boolean) as HTMLElement[]
@@ -146,7 +141,6 @@ onDestroy(() => {
146
141
  const element = root()
147
142
  if (element && open()) coverTabBar(element, false)
148
143
  if (carded && element) presentPageAsCard(element.ownerDocument, false)
149
- if (putBackTimer) clearTimeout(putBackTimer)
150
144
  putBack?.()
151
145
  })
152
146
 
@@ -190,12 +184,13 @@ const sheetClass = derived(() => `${shown() ? 'is-open' : ''}${hasDetents() ? '
190
184
  inset: 0;
191
185
  z-index: 70;
192
186
  visibility: hidden;
187
+ transition: visibility 0s 380ms;
193
188
  pointer-events: none;
194
189
  font-size: var(--native-font-size, 17px);
195
190
  -webkit-tap-highlight-color: transparent;
196
191
  }
197
192
 
198
- .native-sheet.is-open { visibility: visible; pointer-events: auto; }
193
+ .native-sheet.is-open { visibility: visible; pointer-events: auto; transition-delay: 0s; }
199
194
 
200
195
  .native-sheet-backdrop {
201
196
  position: absolute;