@maas/vue-equipment 1.2.0 → 1.3.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/dist/nuxt/module.json +1 -1
- package/dist/nuxt/module.mjs +3 -2
- package/dist/plugins/MagicDotMatrix/index.d.ts +14 -0
- package/dist/plugins/MagicDotMatrix/index.mjs +20 -0
- package/dist/plugins/MagicDotMatrix/nuxt.d.ts +0 -0
- package/dist/plugins/MagicDotMatrix/nuxt.mjs +29 -0
- package/dist/plugins/MagicDotMatrix/src/components/MagicDotMatrix.d.vue.ts +10 -0
- package/dist/plugins/MagicDotMatrix/src/components/MagicDotMatrix.vue +103 -0
- package/dist/plugins/MagicDotMatrix/src/components/MagicDotMatrix.vue.d.ts +10 -0
- package/dist/plugins/MagicDotMatrix/src/composables/private/useDotMatrixApi.d.ts +10 -0
- package/dist/plugins/MagicDotMatrix/src/composables/private/useDotMatrixApi.mjs +82 -0
- package/dist/plugins/MagicDotMatrix/src/composables/private/useDotMatrixState.d.ts +6 -0
- package/dist/plugins/MagicDotMatrix/src/composables/private/useDotMatrixState.mjs +71 -0
- package/dist/plugins/MagicDotMatrix/src/composables/useMagicDotMatrix.d.ts +10 -0
- package/dist/plugins/MagicDotMatrix/src/composables/useMagicDotMatrix.mjs +27 -0
- package/dist/plugins/MagicDotMatrix/src/composables/useMagicDotMatrixEmoji.d.ts +19 -0
- package/dist/plugins/MagicDotMatrix/src/composables/useMagicDotMatrixEmoji.mjs +50 -0
- package/dist/plugins/MagicDotMatrix/src/types/index.d.ts +40 -0
- package/dist/plugins/MagicDotMatrix/src/types/index.mjs +0 -0
- package/dist/plugins/MagicDotMatrix/src/utils/defaultOptions.d.ts +4 -0
- package/dist/plugins/MagicDotMatrix/src/utils/defaultOptions.mjs +14 -0
- package/dist/plugins/MagicDotMatrix/src/utils/emoji/animateEmoji.d.ts +5 -0
- package/dist/plugins/MagicDotMatrix/src/utils/emoji/animateEmoji.mjs +296 -0
- package/dist/plugins/MagicDotMatrix/src/utils/emoji/motions.d.ts +382 -0
- package/dist/plugins/MagicDotMatrix/src/utils/emoji/motions.mjs +420 -0
- package/dist/plugins/MagicDotMatrix/src/utils/emoji/pickMotion.d.ts +7 -0
- package/dist/plugins/MagicDotMatrix/src/utils/emoji/pickMotion.mjs +153 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/bounce.d.ts +2 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/bounce.mjs +8 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/checkerboard.d.ts +2 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/checkerboard.mjs +18 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/comet.d.ts +2 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/comet.mjs +5 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/drift.d.ts +2 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/drift.mjs +38 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/equalizer.d.ts +2 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/equalizer.mjs +14 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/fill.d.ts +2 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/fill.mjs +10 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/focus.d.ts +2 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/focus.mjs +5 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/index.d.ts +12 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/index.mjs +12 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/orbit.d.ts +2 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/orbit.mjs +8 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/pulse.d.ts +2 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/pulse.mjs +7 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/ripple.d.ts +2 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/ripple.mjs +5 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/scan.d.ts +2 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/scan.mjs +6 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/spiral.d.ts +2 -0
- package/dist/plugins/MagicDotMatrix/src/utils/presets/spiral.mjs +34 -0
- package/dist/plugins/MagicDotMatrix/src/utils/sequence/equalizerFrame.d.ts +7 -0
- package/dist/plugins/MagicDotMatrix/src/utils/sequence/equalizerFrame.mjs +12 -0
- package/dist/plugins/MagicDotMatrix/src/utils/sequence/getRings.d.ts +2 -0
- package/dist/plugins/MagicDotMatrix/src/utils/sequence/getRings.mjs +24 -0
- package/dist/plugins/MagicDotMatrix/src/utils/sequence/ringPath.d.ts +7 -0
- package/dist/plugins/MagicDotMatrix/src/utils/sequence/ringPath.mjs +35 -0
- package/dist/plugins/MagicDotMatrix/src/utils/sequence/toIndex.d.ts +6 -0
- package/dist/plugins/MagicDotMatrix/src/utils/sequence/toIndex.mjs +3 -0
- package/dist/plugins/MagicDotMatrix/src/utils/sequence/withTrail.d.ts +6 -0
- package/dist/plugins/MagicDotMatrix/src/utils/sequence/withTrail.mjs +17 -0
- package/dist/plugins/MagicDrawer/src/components/MagicDrawerTrigger.d.vue.ts +1 -1
- package/dist/plugins/MagicDrawer/src/components/MagicDrawerTrigger.vue +5 -1
- package/dist/plugins/MagicDrawer/src/components/MagicDrawerTrigger.vue.d.ts +1 -1
- package/dist/plugins/MagicEmitter/src/types/index.d.ts +2 -0
- package/dist/plugins/MagicMenu/src/components/MagicMenuTrigger.vue +13 -3
- package/dist/plugins/MagicTray/src/components/MagicTrayTrigger.vue +7 -1
- package/package.json +2 -3
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { createBounce } from './bounce.js';
|
|
2
|
+
export { createCheckerboard } from './checkerboard.js';
|
|
3
|
+
export { createComet } from './comet.js';
|
|
4
|
+
export { createDrift } from './drift.js';
|
|
5
|
+
export { createEqualizer } from './equalizer.js';
|
|
6
|
+
export { createFill } from './fill.js';
|
|
7
|
+
export { createFocus } from './focus.js';
|
|
8
|
+
export { createOrbit } from './orbit.js';
|
|
9
|
+
export { createPulse } from './pulse.js';
|
|
10
|
+
export { createRipple } from './ripple.js';
|
|
11
|
+
export { createScan } from './scan.js';
|
|
12
|
+
export { createSpiral } from './spiral.js';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { createBounce } from "./bounce.mjs";
|
|
2
|
+
export { createCheckerboard } from "./checkerboard.mjs";
|
|
3
|
+
export { createComet } from "./comet.mjs";
|
|
4
|
+
export { createDrift } from "./drift.mjs";
|
|
5
|
+
export { createEqualizer } from "./equalizer.mjs";
|
|
6
|
+
export { createFill } from "./fill.mjs";
|
|
7
|
+
export { createFocus } from "./focus.mjs";
|
|
8
|
+
export { createOrbit } from "./orbit.mjs";
|
|
9
|
+
export { createPulse } from "./pulse.mjs";
|
|
10
|
+
export { createRipple } from "./ripple.mjs";
|
|
11
|
+
export { createScan } from "./scan.mjs";
|
|
12
|
+
export { createSpiral } from "./spiral.mjs";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { getRings } from "../sequence/getRings.mjs";
|
|
2
|
+
export function createPulse(grid) {
|
|
3
|
+
const rings = getRings(grid);
|
|
4
|
+
const expand = rings.map((_, index) => rings.slice(0, index + 1).flat());
|
|
5
|
+
const contract = rings.map((_, index) => rings.slice(0, rings.length - index - 1).flat()).slice(1);
|
|
6
|
+
return [...expand, ...contract, []];
|
|
7
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
function spiralOrder({ cols, rows }) {
|
|
2
|
+
const result = [];
|
|
3
|
+
let top = 0;
|
|
4
|
+
let bottom = rows - 1;
|
|
5
|
+
let left = 0;
|
|
6
|
+
let right = cols - 1;
|
|
7
|
+
while (top <= bottom && left <= right) {
|
|
8
|
+
for (let col = left; col <= right; col++) {
|
|
9
|
+
result.push(top * cols + col);
|
|
10
|
+
}
|
|
11
|
+
top++;
|
|
12
|
+
for (let row = top; row <= bottom; row++) {
|
|
13
|
+
result.push(row * cols + right);
|
|
14
|
+
}
|
|
15
|
+
right--;
|
|
16
|
+
if (top <= bottom) {
|
|
17
|
+
for (let col = right; col >= left; col--) {
|
|
18
|
+
result.push(bottom * cols + col);
|
|
19
|
+
}
|
|
20
|
+
bottom--;
|
|
21
|
+
}
|
|
22
|
+
if (left <= right) {
|
|
23
|
+
for (let row = bottom; row >= top; row--) {
|
|
24
|
+
result.push(row * cols + left);
|
|
25
|
+
}
|
|
26
|
+
left++;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
export function createSpiral(grid) {
|
|
32
|
+
const order = spiralOrder(grid);
|
|
33
|
+
return [...order.map((_, index) => order.slice(0, index + 1)), []];
|
|
34
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { toIndex } from "./toIndex.mjs";
|
|
2
|
+
export function getRings({ cols, rows }) {
|
|
3
|
+
const centerCol = (cols - 1) / 2;
|
|
4
|
+
const centerRow = (rows - 1) / 2;
|
|
5
|
+
const maxRing = Math.max(
|
|
6
|
+
Math.ceil(Math.max(centerCol, cols - 1 - centerCol)),
|
|
7
|
+
Math.ceil(Math.max(centerRow, rows - 1 - centerRow))
|
|
8
|
+
);
|
|
9
|
+
return Array.from({ length: maxRing + 1 }, (_, ring) => {
|
|
10
|
+
const indices = [];
|
|
11
|
+
for (let row = 0; row < rows; row++) {
|
|
12
|
+
for (let col = 0; col < cols; col++) {
|
|
13
|
+
const distance = Math.max(
|
|
14
|
+
Math.abs(col - centerCol),
|
|
15
|
+
Math.abs(row - centerRow)
|
|
16
|
+
);
|
|
17
|
+
if (Math.floor(distance + 0.5) === ring) {
|
|
18
|
+
indices.push(toIndex({ col, row, cols }));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return indices;
|
|
23
|
+
}).filter((frame) => frame.length > 0);
|
|
24
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { toIndex } from "./toIndex.mjs";
|
|
2
|
+
export function ringPath({
|
|
3
|
+
cols,
|
|
4
|
+
rows,
|
|
5
|
+
inset = 0
|
|
6
|
+
}) {
|
|
7
|
+
const left = inset;
|
|
8
|
+
const top = inset;
|
|
9
|
+
const right = cols - 1 - inset;
|
|
10
|
+
const bottom = rows - 1 - inset;
|
|
11
|
+
if (left > right || top > bottom) {
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
14
|
+
if (left === right && top === bottom) {
|
|
15
|
+
return [toIndex({ col: left, row: top, cols })];
|
|
16
|
+
}
|
|
17
|
+
const path = [];
|
|
18
|
+
for (let col = left; col <= right; col++) {
|
|
19
|
+
path.push(toIndex({ col, row: top, cols }));
|
|
20
|
+
}
|
|
21
|
+
for (let row = top + 1; row <= bottom; row++) {
|
|
22
|
+
path.push(toIndex({ col: right, row, cols }));
|
|
23
|
+
}
|
|
24
|
+
if (bottom > top) {
|
|
25
|
+
for (let col = right - 1; col >= left; col--) {
|
|
26
|
+
path.push(toIndex({ col, row: bottom, cols }));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (right > left) {
|
|
30
|
+
for (let row = bottom - 1; row > top; row--) {
|
|
31
|
+
path.push(toIndex({ col: left, row, cols }));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return path;
|
|
35
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function withTrail({
|
|
2
|
+
path,
|
|
3
|
+
length = 3
|
|
4
|
+
}) {
|
|
5
|
+
if (path.length === 0) {
|
|
6
|
+
return [[]];
|
|
7
|
+
}
|
|
8
|
+
const trail = Math.max(1, Math.min(length, path.length));
|
|
9
|
+
return path.map((_, index) => [
|
|
10
|
+
...new Set(
|
|
11
|
+
Array.from(
|
|
12
|
+
{ length: trail },
|
|
13
|
+
(__, offset) => path[(index + offset) % path.length]
|
|
14
|
+
)
|
|
15
|
+
)
|
|
16
|
+
]);
|
|
17
|
+
}
|
|
@@ -18,7 +18,11 @@ import { useMagicError } from "@maas/vue-equipment/plugins/MagicError";
|
|
|
18
18
|
import { useMagicDrawer } from "../composables/useMagicDrawer";
|
|
19
19
|
import { useDrawerState } from "../composables/private/useDrawerState";
|
|
20
20
|
import { MagicDrawerInstanceId } from "../symbols";
|
|
21
|
-
const {
|
|
21
|
+
const {
|
|
22
|
+
id,
|
|
23
|
+
disabled = void 0,
|
|
24
|
+
asChild
|
|
25
|
+
} = defineProps({
|
|
22
26
|
id: { type: null, required: false },
|
|
23
27
|
disabled: { type: Boolean, required: false },
|
|
24
28
|
asChild: { type: Boolean, required: false }
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AccordionEvents } from '../../../MagicAccordion/src/types/index.js';
|
|
2
2
|
import type { CarouselEvents } from '../../../MagicCarousel/src/types/index.js';
|
|
3
3
|
import type { CookieEvents } from '../../../MagicCookie/src/types/index.js';
|
|
4
|
+
import type { DotMatrixEvents } from '../../../MagicDotMatrix/src/types/index.js';
|
|
4
5
|
import type { DraggableEvents } from '../../../MagicDraggable/src/types/index.js';
|
|
5
6
|
import type { DrawerEvents } from '../../../MagicDrawer/src/types/index.js';
|
|
6
7
|
import type { ModalEvents } from '../../../MagicModal/src/types/index.js';
|
|
@@ -17,6 +18,7 @@ export type MagicEmitterEvents = Merge<[
|
|
|
17
18
|
AccordionEvents,
|
|
18
19
|
CarouselEvents,
|
|
19
20
|
CookieEvents,
|
|
21
|
+
DotMatrixEvents,
|
|
20
22
|
DraggableEvents,
|
|
21
23
|
DrawerEvents,
|
|
22
24
|
ModalEvents,
|
|
@@ -29,7 +29,12 @@ import {
|
|
|
29
29
|
MagicMenuItemId,
|
|
30
30
|
MagicMenuViewId
|
|
31
31
|
} from "../symbols";
|
|
32
|
-
const {
|
|
32
|
+
const {
|
|
33
|
+
instanceId,
|
|
34
|
+
viewId,
|
|
35
|
+
disabled = void 0,
|
|
36
|
+
trigger
|
|
37
|
+
} = defineProps({
|
|
33
38
|
instanceId: { type: String, required: false },
|
|
34
39
|
viewId: { type: String, required: false },
|
|
35
40
|
disabled: { type: Boolean, required: false },
|
|
@@ -54,13 +59,18 @@ magicError.assert(mappedViewId.value, {
|
|
|
54
59
|
message: "MagicMenuTrigger must be nested inside MagicMenuView or a viewId must be provided",
|
|
55
60
|
errorCode: "missing_view_id"
|
|
56
61
|
});
|
|
57
|
-
const { getView, getRelativeViewIndex } = useMenuView(
|
|
62
|
+
const { getView, getRelativeViewIndex, getParentView } = useMenuView(
|
|
63
|
+
mappedInstanceId.value
|
|
64
|
+
);
|
|
58
65
|
const view = getView(mappedViewId.value);
|
|
59
66
|
const viewIndex = getRelativeViewIndex(mappedViewId.value);
|
|
60
67
|
const { initializeState } = useMenuState(mappedInstanceId.value);
|
|
61
68
|
const state = initializeState();
|
|
62
69
|
const { getItem } = useMenuItem(mappedInstanceId.value);
|
|
63
|
-
const item = getItem({
|
|
70
|
+
const item = getItem({
|
|
71
|
+
viewId: getParentView(mappedViewId.value)?.id ?? "",
|
|
72
|
+
id: itemId ?? ""
|
|
73
|
+
});
|
|
64
74
|
const mappedDisabled = computed(() => disabled ?? item?.disabled ?? false);
|
|
65
75
|
const mappedTrigger = computed(() => {
|
|
66
76
|
if (trigger?.length) {
|
|
@@ -21,7 +21,13 @@ import { useMagicError } from "@maas/vue-equipment/plugins/MagicError";
|
|
|
21
21
|
import { useTrayState } from "../composables/private/useTrayState";
|
|
22
22
|
import { useTrayGesture } from "../composables/private/useTrayGesture";
|
|
23
23
|
import { MagicTrayInstanceId } from "../symbols";
|
|
24
|
-
const {
|
|
24
|
+
const {
|
|
25
|
+
id,
|
|
26
|
+
side,
|
|
27
|
+
disabled,
|
|
28
|
+
preventEdgeNavigation = void 0,
|
|
29
|
+
asChild
|
|
30
|
+
} = defineProps({
|
|
25
31
|
id: { type: null, required: false },
|
|
26
32
|
side: { type: String, required: true },
|
|
27
33
|
disabled: { type: Boolean, required: false },
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maas/vue-equipment",
|
|
3
3
|
"description": "Our Frontend Toolkit, Free and Open Source",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.3.0",
|
|
5
5
|
"contributors": [
|
|
6
6
|
{
|
|
7
7
|
"name": "Robin Scholz",
|
|
@@ -134,8 +134,7 @@
|
|
|
134
134
|
"scripts": {
|
|
135
135
|
"dev": "turbo run dev --parallel",
|
|
136
136
|
"dev:docs": "turbo run dev --filter=docs",
|
|
137
|
-
"
|
|
138
|
-
"build": "turbo run build --filter=!playground",
|
|
137
|
+
"build": "turbo run build",
|
|
139
138
|
"build:types": "turbo run build:types",
|
|
140
139
|
"build:docs": "pnpm exec playwright install chromium --with-deps && turbo run build --filter=docs",
|
|
141
140
|
"tokens": "mirror tokens && mirror css",
|