@threlte/xr 0.1.2 → 0.1.4

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.
@@ -9,7 +9,6 @@
9
9
  />
10
10
  ```
11
11
  -->
12
-
13
12
  <script>import XRButton from "./XRButton.svelte";
14
13
  </script>
15
14
 
@@ -20,8 +19,7 @@
20
19
  optionalFeatures: ['local-floor', 'bounded-floor', 'hand-tracking', 'layers', 'hit-test']
21
20
  }}
22
21
  {...$$restProps}
23
- mode='immersive-ar'
24
-
22
+ mode="immersive-ar"
25
23
  on:click
26
24
  on:error
27
25
  />
@@ -1,227 +1,16 @@
1
1
  /// <reference types="webxr" />
2
2
  import { SvelteComponent } from "svelte";
3
3
  declare const __propDef: {
4
- props: {
5
- type?: "button" | "reset" | "submit" | null | undefined;
6
- id?: string | null | undefined;
7
- name?: string | null | undefined;
8
- color?: string | null | undefined;
9
- translate?: "" | "yes" | "no" | null | undefined;
10
- value?: string | number | string[] | null | undefined;
11
- hidden?: boolean | null | undefined;
12
- form?: string | null | undefined;
13
- slot?: string | null | undefined;
14
- style?: string | null | undefined;
15
- title?: string | null | undefined;
16
- dir?: string | null | undefined;
17
- contextmenu?: string | null | undefined;
18
- autocapitalize?: string | null | undefined;
19
- draggable?: import("svelte/elements").Booleanish | null | undefined;
20
- inert?: boolean | null | undefined;
21
- lang?: string | null | undefined;
22
- spellcheck?: import("svelte/elements").Booleanish | null | undefined;
23
- part?: string | null | undefined;
24
- prefix?: string | null | undefined;
25
- role?: import("svelte/elements").AriaRole | null | undefined;
26
- autofocus?: boolean | null | undefined;
27
- disabled?: boolean | null | undefined;
28
- class?: string | null | undefined;
29
- typeof?: string | null | undefined;
30
- radiogroup?: string | null | undefined;
31
- accesskey?: string | null | undefined;
32
- contenteditable?: "inherit" | import("svelte/elements").Booleanish | null | undefined;
33
- enterkeyhint?: "search" | "next" | "done" | "enter" | "go" | "previous" | "send" | null | undefined;
34
- placeholder?: string | null | undefined;
35
- tabindex?: number | null | undefined;
36
- about?: string | null | undefined;
37
- datatype?: string | null | undefined;
38
- inlist?: any;
39
- property?: string | null | undefined;
40
- resource?: string | null | undefined;
41
- vocab?: string | null | undefined;
42
- autocorrect?: string | null | undefined;
43
- autosave?: string | null | undefined;
44
- itemprop?: string | null | undefined;
45
- itemscope?: boolean | null | undefined;
46
- itemtype?: string | null | undefined;
47
- itemid?: string | null | undefined;
48
- itemref?: string | null | undefined;
49
- results?: number | null | undefined;
50
- security?: string | null | undefined;
51
- unselectable?: "off" | "on" | null | undefined;
52
- inputmode?: "search" | "numeric" | "none" | "url" | "text" | "email" | "tel" | "decimal" | null | undefined;
53
- is?: string | null | undefined;
54
- 'bind:innerHTML'?: string | null | undefined;
55
- 'bind:textContent'?: string | null | undefined;
56
- 'bind:innerText'?: string | null | undefined;
57
- 'bind:contentRect'?: DOMRectReadOnly | null | undefined;
58
- 'bind:contentBoxSize'?: ResizeObserverSize[] | null | undefined;
59
- 'bind:borderBoxSize'?: ResizeObserverSize[] | null | undefined;
60
- 'bind:devicePixelContentBoxSize'?: ResizeObserverSize[] | null | undefined;
61
- 'data-sveltekit-keepfocus'?: true | "" | "off" | null | undefined;
62
- 'data-sveltekit-noscroll'?: true | "" | "off" | null | undefined;
63
- 'data-sveltekit-preload-code'?: true | "" | "off" | "eager" | "viewport" | "hover" | "tap" | null | undefined;
64
- 'data-sveltekit-preload-data'?: true | "" | "off" | "hover" | "tap" | null | undefined;
65
- 'data-sveltekit-reload'?: true | "" | "off" | null | undefined;
66
- 'data-sveltekit-replacestate'?: true | "" | "off" | null | undefined;
67
- 'aria-activedescendant'?: string | null | undefined;
68
- 'aria-atomic'?: import("svelte/elements").Booleanish | null | undefined;
69
- 'aria-autocomplete'?: "inline" | "both" | "none" | "list" | null | undefined;
70
- 'aria-busy'?: import("svelte/elements").Booleanish | null | undefined;
71
- 'aria-checked'?: boolean | "false" | "true" | "mixed" | null | undefined;
72
- 'aria-colcount'?: number | null | undefined;
73
- 'aria-colindex'?: number | null | undefined;
74
- 'aria-colspan'?: number | null | undefined;
75
- 'aria-controls'?: string | null | undefined;
76
- 'aria-current'?: "time" | "location" | "page" | import("svelte/elements").Booleanish | "step" | "date" | null | undefined;
77
- 'aria-describedby'?: string | null | undefined;
78
- 'aria-details'?: string | null | undefined;
79
- 'aria-disabled'?: import("svelte/elements").Booleanish | null | undefined;
80
- 'aria-dropeffect'?: "link" | "none" | "copy" | "move" | "execute" | "popup" | null | undefined;
81
- 'aria-errormessage'?: string | null | undefined;
82
- 'aria-expanded'?: import("svelte/elements").Booleanish | null | undefined;
83
- 'aria-flowto'?: string | null | undefined;
84
- 'aria-grabbed'?: import("svelte/elements").Booleanish | null | undefined;
85
- 'aria-haspopup'?: "grid" | "dialog" | "menu" | import("svelte/elements").Booleanish | "listbox" | "tree" | null | undefined;
86
- 'aria-hidden'?: import("svelte/elements").Booleanish | null | undefined;
87
- 'aria-invalid'?: import("svelte/elements").Booleanish | "grammar" | "spelling" | null | undefined;
88
- 'aria-keyshortcuts'?: string | null | undefined;
89
- 'aria-label'?: string | null | undefined;
90
- 'aria-labelledby'?: string | null | undefined;
91
- 'aria-level'?: number | null | undefined;
92
- 'aria-live'?: "off" | "assertive" | "polite" | null | undefined;
93
- 'aria-modal'?: import("svelte/elements").Booleanish | null | undefined;
94
- 'aria-multiline'?: import("svelte/elements").Booleanish | null | undefined;
95
- 'aria-multiselectable'?: import("svelte/elements").Booleanish | null | undefined;
96
- 'aria-orientation'?: "horizontal" | "vertical" | null | undefined;
97
- 'aria-owns'?: string | null | undefined;
98
- 'aria-placeholder'?: string | null | undefined;
99
- 'aria-posinset'?: number | null | undefined;
100
- 'aria-pressed'?: boolean | "false" | "true" | "mixed" | null | undefined;
101
- 'aria-readonly'?: import("svelte/elements").Booleanish | null | undefined;
102
- 'aria-relevant'?: "all" | "text" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | null | undefined;
103
- 'aria-required'?: import("svelte/elements").Booleanish | null | undefined;
104
- 'aria-roledescription'?: string | null | undefined;
105
- 'aria-rowcount'?: number | null | undefined;
106
- 'aria-rowindex'?: number | null | undefined;
107
- 'aria-rowspan'?: number | null | undefined;
108
- 'aria-selected'?: import("svelte/elements").Booleanish | null | undefined;
109
- 'aria-setsize'?: number | null | undefined;
110
- 'aria-sort'?: "none" | "other" | "ascending" | "descending" | null | undefined;
111
- 'aria-valuemax'?: number | null | undefined;
112
- 'aria-valuemin'?: number | null | undefined;
113
- 'aria-valuenow'?: number | null | undefined;
114
- 'aria-valuetext'?: string | null | undefined;
115
- 'on:copy'?: import("svelte/elements").ClipboardEventHandler<HTMLButtonElement> | null | undefined;
116
- 'on:cut'?: import("svelte/elements").ClipboardEventHandler<HTMLButtonElement> | null | undefined;
117
- 'on:paste'?: import("svelte/elements").ClipboardEventHandler<HTMLButtonElement> | null | undefined;
118
- 'on:compositionend'?: import("svelte/elements").CompositionEventHandler<HTMLButtonElement> | null | undefined;
119
- 'on:compositionstart'?: import("svelte/elements").CompositionEventHandler<HTMLButtonElement> | null | undefined;
120
- 'on:compositionupdate'?: import("svelte/elements").CompositionEventHandler<HTMLButtonElement> | null | undefined;
121
- 'on:focus'?: import("svelte/elements").FocusEventHandler<HTMLButtonElement> | null | undefined;
122
- 'on:focusin'?: import("svelte/elements").FocusEventHandler<HTMLButtonElement> | null | undefined;
123
- 'on:focusout'?: import("svelte/elements").FocusEventHandler<HTMLButtonElement> | null | undefined;
124
- 'on:blur'?: import("svelte/elements").FocusEventHandler<HTMLButtonElement> | null | undefined;
125
- 'on:change'?: import("svelte/elements").FormEventHandler<HTMLButtonElement> | null | undefined;
126
- 'on:beforeinput'?: import("svelte/elements").EventHandler<InputEvent, HTMLButtonElement> | null | undefined;
127
- 'on:input'?: import("svelte/elements").FormEventHandler<HTMLButtonElement> | null | undefined;
128
- 'on:reset'?: import("svelte/elements").FormEventHandler<HTMLButtonElement> | null | undefined;
129
- 'on:submit'?: import("svelte/elements").EventHandler<SubmitEvent, HTMLButtonElement> | null | undefined;
130
- 'on:invalid'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
131
- 'on:formdata'?: import("svelte/elements").EventHandler<FormDataEvent, HTMLButtonElement> | null | undefined;
132
- 'on:load'?: import("svelte/elements").EventHandler<Event, Element> | null | undefined;
133
- 'on:error'?: import("svelte/elements").EventHandler<Event, Element> | null | undefined;
134
- 'on:toggle'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
135
- 'on:keydown'?: import("svelte/elements").KeyboardEventHandler<HTMLButtonElement> | null | undefined;
136
- 'on:keypress'?: import("svelte/elements").KeyboardEventHandler<HTMLButtonElement> | null | undefined;
137
- 'on:keyup'?: import("svelte/elements").KeyboardEventHandler<HTMLButtonElement> | null | undefined;
138
- 'on:abort'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
139
- 'on:canplay'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
140
- 'on:canplaythrough'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
141
- 'on:cuechange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
142
- 'on:durationchange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
143
- 'on:emptied'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
144
- 'on:encrypted'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
145
- 'on:ended'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
146
- 'on:loadeddata'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
147
- 'on:loadedmetadata'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
148
- 'on:loadstart'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
149
- 'on:pause'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
150
- 'on:play'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
151
- 'on:playing'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
152
- 'on:progress'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
153
- 'on:ratechange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
154
- 'on:seeked'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
155
- 'on:seeking'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
156
- 'on:stalled'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
157
- 'on:suspend'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
158
- 'on:timeupdate'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
159
- 'on:volumechange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
160
- 'on:waiting'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
161
- 'on:auxclick'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
162
- 'on:click'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
163
- 'on:contextmenu'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
164
- 'on:dblclick'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
165
- 'on:drag'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
166
- 'on:dragend'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
167
- 'on:dragenter'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
168
- 'on:dragexit'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
169
- 'on:dragleave'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
170
- 'on:dragover'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
171
- 'on:dragstart'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
172
- 'on:drop'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
173
- 'on:mousedown'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
174
- 'on:mouseenter'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
175
- 'on:mouseleave'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
176
- 'on:mousemove'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
177
- 'on:mouseout'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
178
- 'on:mouseover'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
179
- 'on:mouseup'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
180
- 'on:select'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
181
- 'on:selectionchange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
182
- 'on:selectstart'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
183
- 'on:touchcancel'?: import("svelte/elements").TouchEventHandler<HTMLButtonElement> | null | undefined;
184
- 'on:touchend'?: import("svelte/elements").TouchEventHandler<HTMLButtonElement> | null | undefined;
185
- 'on:touchmove'?: import("svelte/elements").TouchEventHandler<HTMLButtonElement> | null | undefined;
186
- 'on:touchstart'?: import("svelte/elements").TouchEventHandler<HTMLButtonElement> | null | undefined;
187
- 'on:gotpointercapture'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
188
- 'on:pointercancel'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
189
- 'on:pointerdown'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
190
- 'on:pointerenter'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
191
- 'on:pointerleave'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
192
- 'on:pointermove'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
193
- 'on:pointerout'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
194
- 'on:pointerover'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
195
- 'on:pointerup'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
196
- 'on:lostpointercapture'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
197
- 'on:scroll'?: import("svelte/elements").UIEventHandler<HTMLButtonElement> | null | undefined;
198
- 'on:resize'?: import("svelte/elements").UIEventHandler<HTMLButtonElement> | null | undefined;
199
- 'on:wheel'?: import("svelte/elements").WheelEventHandler<HTMLButtonElement> | null | undefined;
200
- 'on:animationstart'?: import("svelte/elements").AnimationEventHandler<HTMLButtonElement> | null | undefined;
201
- 'on:animationend'?: import("svelte/elements").AnimationEventHandler<HTMLButtonElement> | null | undefined;
202
- 'on:animationiteration'?: import("svelte/elements").AnimationEventHandler<HTMLButtonElement> | null | undefined;
203
- 'on:transitionstart'?: import("svelte/elements").TransitionEventHandler<HTMLButtonElement> | null | undefined;
204
- 'on:transitionrun'?: import("svelte/elements").TransitionEventHandler<HTMLButtonElement> | null | undefined;
205
- 'on:transitionend'?: import("svelte/elements").TransitionEventHandler<HTMLButtonElement> | null | undefined;
206
- 'on:transitioncancel'?: import("svelte/elements").TransitionEventHandler<HTMLButtonElement> | null | undefined;
207
- 'on:outrostart'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLButtonElement> | null | undefined;
208
- 'on:outroend'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLButtonElement> | null | undefined;
209
- 'on:introstart'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLButtonElement> | null | undefined;
210
- 'on:introend'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLButtonElement> | null | undefined;
211
- 'on:message'?: import("svelte/elements").MessageEventHandler<HTMLButtonElement> | null | undefined;
212
- 'on:messageerror'?: import("svelte/elements").MessageEventHandler<HTMLButtonElement> | null | undefined;
213
- 'on:visibilitychange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
214
- 'on:cancel'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
215
- 'on:close'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
216
- 'on:fullscreenchange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
217
- 'on:fullscreenerror'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
218
- formaction?: string | null | undefined;
219
- formenctype?: string | null | undefined;
220
- formmethod?: string | null | undefined;
221
- formnovalidate?: boolean | null | undefined;
222
- formtarget?: string | null | undefined;
4
+ props: Omit<import("svelte/elements").HTMLButtonAttributes & {
5
+ mode: XRSessionMode;
6
+ sessionInit?: (XRSessionInit & {
7
+ domOverlay?: {
8
+ root: HTMLElement;
9
+ } | undefined;
10
+ }) | undefined;
223
11
  force?: "enter" | "exit" | undefined;
224
12
  styled?: boolean | undefined;
13
+ }, "mode" | "sessionInit"> & {
225
14
  sessionInit?: (XRSessionInit & {
226
15
  domOverlay?: {
227
16
  root: HTMLElement;
@@ -7,7 +7,12 @@
7
7
  >import { writable } from "svelte/store";
8
8
  import { T, createRawEventDispatcher } from "@threlte/core";
9
9
  import { left as leftStore, right as rightStore } from "../hooks/useController";
10
- import { isHandTracking, pointerState, teleportState, controllerDispatchers } from "../internal/stores";
10
+ import {
11
+ isHandTracking,
12
+ pointerState,
13
+ teleportState,
14
+ controllerDispatchers
15
+ } from "../internal/stores";
11
16
  import PointerCursor from "./internal/PointerCursor.svelte";
12
17
  import ShortRay from "./internal/ShortRay.svelte";
13
18
  import ScenePortal from "./internal/ScenePortal.svelte";
@@ -1,4 +1,3 @@
1
-
2
1
  <script>import { T } from "@threlte/core";
3
2
  import { useHeadset } from "../hooks/useHeadset";
4
3
  import ScenePortal from "./internal/ScenePortal.svelte";
@@ -6,7 +5,7 @@ const headset = useHeadset();
6
5
  </script>
7
6
 
8
7
  <ScenePortal>
9
- <T is={headset}>
10
- <slot />
11
- </T>
8
+ <T is={headset}>
9
+ <slot />
10
+ </T>
12
11
  </ScenePortal>
@@ -9,7 +9,6 @@
9
9
  />
10
10
  ```
