winui-svelte 0.0.6 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/API.md +955 -22
- package/README.md +25 -5
- package/dist/app/activate.d.ts.map +1 -1
- package/dist/app/activate.js +3 -0
- package/dist/app/activate.js.map +1 -1
- package/dist/app/activation/index.d.ts +3 -0
- package/dist/app/activation/index.d.ts.map +1 -1
- package/dist/app/activation/index.js +2 -0
- package/dist/app/activation/index.js.map +1 -1
- package/dist/app/activation/login.d.ts +2 -1
- package/dist/app/activation/login.d.ts.map +1 -1
- package/dist/app/activation/login.js +2 -1
- package/dist/app/activation/login.js.map +1 -1
- package/dist/app/activation/native.js +1 -2
- package/dist/app/activation/native.js.map +1 -1
- package/dist/app/activation/packaged.d.ts +49 -0
- package/dist/app/activation/packaged.d.ts.map +1 -0
- package/dist/app/activation/packaged.js +90 -0
- package/dist/app/activation/packaged.js.map +1 -0
- package/dist/app/activation/receive.d.ts +11 -2
- package/dist/app/activation/receive.d.ts.map +1 -1
- package/dist/app/activation/receive.js +11 -4
- package/dist/app/activation/receive.js.map +1 -1
- package/dist/app/activation/registration.d.ts +3 -3
- package/dist/app/activation/registration.js +7 -7
- package/dist/app/activation/registration.js.map +1 -1
- package/dist/app/activation/scheme.d.ts +10 -0
- package/dist/app/activation/scheme.d.ts.map +1 -1
- package/dist/app/activation/scheme.js +17 -0
- package/dist/app/activation/scheme.js.map +1 -1
- package/dist/app/index.d.ts +4 -2
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.js +3 -1
- package/dist/app/index.js.map +1 -1
- package/dist/app/instance-running.d.ts +15 -0
- package/dist/app/instance-running.d.ts.map +1 -0
- package/dist/app/instance-running.js +20 -0
- package/dist/app/instance-running.js.map +1 -0
- package/dist/app/jump-list/native.d.ts.map +1 -1
- package/dist/app/jump-list/native.js +1 -2
- package/dist/app/jump-list/native.js.map +1 -1
- package/dist/app/launch-command.d.ts +11 -6
- package/dist/app/launch-command.d.ts.map +1 -1
- package/dist/app/launch-command.js +16 -5
- package/dist/app/launch-command.js.map +1 -1
- package/dist/app/native-messaging/browsers.d.ts +19 -0
- package/dist/app/native-messaging/browsers.d.ts.map +1 -0
- package/dist/app/native-messaging/browsers.js +17 -0
- package/dist/app/native-messaging/browsers.js.map +1 -0
- package/dist/app/native-messaging/index.d.ts +41 -0
- package/dist/app/native-messaging/index.d.ts.map +1 -0
- package/dist/app/native-messaging/index.js +84 -0
- package/dist/app/native-messaging/index.js.map +1 -0
- package/dist/app/native.d.ts +0 -6
- package/dist/app/native.d.ts.map +1 -1
- package/dist/app/native.js +1 -24
- package/dist/app/native.js.map +1 -1
- package/dist/app/notification-source.d.ts.map +1 -1
- package/dist/app/notification-source.js +1 -2
- package/dist/app/notification-source.js.map +1 -1
- package/dist/app/shell/native.js +1 -2
- package/dist/app/shell/native.js.map +1 -1
- package/dist/app/single-instance.d.ts +27 -1
- package/dist/app/single-instance.d.ts.map +1 -1
- package/dist/app/single-instance.js +32 -10
- package/dist/app/single-instance.js.map +1 -1
- package/dist/app/tray-instance.d.ts +4 -3
- package/dist/app/tray-instance.d.ts.map +1 -1
- package/dist/app/tray-instance.js +7 -5
- package/dist/app/tray-instance.js.map +1 -1
- package/dist/automation/backend.d.ts +51 -0
- package/dist/automation/backend.d.ts.map +1 -0
- package/dist/automation/backend.js +5 -0
- package/dist/automation/backend.js.map +1 -0
- package/dist/automation/client.d.ts +97 -0
- package/dist/automation/client.d.ts.map +1 -0
- package/dist/automation/client.js +203 -0
- package/dist/automation/client.js.map +1 -0
- package/dist/automation/ids.d.ts +90 -0
- package/dist/automation/ids.d.ts.map +1 -0
- package/dist/automation/ids.js +84 -0
- package/dist/automation/ids.js.map +1 -0
- package/dist/automation/index.d.ts +13 -0
- package/dist/automation/index.d.ts.map +1 -0
- package/dist/automation/index.js +8 -0
- package/dist/automation/index.js.map +1 -0
- package/dist/automation/native.d.ts +11 -0
- package/dist/automation/native.d.ts.map +1 -0
- package/dist/automation/native.js +594 -0
- package/dist/automation/native.js.map +1 -0
- package/dist/automation/text.d.ts +50 -0
- package/dist/automation/text.d.ts.map +1 -0
- package/dist/automation/text.js +110 -0
- package/dist/automation/text.js.map +1 -0
- package/dist/automation/with-client.d.ts +13 -0
- package/dist/automation/with-client.d.ts.map +1 -0
- package/dist/automation/with-client.js +19 -0
- package/dist/automation/with-client.js.map +1 -0
- package/dist/automation/worker-job.d.ts +32 -0
- package/dist/automation/worker-job.d.ts.map +1 -0
- package/dist/automation/worker-job.js +69 -0
- package/dist/automation/worker-job.js.map +1 -0
- package/dist/automation/worker.d.ts +44 -0
- package/dist/automation/worker.d.ts.map +1 -0
- package/dist/automation/worker.js +70 -0
- package/dist/automation/worker.js.map +1 -0
- package/dist/bindings/.dynwinrt-js-types +198 -0
- package/dist/bindings/.dynwinrt-managed +1 -1
- package/dist/bindings/index.d.ts +15 -0
- package/dist/bindings/index.js +20 -0
- package/dist/bindings/index.mjs +2902 -2882
- package/dist/bindings/index.proxy.js +10 -0
- package/dist/bindings/windows/application-model/activation/ActivationKind.d.ts +49 -0
- package/dist/bindings/windows/application-model/activation/ActivationKind.js +50 -0
- package/dist/bindings/windows/application-model/activation/ApplicationExecutionState.d.ts +9 -0
- package/dist/bindings/windows/application-model/activation/ApplicationExecutionState.js +10 -0
- package/dist/bindings/windows/application-model/activation/IActivatedEventArgs.d.ts +36 -0
- package/dist/bindings/windows/application-model/activation/IActivatedEventArgs.js +149 -0
- package/dist/bindings/windows/application-model/activation/IActivatedEventArgsWithUser.d.ts +28 -0
- package/dist/bindings/windows/application-model/activation/IActivatedEventArgsWithUser.js +119 -0
- package/dist/bindings/windows/application-model/activation/IApplicationViewActivatedEventArgs.d.ts +27 -0
- package/dist/bindings/windows/application-model/activation/IApplicationViewActivatedEventArgs.js +116 -0
- package/dist/bindings/windows/application-model/activation/IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData.d.ts +31 -0
- package/dist/bindings/windows/application-model/activation/IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData.js +131 -0
- package/dist/bindings/windows/application-model/activation/IViewSwitcherProvider.d.ts +28 -0
- package/dist/bindings/windows/application-model/activation/IViewSwitcherProvider.js +119 -0
- package/dist/bindings/windows/application-model/activation/ProtocolActivatedEventArgs.d.ts +25 -0
- package/dist/bindings/windows/application-model/activation/ProtocolActivatedEventArgs.js +166 -0
- package/dist/bindings/windows/application-model/activation/SplashScreen.d.ts +35 -0
- package/dist/bindings/windows/application-model/activation/SplashScreen.js +105 -0
- package/dist/bindings/windows/foundation/TypedEventHandler_WindowsApplicationModelActivationSplashScreen_Object_g7a7dbfa699cd28ff.d.ts +7 -0
- package/dist/bindings/windows/foundation/TypedEventHandler_WindowsApplicationModelActivationSplashScreen_Object_g7a7dbfa699cd28ff.js +7 -0
- package/dist/bindings/windows/ui/view-management/ActivationViewSwitcher.d.ts +12 -0
- package/dist/bindings/windows/ui/view-management/ActivationViewSwitcher.js +96 -0
- package/dist/chrome/context-menus/context-menu-schema.d.ts +4 -4
- package/dist/chrome/context-menus/context-menu-schema.d.ts.map +1 -1
- package/dist/chrome/context-menus/context-menu-schema.js +1 -7
- package/dist/chrome/context-menus/context-menu-schema.js.map +1 -1
- package/dist/chrome/notifications/notification-schema.d.ts +2 -2
- package/dist/chrome/parse-or-throw.d.ts +7 -0
- package/dist/chrome/parse-or-throw.d.ts.map +1 -0
- package/dist/chrome/parse-or-throw.js +9 -0
- package/dist/chrome/parse-or-throw.js.map +1 -0
- package/dist/chrome/permissions/permission-schema.d.ts.map +1 -1
- package/dist/chrome/permissions/permission-schema.js +1 -7
- package/dist/chrome/permissions/permission-schema.js.map +1 -1
- package/dist/chrome/windows/chrome-windows.d.ts.map +1 -1
- package/dist/chrome/windows/chrome-windows.js +1 -7
- package/dist/chrome/windows/chrome-windows.js.map +1 -1
- package/dist/components/hand-written/Window.svelte +2 -0
- package/dist/components/hand-written/items/keyed-rows.svelte.d.ts.map +1 -1
- package/dist/components/hand-written/items/keyed-rows.svelte.js +6 -0
- package/dist/components/hand-written/items/keyed-rows.svelte.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/runtime.svelte.d.ts.map +1 -1
- package/dist/components/runtime.svelte.js +7 -0
- package/dist/components/runtime.svelte.js.map +1 -1
- package/dist/components/window-context.d.ts +14 -0
- package/dist/components/window-context.d.ts.map +1 -0
- package/dist/components/window-context.js +20 -0
- package/dist/components/window-context.js.map +1 -0
- package/dist/composition/expression.d.ts +1 -1
- package/dist/css/runtime/containers.d.ts.map +1 -1
- package/dist/css/runtime/containers.js +1 -17
- package/dist/css/runtime/containers.js.map +1 -1
- package/dist/css/runtime/native.d.ts.map +1 -1
- package/dist/css/runtime/native.js +40 -20
- package/dist/css/runtime/native.js.map +1 -1
- package/dist/css/translate/property-kit.d.ts +9 -0
- package/dist/css/translate/property-kit.d.ts.map +1 -1
- package/dist/css/translate/property-kit.js.map +1 -1
- package/dist/css/translate/transition-properties.d.ts +1 -1
- package/dist/css/translate/transition-properties.d.ts.map +1 -1
- package/dist/css/translate/transition-properties.js +32 -5
- package/dist/css/translate/transition-properties.js.map +1 -1
- package/dist/data-transfer/data-transfer.d.ts +3 -3
- package/dist/data-transfer/data-transfer.d.ts.map +1 -1
- package/dist/data-transfer/data-transfer.js.map +1 -1
- package/dist/data-transfer/drag-effects.d.ts +25 -2
- package/dist/data-transfer/drag-effects.d.ts.map +1 -1
- package/dist/data-transfer/drag-effects.js +27 -2
- package/dist/data-transfer/drag-effects.js.map +1 -1
- package/dist/data-transfer/drag-helper.d.ts +50 -0
- package/dist/data-transfer/drag-helper.d.ts.map +1 -0
- package/dist/data-transfer/drag-helper.js +156 -0
- package/dist/data-transfer/drag-helper.js.map +1 -0
- package/dist/data-transfer/drop-target.d.ts +6 -5
- package/dist/data-transfer/drop-target.d.ts.map +1 -1
- package/dist/data-transfer/drop-target.js +68 -20
- package/dist/data-transfer/drop-target.js.map +1 -1
- package/dist/data-transfer/index.d.ts +1 -0
- package/dist/data-transfer/index.d.ts.map +1 -1
- package/dist/data-transfer/index.js.map +1 -1
- package/dist/data-transfer/launcher.d.ts +4 -3
- package/dist/data-transfer/launcher.d.ts.map +1 -1
- package/dist/data-transfer/launcher.js +58 -9
- package/dist/data-transfer/launcher.js.map +1 -1
- package/dist/data-transfer/native.d.ts +66 -0
- package/dist/data-transfer/native.d.ts.map +1 -0
- package/dist/data-transfer/native.js +148 -0
- package/dist/data-transfer/native.js.map +1 -0
- package/dist/data-transfer/ole-data-object.d.ts +62 -0
- package/dist/data-transfer/ole-data-object.d.ts.map +1 -0
- package/dist/data-transfer/ole-data-object.js +162 -0
- package/dist/data-transfer/ole-data-object.js.map +1 -0
- package/dist/data-transfer/ole-drop-target.d.ts +54 -0
- package/dist/data-transfer/ole-drop-target.d.ts.map +1 -0
- package/dist/data-transfer/ole-drop-target.js +192 -0
- package/dist/data-transfer/ole-drop-target.js.map +1 -0
- package/dist/data-transfer/share-interop.d.ts.map +1 -1
- package/dist/data-transfer/share-interop.js +1 -1
- package/dist/data-transfer/share-interop.js.map +1 -1
- package/dist/data-transfer/shell-items.d.ts +10 -0
- package/dist/data-transfer/shell-items.d.ts.map +1 -0
- package/dist/data-transfer/shell-items.js +67 -0
- package/dist/data-transfer/shell-items.js.map +1 -0
- package/dist/data-transfer/window-drop.d.ts +35 -0
- package/dist/data-transfer/window-drop.d.ts.map +1 -0
- package/dist/data-transfer/window-drop.js +311 -0
- package/dist/data-transfer/window-drop.js.map +1 -0
- package/dist/devices/native.js +1 -2
- package/dist/devices/native.js.map +1 -1
- package/dist/downloads/chrome-downloads.d.ts +8 -0
- package/dist/downloads/chrome-downloads.d.ts.map +1 -1
- package/dist/downloads/chrome-downloads.js +35 -6
- package/dist/downloads/chrome-downloads.js.map +1 -1
- package/dist/downloads/download-record.d.ts +3 -2
- package/dist/downloads/download-record.d.ts.map +1 -1
- package/dist/downloads/download-record.js.map +1 -1
- package/dist/downloads/download-transfer.d.ts.map +1 -1
- package/dist/downloads/download-transfer.js +3 -3
- package/dist/downloads/download-transfer.js.map +1 -1
- package/dist/downloads/download-types.d.ts +3 -1
- package/dist/downloads/download-types.d.ts.map +1 -1
- package/dist/downloads/download-types.js.map +1 -1
- package/dist/downloads/fetch-to-file.d.ts +11 -6
- package/dist/downloads/fetch-to-file.d.ts.map +1 -1
- package/dist/downloads/fetch-to-file.js +45 -16
- package/dist/downloads/fetch-to-file.js.map +1 -1
- package/dist/downloads/taskbar-progress.d.ts +3 -18
- package/dist/downloads/taskbar-progress.d.ts.map +1 -1
- package/dist/downloads/taskbar-progress.js +1 -38
- package/dist/downloads/taskbar-progress.js.map +1 -1
- package/dist/enums.d.ts +4 -0
- package/dist/enums.d.ts.map +1 -1
- package/dist/enums.js +4 -0
- package/dist/enums.js.map +1 -1
- package/dist/forms/form-field-props.d.ts +2 -2
- package/dist/input/index.d.ts +2 -0
- package/dist/input/index.d.ts.map +1 -1
- package/dist/input/index.js +1 -0
- package/dist/input/index.js.map +1 -1
- package/dist/input/modifier-keys.d.ts +24 -0
- package/dist/input/modifier-keys.d.ts.map +1 -0
- package/dist/input/modifier-keys.js +20 -0
- package/dist/input/modifier-keys.js.map +1 -0
- package/dist/media/pixel-buffer.d.ts.map +1 -1
- package/dist/media/pixel-buffer.js +1 -1
- package/dist/media/pixel-buffer.js.map +1 -1
- package/dist/messaging/web-view2/core.d.ts +56 -0
- package/dist/messaging/web-view2/core.d.ts.map +1 -1
- package/dist/messaging/web-view2/core.js +6 -0
- package/dist/messaging/web-view2/core.js.map +1 -1
- package/dist/messaging/web-view2/environment.d.ts +41 -0
- package/dist/messaging/web-view2/environment.d.ts.map +1 -0
- package/dist/messaging/web-view2/environment.js +91 -0
- package/dist/messaging/web-view2/environment.js.map +1 -0
- package/dist/messaging/web-view2/index.d.ts +9 -1
- package/dist/messaging/web-view2/index.d.ts.map +1 -1
- package/dist/messaging/web-view2/index.js +5 -0
- package/dist/messaging/web-view2/index.js.map +1 -1
- package/dist/messaging/web-view2/input.d.ts +68 -0
- package/dist/messaging/web-view2/input.d.ts.map +1 -0
- package/dist/messaging/web-view2/input.js +108 -0
- package/dist/messaging/web-view2/input.js.map +1 -0
- package/dist/messaging/web-view2/protocol.d.ts +24 -0
- package/dist/messaging/web-view2/protocol.d.ts.map +1 -0
- package/dist/messaging/web-view2/protocol.js +31 -0
- package/dist/messaging/web-view2/protocol.js.map +1 -0
- package/dist/messaging/web-view2/recovery.d.ts +65 -0
- package/dist/messaging/web-view2/recovery.d.ts.map +1 -0
- package/dist/messaging/web-view2/recovery.js +138 -0
- package/dist/messaging/web-view2/recovery.js.map +1 -0
- package/dist/messaging/web-view2/requests.d.ts +88 -0
- package/dist/messaging/web-view2/requests.d.ts.map +1 -0
- package/dist/messaging/web-view2/requests.js +169 -0
- package/dist/messaging/web-view2/requests.js.map +1 -0
- package/dist/messaging/web-view2/transport.d.ts.map +1 -1
- package/dist/messaging/web-view2/transport.js +1 -4
- package/dist/messaging/web-view2/transport.js.map +1 -1
- package/dist/native-identity.d.ts +10 -0
- package/dist/native-identity.d.ts.map +1 -0
- package/dist/native-identity.js +20 -0
- package/dist/native-identity.js.map +1 -0
- package/dist/progress/TaskbarProgress.d.svelte.ts +6 -0
- package/dist/progress/TaskbarProgress.svelte +32 -0
- package/dist/progress/aggregate.d.ts +23 -0
- package/dist/progress/aggregate.d.ts.map +1 -0
- package/dist/progress/aggregate.js +59 -0
- package/dist/progress/aggregate.js.map +1 -0
- package/dist/progress/core.d.ts +14 -0
- package/dist/progress/core.d.ts.map +1 -0
- package/dist/progress/core.js +8 -0
- package/dist/progress/core.js.map +1 -0
- package/dist/progress/index.d.ts +5 -0
- package/dist/progress/index.d.ts.map +1 -0
- package/dist/progress/index.js +4 -0
- package/dist/progress/index.js.map +1 -0
- package/dist/progress/progress-event.d.ts +18 -0
- package/dist/progress/progress-event.d.ts.map +1 -0
- package/dist/progress/progress-event.js +19 -0
- package/dist/progress/progress-event.js.map +1 -0
- package/dist/progress/progress-operation.d.ts +163 -0
- package/dist/progress/progress-operation.d.ts.map +1 -0
- package/dist/progress/progress-operation.js +356 -0
- package/dist/progress/progress-operation.js.map +1 -0
- package/dist/progress/progress-registry.d.ts +89 -0
- package/dist/progress/progress-registry.d.ts.map +1 -0
- package/dist/progress/progress-registry.js +187 -0
- package/dist/progress/progress-registry.js.map +1 -0
- package/dist/progress/progress-source.d.ts +46 -0
- package/dist/progress/progress-source.d.ts.map +1 -0
- package/dist/progress/progress-source.js +31 -0
- package/dist/progress/progress-source.js.map +1 -0
- package/dist/progress/progress-state.d.ts +54 -0
- package/dist/progress/progress-state.d.ts.map +1 -0
- package/dist/progress/progress-state.js +35 -0
- package/dist/progress/progress-state.js.map +1 -0
- package/dist/progress/progress-text.d.ts +10 -0
- package/dist/progress/progress-text.d.ts.map +1 -0
- package/dist/progress/progress-text.js +23 -0
- package/dist/progress/progress-text.js.map +1 -0
- package/dist/progress/scoped-source.d.ts +31 -0
- package/dist/progress/scoped-source.d.ts.map +1 -0
- package/dist/progress/scoped-source.js +46 -0
- package/dist/progress/scoped-source.js.map +1 -0
- package/dist/progress/taskbar-progress-props.d.ts +15 -0
- package/dist/progress/taskbar-progress-props.d.ts.map +1 -0
- package/dist/progress/taskbar-progress-props.js +2 -0
- package/dist/progress/taskbar-progress-props.js.map +1 -0
- package/dist/progress/taskbar-progress.d.ts +44 -0
- package/dist/progress/taskbar-progress.d.ts.map +1 -0
- package/dist/progress/taskbar-progress.js +62 -0
- package/dist/progress/taskbar-progress.js.map +1 -0
- package/dist/progress/track-operation.d.ts +36 -0
- package/dist/progress/track-operation.d.ts.map +1 -0
- package/dist/progress/track-operation.js +53 -0
- package/dist/progress/track-operation.js.map +1 -0
- package/dist/renderer/host/host.d.ts.map +1 -1
- package/dist/renderer/host/host.js +33 -16
- package/dist/renderer/host/host.js.map +1 -1
- package/dist/renderer/host/structure-sync.d.ts +9 -0
- package/dist/renderer/host/structure-sync.d.ts.map +1 -0
- package/dist/renderer/host/structure-sync.js +24 -0
- package/dist/renderer/host/structure-sync.js.map +1 -0
- package/dist/security/data-protection-error.d.ts +14 -0
- package/dist/security/data-protection-error.d.ts.map +1 -0
- package/dist/security/data-protection-error.js +15 -0
- package/dist/security/data-protection-error.js.map +1 -0
- package/dist/security/index.d.ts +48 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +32 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/native.d.ts +43 -0
- package/dist/security/native.d.ts.map +1 -0
- package/dist/security/native.js +170 -0
- package/dist/security/native.js.map +1 -0
- package/dist/security/protection-scope.d.ts +13 -0
- package/dist/security/protection-scope.d.ts.map +1 -0
- package/dist/security/protection-scope.js +11 -0
- package/dist/security/protection-scope.js.map +1 -0
- package/dist/store/states.d.ts +2 -2
- package/dist/store/windows-identity.d.ts +2 -6
- package/dist/store/windows-identity.d.ts.map +1 -1
- package/dist/store/windows-identity.js +2 -29
- package/dist/store/windows-identity.js.map +1 -1
- package/dist/store/windows-packages.d.ts +2 -2
- package/dist/store/windows-store.d.ts +2 -2
- package/dist/tray/click-detector.d.ts.map +1 -1
- package/dist/tray/click-detector.js.map +1 -1
- package/dist/tray/flyout-model.d.ts +4 -3
- package/dist/tray/flyout-model.d.ts.map +1 -1
- package/dist/tray/flyout-model.js +12 -2
- package/dist/tray/flyout-model.js.map +1 -1
- package/dist/tray/menu/icon.d.ts +17 -0
- package/dist/tray/menu/icon.d.ts.map +1 -0
- package/dist/tray/menu/icon.js +31 -0
- package/dist/tray/menu/icon.js.map +1 -0
- package/dist/tray/menu/index.d.ts +1 -1
- package/dist/tray/menu/index.d.ts.map +1 -1
- package/dist/tray/menu/index.js.map +1 -1
- package/dist/tray/menu/types.d.ts +23 -6
- package/dist/tray/menu/types.d.ts.map +1 -1
- package/dist/tray/menu/types.js.map +1 -1
- package/dist/tray/menu-svelte/TrayMenuOperations.d.svelte.ts +6 -0
- package/dist/tray/menu-svelte/TrayMenuOperations.svelte +33 -0
- package/dist/tray/menu-svelte/TrayMenuProgress.d.svelte.ts +6 -0
- package/dist/tray/menu-svelte/TrayMenuProgress.svelte +28 -0
- package/dist/tray/menu-svelte/index.d.ts +3 -1
- package/dist/tray/menu-svelte/index.d.ts.map +1 -1
- package/dist/tray/menu-svelte/index.js +2 -0
- package/dist/tray/menu-svelte/index.js.map +1 -1
- package/dist/tray/menu-svelte/menu-node.d.ts +9 -9
- package/dist/tray/menu-svelte/menu-props.d.ts +16 -0
- package/dist/tray/menu-svelte/menu-props.d.ts.map +1 -1
- package/dist/tray/menu-svelte/operation-ids.d.ts +8 -0
- package/dist/tray/menu-svelte/operation-ids.d.ts.map +1 -0
- package/dist/tray/menu-svelte/operation-ids.js +20 -0
- package/dist/tray/menu-svelte/operation-ids.js.map +1 -0
- package/dist/tray/native.d.ts +15 -5
- package/dist/tray/native.d.ts.map +1 -1
- package/dist/tray/native.js +27 -45
- package/dist/tray/native.js.map +1 -1
- package/dist/tray/personalize.d.ts +18 -0
- package/dist/tray/personalize.d.ts.map +1 -0
- package/dist/tray/personalize.js +42 -0
- package/dist/tray/personalize.js.map +1 -0
- package/dist/tray/pointer-share.d.ts +27 -0
- package/dist/tray/pointer-share.d.ts.map +1 -0
- package/dist/tray/pointer-share.js +61 -0
- package/dist/tray/pointer-share.js.map +1 -0
- package/dist/tray/standalone/icon-raster.d.ts +72 -0
- package/dist/tray/standalone/icon-raster.d.ts.map +1 -0
- package/dist/tray/standalone/icon-raster.js +161 -0
- package/dist/tray/standalone/icon-raster.js.map +1 -0
- package/dist/tray/standalone/index.d.ts +4 -2
- package/dist/tray/standalone/index.d.ts.map +1 -1
- package/dist/tray/standalone/index.js +2 -0
- package/dist/tray/standalone/index.js.map +1 -1
- package/dist/tray/standalone/menu-icons.d.ts +9 -0
- package/dist/tray/standalone/menu-icons.d.ts.map +1 -0
- package/dist/tray/standalone/menu-icons.js +280 -0
- package/dist/tray/standalone/menu-icons.js.map +1 -0
- package/dist/tray/standalone/menu-theme.d.ts +38 -0
- package/dist/tray/standalone/menu-theme.d.ts.map +1 -0
- package/dist/tray/standalone/menu-theme.js +74 -0
- package/dist/tray/standalone/menu-theme.js.map +1 -0
- package/dist/tray/standalone/native.d.ts +24 -7
- package/dist/tray/standalone/native.d.ts.map +1 -1
- package/dist/tray/standalone/native.js +63 -16
- package/dist/tray/standalone/native.js.map +1 -1
- package/dist/tray/standalone/standalone-tray.d.ts +17 -2
- package/dist/tray/standalone/standalone-tray.d.ts.map +1 -1
- package/dist/tray/standalone/standalone-tray.js +34 -2
- package/dist/tray/standalone/standalone-tray.js.map +1 -1
- package/dist/tray/themed-icon.d.ts.map +1 -1
- package/dist/tray/themed-icon.js +4 -28
- package/dist/tray/themed-icon.js.map +1 -1
- package/dist/tray/tray-core.d.ts.map +1 -1
- package/dist/tray/tray-core.js +6 -1
- package/dist/tray/tray-core.js.map +1 -1
- package/dist/tray/tray-extras.d.ts +26 -2
- package/dist/tray/tray-extras.d.ts.map +1 -1
- package/dist/tray/tray-manifest.d.ts +44 -4
- package/dist/tray/tray-manifest.d.ts.map +1 -1
- package/dist/tray/tray-manifest.js +48 -4
- package/dist/tray/tray-manifest.js.map +1 -1
- package/dist/vite/entrypoints/build-tray.d.ts +3 -1
- package/dist/vite/entrypoints/build-tray.d.ts.map +1 -1
- package/dist/vite/entrypoints/build-tray.js +22 -16
- package/dist/vite/entrypoints/build-tray.js.map +1 -1
- package/dist/vite/entrypoints/extract-tray.d.ts +7 -6
- package/dist/vite/entrypoints/extract-tray.d.ts.map +1 -1
- package/dist/vite/entrypoints/extract-tray.js +35 -15
- package/dist/vite/entrypoints/extract-tray.js.map +1 -1
- package/dist/vite/entrypoints/tray-module.d.ts +2 -1
- package/dist/vite/entrypoints/tray-module.d.ts.map +1 -1
- package/dist/vite/entrypoints/tray-module.js +8 -4
- package/dist/vite/entrypoints/tray-module.js.map +1 -1
- package/dist/web-apis/eye-dropper.d.ts.map +1 -1
- package/dist/web-apis/eye-dropper.js +8 -5
- package/dist/web-apis/eye-dropper.js.map +1 -1
- package/dist/web-apis/file-read.d.ts +14 -0
- package/dist/web-apis/file-read.d.ts.map +1 -0
- package/dist/web-apis/file-read.js +37 -0
- package/dist/web-apis/file-read.js.map +1 -0
- package/dist/web-apis/file-system.d.ts +9 -0
- package/dist/web-apis/file-system.d.ts.map +1 -1
- package/dist/web-apis/file-system.js +24 -0
- package/dist/web-apis/file-system.js.map +1 -1
- package/dist/web-apis/media-devices-source.d.ts +1 -1
- package/dist/web-apis/native.d.ts +0 -7
- package/dist/web-apis/native.d.ts.map +1 -1
- package/dist/web-apis/native.js +0 -19
- package/dist/web-apis/native.js.map +1 -1
- package/dist/win2d/activation-failure.d.ts +10 -0
- package/dist/win2d/activation-failure.d.ts.map +1 -0
- package/dist/win2d/activation-failure.js +30 -0
- package/dist/win2d/activation-failure.js.map +1 -0
- package/dist/win2d/element-lifecycle.d.ts.map +1 -1
- package/dist/win2d/element-lifecycle.js +6 -1
- package/dist/win2d/element-lifecycle.js.map +1 -1
- package/dist/win2d/manifest.d.ts +29 -0
- package/dist/win2d/manifest.d.ts.map +1 -0
- package/dist/win2d/manifest.js +67 -0
- package/dist/win2d/manifest.js.map +1 -0
- package/dist/win32/index.d.ts +3 -0
- package/dist/win32/index.d.ts.map +1 -0
- package/dist/win32/index.js +11 -0
- package/dist/win32/index.js.map +1 -0
- package/dist/win32-calls.d.ts +6 -0
- package/dist/win32-calls.d.ts.map +1 -1
- package/dist/win32-calls.js +6 -1
- package/dist/win32-calls.js.map +1 -1
- package/dist/win32-foreground.d.ts +34 -0
- package/dist/win32-foreground.d.ts.map +1 -0
- package/dist/win32-foreground.js +91 -0
- package/dist/win32-foreground.js.map +1 -0
- package/dist/win32-icons.d.ts.map +1 -1
- package/dist/win32-icons.js +1 -2
- package/dist/win32-icons.js.map +1 -1
- package/dist/win32-key-state.d.ts +31 -0
- package/dist/win32-key-state.d.ts.map +1 -0
- package/dist/win32-key-state.js +41 -0
- package/dist/win32-key-state.js.map +1 -0
- package/dist/window/anchor.d.ts +15 -0
- package/dist/window/anchor.d.ts.map +1 -1
- package/dist/window/anchor.js +23 -0
- package/dist/window/anchor.js.map +1 -1
- package/dist/window/apply-frame.d.ts +4 -2
- package/dist/window/apply-frame.d.ts.map +1 -1
- package/dist/window/apply-frame.js +2 -3
- package/dist/window/apply-frame.js.map +1 -1
- package/dist/window/bootstrap-core.d.ts +69 -0
- package/dist/window/bootstrap-core.d.ts.map +1 -0
- package/dist/window/bootstrap-core.js +93 -0
- package/dist/window/bootstrap-core.js.map +1 -0
- package/dist/window/bootstrap-mode.d.ts +21 -0
- package/dist/window/bootstrap-mode.d.ts.map +1 -0
- package/dist/window/bootstrap-mode.js +17 -0
- package/dist/window/bootstrap-mode.js.map +1 -0
- package/dist/window/bootstrap.d.ts +12 -28
- package/dist/window/bootstrap.d.ts.map +1 -1
- package/dist/window/bootstrap.js +18 -66
- package/dist/window/bootstrap.js.map +1 -1
- package/dist/window/cover.d.ts +43 -0
- package/dist/window/cover.d.ts.map +1 -0
- package/dist/window/cover.js +64 -0
- package/dist/window/cover.js.map +1 -0
- package/dist/window/create-window.d.ts +1 -1
- package/dist/window/create-window.d.ts.map +1 -1
- package/dist/window/create-window.js +2 -0
- package/dist/window/create-window.js.map +1 -1
- package/dist/window/dpi-awareness.d.ts +71 -0
- package/dist/window/dpi-awareness.d.ts.map +1 -0
- package/dist/window/dpi-awareness.js +127 -0
- package/dist/window/dpi-awareness.js.map +1 -0
- package/dist/window/foreground-filter.d.ts +71 -0
- package/dist/window/foreground-filter.d.ts.map +1 -0
- package/dist/window/foreground-filter.js +108 -0
- package/dist/window/foreground-filter.js.map +1 -0
- package/dist/window/foreground-native.d.ts +25 -0
- package/dist/window/foreground-native.d.ts.map +1 -0
- package/dist/window/foreground-native.js +86 -0
- package/dist/window/foreground-native.js.map +1 -0
- package/dist/window/foreground.d.ts +49 -0
- package/dist/window/foreground.d.ts.map +1 -0
- package/dist/window/foreground.js +78 -0
- package/dist/window/foreground.js.map +1 -0
- package/dist/window/index.d.ts +2 -0
- package/dist/window/index.d.ts.map +1 -1
- package/dist/window/index.js +1 -0
- package/dist/window/index.js.map +1 -1
- package/dist/window/native.d.ts.map +1 -1
- package/dist/window/native.js +1 -2
- package/dist/window/native.js.map +1 -1
- package/dist/window/package-identity.d.ts +17 -0
- package/dist/window/package-identity.d.ts.map +1 -0
- package/dist/window/package-identity.js +97 -0
- package/dist/window/package-identity.js.map +1 -0
- package/dist/window/system-dispatcher-queue.d.ts.map +1 -1
- package/dist/window/system-dispatcher-queue.js +1 -2
- package/dist/window/system-dispatcher-queue.js.map +1 -1
- package/dist/window/taskbar-calls.d.ts +1 -1
- package/dist/window/taskbar-native.d.ts.map +1 -1
- package/dist/window/taskbar-native.js +1 -2
- package/dist/window/taskbar-native.js.map +1 -1
- package/dist/window/window-handle.d.ts +25 -1
- package/dist/window/window-handle.d.ts.map +1 -1
- package/dist/window/window-handle.js +27 -1
- package/dist/window/window-handle.js.map +1 -1
- package/dist/window/window-host.svelte.d.ts +11 -2
- package/dist/window/window-host.svelte.d.ts.map +1 -1
- package/dist/window/window-host.svelte.js +38 -4
- package/dist/window/window-host.svelte.js.map +1 -1
- package/package.json +43 -4
- package/src/app/activate.ts +3 -0
- package/src/app/activation/index.ts +3 -0
- package/src/app/activation/login.ts +2 -1
- package/src/app/activation/native.ts +1 -1
- package/src/app/activation/packaged.ts +118 -0
- package/src/app/activation/receive.ts +24 -4
- package/src/app/activation/registration.ts +7 -7
- package/src/app/activation/scheme.ts +19 -0
- package/src/app/index.ts +4 -2
- package/src/app/instance-running.ts +22 -0
- package/src/app/jump-list/native.ts +1 -2
- package/src/app/launch-command.ts +19 -5
- package/src/app/native-messaging/browsers.ts +21 -0
- package/src/app/native-messaging/index.ts +124 -0
- package/src/app/native.ts +1 -32
- package/src/app/notification-source.ts +1 -3
- package/src/app/shell/native.ts +1 -1
- package/src/app/single-instance.ts +34 -10
- package/src/app/tray-instance.ts +7 -5
- package/src/automation/backend.ts +56 -0
- package/src/automation/client.ts +327 -0
- package/src/automation/ids.ts +97 -0
- package/src/automation/index.ts +23 -0
- package/src/automation/native.ts +688 -0
- package/src/automation/text.ts +174 -0
- package/src/automation/with-client.ts +20 -0
- package/src/automation/worker-job.ts +97 -0
- package/src/automation/worker.ts +116 -0
- package/src/chrome/context-menus/context-menu-schema.ts +1 -12
- package/src/chrome/parse-or-throw.ts +14 -0
- package/src/chrome/permissions/permission-schema.ts +1 -12
- package/src/chrome/windows/chrome-windows.ts +1 -13
- package/src/components/hand-written/items/keyed-rows.svelte.ts +6 -0
- package/src/components/index.ts +1 -0
- package/src/components/runtime.svelte.ts +8 -0
- package/src/components/window-context.ts +23 -0
- package/src/css/runtime/containers.ts +1 -20
- package/src/css/runtime/native.ts +46 -21
- package/src/css/translate/property-kit.ts +9 -0
- package/src/css/translate/transition-properties.ts +44 -10
- package/src/data-transfer/data-transfer.ts +3 -3
- package/src/data-transfer/drag-effects.ts +48 -4
- package/src/data-transfer/drag-helper.ts +216 -0
- package/src/data-transfer/drop-target.ts +90 -26
- package/src/data-transfer/index.ts +1 -0
- package/src/data-transfer/launcher.ts +65 -9
- package/src/data-transfer/native.ts +184 -0
- package/src/data-transfer/ole-data-object.ts +200 -0
- package/src/data-transfer/ole-drop-target.ts +263 -0
- package/src/data-transfer/share-interop.ts +1 -1
- package/src/data-transfer/shell-items.ts +81 -0
- package/src/data-transfer/window-drop.ts +411 -0
- package/src/devices/native.ts +1 -1
- package/src/downloads/chrome-downloads.ts +46 -6
- package/src/downloads/download-record.ts +3 -2
- package/src/downloads/download-transfer.ts +3 -3
- package/src/downloads/download-types.ts +3 -0
- package/src/downloads/fetch-to-file.ts +47 -17
- package/src/downloads/taskbar-progress.ts +3 -49
- package/src/enums.ts +4 -0
- package/src/input/index.ts +2 -0
- package/src/input/modifier-keys.ts +30 -0
- package/src/media/pixel-buffer.ts +1 -1
- package/src/messaging/web-view2/core.ts +64 -0
- package/src/messaging/web-view2/environment.ts +131 -0
- package/src/messaging/web-view2/index.ts +11 -0
- package/src/messaging/web-view2/input.ts +154 -0
- package/src/messaging/web-view2/protocol.ts +41 -0
- package/src/messaging/web-view2/recovery.ts +177 -0
- package/src/messaging/web-view2/requests.ts +238 -0
- package/src/messaging/web-view2/transport.ts +1 -5
- package/src/native-identity.ts +22 -0
- package/src/progress/TaskbarProgress.d.svelte.ts +6 -0
- package/src/progress/aggregate.ts +68 -0
- package/src/progress/core.ts +13 -0
- package/src/progress/index.ts +4 -0
- package/src/progress/progress-event.ts +25 -0
- package/src/progress/progress-operation.ts +469 -0
- package/src/progress/progress-registry.ts +224 -0
- package/src/progress/progress-source.ts +66 -0
- package/src/progress/progress-state.ts +72 -0
- package/src/progress/progress-text.ts +27 -0
- package/src/progress/scoped-source.ts +56 -0
- package/src/progress/taskbar-progress-props.ts +18 -0
- package/src/progress/taskbar-progress.ts +80 -0
- package/src/progress/track-operation.ts +81 -0
- package/src/renderer/host/host.ts +39 -17
- package/src/renderer/host/structure-sync.ts +25 -0
- package/src/security/data-protection-error.ts +18 -0
- package/src/security/index.ts +57 -0
- package/src/security/native.ts +234 -0
- package/src/security/protection-scope.ts +13 -0
- package/src/store/windows-identity.ts +3 -35
- package/src/tray/click-detector.ts +6 -7
- package/src/tray/flyout-model.ts +14 -3
- package/src/tray/menu/icon.ts +40 -0
- package/src/tray/menu/index.ts +3 -0
- package/src/tray/menu/types.ts +27 -6
- package/src/tray/menu-svelte/TrayMenuOperations.d.svelte.ts +6 -0
- package/src/tray/menu-svelte/TrayMenuProgress.d.svelte.ts +6 -0
- package/src/tray/menu-svelte/index.ts +4 -0
- package/src/tray/menu-svelte/menu-props.ts +20 -0
- package/src/tray/menu-svelte/operation-ids.ts +21 -0
- package/src/tray/native.ts +44 -49
- package/src/tray/personalize.ts +57 -0
- package/src/tray/pointer-share.ts +71 -0
- package/src/tray/standalone/icon-raster.ts +208 -0
- package/src/tray/standalone/index.ts +5 -1
- package/src/tray/standalone/menu-icons.ts +317 -0
- package/src/tray/standalone/menu-theme.ts +90 -0
- package/src/tray/standalone/native.ts +83 -16
- package/src/tray/standalone/standalone-tray.ts +68 -5
- package/src/tray/themed-icon.ts +4 -36
- package/src/tray/tray-core.ts +7 -1
- package/src/tray/tray-extras.ts +31 -2
- package/src/tray/tray-manifest.ts +53 -4
- package/src/vite/entrypoints/build-tray.ts +23 -16
- package/src/vite/entrypoints/extract-tray.ts +41 -15
- package/src/vite/entrypoints/tray-module.ts +8 -4
- package/src/web-apis/eye-dropper.ts +9 -5
- package/src/web-apis/file-read.ts +43 -0
- package/src/web-apis/file-system.ts +33 -0
- package/src/web-apis/native.ts +0 -20
- package/src/win2d/activation-failure.ts +35 -0
- package/src/win2d/element-lifecycle.ts +6 -1
- package/src/win2d/manifest.ts +78 -0
- package/src/win32/index.ts +19 -0
- package/src/win32-calls.ts +8 -1
- package/src/win32-foreground.ts +100 -0
- package/src/win32-icons.ts +7 -2
- package/src/win32-key-state.ts +48 -0
- package/src/window/anchor.ts +28 -0
- package/src/window/apply-frame.ts +6 -4
- package/src/window/bootstrap-core.ts +165 -0
- package/src/window/bootstrap-mode.ts +23 -0
- package/src/window/bootstrap.ts +20 -103
- package/src/window/cover.ts +100 -0
- package/src/window/create-window.ts +4 -0
- package/src/window/dpi-awareness.ts +162 -0
- package/src/window/foreground-filter.ts +167 -0
- package/src/window/foreground-native.ts +91 -0
- package/src/window/foreground.ts +106 -0
- package/src/window/index.ts +2 -0
- package/src/window/native.ts +1 -1
- package/src/window/package-identity.ts +112 -0
- package/src/window/system-dispatcher-queue.ts +7 -2
- package/src/window/taskbar-native.ts +1 -2
- package/src/window/window-handle.ts +29 -1
- package/src/window/window-host.svelte.ts +59 -6
- package/web-types.json +11 -3
|
@@ -69,6 +69,7 @@ export interface CssWinui {
|
|
|
69
69
|
// the runtime targets the element's own brush by its Color, whatever the element's type.
|
|
70
70
|
const BRUSH_COLOR_PATH = /^(\w)(\w*)\.\(SolidColorBrush\.Color\)$/u;
|
|
71
71
|
const BRUSH_COLOR = "Color";
|
|
72
|
+
const XAML_ELEMENT_NAME = /^<\w+/u;
|
|
72
73
|
|
|
73
74
|
function subscribeToEvent({ control, event, handler }: {
|
|
74
75
|
control: object;
|
|
@@ -87,6 +88,33 @@ function subscribeToEvent({ control, event, handler }: {
|
|
|
87
88
|
return typeof unsubscribe === "function" ? () => unsubscribe() : null;
|
|
88
89
|
}
|
|
89
90
|
|
|
91
|
+
// Runs `run` now on a loaded control, else when it loads; returns what stops waiting.
|
|
92
|
+
function whenLoaded({ control, run }: {
|
|
93
|
+
control: object;
|
|
94
|
+
run: () => void;
|
|
95
|
+
}) {
|
|
96
|
+
const isLoaded = readMember({
|
|
97
|
+
target: control,
|
|
98
|
+
key: "isLoaded"
|
|
99
|
+
}) === true;
|
|
100
|
+
if (isLoaded) {
|
|
101
|
+
run();
|
|
102
|
+
return () => undefined;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
const unsubscribe = subscribeToEvent({
|
|
106
|
+
control,
|
|
107
|
+
event: "Loaded",
|
|
108
|
+
handler: run
|
|
109
|
+
});
|
|
110
|
+
return () => unsubscribe?.();
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// A WinUI property's name as its projected member (`OpacityTransition` is `opacityTransition`).
|
|
114
|
+
function memberOf(property: string) {
|
|
115
|
+
return `${property.charAt(0).toLowerCase()}${property.slice(1)}`;
|
|
116
|
+
}
|
|
117
|
+
|
|
90
118
|
function isRecord(value: NativeValue): value is Record<string, NativeValue> {
|
|
91
119
|
return (typeof value === "object" || typeof value === "function") && value !== null;
|
|
92
120
|
}
|
|
@@ -267,8 +295,20 @@ export function createCssNative(winui: CssWinui) {
|
|
|
267
295
|
definitions.append(definition);
|
|
268
296
|
}
|
|
269
297
|
},
|
|
298
|
+
setTransition({ control, property, xaml }) {
|
|
299
|
+
const key = memberOf(property);
|
|
300
|
+
const transition = winui.XamlReader.load(xaml.replace(XAML_ELEMENT_NAME, `$& ${XAML_NAMESPACES}`));
|
|
301
|
+
const unsubscribe = whenLoaded({
|
|
302
|
+
control,
|
|
303
|
+
run: () => Object.assign(control, { [key]: transition })
|
|
304
|
+
});
|
|
305
|
+
return () => {
|
|
306
|
+
unsubscribe();
|
|
307
|
+
Object.assign(control, { [key]: null });
|
|
308
|
+
};
|
|
309
|
+
},
|
|
270
310
|
setComposition({ control, property, value }) {
|
|
271
|
-
const key =
|
|
311
|
+
const key = memberOf(property);
|
|
272
312
|
const [horizontal = 0, vertical = 0, depth = 0] = value.split(",").map(Number);
|
|
273
313
|
const isRotation = property === "Rotation";
|
|
274
314
|
const resting = property === "Scale" ? 1 : 0;
|
|
@@ -282,31 +322,16 @@ export function createCssNative(winui: CssWinui) {
|
|
|
282
322
|
isPlaced = true;
|
|
283
323
|
}
|
|
284
324
|
|
|
285
|
-
const
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}) === true;
|
|
289
|
-
if (isLoaded) {
|
|
290
|
-
place({
|
|
325
|
+
const unsubscribe = whenLoaded({
|
|
326
|
+
control,
|
|
327
|
+
run: () => place({
|
|
291
328
|
x: horizontal,
|
|
292
329
|
y: vertical,
|
|
293
330
|
z: depth
|
|
294
|
-
})
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
const unsubscribe = isLoaded ? null : subscribeToEvent({
|
|
298
|
-
control,
|
|
299
|
-
event: "Loaded",
|
|
300
|
-
handler() {
|
|
301
|
-
place({
|
|
302
|
-
x: horizontal,
|
|
303
|
-
y: vertical,
|
|
304
|
-
z: depth
|
|
305
|
-
});
|
|
306
|
-
}
|
|
331
|
+
})
|
|
307
332
|
});
|
|
308
333
|
return () => {
|
|
309
|
-
unsubscribe
|
|
334
|
+
unsubscribe();
|
|
310
335
|
|
|
311
336
|
if (isPlaced) {
|
|
312
337
|
place({
|
|
@@ -61,6 +61,15 @@ export interface WriteSeam {
|
|
|
61
61
|
property: string;
|
|
62
62
|
value: string;
|
|
63
63
|
}): () => void;
|
|
64
|
+
/**
|
|
65
|
+
* Gives the control an implicit transition of its own (`OpacityTransition`),
|
|
66
|
+
* made from its XAML, once the control has loaded; returns what takes it off.
|
|
67
|
+
*/
|
|
68
|
+
setTransition(input: {
|
|
69
|
+
control: object;
|
|
70
|
+
property: string;
|
|
71
|
+
xaml: string;
|
|
72
|
+
}): () => void;
|
|
64
73
|
/** Assigns properties of the control (`{ centerPoint: ... }`). */
|
|
65
74
|
assign(control: object, values: Readonly<Record<string, unknown>>): void;
|
|
66
75
|
/** Calls `handler` on a WinUI event (PointerEntered...); null if the control has no such event. */
|
|
@@ -511,25 +511,58 @@ function entryOutputs({ input, reader, entry }: {
|
|
|
511
511
|
|
|
512
512
|
for (const [target, type] of targets) {
|
|
513
513
|
outputs.push({
|
|
514
|
-
kind: "
|
|
515
|
-
|
|
516
|
-
|
|
514
|
+
kind: "write",
|
|
515
|
+
target,
|
|
516
|
+
value: `<${type} Duration="${duration(milliseconds)}"/>`
|
|
517
517
|
});
|
|
518
518
|
}
|
|
519
519
|
|
|
520
520
|
return outputs;
|
|
521
521
|
}
|
|
522
522
|
|
|
523
|
+
// One transition per WinUI property: a later entry (`all, opacity 1s`) wins.
|
|
524
|
+
function lastPerTarget(outputs: Output[]) {
|
|
525
|
+
return outputs.filter((output, iOutput) => {
|
|
526
|
+
const isOverridden = output.kind === "write" && outputs
|
|
527
|
+
.slice(iOutput + 1)
|
|
528
|
+
.some(later => later.kind === "write" && later.target === output.target);
|
|
529
|
+
return !isOverridden;
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
/**
|
|
534
|
+
* An implicit transition is written to each element, not set by its Style: a
|
|
535
|
+
* Setter's value is one object that every element of the Style shares, and
|
|
536
|
+
* WinUI crashes when that shared transition animates (a ListView row restyled
|
|
537
|
+
* before it loads).
|
|
538
|
+
*/
|
|
539
|
+
function setImplicitTransition(property: string) {
|
|
540
|
+
return (context: WriteContext) => context.native.setTransition({
|
|
541
|
+
control: context.control,
|
|
542
|
+
property,
|
|
543
|
+
xaml: context.value
|
|
544
|
+
});
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
const implicitHandlers = Object.fromEntries(
|
|
548
|
+
[...new Set([...TRANSITION_TARGETS.values()].flat().map(([target]) => target))].map(target => [
|
|
549
|
+
target,
|
|
550
|
+
setImplicitTransition(target)
|
|
551
|
+
])
|
|
552
|
+
);
|
|
553
|
+
|
|
523
554
|
/** `transition`: WinUI's implicit transition for each animatable property named, and a border color's Storyboard. */
|
|
524
555
|
function transition(input: GroupInput) {
|
|
525
556
|
const reader = input.reading("transition");
|
|
526
|
-
return
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
557
|
+
return lastPerTarget(
|
|
558
|
+
splitCommas(reader.declaration.value)
|
|
559
|
+
.filter(entry => (splitWords(entry)[0] ?? "").toLowerCase() !== "none")
|
|
560
|
+
.flatMap(entry => entryOutputs({
|
|
561
|
+
input,
|
|
562
|
+
reader,
|
|
563
|
+
entry
|
|
564
|
+
}))
|
|
565
|
+
);
|
|
533
566
|
}
|
|
534
567
|
|
|
535
568
|
const storyboardHandlers = Object.fromEntries(
|
|
@@ -558,6 +591,7 @@ export function transitionProperty() {
|
|
|
558
591
|
members: ["transition"],
|
|
559
592
|
lower: transition,
|
|
560
593
|
writes: {
|
|
594
|
+
...implicitHandlers,
|
|
561
595
|
...storyboardHandlers,
|
|
562
596
|
...discreteHandlers
|
|
563
597
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { DropEffectName, EffectAllowedName } from "./drag-effects.ts";
|
|
2
2
|
import { EffectAllowed as Allowed, DropEffect as Effects } from "./drag-effects.ts";
|
|
3
3
|
import type { NativeFile } from "./native-file.ts";
|
|
4
4
|
|
|
@@ -114,9 +114,9 @@ export class DataTransferItemList {
|
|
|
114
114
|
*/
|
|
115
115
|
export class DataTransfer {
|
|
116
116
|
/** What the source lets a target do; a source sets it in `ondragstart`. */
|
|
117
|
-
effectAllowed:
|
|
117
|
+
effectAllowed: EffectAllowedName = Allowed.uninitialized;
|
|
118
118
|
/** What the target will do; a target sets it in `ondragenter` or `ondragover`. */
|
|
119
|
-
dropEffect:
|
|
119
|
+
dropEffect: DropEffectName = Effects.none;
|
|
120
120
|
/** A picture to drag (a path or an in-memory file): WinUI shows its own preview of the data. */
|
|
121
121
|
bitmap: NativeFile | undefined;
|
|
122
122
|
private readonly strings = new Map<string, string>();
|
|
@@ -27,6 +27,18 @@ export const EffectAllowed = {
|
|
|
27
27
|
/** One of `EffectAllowed`'s values. */
|
|
28
28
|
export type EffectAllowed = (typeof EffectAllowed)[keyof typeof EffectAllowed];
|
|
29
29
|
|
|
30
|
+
/**
|
|
31
|
+
* A drop effect as a property takes it: one of `DropEffect`'s values, which an
|
|
32
|
+
* editor suggests, or any other string, which counts as `none`.
|
|
33
|
+
*/
|
|
34
|
+
export type DropEffectName = DropEffect | (string & Record<never, never>);
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* An `effectAllowed` as a property takes it: one of `EffectAllowed`'s values,
|
|
38
|
+
* which an editor suggests, or any other string, which counts as `uninitialized`.
|
|
39
|
+
*/
|
|
40
|
+
export type EffectAllowedName = EffectAllowed | (string & Record<never, never>);
|
|
41
|
+
|
|
30
42
|
const OPERATIONS = {
|
|
31
43
|
[DropEffect.none]: DataPackageOperation.None,
|
|
32
44
|
[DropEffect.copy]: DataPackageOperation.Copy,
|
|
@@ -57,8 +69,16 @@ const PREFERENCE = [DropEffect.copy, DropEffect.move, DropEffect.link] as const;
|
|
|
57
69
|
* @param effect - The drop effect.
|
|
58
70
|
* @returns The `DataPackageOperation` value.
|
|
59
71
|
*/
|
|
60
|
-
export function operationOf(effect:
|
|
61
|
-
return OPERATIONS[effect];
|
|
72
|
+
export function operationOf(effect: DropEffectName) {
|
|
73
|
+
return isDropEffect(effect) ? OPERATIONS[effect] : DataPackageOperation.None;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function isDropEffect(value: string): value is DropEffect {
|
|
77
|
+
return Object.values<string>(DropEffect).includes(value);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function isEffectAllowed(value: string): value is EffectAllowed {
|
|
81
|
+
return Object.values<string>(EffectAllowed).includes(value);
|
|
62
82
|
}
|
|
63
83
|
|
|
64
84
|
/**
|
|
@@ -67,8 +87,8 @@ export function operationOf(effect: DropEffect) {
|
|
|
67
87
|
* @param effectAllowed - What the source allows.
|
|
68
88
|
* @returns The `DataPackageOperation` flags.
|
|
69
89
|
*/
|
|
70
|
-
export function allowedOperationsOf(effectAllowed:
|
|
71
|
-
return ALLOWED[effectAllowed];
|
|
90
|
+
export function allowedOperationsOf(effectAllowed: EffectAllowedName) {
|
|
91
|
+
return isEffectAllowed(effectAllowed) ? ALLOWED[effectAllowed] : ALL_OPERATIONS;
|
|
72
92
|
}
|
|
73
93
|
|
|
74
94
|
/**
|
|
@@ -81,6 +101,30 @@ export function effectOf(operation: number) {
|
|
|
81
101
|
return PREFERENCE.find(effect => (operation & OPERATIONS[effect]) !== 0) ?? DropEffect.none;
|
|
82
102
|
}
|
|
83
103
|
|
|
104
|
+
/**
|
|
105
|
+
* The operation a drop gets: the effect the target chose, or, when the source
|
|
106
|
+
* does not allow it (a folder from Explorer's address bar allows fewer than a
|
|
107
|
+
* file does), the preferred one the source does allow. A target that chose
|
|
108
|
+
* `none` refuses the drag whatever the source allows.
|
|
109
|
+
*
|
|
110
|
+
* @param options - The effect the target chose and the `DataPackageOperation` flags the source allows.
|
|
111
|
+
* @returns The `DataPackageOperation` flags to answer with.
|
|
112
|
+
*/
|
|
113
|
+
export function grantedOperationOf({ effect, allowed }: {
|
|
114
|
+
effect: DropEffectName;
|
|
115
|
+
allowed: number;
|
|
116
|
+
}) {
|
|
117
|
+
const requested = operationOf(effect);
|
|
118
|
+
const isRefusing = requested === DataPackageOperation.None;
|
|
119
|
+
const isAllowed = (requested & allowed) !== 0;
|
|
120
|
+
const isGranted = isRefusing || isAllowed;
|
|
121
|
+
if (isGranted) {
|
|
122
|
+
return requested;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
return operationOf(effectOf(allowed));
|
|
126
|
+
}
|
|
127
|
+
|
|
84
128
|
/**
|
|
85
129
|
* The `effectAllowed` a set of WinUI operation flags is.
|
|
86
130
|
*
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { createInstanceOf, DATA_OBJECT_IID } from "./native.ts";
|
|
2
|
+
import {
|
|
3
|
+
DynCom,
|
|
4
|
+
DynComMethodSig,
|
|
5
|
+
DynComUnsafe,
|
|
6
|
+
DynWinRtValue,
|
|
7
|
+
WinGuid
|
|
8
|
+
} from "@microsoft/dynwinrt/com/unsafe";
|
|
9
|
+
import type { DynWinRTValue } from "@microsoft/dynwinrt/com/unsafe";
|
|
10
|
+
import type { DynComRawMemory } from "@microsoft/dynwinrt/com/unsafe/raw";
|
|
11
|
+
import { DWORD_BYTES, NO_ADDRESS, withMemory } from "#src/win32-calls.js";
|
|
12
|
+
|
|
13
|
+
// The shell draws the picture a drag carries (the folder's thumbnail, the
|
|
14
|
+
// "Copy" or "Link" label) only over a window whose drop target tells the
|
|
15
|
+
// shell's drag helper about the drag; Explorer and every classic app do. This
|
|
16
|
+
// is that call, one helper per window.
|
|
17
|
+
|
|
18
|
+
const DRAG_DROP_HELPER_CLASS = "4657278a-411b-11d2-839a-00c04fd918d0";
|
|
19
|
+
const DROP_TARGET_HELPER_IID = "4657278b-411b-11d2-839a-00c04fd918d0";
|
|
20
|
+
const DRAG_ENTER_SLOT = 3;
|
|
21
|
+
const DRAG_LEAVE_SLOT = 4;
|
|
22
|
+
const DRAG_OVER_SLOT = 5;
|
|
23
|
+
const DROP_SLOT = 6;
|
|
24
|
+
const POINT_BYTES = 8;
|
|
25
|
+
|
|
26
|
+
let cachedInterface: ReturnType<typeof makeInterface> | undefined;
|
|
27
|
+
|
|
28
|
+
function makeInterface() {
|
|
29
|
+
const u32 = DynCom.u32Type();
|
|
30
|
+
const u64 = DynCom.u64Type();
|
|
31
|
+
const data = DynCom.interfaceType(WinGuid.parse(DATA_OBJECT_IID));
|
|
32
|
+
return DynCom.registerIUnknownInterface("IDropTargetHelper", WinGuid.parse(DROP_TARGET_HELPER_IID))
|
|
33
|
+
.addMethod("DragEnter", new DynComMethodSig().addIn(u64).addNullableIn(data).addIn(u64).addIn(u32))
|
|
34
|
+
.addMethod("DragLeave", new DynComMethodSig())
|
|
35
|
+
.addMethod("DragOver", new DynComMethodSig().addIn(u64).addIn(u32))
|
|
36
|
+
.addMethod("Drop", new DynComMethodSig().addNullableIn(data).addIn(u64).addIn(u32));
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function interfaceOf() {
|
|
40
|
+
cachedInterface ??= makeInterface();
|
|
41
|
+
return cachedInterface;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
interface Point {
|
|
45
|
+
readonly x: number;
|
|
46
|
+
readonly y: number;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// The helper reads the point while the call runs, so the memory only lives that long.
|
|
50
|
+
function withPoint({ point, use }: {
|
|
51
|
+
point: Point;
|
|
52
|
+
use: (address: bigint) => boolean;
|
|
53
|
+
}) {
|
|
54
|
+
return withMemory({
|
|
55
|
+
size: POINT_BYTES,
|
|
56
|
+
alignment: DWORD_BYTES,
|
|
57
|
+
use(memory: DynComRawMemory) {
|
|
58
|
+
memory.writeI32(0, point.x);
|
|
59
|
+
memory.writeI32(DWORD_BYTES, point.y);
|
|
60
|
+
return use(memory.pointer().address);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** What tells the shell about a drag over a window, so that it draws the drag's picture there. */
|
|
66
|
+
export interface DragHelper {
|
|
67
|
+
enter(call: {
|
|
68
|
+
readonly data: DynWinRTValue;
|
|
69
|
+
readonly point: Point;
|
|
70
|
+
readonly effect: number;
|
|
71
|
+
}): void;
|
|
72
|
+
over(call: {
|
|
73
|
+
readonly point: Point;
|
|
74
|
+
readonly effect: number;
|
|
75
|
+
}): void;
|
|
76
|
+
leave(): void;
|
|
77
|
+
drop(call: {
|
|
78
|
+
readonly data: DynWinRTValue;
|
|
79
|
+
readonly point: Point;
|
|
80
|
+
readonly effect: number;
|
|
81
|
+
}): void;
|
|
82
|
+
release(): void;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Makes the shell's drag helper for a window.
|
|
87
|
+
*
|
|
88
|
+
* @param hwnd - The window the drop target is registered on.
|
|
89
|
+
* @returns The helper; null when the shell could not make it (the drag then works without a picture).
|
|
90
|
+
*/
|
|
91
|
+
export function createDragHelper(hwnd: bigint) {
|
|
92
|
+
const address = createInstanceOf({
|
|
93
|
+
classId: DRAG_DROP_HELPER_CLASS,
|
|
94
|
+
interfaceId: DROP_TARGET_HELPER_IID
|
|
95
|
+
});
|
|
96
|
+
const isMissing = address === NO_ADDRESS;
|
|
97
|
+
if (isMissing) {
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const helper = DynComUnsafe.adoptOwnedComPointer(address, WinGuid.parse(DROP_TARGET_HELPER_IID));
|
|
102
|
+
const calls = interfaceOf();
|
|
103
|
+
|
|
104
|
+
// A drag whose source gave no picture makes the helper answer with an error (DV_E_FORMATETC):
|
|
105
|
+
// the picture is only decoration, so the drag goes on without it.
|
|
106
|
+
function call({ slot, values }: {
|
|
107
|
+
slot: number;
|
|
108
|
+
values: DynWinRTValue[];
|
|
109
|
+
}) {
|
|
110
|
+
try {
|
|
111
|
+
calls.method(slot).invokeAll(helper, values);
|
|
112
|
+
return true;
|
|
113
|
+
} catch {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// The helper hears of a drag only after it accepted the entry: told of a drag it refused, it
|
|
119
|
+
// keeps the window from receiving the next one when the cursor moves on to another window.
|
|
120
|
+
// A drag that enters where nothing takes it (the window's border) is not told either, and is
|
|
121
|
+
// told once the cursor moves over something that does.
|
|
122
|
+
let isAccepted = false;
|
|
123
|
+
let waiting: DynWinRTValue | null = null;
|
|
124
|
+
|
|
125
|
+
function begin({ data, point, effect }: {
|
|
126
|
+
data: DynWinRTValue;
|
|
127
|
+
point: Point;
|
|
128
|
+
effect: number;
|
|
129
|
+
}) {
|
|
130
|
+
isAccepted = withPoint({
|
|
131
|
+
point,
|
|
132
|
+
use: pointAddress => call({
|
|
133
|
+
slot: DRAG_ENTER_SLOT,
|
|
134
|
+
values: [
|
|
135
|
+
DynWinRtValue.u64(hwnd),
|
|
136
|
+
data,
|
|
137
|
+
DynWinRtValue.u64(pointAddress),
|
|
138
|
+
DynWinRtValue.u32(effect)
|
|
139
|
+
]
|
|
140
|
+
})
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return {
|
|
145
|
+
enter({ data, point, effect }) {
|
|
146
|
+
waiting = data;
|
|
147
|
+
const isRefused = effect === 0;
|
|
148
|
+
if (isRefused) {
|
|
149
|
+
isAccepted = false;
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
begin({
|
|
154
|
+
data,
|
|
155
|
+
point,
|
|
156
|
+
effect
|
|
157
|
+
});
|
|
158
|
+
},
|
|
159
|
+
over({ point, effect }) {
|
|
160
|
+
const pending = waiting;
|
|
161
|
+
const canBegin = !isAccepted && pending !== null && effect !== 0;
|
|
162
|
+
if (canBegin) {
|
|
163
|
+
begin({
|
|
164
|
+
data: pending,
|
|
165
|
+
point,
|
|
166
|
+
effect
|
|
167
|
+
});
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
if (!isAccepted) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
withPoint({
|
|
176
|
+
point,
|
|
177
|
+
use: pointAddress => call({
|
|
178
|
+
slot: DRAG_OVER_SLOT,
|
|
179
|
+
values: [DynWinRtValue.u64(pointAddress), DynWinRtValue.u32(effect)]
|
|
180
|
+
})
|
|
181
|
+
});
|
|
182
|
+
},
|
|
183
|
+
leave() {
|
|
184
|
+
waiting = null;
|
|
185
|
+
|
|
186
|
+
if (!isAccepted) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
isAccepted = false;
|
|
191
|
+
call({
|
|
192
|
+
slot: DRAG_LEAVE_SLOT,
|
|
193
|
+
values: []
|
|
194
|
+
});
|
|
195
|
+
},
|
|
196
|
+
drop({ data, point, effect }) {
|
|
197
|
+
waiting = null;
|
|
198
|
+
|
|
199
|
+
if (!isAccepted) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
isAccepted = false;
|
|
204
|
+
withPoint({
|
|
205
|
+
point,
|
|
206
|
+
use: pointAddress => call({
|
|
207
|
+
slot: DROP_SLOT,
|
|
208
|
+
values: [data, DynWinRtValue.u64(pointAddress), DynWinRtValue.u32(effect)]
|
|
209
|
+
})
|
|
210
|
+
});
|
|
211
|
+
},
|
|
212
|
+
release() {
|
|
213
|
+
helper.release();
|
|
214
|
+
}
|
|
215
|
+
} satisfies DragHelper;
|
|
216
|
+
}
|