@digilogiclabs/saas-factory-ui 2.9.0 → 2.9.1
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/index.d.mts +12 -1
- package/dist/index.d.ts +12 -1
- package/dist/index.js +67 -17
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +67 -17
- package/dist/index.mjs.map +1 -1
- package/dist/web/index.d.mts +12 -1
- package/dist/web/index.d.ts +12 -1
- package/dist/web/index.js +67 -17
- package/dist/web/index.js.map +1 -1
- package/dist/web/index.mjs +67 -17
- package/dist/web/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/web/index.mjs
CHANGED
|
@@ -30549,10 +30549,44 @@ function buildPolyhedron(sides) {
|
|
|
30549
30549
|
})
|
|
30550
30550
|
);
|
|
30551
30551
|
const faceInradius = Math.min(...built.map((f) => edgeDist(f.pts)));
|
|
30552
|
-
const
|
|
30552
|
+
const opposite = built.map((_, i) => oppOf(i));
|
|
30553
|
+
const result = {
|
|
30554
|
+
faces: built,
|
|
30555
|
+
opposite,
|
|
30556
|
+
faceRadius,
|
|
30557
|
+
faceInradius
|
|
30558
|
+
};
|
|
30553
30559
|
polyhedronCache.set(sides, result);
|
|
30554
30560
|
return result;
|
|
30555
30561
|
}
|
|
30562
|
+
function dealFaceValues(geo, sides, rolled) {
|
|
30563
|
+
const n = geo.faces.length;
|
|
30564
|
+
const out = new Array(n).fill(0);
|
|
30565
|
+
const used = /* @__PURE__ */ new Set([rolled]);
|
|
30566
|
+
out[0] = rolled;
|
|
30567
|
+
const opp0 = geo.opposite[0];
|
|
30568
|
+
if (opp0 >= 0) {
|
|
30569
|
+
out[opp0] = sides + 1 - rolled;
|
|
30570
|
+
used.add(sides + 1 - rolled);
|
|
30571
|
+
}
|
|
30572
|
+
const values = [];
|
|
30573
|
+
for (let v = 1; v <= sides; v++) if (!used.has(v)) values.push(v);
|
|
30574
|
+
for (let i = values.length - 1; i > 0; i--) {
|
|
30575
|
+
const j = Math.floor(Math.random() * (i + 1));
|
|
30576
|
+
[values[i], values[j]] = [values[j], values[i]];
|
|
30577
|
+
}
|
|
30578
|
+
for (let fi = 1; fi < n; fi++) {
|
|
30579
|
+
if (out[fi] !== 0) continue;
|
|
30580
|
+
const v = values.shift();
|
|
30581
|
+
out[fi] = v;
|
|
30582
|
+
const o = geo.opposite[fi];
|
|
30583
|
+
if (o >= 0 && out[o] === 0) {
|
|
30584
|
+
out[o] = sides + 1 - v;
|
|
30585
|
+
values.splice(values.indexOf(sides + 1 - v), 1);
|
|
30586
|
+
}
|
|
30587
|
+
}
|
|
30588
|
+
return out;
|
|
30589
|
+
}
|
|
30556
30590
|
function formatDieValue(v, sides) {
|
|
30557
30591
|
return sides > 8 && (v === 6 || v === 9) ? `${v}.` : String(v);
|
|
30558
30592
|
}
|
|
@@ -30738,7 +30772,7 @@ function DiceRoller({
|
|
|
30738
30772
|
const dieWrapperRefs = useRef40([]);
|
|
30739
30773
|
const cubeRefs = useRef40([]);
|
|
30740
30774
|
const shadowRefs = useRef40([]);
|
|
30741
|
-
const
|
|
30775
|
+
const faceTextRefs = useRef40([]);
|
|
30742
30776
|
const currentPositionsRef = useRef40(null);
|
|
30743
30777
|
const rollingRef = useRef40(false);
|
|
30744
30778
|
const dieSetters = useRef40([]);
|
|
@@ -30768,14 +30802,16 @@ function DiceRoller({
|
|
|
30768
30802
|
}
|
|
30769
30803
|
return shadowSetters.current[i];
|
|
30770
30804
|
};
|
|
30771
|
-
const
|
|
30772
|
-
const
|
|
30773
|
-
if (!
|
|
30774
|
-
|
|
30775
|
-
|
|
30805
|
+
const faceTextSetters = useRef40([]);
|
|
30806
|
+
const getFaceTextSetter = (i, fi) => {
|
|
30807
|
+
if (!faceTextSetters.current[i]) faceTextSetters.current[i] = [];
|
|
30808
|
+
if (!faceTextSetters.current[i][fi]) {
|
|
30809
|
+
faceTextSetters.current[i][fi] = (el) => {
|
|
30810
|
+
if (!faceTextRefs.current[i]) faceTextRefs.current[i] = [];
|
|
30811
|
+
faceTextRefs.current[i][fi] = el;
|
|
30776
30812
|
};
|
|
30777
30813
|
}
|
|
30778
|
-
return
|
|
30814
|
+
return faceTextSetters.current[i][fi];
|
|
30779
30815
|
};
|
|
30780
30816
|
const sheenGradientId = useId3();
|
|
30781
30817
|
const timersRef = useRef40([]);
|
|
@@ -30981,12 +31017,15 @@ function DiceRoller({
|
|
|
30981
31017
|
for (let f = 1; f <= flickerTicks; f++) {
|
|
30982
31018
|
const t = setTimeout(() => {
|
|
30983
31019
|
for (let i = 0; i < clampedCount; i++) {
|
|
30984
|
-
const
|
|
30985
|
-
if (
|
|
30986
|
-
|
|
30987
|
-
|
|
30988
|
-
|
|
30989
|
-
|
|
31020
|
+
const texts = faceTextRefs.current[i];
|
|
31021
|
+
if (!texts) continue;
|
|
31022
|
+
for (const el of texts) {
|
|
31023
|
+
if (el)
|
|
31024
|
+
el.textContent = formatDieValue(
|
|
31025
|
+
Math.floor(Math.random() * sides) + 1,
|
|
31026
|
+
sides
|
|
31027
|
+
);
|
|
31028
|
+
}
|
|
30990
31029
|
}
|
|
30991
31030
|
}, f * flickerStep);
|
|
30992
31031
|
timersRef.current.push(t);
|
|
@@ -31013,9 +31052,19 @@ function DiceRoller({
|
|
|
31013
31052
|
});
|
|
31014
31053
|
const settleTimer = setTimeout(() => {
|
|
31015
31054
|
if (sides !== 6) {
|
|
31055
|
+
const geo = buildPolyhedron(sides);
|
|
31016
31056
|
for (let i = 0; i < clampedCount; i++) {
|
|
31017
|
-
const
|
|
31018
|
-
if (
|
|
31057
|
+
const texts = faceTextRefs.current[i];
|
|
31058
|
+
if (!texts) continue;
|
|
31059
|
+
const dealt = dealFaceValues(
|
|
31060
|
+
geo,
|
|
31061
|
+
sides,
|
|
31062
|
+
vals[i]
|
|
31063
|
+
);
|
|
31064
|
+
for (let fi = 0; fi < dealt.length; fi++) {
|
|
31065
|
+
const el = texts[fi];
|
|
31066
|
+
if (el) el.textContent = formatDieValue(dealt[fi], sides);
|
|
31067
|
+
}
|
|
31019
31068
|
}
|
|
31020
31069
|
}
|
|
31021
31070
|
setResults(vals);
|
|
@@ -31248,7 +31297,7 @@ function DiceRoller({
|
|
|
31248
31297
|
/* @__PURE__ */ jsx113(
|
|
31249
31298
|
"text",
|
|
31250
31299
|
{
|
|
31251
|
-
ref:
|
|
31300
|
+
ref: getFaceTextSetter(d, fi),
|
|
31252
31301
|
x: S / 2,
|
|
31253
31302
|
y: S / 2,
|
|
31254
31303
|
textAnchor: "middle",
|
|
@@ -44262,6 +44311,7 @@ export {
|
|
|
44262
44311
|
cssAnimations,
|
|
44263
44312
|
d6LandingRotation,
|
|
44264
44313
|
dailyTrendingConfig,
|
|
44314
|
+
dealFaceValues,
|
|
44265
44315
|
detectAuthProvider,
|
|
44266
44316
|
detectDelimiter,
|
|
44267
44317
|
detectHeader,
|