11
11
  -->
12
-
13
12
  <script>import XRButton from "./XRButton.svelte";
14
13
  </script>
15
14
 
@@ -18,7 +17,7 @@
18
17
  optionalFeatures: ['local-floor', 'bounded-floor', 'hand-tracking', 'layers']
19
18
  }}
20
19
  {...$$restProps}
21
- mode='immersive-vr'
20
+ mode="immersive-vr"
22
21
  on:click
23
22
  on:error
24
23
  />
@@ -1,227 +1,16 @@
1
+ /// <reference types="webxr" />
1
2
  import { SvelteComponent } from "svelte";
2
3
  declare const __propDef: {
3
- props: {
4
- type?: "button" | "reset" | "submit" | null | undefined;
5
- id?: string | null | undefined;
6
- name?: string | null | undefined;
7
- color?: string | null | undefined;
8
- translate?: "" | "yes" | "no" | null | undefined;
9
- value?: string | number | string[] | null | undefined;
10
- hidden?: boolean | null | undefined;
11
- form?: string | null | undefined;
12
- slot?: string | null | undefined;
13
- style?: string | null | undefined;
14
- title?: string | null | undefined;
15
- dir?: string | null | undefined;
16
- contextmenu?: string | null | undefined;
17
- autocapitalize?: string | null | undefined;
18
- draggable?: import("svelte/elements").Booleanish | null | undefined;
19
- inert?: boolean | null | undefined;
20
- lang?: string | null | undefined;
21
- spellcheck?: import("svelte/elements").Booleanish | null | undefined;
22
- part?: string | null | undefined;
23
- prefix?: string | null | undefined;
24
- role?: import("svelte/elements").AriaRole | null | undefined;
25
- autofocus?: boolean | null | undefined;
26
- disabled?: boolean | null | undefined;
27
- class?: string | null | undefined;
28
- typeof?: string | null | undefined;
29
- radiogroup?: string | null | undefined;
30
- accesskey?: string | null | undefined;
31
- contenteditable?: "inherit" | import("svelte/elements").Booleanish | null | undefined;
32
- enterkeyhint?: "search" | "next" | "done" | "enter" | "go" | "previous" | "send" | null | undefined;
33
- placeholder?: string | null | undefined;
34
- tabindex?: number | null | undefined;
35
- about?: string | null | undefined;
36
- datatype?: string | null | undefined;
37
- inlist?: any;
38
- property?: string | null | undefined;
39
- resource?: string | null | undefined;
40
- vocab?: string | null | undefined;
41
- autocorrect?: string | null | undefined;
42
- autosave?: string | null | undefined;
43
- itemprop?: string | null | undefined;
44
- itemscope?: boolean | null | undefined;
45
- itemtype?: string | null | undefined;
46
- itemid?: string | null | undefined;
47
- itemref?: string | null | undefined;
48
- results?: number | null | undefined;
49
- security?: string | null | undefined;
50
- unselectable?: "off" | "on" | null | undefined;
51
- inputmode?: "search" | "numeric" | "none" | "url" | "text" | "email" | "tel" | "decimal" | null | undefined;
52
- is?: string | null | undefined;
53
- 'bind:innerHTML'?: string | null | undefined;
54
- 'bind:textContent'?: string | null | undefined;
55
- 'bind:innerText'?: string | null | undefined;
56
- 'bind:contentRect'?: DOMRectReadOnly | null | undefined;
57
- 'bind:contentBoxSize'?: ResizeObserverSize[] | null | undefined;
58
- 'bind:borderBoxSize'?: ResizeObserverSize[] | null | undefined;
59
- 'bind:devicePixelContentBoxSize'?: ResizeObserverSize[] | null | undefined;
60
- 'data-sveltekit-keepfocus'?: true | "" | "off" | null | undefined;
61
- 'data-sveltekit-noscroll'?: true | "" | "off" | null | undefined;
62
- 'data-sveltekit-preload-code'?: true | "" | "off" | "eager" | "viewport" | "hover" | "tap" | null | undefined;
63
- 'data-sveltekit-preload-data'?: true | "" | "off" | "hover" | "tap" | null | undefined;
64
- 'data-sveltekit-reload'?: true | "" | "off" | null | undefined;
65
- 'data-sveltekit-replacestate'?: true | "" | "off" | null | undefined;
66
- 'aria-activedescendant'?: string | null | undefined;
67
- 'aria-atomic'?: import("svelte/elements").Booleanish | null | undefined;
68
- 'aria-autocomplete'?: "inline" | "both" | "none" | "list" | null | undefined;
69
- 'aria-busy'?: import("svelte/elements").Booleanish | null | undefined;
70
- 'aria-checked'?: boolean | "false" | "true" | "mixed" | null | undefined;
71
- 'aria-colcount'?: number | null | undefined;
72
- 'aria-colindex'?: number | null | undefined;
73
- 'aria-colspan'?: number | null | undefined;
74
- 'aria-controls'?: string | null | undefined;
75
- 'aria-current'?: "time" | "location" | "page" | import("svelte/elements").Booleanish | "step" | "date" | null | undefined;
76
- 'aria-describedby'?: string | null | undefined;
77
- 'aria-details'?: string | null | undefined;
78
- 'aria-disabled'?: import("svelte/elements").Booleanish | null | undefined;
79
- 'aria-dropeffect'?: "link" | "none" | "copy" | "move" | "execute" | "popup" | null | undefined;
80
- 'aria-errormessage'?: string | null | undefined;
81
- 'aria-expanded'?: import("svelte/elements").Booleanish | null | undefined;
82
- 'aria-flowto'?: string | null | undefined;
83
- 'aria-grabbed'?: import("svelte/elements").Booleanish | null | undefined;
84
- 'aria-haspopup'?: "grid" | "dialog" | "menu" | import("svelte/elements").Booleanish | "listbox" | "tree" | null | undefined;
85
- 'aria-hidden'?: import("svelte/elements").Booleanish | null | undefined;
86
- 'aria-invalid'?: import("svelte/elements").Booleanish | "grammar" | "spelling" | null | undefined;
87
- 'aria-keyshortcuts'?: string | null | undefined;
88
- 'aria-label'?: string | null | undefined;
89
- 'aria-labelledby'?: string | null | undefined;
90
- 'aria-level'?: number | null | undefined;
91
- 'aria-live'?: "off" | "assertive" | "polite" | null | undefined;
92
- 'aria-modal'?: import("svelte/elements").Booleanish | null | undefined;
93
- 'aria-multiline'?: import("svelte/elements").Booleanish | null | undefined;
94
- 'aria-multiselectable'?: import("svelte/elements").Booleanish | null | undefined;
95
- 'aria-orientation'?: "horizontal" | "vertical" | null | undefined;
96
- 'aria-owns'?: string | null | undefined;
97
- 'aria-placeholder'?: string | null | undefined;
98
- 'aria-posinset'?: number | null | undefined;
99
- 'aria-pressed'?: boolean | "false" | "true" | "mixed" | null | undefined;
100
- 'aria-readonly'?: import("svelte/elements").Booleanish | null | undefined;
101
- 'aria-relevant'?: "all" | "text" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | null | undefined;
102
- 'aria-required'?: import("svelte/elements").Booleanish | null | undefined;
103
- 'aria-roledescription'?: string | null | undefined;
104
- 'aria-rowcount'?: number | null | undefined;
105
- 'aria-rowindex'?: number | null | undefined;
106
- 'aria-rowspan'?: number | null | undefined;
107
- 'aria-selected'?: import("svelte/elements").Booleanish | null | undefined;
108
- 'aria-setsize'?: number | null | undefined;
109
- 'aria-sort'?: "none" | "other" | "ascending" | "descending" | null | undefined;
110
- 'aria-valuemax'?: number | null | undefined;
111
- 'aria-valuemin'?: number | null | undefined;
112
- 'aria-valuenow'?: number | null | undefined;
113
- 'aria-valuetext'?: string | null | undefined;
114
- 'on:copy'?: import("svelte/elements").ClipboardEventHandler<HTMLButtonElement> | null | undefined;
115
- 'on:cut'?: import("svelte/elements").ClipboardEventHandler<HTMLButtonElement> | null | undefined;
116
- 'on:paste'?: import("svelte/elements").ClipboardEventHandler<HTMLButtonElement> | null | undefined;
117
- 'on:compositionend'?: import("svelte/elements").CompositionEventHandler<HTMLButtonElement> | null | undefined;
118
- 'on:compositionstart'?: import("svelte/elements").CompositionEventHandler<HTMLButtonElement> | null | undefined;
119
- 'on:compositionupdate'?: import("svelte/elements").CompositionEventHandler<HTMLButtonElement> | null | undefined;
120
- 'on:focus'?: import("svelte/elements").FocusEventHandler<HTMLButtonElement> | null | undefined;
121
- 'on:focusin'?: import("svelte/elements").FocusEventHandler<HTMLButtonElement> | null | undefined;
122
- 'on:focusout'?: import("svelte/elements").FocusEventHandler<HTMLButtonElement> | null | undefined;
123
- 'on:blur'?: import("svelte/elements").FocusEventHandler<HTMLButtonElement> | null | undefined;
124
- 'on:change'?: import("svelte/elements").FormEventHandler<HTMLButtonElement> | null | undefined;
125
- 'on:beforeinput'?: import("svelte/elements").EventHandler<InputEvent, HTMLButtonElement> | null | undefined;
126
- 'on:input'?: import("svelte/elements").FormEventHandler<HTMLButtonElement> | null | undefined;
127
- 'on:reset'?: import("svelte/elements").FormEventHandler<HTMLButtonElement> | null | undefined;
128
- 'on:submit'?: import("svelte/elements").EventHandler<SubmitEvent, HTMLButtonElement> | null | undefined;
129
- 'on:invalid'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
130
- 'on:formdata'?: import("svelte/elements").EventHandler<FormDataEvent, HTMLButtonElement> | null | undefined;
131
- 'on:load'?: import("svelte/elements").EventHandler<Event, Element> | null | undefined;
132
- 'on:error'?: import("svelte/elements").EventHandler<Event, Element> | null | undefined;
133
- 'on:toggle'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
134
- 'on:keydown'?: import("svelte/elements").KeyboardEventHandler<HTMLButtonElement> | null | undefined;
135
- 'on:keypress'?: import("svelte/elements").KeyboardEventHandler<HTMLButtonElement> | null | undefined;
136
- 'on:keyup'?: import("svelte/elements").KeyboardEventHandler<HTMLButtonElement> | null | undefined;
137
- 'on:abort'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
138
- 'on:canplay'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
139
- 'on:canplaythrough'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
140
- 'on:cuechange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
141
- 'on:durationchange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
142
- 'on:emptied'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
143
- 'on:encrypted'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
144
- 'on:ended'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
145
- 'on:loadeddata'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
146
- 'on:loadedmetadata'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
147
- 'on:loadstart'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
148
- 'on:pause'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
149
- 'on:play'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
150
- 'on:playing'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
151
- 'on:progress'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
152
- 'on:ratechange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
153
- 'on:seeked'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
154
- 'on:seeking'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
155
- 'on:stalled'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
156
- 'on:suspend'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
157
- 'on:timeupdate'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
158
- 'on:volumechange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
159
- 'on:waiting'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
160
- 'on:auxclick'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
161
- 'on:click'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
162
- 'on:contextmenu'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
163
- 'on:dblclick'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
164
- 'on:drag'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
165
- 'on:dragend'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
166
- 'on:dragenter'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
167
- 'on:dragexit'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
168
- 'on:dragleave'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
169
- 'on:dragover'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
170
- 'on:dragstart'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
171
- 'on:drop'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
172
- 'on:mousedown'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
173
- 'on:mouseenter'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
174
- 'on:mouseleave'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
175
- 'on:mousemove'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
176
- 'on:mouseout'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
177
- 'on:mouseover'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
178
- 'on:mouseup'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
179
- 'on:select'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
180
- 'on:selectionchange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
181
- 'on:selectstart'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
182
- 'on:touchcancel'?: import("svelte/elements").TouchEventHandler<HTMLButtonElement> | null | undefined;
183
- 'on:touchend'?: import("svelte/elements").TouchEventHandler<HTMLButtonElement> | null | undefined;
184
- 'on:touchmove'?: import("svelte/elements").TouchEventHandler<HTMLButtonElement> | null | undefined;
185
- 'on:touchstart'?: import("svelte/elements").TouchEventHandler<HTMLButtonElement> | null | undefined;
186
- 'on:gotpointercapture'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
187
- 'on:pointercancel'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
188
- 'on:pointerdown'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
189
- 'on:pointerenter'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
190
- 'on:pointerleave'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
191
- 'on:pointermove'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
192
- 'on:pointerout'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
193
- 'on:pointerover'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
194
- 'on:pointerup'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
195
- 'on:lostpointercapture'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
196
- 'on:scroll'?: import("svelte/elements").UIEventHandler<HTMLButtonElement> | null | undefined;
197
- 'on:resize'?: import("svelte/elements").UIEventHandler<HTMLButtonElement> | null | undefined;
198
- 'on:wheel'?: import("svelte/elements").WheelEventHandler<HTMLButtonElement> | null | undefined;
199
- 'on:animationstart'?: import("svelte/elements").AnimationEventHandler<HTMLButtonElement> | null | undefined;
200
- 'on:animationend'?: import("svelte/elements").AnimationEventHandler<HTMLButtonElement> | null | undefined;
201
- 'on:animationiteration'?: import("svelte/elements").AnimationEventHandler<HTMLButtonElement> | null | undefined;
202
- 'on:transitionstart'?: import("svelte/elements").TransitionEventHandler<HTMLButtonElement> | null | undefined;
203
- 'on:transitionrun'?: import("svelte/elements").TransitionEventHandler<HTMLButtonElement> | null | undefined;
204
- 'on:transitionend'?: import("svelte/elements").TransitionEventHandler<HTMLButtonElement> | null | undefined;
205
- 'on:transitioncancel'?: import("svelte/elements").TransitionEventHandler<HTMLButtonElement> | null | undefined;
206
- 'on:outrostart'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLButtonElement> | null | undefined;
207
- 'on:outroend'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLButtonElement> | null | undefined;
208
- 'on:introstart'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLButtonElement> | null | undefined;
209
- 'on:introend'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLButtonElement> | null | undefined;
210
- 'on:message'?: import("svelte/elements").MessageEventHandler<HTMLButtonElement> | null | undefined;
211
- 'on:messageerror'?: import("svelte/elements").MessageEventHandler<HTMLButtonElement> | null | undefined;
212
- 'on:visibilitychange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
213
- 'on:cancel'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
214
- 'on:close'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
215
- 'on:fullscreenchange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
216
- 'on:fullscreenerror'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
217
- formaction?: string | null | undefined;
218
- formenctype?: string | null | undefined;
219
- formmethod?: string | null | undefined;
220
- formnovalidate?: boolean | null | undefined;
221
- formtarget?: string | null | undefined;
4
+ props: Omit<import("svelte/elements").HTMLButtonAttributes & {
5
+ mode: XRSessionMode;
6
+ sessionInit?: (XRSessionInit & {
7
+ domOverlay?: {
8
+ root: HTMLElement;
9
+ } | undefined;
10
+ }) | undefined;
222
11
  force?: "enter" | "exit" | undefined;
223
12
  styled?: boolean | undefined;
224
- };
13
+ }, "mode" | "sessionInit">;
225
14
  events: {
226
15
  click: CustomEvent<{
227
16
  state: "blocked" | "unsupported" | "insecure" | "supported";
@@ -17,7 +17,6 @@ display info about your WebXR session. This is aliased by `ARButton` and
17
17
  />
18
18
  ```
19
19
  -->
20
-
21
20
  <script>import { createEventDispatcher } from "svelte";
22
21
  import { getXRSupportState } from "../lib/getXRSupportState";
23
22
  import { toggleXRSession } from "../lib/toggleXRSession";
@@ -29,7 +28,9 @@ export let styled = true;
29
28
  const dispatch = createEventDispatcher();
30
29
  const handleButtonClick = async (nativeEvent, state) => {
31
30
  if (!$xr) {
32
- throw new Error("The <XR> component was not created. This is required to start an XR session.");
31
+ throw new Error(
32
+ "The <XR> component was not created. This is required to start an XR session."
33
+ );
33
34
  }
34
35
  dispatch("click", { state, nativeEvent });
35
36
  if (state !== "supported")
@@ -1,225 +1,8 @@
1
1
  /// <reference types="webxr" />
2
2
  import { SvelteComponent } from "svelte";
3
+ import type { HTMLButtonAttributes } from 'svelte/elements';
3
4
  declare const __propDef: {
4
- props: {
5
- disabled?: boolean | null | undefined;
6
- form?: string | null | undefined;
7
- formaction?: string | null | undefined;
8
- formenctype?: string | null | undefined;
9
- formmethod?: string | null | undefined;
10
- formnovalidate?: boolean | null | undefined;
11
- formtarget?: string | null | undefined;
12
- name?: string | null | undefined;
13
- type?: "button" | "reset" | "submit" | null | undefined;
14
- value?: string | number | string[] | null | undefined;
15
- accesskey?: string | null | undefined;
16
- autofocus?: boolean | null | undefined;
17
- class?: string | null | undefined;
18
- contenteditable?: "inherit" | import("svelte/elements").Booleanish | null | undefined;
19
- contextmenu?: string | null | undefined;
20
- dir?: string | null | undefined;
21
- draggable?: import("svelte/elements").Booleanish | null | undefined;
22
- enterkeyhint?: "search" | "next" | "done" | "enter" | "go" | "previous" | "send" | null | undefined;
23
- hidden?: boolean | null | undefined;
24
- id?: string | null | undefined;
25
- lang?: string | null | undefined;
26
- part?: string | null | undefined;
27
- placeholder?: string | null | undefined;
28
- slot?: string | null | undefined;
29
- spellcheck?: import("svelte/elements").Booleanish | null | undefined;
30
- style?: string | null | undefined;
31
- tabindex?: number | null | undefined;
32
- title?: string | null | undefined;
33
- translate?: "" | "yes" | "no" | null | undefined;
34
- inert?: boolean | null | undefined;
35
- radiogroup?: string | null | undefined;
36
- role?: import("svelte/elements").AriaRole | null | undefined;
37
- about?: string | null | undefined;
38
- datatype?: string | null | undefined;
39
- inlist?: any;
40
- prefix?: string | null | undefined;
41
- property?: string | null | undefined;
42
- resource?: string | null | undefined;
43
- typeof?: string | null | undefined;
44
- vocab?: string | null | undefined;
45
- autocapitalize?: string | null | undefined;
46
- autocorrect?: string | null | undefined;
47
- autosave?: string | null | undefined;
48
- color?: string | null | undefined;
49
- itemprop?: string | null | undefined;
50
- itemscope?: boolean | null | undefined;
51
- itemtype?: string | null | undefined;
52
- itemid?: string | null | undefined;
53
- itemref?: string | null | undefined;
54
- results?: number | null | undefined;
55
- security?: string | null | undefined;
56
- unselectable?: "off" | "on" | null | undefined;
57
- inputmode?: "search" | "numeric" | "none" | "url" | "text" | "email" | "tel" | "decimal" | null | undefined;
58
- is?: string | null | undefined;
59
- 'bind:innerHTML'?: string | null | undefined;
60
- 'bind:textContent'?: string | null | undefined;
61
- 'bind:innerText'?: string | null | undefined;
62
- 'bind:contentRect'?: DOMRectReadOnly | null | undefined;
63
- 'bind:contentBoxSize'?: ResizeObserverSize[] | null | undefined;
64
- 'bind:borderBoxSize'?: ResizeObserverSize[] | null | undefined;
65
- 'bind:devicePixelContentBoxSize'?: ResizeObserverSize[] | null | undefined;
66
- 'data-sveltekit-keepfocus'?: true | "" | "off" | null | undefined;
67
- 'data-sveltekit-noscroll'?: true | "" | "off" | null | undefined;
68
- 'data-sveltekit-preload-code'?: true | "" | "off" | "eager" | "viewport" | "hover" | "tap" | null | undefined;
69
- 'data-sveltekit-preload-data'?: true | "" | "off" | "hover" | "tap" | null | undefined;
70
- 'data-sveltekit-reload'?: true | "" | "off" | null | undefined;
71
- 'data-sveltekit-replacestate'?: true | "" | "off" | null | undefined;
72
- 'aria-activedescendant'?: string | null | undefined;
73
- 'aria-atomic'?: import("svelte/elements").Booleanish | null | undefined;
74
- 'aria-autocomplete'?: "inline" | "both" | "none" | "list" | null | undefined;
75
- 'aria-busy'?: import("svelte/elements").Booleanish | null | undefined;
76
- 'aria-checked'?: boolean | "false" | "true" | "mixed" | null | undefined;
77
- 'aria-colcount'?: number | null | undefined;
78
- 'aria-colindex'?: number | null | undefined;
79
- 'aria-colspan'?: number | null | undefined;
80
- 'aria-controls'?: string | null | undefined;
81
- 'aria-current'?: "time" | "location" | "page" | import("svelte/elements").Booleanish | "step" | "date" | null | undefined;
82
- 'aria-describedby'?: string | null | undefined;
83
- 'aria-details'?: string | null | undefined;
84
- 'aria-disabled'?: import("svelte/elements").Booleanish | null | undefined;
85
- 'aria-dropeffect'?: "link" | "none" | "copy" | "move" | "execute" | "popup" | null | undefined;
86
- 'aria-errormessage'?: string | null | undefined;
87
- 'aria-expanded'?: import("svelte/elements").Booleanish | null | undefined;
88
- 'aria-flowto'?: string | null | undefined;
89
- 'aria-grabbed'?: import("svelte/elements").Booleanish | null | undefined;
90
- 'aria-haspopup'?: "grid" | "dialog" | "menu" | import("svelte/elements").Booleanish | "listbox" | "tree" | null | undefined;
91
- 'aria-hidden'?: import("svelte/elements").Booleanish | null | undefined;
92
- 'aria-invalid'?: import("svelte/elements").Booleanish | "grammar" | "spelling" | null | undefined;
93
- 'aria-keyshortcuts'?: string | null | undefined;
94
- 'aria-label'?: string | null | undefined;
95
- 'aria-labelledby'?: string | null | undefined;
96
- 'aria-level'?: number | null | undefined;
97
- 'aria-live'?: "off" | "assertive" | "polite" | null | undefined;
98
- 'aria-modal'?: import("svelte/elements").Booleanish | null | undefined;
99
- 'aria-multiline'?: import("svelte/elements").Booleanish | null | undefined;
100
- 'aria-multiselectable'?: import("svelte/elements").Booleanish | null | undefined;
101
- 'aria-orientation'?: "horizontal" | "vertical" | null | undefined;
102
- 'aria-owns'?: string | null | undefined;
103
- 'aria-placeholder'?: string | null | undefined;
104
- 'aria-posinset'?: number | null | undefined;
105
- 'aria-pressed'?: boolean | "false" | "true" | "mixed" | null | undefined;
106
- 'aria-readonly'?: import("svelte/elements").Booleanish | null | undefined;
107
- 'aria-relevant'?: "all" | "text" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | null | undefined;
108
- 'aria-required'?: import("svelte/elements").Booleanish | null | undefined;
109
- 'aria-roledescription'?: string | null | undefined;
110
- 'aria-rowcount'?: number | null | undefined;
111
- 'aria-rowindex'?: number | null | undefined;
112
- 'aria-rowspan'?: number | null | undefined;
113
- 'aria-selected'?: import("svelte/elements").Booleanish | null | undefined;
114
- 'aria-setsize'?: number | null | undefined;
115
- 'aria-sort'?: "none" | "other" | "ascending" | "descending" | null | undefined;
116
- 'aria-valuemax'?: number | null | undefined;
117
- 'aria-valuemin'?: number | null | undefined;
118
- 'aria-valuenow'?: number | null | undefined;
119
- 'aria-valuetext'?: string | null | undefined;
120
- 'on:copy'?: import("svelte/elements").ClipboardEventHandler<HTMLButtonElement> | null | undefined;
121
- 'on:cut'?: import("svelte/elements").ClipboardEventHandler<HTMLButtonElement> | null | undefined;
122
- 'on:paste'?: import("svelte/elements").ClipboardEventHandler<HTMLButtonElement> | null | undefined;
123
- 'on:compositionend'?: import("svelte/elements").CompositionEventHandler<HTMLButtonElement> | null | undefined;
124
- 'on:compositionstart'?: import("svelte/elements").CompositionEventHandler<HTMLButtonElement> | null | undefined;
125
- 'on:compositionupdate'?: import("svelte/elements").CompositionEventHandler<HTMLButtonElement> | null | undefined;
126
- 'on:focus'?: import("svelte/elements").FocusEventHandler<HTMLButtonElement> | null | undefined;
127
- 'on:focusin'?: import("svelte/elements").FocusEventHandler<HTMLButtonElement> | null | undefined;
128
- 'on:focusout'?: import("svelte/elements").FocusEventHandler<HTMLButtonElement> | null | undefined;
129
- 'on:blur'?: import("svelte/elements").FocusEventHandler<HTMLButtonElement> | null | undefined;
130
- 'on:change'?: import("svelte/elements").FormEventHandler<HTMLButtonElement> | null | undefined;
131
- 'on:beforeinput'?: import("svelte/elements").EventHandler<InputEvent, HTMLButtonElement> | null | undefined;
132
- 'on:input'?: import("svelte/elements").FormEventHandler<HTMLButtonElement> | null | undefined;
133
- 'on:reset'?: import("svelte/elements").FormEventHandler<HTMLButtonElement> | null | undefined;
134
- 'on:submit'?: import("svelte/elements").EventHandler<SubmitEvent, HTMLButtonElement> | null | undefined;
135
- 'on:invalid'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
136
- 'on:formdata'?: import("svelte/elements").EventHandler<FormDataEvent, HTMLButtonElement> | null | undefined;
137
- 'on:load'?: import("svelte/elements").EventHandler<Event, Element> | null | undefined;
138
- 'on:error'?: import("svelte/elements").EventHandler<Event, Element> | null | undefined;
139
- 'on:toggle'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
140
- 'on:keydown'?: import("svelte/elements").KeyboardEventHandler<HTMLButtonElement> | null | undefined;
141
- 'on:keypress'?: import("svelte/elements").KeyboardEventHandler<HTMLButtonElement> | null | undefined;
142
- 'on:keyup'?: import("svelte/elements").KeyboardEventHandler<HTMLButtonElement> | null | undefined;
143
- 'on:abort'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
144
- 'on:canplay'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
145
- 'on:canplaythrough'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
146
- 'on:cuechange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
147
- 'on:durationchange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
148
- 'on:emptied'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
149
- 'on:encrypted'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
150
- 'on:ended'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
151
- 'on:loadeddata'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
152
- 'on:loadedmetadata'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
153
- 'on:loadstart'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
154
- 'on:pause'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
155
- 'on:play'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
156
- 'on:playing'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
157
- 'on:progress'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
158
- 'on:ratechange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
159
- 'on:seeked'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
160
- 'on:seeking'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
161
- 'on:stalled'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
162
- 'on:suspend'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
163
- 'on:timeupdate'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
164
- 'on:volumechange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
165
- 'on:waiting'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
166
- 'on:auxclick'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
167
- 'on:click'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
168
- 'on:contextmenu'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
169
- 'on:dblclick'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
170
- 'on:drag'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
171
- 'on:dragend'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
172
- 'on:dragenter'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
173
- 'on:dragexit'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
174
- 'on:dragleave'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
175
- 'on:dragover'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
176
- 'on:dragstart'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
177
- 'on:drop'?: import("svelte/elements").DragEventHandler<HTMLButtonElement> | null | undefined;
178
- 'on:mousedown'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
179
- 'on:mouseenter'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
180
- 'on:mouseleave'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
181
- 'on:mousemove'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
182
- 'on:mouseout'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
183
- 'on:mouseover'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
184
- 'on:mouseup'?: import("svelte/elements").MouseEventHandler<HTMLButtonElement> | null | undefined;
185
- 'on:select'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
186
- 'on:selectionchange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
187
- 'on:selectstart'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
188
- 'on:touchcancel'?: import("svelte/elements").TouchEventHandler<HTMLButtonElement> | null | undefined;
189
- 'on:touchend'?: import("svelte/elements").TouchEventHandler<HTMLButtonElement> | null | undefined;
190
- 'on:touchmove'?: import("svelte/elements").TouchEventHandler<HTMLButtonElement> | null | undefined;
191
- 'on:touchstart'?: import("svelte/elements").TouchEventHandler<HTMLButtonElement> | null | undefined;
192
- 'on:gotpointercapture'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
193
- 'on:pointercancel'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
194
- 'on:pointerdown'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
195
- 'on:pointerenter'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
196
- 'on:pointerleave'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
197
- 'on:pointermove'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
198
- 'on:pointerout'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
199
- 'on:pointerover'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
200
- 'on:pointerup'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
201
- 'on:lostpointercapture'?: import("svelte/elements").PointerEventHandler<HTMLButtonElement> | null | undefined;
202
- 'on:scroll'?: import("svelte/elements").UIEventHandler<HTMLButtonElement> | null | undefined;
203
- 'on:resize'?: import("svelte/elements").UIEventHandler<HTMLButtonElement> | null | undefined;
204
- 'on:wheel'?: import("svelte/elements").WheelEventHandler<HTMLButtonElement> | null | undefined;
205
- 'on:animationstart'?: import("svelte/elements").AnimationEventHandler<HTMLButtonElement> | null | undefined;
206
- 'on:animationend'?: import("svelte/elements").AnimationEventHandler<HTMLButtonElement> | null | undefined;
207
- 'on:animationiteration'?: import("svelte/elements").AnimationEventHandler<HTMLButtonElement> | null | undefined;
208
- 'on:transitionstart'?: import("svelte/elements").TransitionEventHandler<HTMLButtonElement> | null | undefined;
209
- 'on:transitionrun'?: import("svelte/elements").TransitionEventHandler<HTMLButtonElement> | null | undefined;
210
- 'on:transitionend'?: import("svelte/elements").TransitionEventHandler<HTMLButtonElement> | null | undefined;
211
- 'on:transitioncancel'?: import("svelte/elements").TransitionEventHandler<HTMLButtonElement> | null | undefined;
212
- 'on:outrostart'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLButtonElement> | null | undefined;
213
- 'on:outroend'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLButtonElement> | null | undefined;
214
- 'on:introstart'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLButtonElement> | null | undefined;
215
- 'on:introend'?: import("svelte/elements").EventHandler<CustomEvent<null>, HTMLButtonElement> | null | undefined;
216
- 'on:message'?: import("svelte/elements").MessageEventHandler<HTMLButtonElement> | null | undefined;
217
- 'on:messageerror'?: import("svelte/elements").MessageEventHandler<HTMLButtonElement> | null | undefined;
218
- 'on:visibilitychange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
219
- 'on:cancel'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
220
- 'on:close'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
221
- 'on:fullscreenchange'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
222
- 'on:fullscreenerror'?: import("svelte/elements").EventHandler<Event, HTMLButtonElement> | null | undefined;
5
+ props: HTMLButtonAttributes & {
223
6
  mode: XRSessionMode;
224
7
  sessionInit?: (XRSessionInit & {
225
8
  domOverlay?: {
@@ -43,9 +43,7 @@ $:
43
43
  shaderMaterial.uniforms.color.value = color;
44
44
  </script>
45
45
 
46
- <T.Mesh
47
- scale={size}
48
- >
46
+ <T.Mesh scale={size}>
49
47
  <T.PlaneGeometry />
50
48
  <T is={shaderMaterial} />
51
49
  </T.Mesh>
@@ -15,9 +15,7 @@ $:
15
15
  rotation.x={-Math.PI / 2}
16
16
  position.z={-0.1}
17
17
  >
18
- <T.CylinderGeometry
19
- args={[0.002, 0.002, 0.2, 16, 1, false]}
20
- />
18
+ <T.CylinderGeometry args={[0.002, 0.002, 0.2, 16, 1, false]} />
21
19
  <T.RawShaderMaterial
22
20
  transparent
23
21
  vertexShader={`
@@ -42,4 +40,3 @@ $:
42
40
  </T.Mesh>
43
41
  </slot>
44
42
  </T.Group>
45
-
@@ -1,7 +1,7 @@
1
1
  <script>import { Vector3, QuadraticBezierCurve3, Vector2 } from "three";
2
- import { Line2 } from "three/examples/jsm/lines/Line2";
3
- import { LineGeometry } from "three/examples/jsm/lines/LineGeometry";
4
- import { LineMaterial } from "three/examples/jsm/lines/LineMaterial";
2
+ import { Line2 } from "three/examples/jsm/lines/Line2.js";
3
+ import { LineGeometry } from "three/examples/jsm/lines/LineGeometry.js";
4
+ import { LineMaterial } from "three/examples/jsm/lines/LineMaterial.js";
5
5
  import { T, useTask } from "@threlte/core";
6
6
  import { teleportIntersection } from "../../internal/stores";
7
7
  export let handedness;
@@ -1,4 +1,4 @@
1
- import { XRControllerModelFactory } from 'three/examples/jsm/webxr/XRControllerModelFactory';
1
+ import { XRControllerModelFactory } from 'three/examples/jsm/webxr/XRControllerModelFactory.js';
2
2
  import { useThrelte } from '@threlte/core';
3
3
  import { onMount } from 'svelte';
4
4
  import { useHandTrackingState } from './useHandTrackingState';
@@ -1,4 +1,4 @@
1
- import { XRHandModelFactory } from 'three/examples/jsm/webxr/XRHandModelFactory';
1
+ import { XRHandModelFactory } from 'three/examples/jsm/webxr/XRHandModelFactory.js';
2
2
  import { useThrelte } from '@threlte/core';
3
3
  import { onMount } from 'svelte';
4
4
  import { left, right } from '../hooks/useHand';
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /// <reference types="webxr" />
2
2
  import type { Event, Group, XRTargetRaySpace, XRGripSpace, XRHandSpace } from 'three';
3
- import type { XRControllerModel } from 'three/examples/jsm/webxr/XRControllerModelFactory';
4
- import type { XRHandModel } from 'three/examples/jsm/webxr/XRHandModelFactory';
3
+ import type { XRControllerModel } from 'three/examples/jsm/webxr/XRControllerModelFactory.js';
4
+ import type { XRHandModel } from 'three/examples/jsm/webxr/XRHandModelFactory.js';
5
5
  export type XRSessionEventType = 'sessionstart' | 'sessionend' | 'visibilitychange' | 'frameratechange';
6
6
  export type XRControllerEventType = 'select' | 'selectstart' | 'selectend' | 'squeeze' | 'squeezeend' | 'squeezestart' | 'disconnected' | 'connected';
7
7
  export type XRHandEventType = 'pinchstart' | 'pinchend' | 'connected' | 'disconnected';
package/package.json CHANGED
@@ -1,34 +1,55 @@
1
1
  {
2
2
  "name": "@threlte/xr",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "author": "Micheal Parks <michealparks1989@gmail.com> (https://parks.lol)",
5
5
  "license": "MIT",
6
+ "description": "Tools to more easily create VR and AR experiences with Threlte",
6
7
  "devDependencies": {
7
- "@sveltejs/adapter-auto": "^2.1.0",
8
- "@sveltejs/kit": "^1.26.0",
9
- "@sveltejs/package": "^2.2.2",
10
- "@typescript-eslint/eslint-plugin": "^6.8.0",
11
- "@typescript-eslint/parser": "^6.8.0",
12
- "eslint": "^8.51.0",
13
- "eslint-plugin-svelte": "^2.34.0",
14
- "svelte-check": "^3.5.2",
15
- "typescript": "^5.2.2",
16
- "@types/three": "^0.158.3",
17
- "autoprefixer": "^10.4.14",
18
- "postcss": "^8.4.27",
19
- "publint": "^0.1.16",
20
- "svelte": "^4.1.1",
21
- "three": "^0.158.0",
22
- "tslib": "^2.6.0",
23
- "vite": "^4.4.6",
24
- "vite-plugin-mkcert": "^1.16.0",
25
- "@threlte/core": "7.0.4"
8
+ "@sveltejs/adapter-auto": "^3.1.1",
9
+ "@sveltejs/kit": "^2.4.3",
10
+ "@sveltejs/package": "^2.2.6",
11
+ "@sveltejs/vite-plugin-svelte": "^3.0.1",
12
+ "@typescript-eslint/eslint-plugin": "^6.19.1",
13
+ "@typescript-eslint/parser": "^6.19.1",
14
+ "eslint": "^8.56.0",
15
+ "eslint-plugin-svelte": "^2.35.1",
16
+ "svelte-check": "^3.6.3",
17
+ "typescript": "^5.3.3",
18
+ "@types/three": "^0.160.0",
19
+ "autoprefixer": "^10.4.17",
20
+ "postcss": "^8.4.33",
21
+ "publint": "^0.2.7",
22
+ "svelte": "^4.2.9",
23
+ "three": "^0.160.1",
24
+ "tslib": "^2.6.2",
25
+ "vite": "^5.0.12",
26
+ "vite-plugin-mkcert": "^1.17.3",
27
+ "@threlte/core": "7.3.1"
26
28
  },
27
29
  "peerDependencies": {
28
30
  "svelte": ">=4",
29
- "three": ">=0.133"
31
+ "three": ">=0.152"
30
32
  },
31
33
  "type": "module",
34
+ "keywords": [
35
+ "webxr",
36
+ "vr",
37
+ "ar",
38
+ "threlte",
39
+ "svelte",
40
+ "three",
41
+ "three.js",
42
+ "3d"
43
+ ],
44
+ "homepage": "https://threlte.xyz",
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "https://github.com/threlte/threlte.git",
48
+ "directory": "packages/xr"
49
+ },
50
+ "bugs": {
51
+ "url": "https://github.com/threlte/threlte/issues"
52
+ },
32
53
  "exports": {
33
54
  ".": {
34
55
  "types": "./dist/index.d.ts",