@thangdevalone/meeting-grid-layout-vue 1.4.1 → 1.5.0
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/README.md +5 -14
- package/dist/index.cjs +11 -1
- package/dist/index.d.cts +19 -0
- package/dist/index.d.mts +19 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.mjs +11 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -114,20 +114,20 @@ Full-grid overlay for screen sharing, whiteboard, etc.
|
|
|
114
114
|
|
|
115
115
|
## Responsive PiP
|
|
116
116
|
|
|
117
|
-
PiP
|
|
117
|
+
PiP auto-adjusts size based on container width via breakpoints:
|
|
118
118
|
|
|
119
119
|
```vue
|
|
120
120
|
<script setup>
|
|
121
|
-
import { FloatingGridItem, DEFAULT_FLOAT_BREAKPOINTS } from '@thangdevalone/
|
|
121
|
+
import { FloatingGridItem, GridContainer, GridItem, DEFAULT_FLOAT_BREAKPOINTS } from '@thangdevalone/meeting-grid-layout-vue'
|
|
122
122
|
</script>
|
|
123
123
|
|
|
124
124
|
<template>
|
|
125
|
-
<!-- Standalone
|
|
125
|
+
<!-- Standalone — auto-responsive -->
|
|
126
126
|
<FloatingGridItem :breakpoints="DEFAULT_FLOAT_BREAKPOINTS">
|
|
127
127
|
<VideoTile />
|
|
128
128
|
</FloatingGridItem>
|
|
129
129
|
|
|
130
|
-
<!-- Auto-float in 2-person mode
|
|
130
|
+
<!-- Auto-float in 2-person mode -->
|
|
131
131
|
<GridContainer :count="2" :float-breakpoints="DEFAULT_FLOAT_BREAKPOINTS">
|
|
132
132
|
<GridItem v-for="(p, i) in participants" :key="p.id" :index="i">
|
|
133
133
|
<VideoTile :participant="p" />
|
|
@@ -136,16 +136,7 @@ import { FloatingGridItem, DEFAULT_FLOAT_BREAKPOINTS } from '@thangdevalone/meet
|
|
|
136
136
|
</template>
|
|
137
137
|
```
|
|
138
138
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
```ts
|
|
142
|
-
import { resolveFloatSize, DEFAULT_FLOAT_BREAKPOINTS } from '@thangdevalone/meet-layout-grid-vue'
|
|
143
|
-
|
|
144
|
-
const size = resolveFloatSize(800, DEFAULT_FLOAT_BREAKPOINTS)
|
|
145
|
-
// → { width: 160, height: 215 }
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
> See the [main README](https://github.com/thangdevalone/meet-layout-grid#responsive-pip) for full details, default breakpoint table, and custom breakpoint examples.
|
|
139
|
+
> See the [main README](https://github.com/thangdevalone/meeting-grid-layout#floating-pip-picture-in-picture) for default breakpoint table, custom breakpoints, and `resolveFloatSize` utility.
|
|
149
140
|
|
|
150
141
|
## Composables
|
|
151
142
|
|
package/dist/index.cjs
CHANGED
|
@@ -143,6 +143,15 @@ const GridContainer = vue.defineComponent({
|
|
|
143
143
|
type: Array,
|
|
144
144
|
default: void 0
|
|
145
145
|
},
|
|
146
|
+
/**
|
|
147
|
+
* Index of the participant to show as the floating PiP in 2-person mode.
|
|
148
|
+
* The other participant will fill the main area.
|
|
149
|
+
* @default 1 (second participant)
|
|
150
|
+
*/
|
|
151
|
+
pipIndex: {
|
|
152
|
+
type: Number,
|
|
153
|
+
default: void 0
|
|
154
|
+
},
|
|
146
155
|
/** HTML tag to render */
|
|
147
156
|
tag: {
|
|
148
157
|
type: String,
|
|
@@ -167,7 +176,8 @@ const GridContainer = vue.defineComponent({
|
|
|
167
176
|
itemAspectRatios: props.itemAspectRatios,
|
|
168
177
|
floatWidth: props.floatWidth,
|
|
169
178
|
floatHeight: props.floatHeight,
|
|
170
|
-
floatBreakpoints: props.floatBreakpoints
|
|
179
|
+
floatBreakpoints: props.floatBreakpoints,
|
|
180
|
+
pipIndex: props.pipIndex
|
|
171
181
|
}));
|
|
172
182
|
const grid = useMeetGrid(gridOptions);
|
|
173
183
|
vue.provide(GridContextKey, {
|
package/dist/index.d.cts
CHANGED
|
@@ -140,6 +140,15 @@ declare const GridContainer: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
140
140
|
type: PropType<PipBreakpoint[]>;
|
|
141
141
|
default: undefined;
|
|
142
142
|
};
|
|
143
|
+
/**
|
|
144
|
+
* Index of the participant to show as the floating PiP in 2-person mode.
|
|
145
|
+
* The other participant will fill the main area.
|
|
146
|
+
* @default 1 (second participant)
|
|
147
|
+
*/
|
|
148
|
+
pipIndex: {
|
|
149
|
+
type: NumberConstructor;
|
|
150
|
+
default: undefined;
|
|
151
|
+
};
|
|
143
152
|
/** HTML tag to render */
|
|
144
153
|
tag: {
|
|
145
154
|
type: StringConstructor;
|
|
@@ -235,6 +244,15 @@ declare const GridContainer: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
235
244
|
type: PropType<PipBreakpoint[]>;
|
|
236
245
|
default: undefined;
|
|
237
246
|
};
|
|
247
|
+
/**
|
|
248
|
+
* Index of the participant to show as the floating PiP in 2-person mode.
|
|
249
|
+
* The other participant will fill the main area.
|
|
250
|
+
* @default 1 (second participant)
|
|
251
|
+
*/
|
|
252
|
+
pipIndex: {
|
|
253
|
+
type: NumberConstructor;
|
|
254
|
+
default: undefined;
|
|
255
|
+
};
|
|
238
256
|
/** HTML tag to render */
|
|
239
257
|
tag: {
|
|
240
258
|
type: StringConstructor;
|
|
@@ -255,6 +273,7 @@ declare const GridContainer: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
255
273
|
floatWidth: number;
|
|
256
274
|
floatHeight: number;
|
|
257
275
|
floatBreakpoints: PipBreakpoint[];
|
|
276
|
+
pipIndex: number;
|
|
258
277
|
tag: string;
|
|
259
278
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
260
279
|
declare const GridItem: vue.DefineComponent<vue.ExtractPropTypes<{
|
package/dist/index.d.mts
CHANGED
|
@@ -140,6 +140,15 @@ declare const GridContainer: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
140
140
|
type: PropType<PipBreakpoint[]>;
|
|
141
141
|
default: undefined;
|
|
142
142
|
};
|
|
143
|
+
/**
|
|
144
|
+
* Index of the participant to show as the floating PiP in 2-person mode.
|
|
145
|
+
* The other participant will fill the main area.
|
|
146
|
+
* @default 1 (second participant)
|
|
147
|
+
*/
|
|
148
|
+
pipIndex: {
|
|
149
|
+
type: NumberConstructor;
|
|
150
|
+
default: undefined;
|
|
151
|
+
};
|
|
143
152
|
/** HTML tag to render */
|
|
144
153
|
tag: {
|
|
145
154
|
type: StringConstructor;
|
|
@@ -235,6 +244,15 @@ declare const GridContainer: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
235
244
|
type: PropType<PipBreakpoint[]>;
|
|
236
245
|
default: undefined;
|
|
237
246
|
};
|
|
247
|
+
/**
|
|
248
|
+
* Index of the participant to show as the floating PiP in 2-person mode.
|
|
249
|
+
* The other participant will fill the main area.
|
|
250
|
+
* @default 1 (second participant)
|
|
251
|
+
*/
|
|
252
|
+
pipIndex: {
|
|
253
|
+
type: NumberConstructor;
|
|
254
|
+
default: undefined;
|
|
255
|
+
};
|
|
238
256
|
/** HTML tag to render */
|
|
239
257
|
tag: {
|
|
240
258
|
type: StringConstructor;
|
|
@@ -255,6 +273,7 @@ declare const GridContainer: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
255
273
|
floatWidth: number;
|
|
256
274
|
floatHeight: number;
|
|
257
275
|
floatBreakpoints: PipBreakpoint[];
|
|
276
|
+
pipIndex: number;
|
|
258
277
|
tag: string;
|
|
259
278
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
260
279
|
declare const GridItem: vue.DefineComponent<vue.ExtractPropTypes<{
|
package/dist/index.d.ts
CHANGED
|
@@ -140,6 +140,15 @@ declare const GridContainer: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
140
140
|
type: PropType<PipBreakpoint[]>;
|
|
141
141
|
default: undefined;
|
|
142
142
|
};
|
|
143
|
+
/**
|
|
144
|
+
* Index of the participant to show as the floating PiP in 2-person mode.
|
|
145
|
+
* The other participant will fill the main area.
|
|
146
|
+
* @default 1 (second participant)
|
|
147
|
+
*/
|
|
148
|
+
pipIndex: {
|
|
149
|
+
type: NumberConstructor;
|
|
150
|
+
default: undefined;
|
|
151
|
+
};
|
|
143
152
|
/** HTML tag to render */
|
|
144
153
|
tag: {
|
|
145
154
|
type: StringConstructor;
|
|
@@ -235,6 +244,15 @@ declare const GridContainer: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
235
244
|
type: PropType<PipBreakpoint[]>;
|
|
236
245
|
default: undefined;
|
|
237
246
|
};
|
|
247
|
+
/**
|
|
248
|
+
* Index of the participant to show as the floating PiP in 2-person mode.
|
|
249
|
+
* The other participant will fill the main area.
|
|
250
|
+
* @default 1 (second participant)
|
|
251
|
+
*/
|
|
252
|
+
pipIndex: {
|
|
253
|
+
type: NumberConstructor;
|
|
254
|
+
default: undefined;
|
|
255
|
+
};
|
|
238
256
|
/** HTML tag to render */
|
|
239
257
|
tag: {
|
|
240
258
|
type: StringConstructor;
|
|
@@ -255,6 +273,7 @@ declare const GridContainer: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
255
273
|
floatWidth: number;
|
|
256
274
|
floatHeight: number;
|
|
257
275
|
floatBreakpoints: PipBreakpoint[];
|
|
276
|
+
pipIndex: number;
|
|
258
277
|
tag: string;
|
|
259
278
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
260
279
|
declare const GridItem: vue.DefineComponent<vue.ExtractPropTypes<{
|
package/dist/index.mjs
CHANGED
|
@@ -142,6 +142,15 @@ const GridContainer = defineComponent({
|
|
|
142
142
|
type: Array,
|
|
143
143
|
default: void 0
|
|
144
144
|
},
|
|
145
|
+
/**
|
|
146
|
+
* Index of the participant to show as the floating PiP in 2-person mode.
|
|
147
|
+
* The other participant will fill the main area.
|
|
148
|
+
* @default 1 (second participant)
|
|
149
|
+
*/
|
|
150
|
+
pipIndex: {
|
|
151
|
+
type: Number,
|
|
152
|
+
default: void 0
|
|
153
|
+
},
|
|
145
154
|
/** HTML tag to render */
|
|
146
155
|
tag: {
|
|
147
156
|
type: String,
|
|
@@ -166,7 +175,8 @@ const GridContainer = defineComponent({
|
|
|
166
175
|
itemAspectRatios: props.itemAspectRatios,
|
|
167
176
|
floatWidth: props.floatWidth,
|
|
168
177
|
floatHeight: props.floatHeight,
|
|
169
|
-
floatBreakpoints: props.floatBreakpoints
|
|
178
|
+
floatBreakpoints: props.floatBreakpoints,
|
|
179
|
+
pipIndex: props.pipIndex
|
|
170
180
|
}));
|
|
171
181
|
const grid = useMeetGrid(gridOptions);
|
|
172
182
|
provide(GridContextKey, {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thangdevalone/meeting-grid-layout-vue",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Vue 3 integration for meeting-grid-layout with Motion animations",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@vueuse/core": "^10.7.0",
|
|
45
45
|
"motion-v": "^1.0.0",
|
|
46
|
-
"@thangdevalone/meeting-grid-layout-core": "1.
|
|
46
|
+
"@thangdevalone/meeting-grid-layout-core": "1.5.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"vue": "^3.4.0",
|