@brytdesigns/web-component-keen-slider-scrollbar 1.1.9 → 3.0.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/main/components/index.js +1 -4
- package/dist/main/components/keen-slider-scrollbar.js +228 -249
- package/dist/main/components/keen-slider-scrollbar.js.map +1 -1
- package/dist/main/index.d.ts +10 -0
- package/dist/main/index.js +11 -12
- package/dist/main/index.js.map +1 -1
- package/dist/main/utils.js +35 -41
- package/dist/main/utils.js.map +1 -1
- package/dist/styles.css +106 -87
- package/package.json +11 -11
- package/dist/esm/index.js +0 -324
- package/dist/esm/index.js.map +0 -1
- package/dist/main/components/index.js.map +0 -1
package/dist/main/utils.js
CHANGED
|
@@ -1,53 +1,47 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/utils.ts
|
|
2
2
|
function constrain(value, min = -Infinity, max = Infinity) {
|
|
3
|
-
|
|
3
|
+
return Math.max(Math.min(value, max), min);
|
|
4
4
|
}
|
|
5
5
|
function calculateMidpointPositionFromBP(bp, container, scrollbar) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
relativeTop + bpRect.height / 2 - scrollbarRect.height / 2,
|
|
12
|
-
minY,
|
|
13
|
-
maxY
|
|
14
|
-
);
|
|
15
|
-
return { x, y };
|
|
6
|
+
const bpRect = bp.getBoundingClientRect(), scrollbarRect = scrollbar.getBoundingClientRect(), containerRect = container.getBoundingClientRect(), relativeLeft = bpRect.left - containerRect.left, minX = 0, maxX = containerRect.width - scrollbarRect.width, relativeTop = bpRect.top - containerRect.top, minY = 0, maxY = containerRect.height - scrollbarRect.height;
|
|
7
|
+
return {
|
|
8
|
+
x: constrain(relativeLeft + bpRect.width / 2 - scrollbarRect.width / 2, minX, maxX),
|
|
9
|
+
y: constrain(relativeTop + bpRect.height / 2 - scrollbarRect.height / 2, minY, maxY)
|
|
10
|
+
};
|
|
16
11
|
}
|
|
17
12
|
function findClosestBreakpoint(position, breakpoints, container, scrollbar) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
13
|
+
const min = 0, max = breakpoints.length - 1;
|
|
14
|
+
let closestDiff = {
|
|
15
|
+
x: Infinity,
|
|
16
|
+
y: Infinity
|
|
17
|
+
}, bpIndex = min;
|
|
18
|
+
for (let i = min; i <= max; i++) {
|
|
19
|
+
const bp = breakpoints[i];
|
|
20
|
+
if (!bp) continue;
|
|
21
|
+
const midpointP = calculateMidpointPositionFromBP(bp, container, scrollbar);
|
|
22
|
+
const diffX = Math.abs(midpointP.x - position.offsetX);
|
|
23
|
+
const diffY = Math.abs(midpointP.y - position.offsetY);
|
|
24
|
+
if (diffX <= closestDiff.x && diffY <= closestDiff.y) {
|
|
25
|
+
closestDiff = {
|
|
26
|
+
x: diffX,
|
|
27
|
+
y: diffY
|
|
28
|
+
};
|
|
29
|
+
bpIndex = i;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return breakpoints[bpIndex];
|
|
32
33
|
}
|
|
33
34
|
function getMaxSlides(slider) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
return Math.ceil(maxIdx / perScroll) + 1;
|
|
35
|
+
const maxIdx = slider?.track?.details?.maxIdx || 1;
|
|
36
|
+
const perScroll = (slider.options?.slides)?.perScroll || 1;
|
|
37
|
+
if (!Number.isFinite(maxIdx)) return Math.ceil(slider.slides.length / perScroll);
|
|
38
|
+
return Math.ceil(maxIdx / perScroll) + 1;
|
|
40
39
|
}
|
|
41
40
|
function getRelativeBreakpoint(slider, breakpoints) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
Math.ceil(slider.track.details.rel / perScroll),
|
|
45
|
-
0,
|
|
46
|
-
maxSlides - 1
|
|
47
|
-
);
|
|
48
|
-
return breakpoints[relativeIdx];
|
|
41
|
+
const maxSlides = getMaxSlides(slider), perScroll = (slider.options?.slides)?.perScroll || 1;
|
|
42
|
+
return breakpoints[constrain(Math.ceil(slider.track.details.rel / perScroll), 0, maxSlides - 1)];
|
|
49
43
|
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { calculateMidpointPositionFromBP, constrain, findClosestBreakpoint, getMaxSlides, getRelativeBreakpoint };
|
|
50
46
|
|
|
51
|
-
export { calculateMidpointPositionFromBP, constrain, findClosestBreakpoint, getMaxSlides, getRelativeBreakpoint, srOnly };
|
|
52
|
-
//# sourceMappingURL=utils.js.map
|
|
53
47
|
//# sourceMappingURL=utils.js.map
|
package/dist/main/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../src/utils.ts"],"sourcesContent":["import type { KeenSliderInstance } from \"@brytdesigns/web-component-keen-slider\";\nimport type { DragEventData } from \"@neodrag/vanilla\";\nimport type { ICustomElement } from \"component-register\";\n\nexport function constrain(value: number, min = -Infinity, max = Infinity) {\n\treturn Math.max(Math.min(value, max), min);\n}\n\nexport function calculateMidpointPositionFromBP(\n\tbp: Element,\n\tcontainer: HTMLElement,\n\tscrollbar: HTMLElement,\n) {\n\tconst bpRect = bp.getBoundingClientRect(),\n\t\tscrollbarRect = scrollbar.getBoundingClientRect(),\n\t\tcontainerRect = container.getBoundingClientRect(),\n\t\trelativeLeft = bpRect.left - containerRect.left,\n\t\tminX = 0,\n\t\tmaxX = containerRect.width - scrollbarRect.width,\n\t\trelativeTop = bpRect.top - containerRect.top,\n\t\tminY = 0,\n\t\tmaxY = containerRect.height - scrollbarRect.height,\n\t\tx = constrain(\n\t\t\trelativeLeft + bpRect.width / 2 - scrollbarRect.width / 2,\n\t\t\tminX,\n\t\t\tmaxX,\n\t\t),\n\t\ty = constrain(\n\t\t\trelativeTop + bpRect.height / 2 - scrollbarRect.height / 2,\n\t\t\tminY,\n\t\t\tmaxY,\n\t\t);\n\n\treturn { x, y };\n}\n\nexport function findClosestBreakpoint(\n\tposition: DragEventData,\n\tbreakpoints: HTMLCollection,\n\tcontainer: HTMLElement,\n\tscrollbar: HTMLElement,\n) {\n\tconst min = 0,\n\t\tmax = breakpoints.length - 1;\n\n\tlet closestDiff = { x: Infinity, y: Infinity },\n\t\tbpIndex = min;\n\n\tfor (let i = min; i <= max; i++) {\n\t\tconst bp = breakpoints[i];\n\t\tif (!bp) continue;\n\t\tconst midpointP = calculateMidpointPositionFromBP(bp, container, scrollbar);\n\t\tconst diffX = Math.abs(midpointP.x - position.offsetX);\n\t\tconst diffY = Math.abs(midpointP.y - position.offsetY);\n\t\tif (diffX <= closestDiff.x && diffY <= closestDiff.y) {\n\t\t\tclosestDiff = { x: diffX, y: diffY };\n\t\t\tbpIndex = i;\n\t\t}\n\t}\n\n\treturn breakpoints[bpIndex];\n}\n\nexport function getMaxSlides(slider: KeenSliderInstance) {\n\tconst maxIdx = slider?.track?.details?.maxIdx || 1;\n\tconst perScroll = (slider.options?.slides as any)?.perScroll || 1;\n\n\tif (!Number.isFinite(maxIdx)) {\n\t\treturn Math.ceil(slider.slides.length / perScroll);\n\t}\n\n\treturn Math.ceil(maxIdx / perScroll) + 1;\n}\n\nexport function getRelativeBreakpoint(\n\tslider: KeenSliderInstance,\n\tbreakpoints: HTMLCollection,\n) {\n\tconst maxSlides = getMaxSlides(slider),\n\t\tperScroll = (slider.options?.slides as any)?.perScroll || 1;\n\n\tconst relativeIdx = constrain(\n\t\tMath.ceil(slider.track.details.rel / perScroll),\n\t\t0,\n\t\tmaxSlides - 1,\n\t);\n\n\treturn breakpoints[relativeIdx];\n}\n"],"mappings":";AAIA,SAAgB,UAAU,OAAe,MAAM,WAAW,MAAM,UAAU;CACzE,OAAO,KAAK,IAAI,KAAK,IAAI,OAAO,GAAG,GAAG,GAAG;AAC1C;AAEA,SAAgB,gCACf,IACA,WACA,WACC;CACD,MAAM,SAAS,GAAG,sBAAsB,GACvC,gBAAgB,UAAU,sBAAsB,GAChD,gBAAgB,UAAU,sBAAsB,GAChD,eAAe,OAAO,OAAO,cAAc,MAC3C,OAAO,GACP,OAAO,cAAc,QAAQ,cAAc,OAC3C,cAAc,OAAO,MAAM,cAAc,KACzC,OAAO,GACP,OAAO,cAAc,SAAS,cAAc;CAY7C,OAAO;EAAE,GAXJ,UACH,eAAe,OAAO,QAAQ,IAAI,cAAc,QAAQ,GACxD,MACA,IAQO;EAAG,GANP,UACH,cAAc,OAAO,SAAS,IAAI,cAAc,SAAS,GACzD,MACA,IAGU;CAAE;AACf;AAEA,SAAgB,sBACf,UACA,aACA,WACA,WACC;CACD,MAAM,MAAM,GACX,MAAM,YAAY,SAAS;CAE5B,IAAI,cAAc;EAAE,GAAG;EAAU,GAAG;CAAS,GAC5C,UAAU;CAEX,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,KAAK;EAChC,MAAM,KAAK,YAAY;EACvB,IAAI,CAAC,IAAI;EACT,MAAM,YAAY,gCAAgC,IAAI,WAAW,SAAS;EAC1E,MAAM,QAAQ,KAAK,IAAI,UAAU,IAAI,SAAS,OAAO;EACrD,MAAM,QAAQ,KAAK,IAAI,UAAU,IAAI,SAAS,OAAO;EACrD,IAAI,SAAS,YAAY,KAAK,SAAS,YAAY,GAAG;GACrD,cAAc;IAAE,GAAG;IAAO,GAAG;GAAM;GACnC,UAAU;EACX;CACD;CAEA,OAAO,YAAY;AACpB;AAEA,SAAgB,aAAa,QAA4B;CACxD,MAAM,SAAS,QAAQ,OAAO,SAAS,UAAU;CACjD,MAAM,aAAa,OAAO,SAAS,OAAA,EAAgB,aAAa;CAEhE,IAAI,CAAC,OAAO,SAAS,MAAM,GAC1B,OAAO,KAAK,KAAK,OAAO,OAAO,SAAS,SAAS;CAGlD,OAAO,KAAK,KAAK,SAAS,SAAS,IAAI;AACxC;AAEA,SAAgB,sBACf,QACA,aACC;CACD,MAAM,YAAY,aAAa,MAAM,GACpC,aAAa,OAAO,SAAS,OAAA,EAAgB,aAAa;CAQ3D,OAAO,YANa,UACnB,KAAK,KAAK,OAAO,MAAM,QAAQ,MAAM,SAAS,GAC9C,GACA,YAAY,CAGM;AACpB"}
|
package/dist/styles.css
CHANGED
|
@@ -1,123 +1,142 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
2
|
+
--keen-slider-scrollbar--thumb-color: #cbcbcb;
|
|
3
|
+
--keen-slider-scrollbar--track-color: #f8f8f8;
|
|
4
|
+
--keen-slider-scrollbar--padding: 0px;
|
|
5
|
+
--keen-slider-scrollbar--left: 0px;
|
|
6
|
+
--keen-slider-scrollbar--right: 0px;
|
|
7
|
+
--keen-slider-scrollbar--width: 100%;
|
|
8
|
+
--keen-slider-scrollbar--height: 5px;
|
|
9
|
+
--keen-slider-scrollbar--opacity: 1;
|
|
10
|
+
--keen-slider-scrollbar--mt: 2rem;
|
|
11
|
+
--keen-slider-scrollbar--mb: 2rem;
|
|
12
|
+
--keen-slider-scrollbar--ml: 2rem;
|
|
13
|
+
--keen-slider-scrollbar--mr: 2rem;
|
|
14
|
+
--keen-slider-scrollbar--border-radius: 1000rem;
|
|
15
|
+
--keen-slider-scrollbar--total-slides: 2;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
keen-slider-scrollbar {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
display: block;
|
|
20
|
+
width: var(--keen-slider-scrollbar--width);
|
|
21
|
+
height: var(--keen-slider-scrollbar--height);
|
|
22
|
+
border-radius: var(--keen-slider-scrollbar--border-radius);
|
|
23
|
+
cursor: pointer;
|
|
24
|
+
position: relative;
|
|
25
|
+
opacity: var(--keen-slider-scrollbar--opacity);
|
|
26
|
+
transition: opacity 300ms ease;
|
|
27
|
+
box-sizing: border-box;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
keen-slider-scrollbar[is-vertical="false"] {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
--keen-slider-scrollbar--width: 100%;
|
|
32
|
+
--keen-slider-scrollbar--height: 5px;
|
|
33
|
+
margin-top: var(--keen-slider-scrollbar--mt);
|
|
34
|
+
margin-bottom: var(--keen-slider-scrollbar--mb);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
keen-slider-scrollbar[is-vertical="true"] {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
--keen-slider-scrollbar--height: 100%;
|
|
39
|
+
--keen-slider-scrollbar--width: 5px;
|
|
40
|
+
margin-left: var(--keen-slider-scrollbar--ml);
|
|
41
|
+
margin-right: var(--keen-slider-scrollbar--mr);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
keen-slider-scrollbar[is-hidden="true"] {
|
|
45
|
-
|
|
45
|
+
--keen-slider-scrollbar--opacity: 0;
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
visibility: hidden;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
keen-slider-scrollbar::before {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
51
|
+
content: "";
|
|
52
|
+
position: absolute;
|
|
53
|
+
width: 100%;
|
|
54
|
+
height: 100%;
|
|
55
|
+
background-color: var(--keen-slider-scrollbar--track-color);
|
|
56
|
+
border-radius: var(--keen-slider-scrollbar--border-radius);
|
|
57
|
+
top: 0;
|
|
58
|
+
box-sizing: border-box;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
keen-slider-scrollbar .keen-slider-scrollbar__thumb {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
display: block;
|
|
63
|
+
position: relative;
|
|
64
|
+
background: var(--keen-slider-scrollbar--thumb-color);
|
|
65
|
+
border-radius: var(--keen-slider-scrollbar--border-radius);
|
|
66
|
+
box-sizing: border-box;
|
|
67
|
+
z-index: 2;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
keen-slider-scrollbar[is-vertical="false"] .keen-slider-scrollbar__thumb {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
71
|
+
left: 0;
|
|
72
|
+
top: 50% !important;
|
|
73
|
+
transform: translate3d(0, -50%, 0);
|
|
74
|
+
max-width: calc(
|
|
75
|
+
var(--keen-slider-scrollbar--width) /
|
|
76
|
+
var(--keen-slider-scrollbar--total-slides)
|
|
77
|
+
);
|
|
78
|
+
width: 100%;
|
|
79
|
+
min-width: 10%;
|
|
80
|
+
height: 100%;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
keen-slider-scrollbar[is-vertical="true"] .keen-slider-scrollbar__thumb {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
84
|
+
left: 50% !important;
|
|
85
|
+
top: 0;
|
|
86
|
+
transform: translate3d(-50%, 0%, 0);
|
|
87
|
+
max-height: calc(
|
|
88
|
+
var(--keen-slider-scrollbar--height) /
|
|
89
|
+
var(--keen-slider-scrollbar--total-slides)
|
|
90
|
+
);
|
|
91
|
+
height: 100%;
|
|
92
|
+
min-height: 10%;
|
|
93
|
+
width: 100%;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
keen-slider-scrollbar .keen-slider-scrollbar__breakpoints {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
97
|
+
z-index: 1;
|
|
98
|
+
position: absolute;
|
|
99
|
+
display: grid;
|
|
100
|
+
top: 0;
|
|
101
|
+
left: 0;
|
|
102
|
+
right: 0;
|
|
103
|
+
bottom: 0;
|
|
104
|
+
list-style: none;
|
|
105
|
+
margin: 0;
|
|
106
|
+
padding: 0;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
keen-slider-scrollbar[is-vertical="false"] .keen-slider-scrollbar__breakpoints {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
110
|
+
grid-auto-rows: auto;
|
|
111
|
+
grid-template-columns: repeat(
|
|
112
|
+
var(--keen-slider-scrollbar--total-slides, 1),
|
|
113
|
+
1fr
|
|
114
|
+
);
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
keen-slider-scrollbar[is-vertical="true"] .keen-slider-scrollbar__breakpoints {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
118
|
+
grid-auto-columns: auto;
|
|
119
|
+
grid-template-rows: repeat(
|
|
120
|
+
var(--keen-slider-scrollbar--total-slides, 1),
|
|
121
|
+
1fr
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* The breakpoint controls. The <li> is the grid cell; the button fills it so a
|
|
126
|
+
pointer or a focus ring lands on something the size of the breakpoint rather
|
|
127
|
+
than on a 1px visually-hidden box. */
|
|
128
|
+
keen-slider-scrollbar .keen-slider-scrollbar__breakpoint {
|
|
129
|
+
display: block;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
keen-slider-scrollbar .keen-slider-scrollbar__breakpoint > button {
|
|
133
|
+
display: block;
|
|
134
|
+
width: 100%;
|
|
135
|
+
height: 100%;
|
|
136
|
+
margin: 0;
|
|
137
|
+
padding: 0;
|
|
138
|
+
border: 0;
|
|
139
|
+
background: none;
|
|
140
|
+
cursor: pointer;
|
|
141
|
+
appearance: none;
|
|
123
142
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brytdesigns/web-component-keen-slider-scrollbar",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Keen slider scrollbar web component",
|
|
5
5
|
"main": "./dist/main/index.js",
|
|
6
6
|
"module": "./dist/main/index.js",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"exports": {
|
|
10
10
|
".": {
|
|
11
11
|
"types": "./dist/main/index.d.ts",
|
|
12
|
-
"
|
|
12
|
+
"default": "./dist/main/index.js"
|
|
13
13
|
},
|
|
14
14
|
"./styles.css": "./dist/styles.css"
|
|
15
15
|
},
|
|
@@ -20,21 +20,21 @@
|
|
|
20
20
|
"author": "Bryt Designs",
|
|
21
21
|
"license": "ISC",
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@
|
|
23
|
+
"@brytdesigns/web-component-core": "3.0.0",
|
|
24
|
+
"@brytdesigns/web-component-keen-slider": "3.0.0",
|
|
25
|
+
"@neodrag/vanilla": "^2.3.1",
|
|
26
|
+
"@solidjs/web": "2.0.0-rc.14",
|
|
24
27
|
"component-register": "0.8.7",
|
|
25
|
-
"motion": "^12.
|
|
28
|
+
"motion": "^12.43.0",
|
|
26
29
|
"popmotion": "^11.0.5",
|
|
27
|
-
"solid-
|
|
28
|
-
"solid-js": "^1.9.9",
|
|
29
|
-
"@brytdesigns/web-component-core": "1.1.7",
|
|
30
|
-
"@brytdesigns/web-component-keen-slider": "1.2.3"
|
|
30
|
+
"solid-js": "2.0.0-rc.14"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"
|
|
34
|
-
"
|
|
33
|
+
"@repo/vite-config": "0.0.0",
|
|
34
|
+
"vite": "^8.2.2"
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
|
-
"build": "
|
|
37
|
+
"build": "vite build",
|
|
38
38
|
"typecheck": "tsc --noEmit"
|
|
39
39
|
}
|
|
40
40
|
}
|