@3cr/viewer-browser 0.0.44 → 0.0.47
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/components.d.ts +6 -7
- package/dist/Viewer3CR.js +6 -6
- package/dist/Viewer3CR.mjs +486 -486
- package/dist/Viewer3CR.umd.js +5 -5
- package/package.json +1 -1
- package/src/App.vue +1 -1
- package/src/components/{MftpWebGL3DRModal.vue → modal/MftpWebGL3DRModal.vue} +12 -17
- package/src/components/{DoubleSliderSelector.vue → sliders/DoubleSliderSelector.vue} +1 -0
- package/src/helpers/layoutOverlayStyle.ts +0 -1
- package/src/main.ts +1 -1
- package/scripts/modules.d.ts +0 -2
- package/scripts/postPublish.js +0 -93
- package/scripts/postPublish.ts +0 -106
- package/src/components/HelloWorld.vue +0 -157
- package/src/components/README.md +0 -35
- package/src/plugins/README.md +0 -3
- package/src/types/window.shim.ts +0 -24
- /package/src/components/{ExpansionHeaderMiniMenu.vue → expansion-panels/ExpansionHeaderMiniMenu.vue} +0 -0
- /package/src/components/{LoadingSpinner.vue → loading/LoadingSpinner.vue} +0 -0
- /package/src/components/{SliderSelector.vue → sliders/SliderSelector.vue} +0 -0
- /package/src/components/{VerticalSliderSelector.vue → sliders/VerticalSliderSelector.vue} +0 -0
package/package.json
CHANGED
package/src/App.vue
CHANGED
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
<div class="d-flex align-center pb-1" :class="drawerCollapsed ? 'py-2' : 'pa-2'" @click="snap">
|
|
158
158
|
<img
|
|
159
159
|
v-if="!drawerCollapsed"
|
|
160
|
-
src="
|
|
160
|
+
src="../../assets/images/dark/3dicom-logo.svg"
|
|
161
161
|
height="48"
|
|
162
162
|
alt="logo"
|
|
163
163
|
class="ma-auto"
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
/>
|
|
166
166
|
<img
|
|
167
167
|
v-if="drawerCollapsed"
|
|
168
|
-
src="
|
|
168
|
+
src="../../assets/images/dark/3DICOM.png"
|
|
169
169
|
height="64"
|
|
170
170
|
alt="logo"
|
|
171
171
|
class="ma-auto"
|
|
@@ -296,7 +296,7 @@
|
|
|
296
296
|
</v-card-actions>
|
|
297
297
|
<v-card-actions class="py-3">
|
|
298
298
|
<v-select
|
|
299
|
-
:value="currentColourPreset"
|
|
299
|
+
:model-value="currentColourPreset"
|
|
300
300
|
label="Colour Preset"
|
|
301
301
|
variant="outlined"
|
|
302
302
|
density="compact"
|
|
@@ -510,12 +510,12 @@
|
|
|
510
510
|
</template>
|
|
511
511
|
<script setup lang="ts" >
|
|
512
512
|
|
|
513
|
-
import ExpansionHeaderMiniMenu from '@/components/ExpansionHeaderMiniMenu.vue';
|
|
514
|
-
import LoadingSpinner from '@/components/LoadingSpinner.vue';
|
|
513
|
+
import ExpansionHeaderMiniMenu from '@/components/expansion-panels/ExpansionHeaderMiniMenu.vue';
|
|
514
|
+
import LoadingSpinner from '@/components/loading/LoadingSpinner.vue';
|
|
515
515
|
import WebGL3DR from '@/components/WebGL3DR.vue';
|
|
516
|
-
import DoubleSliderSelector from '@/components/DoubleSliderSelector.vue';
|
|
517
|
-
import SliderSelector from '@/components/SliderSelector.vue';
|
|
518
|
-
import VerticalSliderSelector from '@/components/VerticalSliderSelector.vue';
|
|
516
|
+
import DoubleSliderSelector from '@/components/sliders/DoubleSliderSelector.vue';
|
|
517
|
+
import SliderSelector from '@/components/sliders/SliderSelector.vue';
|
|
518
|
+
import VerticalSliderSelector from '@/components/sliders/VerticalSliderSelector.vue';
|
|
519
519
|
|
|
520
520
|
import { generateDivStyleForLayout } from '@/helpers/layoutOverlayStyle';
|
|
521
521
|
import {
|
|
@@ -529,7 +529,7 @@ import {
|
|
|
529
529
|
import {
|
|
530
530
|
inflateInitialScanState,
|
|
531
531
|
inflateScanState,
|
|
532
|
-
} from '
|
|
532
|
+
} from '../../helpers/modelHelper';
|
|
533
533
|
import {
|
|
534
534
|
AnchorPoint,
|
|
535
535
|
ColourPresetData,
|
|
@@ -541,7 +541,7 @@ import {
|
|
|
541
541
|
|
|
542
542
|
import { toNumber } from '@/helpers/utils';
|
|
543
543
|
import {computed, ref, unref, watch, defineEmits, nextTick} from "vue";
|
|
544
|
-
import {LoadViewerPayload} from "
|
|
544
|
+
import {LoadViewerPayload} from "../../../index";
|
|
545
545
|
|
|
546
546
|
const emit = defineEmits<{
|
|
547
547
|
instanceLoaded: [void];
|
|
@@ -576,12 +576,7 @@ const scanLoading = ref<boolean>(true);
|
|
|
576
576
|
const instanceLoaded = ref<boolean>(true);
|
|
577
577
|
const scanState = ref<CurrentScanState>(inflateScanState());
|
|
578
578
|
const initialScanState = ref<InitialScanState>(inflateInitialScanState());
|
|
579
|
-
const currentColourPreset = ref<ColourPresetData | undefined>(
|
|
580
|
-
Name: 'None',
|
|
581
|
-
ColourGradient: [],
|
|
582
|
-
Version: '1.0.0',
|
|
583
|
-
AlphaGradient: []
|
|
584
|
-
});
|
|
579
|
+
const currentColourPreset = ref<ColourPresetData | undefined>(undefined);
|
|
585
580
|
const openPanels = ref<number>(0);
|
|
586
581
|
const previousLayout = ref<string>('lo_02');
|
|
587
582
|
const footerItems = ref([
|
|
@@ -650,6 +645,7 @@ const transactionStarted = ref<boolean>(false)
|
|
|
650
645
|
const stateOverlay = ref<boolean>(false)
|
|
651
646
|
const m_closeDialog = ref<boolean>(false)
|
|
652
647
|
|
|
648
|
+
watch(currentColourPreset, (val) => {console.log(val)})
|
|
653
649
|
const windowSlider = computed({
|
|
654
650
|
get() {
|
|
655
651
|
return [unref(scanState).Display.WindowLower, unref(scanState).Display.WindowUpper];
|
|
@@ -943,7 +939,6 @@ function getCurrentGreyscalePreset() {
|
|
|
943
939
|
}
|
|
944
940
|
function setScanState(message: string) {
|
|
945
941
|
scanState.value = JSON.parse(message) as CurrentScanState;
|
|
946
|
-
console.log(scanState.value);
|
|
947
942
|
}
|
|
948
943
|
|
|
949
944
|
function handleOnPayload(interfaceSet: string | FrontEndInterfaces, actionSet: string, message: string) {
|
package/src/main.ts
CHANGED
package/scripts/modules.d.ts
DELETED
package/scripts/postPublish.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
// import { CloudFront, S3 } from 'aws-sdk';
|
|
7
|
-
const randomstring_1 = require("randomstring");
|
|
8
|
-
const path_1 = require("path");
|
|
9
|
-
const mime_types_1 = require("mime-types");
|
|
10
|
-
const fs_1 = require("fs");
|
|
11
|
-
const aws_sdk_1 = __importDefault(require("aws-sdk"));
|
|
12
|
-
const package_json_1 = require("../package.json");
|
|
13
|
-
const { CloudFront, S3 } = aws_sdk_1.default;
|
|
14
|
-
//Note: Config is injected in CI now. (leaving this for in case we need to do a local)
|
|
15
|
-
// import dotenv from 'dotenv';
|
|
16
|
-
// dotenv.config();
|
|
17
|
-
const { DIST_NAME, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, BUCKET_NAME } = process.env;
|
|
18
|
-
if (!AWS_ACCESS_KEY_ID || !AWS_SECRET_ACCESS_KEY)
|
|
19
|
-
throw Error('Please define environment variables for AWS');
|
|
20
|
-
if (!DIST_NAME)
|
|
21
|
-
throw Error('Please define environment variables for DIST_NAME');
|
|
22
|
-
const DistributionName = DIST_NAME;
|
|
23
|
-
const BucketName = BUCKET_NAME;
|
|
24
|
-
const s3 = new S3({
|
|
25
|
-
region: 'ap-southeast-2',
|
|
26
|
-
});
|
|
27
|
-
const cloudfront = new CloudFront();
|
|
28
|
-
async function uploadDir(s3Path) {
|
|
29
|
-
for (const name of (0, fs_1.readdirSync)(s3Path)) {
|
|
30
|
-
const filePath = (0, path_1.join)(s3Path, name);
|
|
31
|
-
const stat = (0, fs_1.statSync)(filePath);
|
|
32
|
-
if (stat.isFile()) {
|
|
33
|
-
if (!filePath.endsWith('.map'))
|
|
34
|
-
await executeUpload(s3Path, filePath);
|
|
35
|
-
}
|
|
36
|
-
else if (stat.isDirectory()) {
|
|
37
|
-
await uploadDir(filePath);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
async function executeUpload(s3Path, filePath) {
|
|
42
|
-
const parentDir = s3Path.includes('/')
|
|
43
|
-
? s3Path.substring(0, s3Path.indexOf('/'))
|
|
44
|
-
: s3Path;
|
|
45
|
-
const bucketPath = filePath.substring(parentDir.length + 1);
|
|
46
|
-
const options = {
|
|
47
|
-
Bucket: BucketName,
|
|
48
|
-
Key: `${bucketPath}`,
|
|
49
|
-
Body: (0, fs_1.readFileSync)(filePath).toString().replace("{{version}}", package_json_1.version),
|
|
50
|
-
};
|
|
51
|
-
if (typeof (0, mime_types_1.lookup)(bucketPath) === 'string') {
|
|
52
|
-
options.ContentType = (0, mime_types_1.lookup)(bucketPath);
|
|
53
|
-
}
|
|
54
|
-
await s3.putObject(options).promise();
|
|
55
|
-
}
|
|
56
|
-
async function deployToAws() {
|
|
57
|
-
const listObjectsParams = {
|
|
58
|
-
Bucket: BucketName,
|
|
59
|
-
Prefix: ``
|
|
60
|
-
};
|
|
61
|
-
const listObjectsResponse = await s3
|
|
62
|
-
.listObjectsV2(listObjectsParams)
|
|
63
|
-
.promise();
|
|
64
|
-
if (listObjectsResponse.Contents && listObjectsResponse.Contents.length > 0) {
|
|
65
|
-
const deleteParams = {
|
|
66
|
-
Bucket: BucketName,
|
|
67
|
-
Delete: {
|
|
68
|
-
Objects: listObjectsResponse.Contents?.map((x) => ({
|
|
69
|
-
Key: x.Key || '',
|
|
70
|
-
})).filter((x) => x.Key !== '') || [],
|
|
71
|
-
},
|
|
72
|
-
};
|
|
73
|
-
await s3.deleteObjects(deleteParams).promise();
|
|
74
|
-
}
|
|
75
|
-
await uploadDir('playground');
|
|
76
|
-
const reference = (0, randomstring_1.generate)(16);
|
|
77
|
-
const params = {
|
|
78
|
-
DistributionId: DistributionName,
|
|
79
|
-
InvalidationBatch: {
|
|
80
|
-
CallerReference: reference,
|
|
81
|
-
Paths: {
|
|
82
|
-
Quantity: 1,
|
|
83
|
-
Items: ['/*'],
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
console.log(`Creating Invalidation for (${DistributionName}): ${reference}`);
|
|
88
|
-
const invalidation = await cloudfront.createInvalidation(params).promise();
|
|
89
|
-
console.log(invalidation);
|
|
90
|
-
}
|
|
91
|
-
deployToAws()
|
|
92
|
-
.then((data) => console.log(data))
|
|
93
|
-
.catch((err) => console.error(err));
|
package/scripts/postPublish.ts
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
// import { CloudFront, S3 } from 'aws-sdk';
|
|
2
|
-
import { generate } from 'randomstring';
|
|
3
|
-
import { join } from 'path';
|
|
4
|
-
import { lookup } from 'mime-types';
|
|
5
|
-
import { readdirSync, statSync, readFileSync } from 'fs';
|
|
6
|
-
import pkg from 'aws-sdk';
|
|
7
|
-
import {version} from '../package.json';
|
|
8
|
-
const { CloudFront, S3 } = pkg;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
import { CreateInvalidationRequest } from 'aws-sdk/clients/cloudfront';
|
|
12
|
-
import {DeleteObjectsRequest, ListObjectsV2Request, PutObjectRequest } from 'aws-sdk/clients/s3';
|
|
13
|
-
|
|
14
|
-
//Note: Config is injected in CI now. (leaving this for in case we need to do a local)
|
|
15
|
-
// import dotenv from 'dotenv';
|
|
16
|
-
// dotenv.config();
|
|
17
|
-
|
|
18
|
-
const { DIST_NAME, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, BUCKET_NAME } = process.env;
|
|
19
|
-
|
|
20
|
-
if (!AWS_ACCESS_KEY_ID || !AWS_SECRET_ACCESS_KEY) throw Error('Please define environment variables for AWS');
|
|
21
|
-
if (!DIST_NAME) throw Error('Please define environment variables for DIST_NAME');
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const DistributionName = DIST_NAME as string;
|
|
25
|
-
const BucketName = BUCKET_NAME as string;
|
|
26
|
-
const s3 = new S3({
|
|
27
|
-
region: 'ap-southeast-2',
|
|
28
|
-
});
|
|
29
|
-
const cloudfront = new CloudFront();
|
|
30
|
-
|
|
31
|
-
async function uploadDir(s3Path: string) {
|
|
32
|
-
for (const name of readdirSync(s3Path)) {
|
|
33
|
-
const filePath = join(s3Path, name);
|
|
34
|
-
const stat = statSync(filePath);
|
|
35
|
-
|
|
36
|
-
if (stat.isFile()) {
|
|
37
|
-
if (!filePath.endsWith('.map')) await executeUpload(s3Path, filePath);
|
|
38
|
-
} else if (stat.isDirectory()) {
|
|
39
|
-
await uploadDir(filePath);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
async function executeUpload(s3Path: string, filePath: string) {
|
|
44
|
-
const parentDir = s3Path.includes('/')
|
|
45
|
-
? s3Path.substring(0, s3Path.indexOf('/'))
|
|
46
|
-
: s3Path;
|
|
47
|
-
const bucketPath = filePath.substring(parentDir.length + 1);
|
|
48
|
-
const options: PutObjectRequest = {
|
|
49
|
-
Bucket: BucketName,
|
|
50
|
-
Key: `${bucketPath}`,
|
|
51
|
-
Body: readFileSync(filePath).toString().replace("{{version}}", version),
|
|
52
|
-
};
|
|
53
|
-
if (typeof lookup(bucketPath) === 'string') {
|
|
54
|
-
options.ContentType = lookup(bucketPath) as string;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
await s3.putObject(options).promise();
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
async function deployToAws() {
|
|
61
|
-
const listObjectsParams: ListObjectsV2Request = {
|
|
62
|
-
Bucket: BucketName,
|
|
63
|
-
Prefix: ``
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
const listObjectsResponse = await s3
|
|
67
|
-
.listObjectsV2(listObjectsParams)
|
|
68
|
-
.promise();
|
|
69
|
-
|
|
70
|
-
if (listObjectsResponse.Contents && listObjectsResponse.Contents.length > 0) {
|
|
71
|
-
const deleteParams: DeleteObjectsRequest = {
|
|
72
|
-
Bucket: BucketName,
|
|
73
|
-
Delete: {
|
|
74
|
-
Objects:
|
|
75
|
-
listObjectsResponse.Contents?.map((x) => ({
|
|
76
|
-
Key: x.Key || '',
|
|
77
|
-
})).filter((x) => x.Key !== '') || [],
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
await s3.deleteObjects(deleteParams).promise();
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
await uploadDir('playground');
|
|
84
|
-
|
|
85
|
-
const reference = generate(16);
|
|
86
|
-
const params: CreateInvalidationRequest = {
|
|
87
|
-
DistributionId: DistributionName,
|
|
88
|
-
InvalidationBatch: {
|
|
89
|
-
CallerReference: reference,
|
|
90
|
-
Paths: {
|
|
91
|
-
Quantity: 1,
|
|
92
|
-
Items: ['/*'],
|
|
93
|
-
},
|
|
94
|
-
},
|
|
95
|
-
};
|
|
96
|
-
console.log(`Creating Invalidation for (${DistributionName}): ${reference}`);
|
|
97
|
-
|
|
98
|
-
const invalidation = await cloudfront.createInvalidation(params).promise();
|
|
99
|
-
console.log(invalidation);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
deployToAws()
|
|
103
|
-
.then((data) => console.log(data))
|
|
104
|
-
.catch((err) => console.error(err));
|
|
105
|
-
|
|
106
|
-
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<v-container class="fill-height">
|
|
3
|
-
<v-responsive
|
|
4
|
-
class="align-centerfill-height mx-auto"
|
|
5
|
-
max-width="900"
|
|
6
|
-
>
|
|
7
|
-
<v-img
|
|
8
|
-
class="mb-4"
|
|
9
|
-
height="150"
|
|
10
|
-
src="@/assets/logo.png"
|
|
11
|
-
/>
|
|
12
|
-
|
|
13
|
-
<div class="text-center">
|
|
14
|
-
<div class="text-body-2 font-weight-light mb-n1">Welcome to</div>
|
|
15
|
-
|
|
16
|
-
<h1 class="text-h2 font-weight-bold">Vuetify</h1>
|
|
17
|
-
</div>
|
|
18
|
-
|
|
19
|
-
<div class="py-4" />
|
|
20
|
-
|
|
21
|
-
<v-row>
|
|
22
|
-
<v-col cols="12">
|
|
23
|
-
<v-card
|
|
24
|
-
class="py-4"
|
|
25
|
-
color="surface-variant"
|
|
26
|
-
image="https://cdn.vuetifyjs.com/docs/images/one/create/feature.png"
|
|
27
|
-
prepend-icon="mdi-rocket-launch-outline"
|
|
28
|
-
rounded="lg"
|
|
29
|
-
variant="outlined"
|
|
30
|
-
>
|
|
31
|
-
<template #image>
|
|
32
|
-
<v-img position="top right" />
|
|
33
|
-
</template>
|
|
34
|
-
|
|
35
|
-
<template #title>
|
|
36
|
-
<h2 class="text-h5 font-weight-bold">Get started</h2>
|
|
37
|
-
</template>
|
|
38
|
-
|
|
39
|
-
<template #subtitle>
|
|
40
|
-
<div class="text-subtitle-1">
|
|
41
|
-
Replace this page by removing <v-kbd>{{ `<HelloWorld />` }}</v-kbd> in <v-kbd>pages/index.vue</v-kbd>.
|
|
42
|
-
</div>
|
|
43
|
-
</template>
|
|
44
|
-
|
|
45
|
-
<v-overlay
|
|
46
|
-
opacity=".12"
|
|
47
|
-
scrim="primary"
|
|
48
|
-
contained
|
|
49
|
-
model-value
|
|
50
|
-
persistent
|
|
51
|
-
/>
|
|
52
|
-
</v-card>
|
|
53
|
-
</v-col>
|
|
54
|
-
|
|
55
|
-
<v-col cols="6">
|
|
56
|
-
<v-card
|
|
57
|
-
append-icon="mdi-open-in-new"
|
|
58
|
-
class="py-4"
|
|
59
|
-
color="surface-variant"
|
|
60
|
-
href="https://vuetifyjs.com/"
|
|
61
|
-
prepend-icon="mdi-text-box-outline"
|
|
62
|
-
rel="noopener noreferrer"
|
|
63
|
-
rounded="lg"
|
|
64
|
-
subtitle="Learn about all things Vuetify in our documentation."
|
|
65
|
-
target="_blank"
|
|
66
|
-
title="Documentation"
|
|
67
|
-
variant="text"
|
|
68
|
-
>
|
|
69
|
-
<v-overlay
|
|
70
|
-
opacity=".06"
|
|
71
|
-
scrim="primary"
|
|
72
|
-
contained
|
|
73
|
-
model-value
|
|
74
|
-
persistent
|
|
75
|
-
/>
|
|
76
|
-
</v-card>
|
|
77
|
-
</v-col>
|
|
78
|
-
|
|
79
|
-
<v-col cols="6">
|
|
80
|
-
<v-card
|
|
81
|
-
append-icon="mdi-open-in-new"
|
|
82
|
-
class="py-4"
|
|
83
|
-
color="surface-variant"
|
|
84
|
-
href="https://vuetifyjs.com/introduction/why-vuetify/#feature-guides"
|
|
85
|
-
prepend-icon="mdi-star-circle-outline"
|
|
86
|
-
rel="noopener noreferrer"
|
|
87
|
-
rounded="lg"
|
|
88
|
-
subtitle="Explore available framework Features."
|
|
89
|
-
target="_blank"
|
|
90
|
-
title="Features"
|
|
91
|
-
variant="text"
|
|
92
|
-
>
|
|
93
|
-
<v-overlay
|
|
94
|
-
opacity=".06"
|
|
95
|
-
scrim="primary"
|
|
96
|
-
contained
|
|
97
|
-
model-value
|
|
98
|
-
persistent
|
|
99
|
-
/>
|
|
100
|
-
</v-card>
|
|
101
|
-
</v-col>
|
|
102
|
-
|
|
103
|
-
<v-col cols="6">
|
|
104
|
-
<v-card
|
|
105
|
-
append-icon="mdi-open-in-new"
|
|
106
|
-
class="py-4"
|
|
107
|
-
color="surface-variant"
|
|
108
|
-
href="https://vuetifyjs.com/components/all"
|
|
109
|
-
prepend-icon="mdi-widgets-outline"
|
|
110
|
-
rel="noopener noreferrer"
|
|
111
|
-
rounded="lg"
|
|
112
|
-
subtitle="Discover components in the API Explorer."
|
|
113
|
-
target="_blank"
|
|
114
|
-
title="Components"
|
|
115
|
-
variant="text"
|
|
116
|
-
>
|
|
117
|
-
<v-overlay
|
|
118
|
-
opacity=".06"
|
|
119
|
-
scrim="primary"
|
|
120
|
-
contained
|
|
121
|
-
model-value
|
|
122
|
-
persistent
|
|
123
|
-
/>
|
|
124
|
-
</v-card>
|
|
125
|
-
</v-col>
|
|
126
|
-
|
|
127
|
-
<v-col cols="6">
|
|
128
|
-
<v-card
|
|
129
|
-
append-icon="mdi-open-in-new"
|
|
130
|
-
class="py-4"
|
|
131
|
-
color="surface-variant"
|
|
132
|
-
href="https://discord.vuetifyjs.com"
|
|
133
|
-
prepend-icon="mdi-account-group-outline"
|
|
134
|
-
rel="noopener noreferrer"
|
|
135
|
-
rounded="lg"
|
|
136
|
-
subtitle="Connect with Vuetify developers."
|
|
137
|
-
target="_blank"
|
|
138
|
-
title="Community"
|
|
139
|
-
variant="text"
|
|
140
|
-
>
|
|
141
|
-
<v-overlay
|
|
142
|
-
opacity=".06"
|
|
143
|
-
scrim="primary"
|
|
144
|
-
contained
|
|
145
|
-
model-value
|
|
146
|
-
persistent
|
|
147
|
-
/>
|
|
148
|
-
</v-card>
|
|
149
|
-
</v-col>
|
|
150
|
-
</v-row>
|
|
151
|
-
</v-responsive>
|
|
152
|
-
</v-container>
|
|
153
|
-
</template>
|
|
154
|
-
|
|
155
|
-
<script setup lang="ts">
|
|
156
|
-
//
|
|
157
|
-
</script>
|
package/src/components/README.md
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# Components
|
|
2
|
-
|
|
3
|
-
Vue template files in this folder are automatically imported.
|
|
4
|
-
|
|
5
|
-
## 🚀 Usage
|
|
6
|
-
|
|
7
|
-
Importing is handled by [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components). This plugin automatically imports `.vue` files created in the `src/components` directory, and registers them as global components. This means that you can use any component in your application without having to manually import it.
|
|
8
|
-
|
|
9
|
-
The following example assumes a component located at `src/components/MyComponent.vue`:
|
|
10
|
-
|
|
11
|
-
```vue
|
|
12
|
-
<template>
|
|
13
|
-
<div>
|
|
14
|
-
<MyComponent />
|
|
15
|
-
</div>
|
|
16
|
-
</template>
|
|
17
|
-
|
|
18
|
-
<script lang="ts" setup>
|
|
19
|
-
//
|
|
20
|
-
</script>
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
When your template is rendered, the component's import will automatically be inlined, which renders to this:
|
|
24
|
-
|
|
25
|
-
```vue
|
|
26
|
-
<template>
|
|
27
|
-
<div>
|
|
28
|
-
<MyComponent />
|
|
29
|
-
</div>
|
|
30
|
-
</template>
|
|
31
|
-
|
|
32
|
-
<script lang="ts" setup>
|
|
33
|
-
import MyComponent from '@/components/MyComponent.vue'
|
|
34
|
-
</script>
|
|
35
|
-
```
|
package/src/plugins/README.md
DELETED
package/src/types/window.shim.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
|
|
3
|
-
declare global {
|
|
4
|
-
interface Window {
|
|
5
|
-
createUnityInstance(element: HTMLElement, config: UnityConfig): Promise<UnityInstance>;
|
|
6
|
-
receiveMessageFromUnity(payload: string): void;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
export interface UnityInstance {
|
|
10
|
-
SendMessage: (payload: string) => void;
|
|
11
|
-
}
|
|
12
|
-
export interface UnityConfig {
|
|
13
|
-
dataUrl: string;
|
|
14
|
-
frameworkUrl: string;
|
|
15
|
-
codeUrl: string;
|
|
16
|
-
streamingAssetsUrl: string;
|
|
17
|
-
companyName: string;
|
|
18
|
-
productName: string;
|
|
19
|
-
productVersion: string;
|
|
20
|
-
webglContextAttributes: WebglConfig;
|
|
21
|
-
}
|
|
22
|
-
export interface WebglConfig {
|
|
23
|
-
preserveDrawingBuffer: boolean;
|
|
24
|
-
}
|
/package/src/components/{ExpansionHeaderMiniMenu.vue → expansion-panels/ExpansionHeaderMiniMenu.vue}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|