dirk-cfx-react 1.1.78 → 1.1.80
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/components/index.cjs +291 -29
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.cts +17 -1
- package/dist/components/index.d.ts +17 -1
- package/dist/components/index.js +291 -31
- package/dist/components/index.js.map +1 -1
- package/dist/index.cjs +291 -29
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +291 -31
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1253,11 +1253,11 @@ var colorNames = {
|
|
|
1253
1253
|
Yellow: { r: 255, g: 255, b: 0 },
|
|
1254
1254
|
YellowGreen: { r: 154, g: 205, b: 50 }
|
|
1255
1255
|
};
|
|
1256
|
-
function colorWithAlpha(color,
|
|
1256
|
+
function colorWithAlpha(color, alpha11) {
|
|
1257
1257
|
const lowerCasedColor = color.toLowerCase();
|
|
1258
1258
|
if (colorNames[lowerCasedColor]) {
|
|
1259
1259
|
const rgb = colorNames[lowerCasedColor];
|
|
1260
|
-
return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${
|
|
1260
|
+
return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${alpha11})`;
|
|
1261
1261
|
}
|
|
1262
1262
|
if (/^#([A-Fa-f0-9]{6})$/.test(color)) {
|
|
1263
1263
|
const hex = color.slice(1);
|
|
@@ -1265,12 +1265,12 @@ function colorWithAlpha(color, alpha10) {
|
|
|
1265
1265
|
const r = bigint >> 16 & 255;
|
|
1266
1266
|
const g = bigint >> 8 & 255;
|
|
1267
1267
|
const b = bigint & 255;
|
|
1268
|
-
return `rgba(${r}, ${g}, ${b}, ${
|
|
1268
|
+
return `rgba(${r}, ${g}, ${b}, ${alpha11})`;
|
|
1269
1269
|
}
|
|
1270
1270
|
if (/^rgb\((\d{1,3}), (\d{1,3}), (\d{1,3})\)$/.test(color)) {
|
|
1271
1271
|
const result = color.match(/^rgb\((\d{1,3}), (\d{1,3}), (\d{1,3})\)$/);
|
|
1272
1272
|
if (result) {
|
|
1273
|
-
return `rgba(${result[1]}, ${result[2]}, ${result[3]}, ${
|
|
1273
|
+
return `rgba(${result[1]}, ${result[2]}, ${result[3]}, ${alpha11})`;
|
|
1274
1274
|
}
|
|
1275
1275
|
}
|
|
1276
1276
|
return color;
|
|
@@ -5861,6 +5861,45 @@ function AdminPageTitle(props) {
|
|
|
5861
5861
|
/* @__PURE__ */ jsxRuntime.jsx(core.Text, { ff: "Akrobat Bold", tt: "uppercase", lts: "0.1em", size: "sm", c: "rgba(255,255,255,0.6)", children: locale(props.title) })
|
|
5862
5862
|
] });
|
|
5863
5863
|
}
|
|
5864
|
+
function SwitchPanel({ label: label2, description: description2, checked, onChange, disabled }) {
|
|
5865
|
+
const theme2 = core.useMantineTheme();
|
|
5866
|
+
const pc = theme2.colors[theme2.primaryColor];
|
|
5867
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5868
|
+
core.Flex,
|
|
5869
|
+
{
|
|
5870
|
+
justify: "space-between",
|
|
5871
|
+
align: "center",
|
|
5872
|
+
p: "xs",
|
|
5873
|
+
style: {
|
|
5874
|
+
background: core.alpha(theme2.colors.dark[5], 0.35),
|
|
5875
|
+
border: "0.1vh solid rgba(255,255,255,0.05)",
|
|
5876
|
+
borderRadius: theme2.radius.xs,
|
|
5877
|
+
opacity: disabled ? 0.5 : 1
|
|
5878
|
+
},
|
|
5879
|
+
children: [
|
|
5880
|
+
/* @__PURE__ */ jsxRuntime.jsxs(core.Flex, { direction: "column", gap: "xxs", style: { flex: 1, minWidth: 0 }, children: [
|
|
5881
|
+
typeof label2 === "string" ? /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ff: "Akrobat Bold", size: "xs", c: "rgba(255,255,255,0.85)", children: label2 }) : label2,
|
|
5882
|
+
description2 && (typeof description2 === "string" ? /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ff: "Akrobat Bold", size: "xxs", c: "rgba(255,255,255,0.45)", children: description2 }) : description2)
|
|
5883
|
+
] }),
|
|
5884
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5885
|
+
core.Switch,
|
|
5886
|
+
{
|
|
5887
|
+
checked,
|
|
5888
|
+
disabled,
|
|
5889
|
+
onChange: (e) => onChange(e.currentTarget.checked),
|
|
5890
|
+
size: "md",
|
|
5891
|
+
styles: {
|
|
5892
|
+
track: {
|
|
5893
|
+
background: checked ? core.alpha(pc[6], 0.4) : "rgba(255,255,255,0.08)",
|
|
5894
|
+
borderColor: checked ? core.alpha(pc[6], 0.6) : "rgba(255,255,255,0.1)"
|
|
5895
|
+
}
|
|
5896
|
+
}
|
|
5897
|
+
}
|
|
5898
|
+
)
|
|
5899
|
+
]
|
|
5900
|
+
}
|
|
5901
|
+
);
|
|
5902
|
+
}
|
|
5864
5903
|
var placementStyle = (placement) => {
|
|
5865
5904
|
switch (placement) {
|
|
5866
5905
|
case "top-center":
|
|
@@ -6111,32 +6150,13 @@ function ThemeOverrideSection({
|
|
|
6111
6150
|
color
|
|
6112
6151
|
}
|
|
6113
6152
|
),
|
|
6114
|
-
/* @__PURE__ */ jsxRuntime.
|
|
6115
|
-
|
|
6153
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6154
|
+
SwitchPanel,
|
|
6116
6155
|
{
|
|
6117
|
-
|
|
6118
|
-
|
|
6119
|
-
|
|
6120
|
-
|
|
6121
|
-
background: `rgba(255,255,255,${editable ? 0.04 : 0.02})`,
|
|
6122
|
-
border: `0.1vh solid ${editable ? color : "rgba(255,255,255,0.08)"}`,
|
|
6123
|
-
borderRadius: mantineTheme.radius.xs,
|
|
6124
|
-
transition: "background 0.15s, border-color 0.15s"
|
|
6125
|
-
},
|
|
6126
|
-
children: [
|
|
6127
|
-
/* @__PURE__ */ jsxRuntime.jsxs(core.Flex, { direction: "column", gap: "xxs", style: { flex: 1, minWidth: 0 }, children: [
|
|
6128
|
-
/* @__PURE__ */ jsxRuntime.jsx(core.Text, { ff: "Akrobat Bold", size: "xs", c: "rgba(255,255,255,0.9)", children: locale("OverrideGlobalTheme") || "Override global theme" }),
|
|
6129
|
-
/* @__PURE__ */ jsxRuntime.jsx(core.Text, { ff: "Akrobat Bold", size: "xxs", c: "rgba(255,255,255,0.4)", children: locale("OverrideGlobalThemeDesc") || "When on, this resource uses its own primary colour and palette instead of dirk_lib's. Turn off to fall back to the global theme \u2014 your custom palette is kept." })
|
|
6130
|
-
] }),
|
|
6131
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
6132
|
-
core.Switch,
|
|
6133
|
-
{
|
|
6134
|
-
size: "md",
|
|
6135
|
-
checked: value.useOverride,
|
|
6136
|
-
onChange: (e) => set("useOverride", e.currentTarget.checked)
|
|
6137
|
-
}
|
|
6138
|
-
)
|
|
6139
|
-
]
|
|
6156
|
+
label: locale("OverrideGlobalTheme") || "Override global theme",
|
|
6157
|
+
description: locale("OverrideGlobalThemeDesc") || "When on, this resource uses its own primary colour and palette instead of dirk_lib's. Turn off to fall back to the global theme \u2014 your custom palette is kept.",
|
|
6158
|
+
checked: value.useOverride,
|
|
6159
|
+
onChange: (v) => set("useOverride", v)
|
|
6140
6160
|
}
|
|
6141
6161
|
),
|
|
6142
6162
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -6302,6 +6322,246 @@ function SwatchTile({
|
|
|
6302
6322
|
) })
|
|
6303
6323
|
] });
|
|
6304
6324
|
}
|
|
6325
|
+
|
|
6326
|
+
// src/utils/gtaAnimPostFx.ts
|
|
6327
|
+
var GTA_ANIM_POST_FX_GROUP_ORDER = [
|
|
6328
|
+
"Wake Up / Sleep",
|
|
6329
|
+
"Character Switch",
|
|
6330
|
+
"Cinematic Push-In",
|
|
6331
|
+
"Death / Fail",
|
|
6332
|
+
"Heist",
|
|
6333
|
+
"Minigame",
|
|
6334
|
+
"Drug / Trip",
|
|
6335
|
+
"Color Filter / Tint",
|
|
6336
|
+
"Multiplayer",
|
|
6337
|
+
"Misc"
|
|
6338
|
+
];
|
|
6339
|
+
var GTA_ANIM_POST_FX = [
|
|
6340
|
+
// ── Wake Up / Sleep (community-known; not in altV docs) ────────────────────
|
|
6341
|
+
{ name: "ULP_PlayerWakeUp", label: "Player Wake Up", group: "Wake Up / Sleep" },
|
|
6342
|
+
{ name: "MinigameEndNeutral", label: "Minigame End \u2014 Neutral", group: "Wake Up / Sleep" },
|
|
6343
|
+
{ name: "MinigameEndFranklin", label: "Minigame End \u2014 Franklin", group: "Wake Up / Sleep" },
|
|
6344
|
+
{ name: "MinigameEndMichael", label: "Minigame End \u2014 Michael", group: "Wake Up / Sleep" },
|
|
6345
|
+
{ name: "MinigameEndTrevor", label: "Minigame End \u2014 Trevor", group: "Wake Up / Sleep" },
|
|
6346
|
+
// ── Character Switch (Franklin / Michael / Trevor / Neutral variants) ─────
|
|
6347
|
+
{ name: "SwitchHUDIn", group: "Character Switch" },
|
|
6348
|
+
{ name: "SwitchHUDOut", group: "Character Switch" },
|
|
6349
|
+
{ name: "SwitchHUDFranklinIn", group: "Character Switch" },
|
|
6350
|
+
{ name: "SwitchHUDFranklinOut", group: "Character Switch" },
|
|
6351
|
+
{ name: "SwitchHUDMichaelIn", group: "Character Switch" },
|
|
6352
|
+
{ name: "SwitchHUDMichaelOut", group: "Character Switch" },
|
|
6353
|
+
{ name: "SwitchHUDTrevorIn", group: "Character Switch" },
|
|
6354
|
+
{ name: "SwitchHUDTrevorOut", group: "Character Switch" },
|
|
6355
|
+
{ name: "SwitchOpenFranklin", group: "Character Switch" },
|
|
6356
|
+
{ name: "SwitchOpenFranklinIn", group: "Character Switch" },
|
|
6357
|
+
{ name: "SwitchOpenFranklinOut", group: "Character Switch" },
|
|
6358
|
+
{ name: "SwitchOpenMichaelIn", group: "Character Switch" },
|
|
6359
|
+
{ name: "SwitchOpenMichaelMid", group: "Character Switch" },
|
|
6360
|
+
{ name: "SwitchOpenMichaelOut", group: "Character Switch" },
|
|
6361
|
+
{ name: "SwitchOpenTrevorIn", group: "Character Switch" },
|
|
6362
|
+
{ name: "SwitchOpenTrevorOut", group: "Character Switch" },
|
|
6363
|
+
{ name: "SwitchOpenNeutralFIB5", group: "Character Switch" },
|
|
6364
|
+
{ name: "SwitchOpenNeutralOutHeist", group: "Character Switch" },
|
|
6365
|
+
{ name: "SwitchSceneFranklin", group: "Character Switch" },
|
|
6366
|
+
{ name: "SwitchSceneMichael", group: "Character Switch" },
|
|
6367
|
+
{ name: "SwitchSceneNeutral", group: "Character Switch" },
|
|
6368
|
+
{ name: "SwitchSceneTrevor", group: "Character Switch" },
|
|
6369
|
+
{ name: "SwitchShortFranklinIn", group: "Character Switch" },
|
|
6370
|
+
{ name: "SwitchShortFranklinMid", group: "Character Switch" },
|
|
6371
|
+
{ name: "SwitchShortMichaelIn", group: "Character Switch" },
|
|
6372
|
+
{ name: "SwitchShortMichaelMid", group: "Character Switch" },
|
|
6373
|
+
{ name: "SwitchShortNeutralIn", group: "Character Switch" },
|
|
6374
|
+
{ name: "SwitchShortNeutralMid", group: "Character Switch" },
|
|
6375
|
+
{ name: "SwitchShortTrevorIn", group: "Character Switch" },
|
|
6376
|
+
{ name: "SwitchShortTrevorMid", group: "Character Switch" },
|
|
6377
|
+
{ name: "switch_cam_1", group: "Character Switch" },
|
|
6378
|
+
{ name: "switch_cam_2", group: "Character Switch" },
|
|
6379
|
+
// ── Cinematic Push-In (slow zoom intro to a character) ────────────────────
|
|
6380
|
+
{ name: "CamPushInFranklin", group: "Cinematic Push-In" },
|
|
6381
|
+
{ name: "CamPushInMichael", group: "Cinematic Push-In" },
|
|
6382
|
+
{ name: "CamPushInTrevor", group: "Cinematic Push-In" },
|
|
6383
|
+
{ name: "CamPushInNeutral", group: "Cinematic Push-In" },
|
|
6384
|
+
{ name: "BeastIntroScene", label: "Beast Intro", group: "Cinematic Push-In" },
|
|
6385
|
+
{ name: "BeastLaunch", group: "Cinematic Push-In" },
|
|
6386
|
+
{ name: "BeastTransition", group: "Cinematic Push-In" },
|
|
6387
|
+
// ── Death / Fail (red tint, slow-mo blur) ─────────────────────────────────
|
|
6388
|
+
{ name: "DeathFailNeutralIn", group: "Death / Fail" },
|
|
6389
|
+
{ name: "DeathFailFranklinIn", group: "Death / Fail" },
|
|
6390
|
+
{ name: "DeathFailMichaelIn", group: "Death / Fail" },
|
|
6391
|
+
{ name: "DeathFailTrevorIn", group: "Death / Fail" },
|
|
6392
|
+
{ name: "DeathFailMPIn", label: "Death Fail \u2014 MP", group: "Death / Fail" },
|
|
6393
|
+
{ name: "DeathFailMPDark", label: "Death Fail \u2014 MP Dark", group: "Death / Fail" },
|
|
6394
|
+
{ name: "DeathFailOut", group: "Death / Fail" },
|
|
6395
|
+
{ name: "Rampage", group: "Death / Fail" },
|
|
6396
|
+
{ name: "RampageOut", group: "Death / Fail" },
|
|
6397
|
+
// ── Heist (celebration / locate / pass) ───────────────────────────────────
|
|
6398
|
+
{ name: "HeistCelebEnd", group: "Heist" },
|
|
6399
|
+
{ name: "HeistCelebPass", group: "Heist" },
|
|
6400
|
+
{ name: "HeistCelebPassBW", label: "Heist Celeb Pass (B/W)", group: "Heist" },
|
|
6401
|
+
{ name: "HeistCelebToast", group: "Heist" },
|
|
6402
|
+
{ name: "HeistLocate", group: "Heist" },
|
|
6403
|
+
{ name: "HeistTripSkipFade", group: "Heist" },
|
|
6404
|
+
// ── Minigame / Menu ───────────────────────────────────────────────────────
|
|
6405
|
+
{ name: "MenuMGIn", group: "Minigame" },
|
|
6406
|
+
{ name: "MenuMGHeistIn", group: "Minigame" },
|
|
6407
|
+
{ name: "MenuMGHeistIntro", group: "Minigame" },
|
|
6408
|
+
{ name: "MenuMGHeistOut", group: "Minigame" },
|
|
6409
|
+
{ name: "MenuMGHeistTint", group: "Minigame" },
|
|
6410
|
+
{ name: "MenuMGSelectionIn", group: "Minigame" },
|
|
6411
|
+
{ name: "MenuMGSelectionTint", group: "Minigame" },
|
|
6412
|
+
{ name: "MenuMGTournamentIn", group: "Minigame" },
|
|
6413
|
+
{ name: "MenuMGTournamentTint", group: "Minigame" },
|
|
6414
|
+
{ name: "MinigameTransitionIn", group: "Minigame" },
|
|
6415
|
+
{ name: "MinigameTransitionOut", group: "Minigame" },
|
|
6416
|
+
// ── Drug / Trip (psychedelic, blur, distortion) ───────────────────────────
|
|
6417
|
+
{ name: "DMT_flight", group: "Drug / Trip" },
|
|
6418
|
+
{ name: "DMT_flight_intro", group: "Drug / Trip" },
|
|
6419
|
+
{ name: "PeyoteIn", group: "Drug / Trip" },
|
|
6420
|
+
{ name: "PeyoteOut", group: "Drug / Trip" },
|
|
6421
|
+
{ name: "PeyoteEndIn", group: "Drug / Trip" },
|
|
6422
|
+
{ name: "PeyoteEndOut", group: "Drug / Trip" },
|
|
6423
|
+
{ name: "DrugsDrivingIn", group: "Drug / Trip" },
|
|
6424
|
+
{ name: "DrugsDrivingOut", group: "Drug / Trip" },
|
|
6425
|
+
{ name: "DrugsMichaelAliensFight", group: "Drug / Trip" },
|
|
6426
|
+
{ name: "DrugsMichaelAliensFightIn", group: "Drug / Trip" },
|
|
6427
|
+
{ name: "DrugsMichaelAliensFightOut", group: "Drug / Trip" },
|
|
6428
|
+
{ name: "DrugsTrevorClownsFight", group: "Drug / Trip" },
|
|
6429
|
+
{ name: "DrugsTrevorClownsFightIn", group: "Drug / Trip" },
|
|
6430
|
+
{ name: "DrugsTrevorClownsFightOut", group: "Drug / Trip" },
|
|
6431
|
+
{ name: "ChopVision", label: "Chop Vision (dog)", group: "Drug / Trip" },
|
|
6432
|
+
// ── Color Filter / Tint (one-off and biker formation filters) ─────────────
|
|
6433
|
+
{ name: "PPFilter", group: "Color Filter / Tint" },
|
|
6434
|
+
{ name: "PPFilterOut", group: "Color Filter / Tint" },
|
|
6435
|
+
{ name: "PPGreen", group: "Color Filter / Tint" },
|
|
6436
|
+
{ name: "PPGreenOut", group: "Color Filter / Tint" },
|
|
6437
|
+
{ name: "PPOrange", group: "Color Filter / Tint" },
|
|
6438
|
+
{ name: "PPOrangeOut", group: "Color Filter / Tint" },
|
|
6439
|
+
{ name: "PPPink", group: "Color Filter / Tint" },
|
|
6440
|
+
{ name: "PPPinkOut", group: "Color Filter / Tint" },
|
|
6441
|
+
{ name: "PPPurple", group: "Color Filter / Tint" },
|
|
6442
|
+
{ name: "PPPurpleOut", group: "Color Filter / Tint" },
|
|
6443
|
+
{ name: "BikerFilter", group: "Color Filter / Tint" },
|
|
6444
|
+
{ name: "BikerFilterOut", group: "Color Filter / Tint" },
|
|
6445
|
+
{ name: "BikerFormation", group: "Color Filter / Tint" },
|
|
6446
|
+
{ name: "BikerFormationOut", group: "Color Filter / Tint" },
|
|
6447
|
+
{ name: "InchOrange", group: "Color Filter / Tint" },
|
|
6448
|
+
{ name: "InchOrangeOut", group: "Color Filter / Tint" },
|
|
6449
|
+
{ name: "InchPurple", group: "Color Filter / Tint" },
|
|
6450
|
+
{ name: "InchPurpleOut", group: "Color Filter / Tint" },
|
|
6451
|
+
{ name: "InchPickup", group: "Color Filter / Tint" },
|
|
6452
|
+
{ name: "InchPickupOut", group: "Color Filter / Tint" },
|
|
6453
|
+
{ name: "TinyRacerGreen", group: "Color Filter / Tint" },
|
|
6454
|
+
{ name: "TinyRacerGreenOut", group: "Color Filter / Tint" },
|
|
6455
|
+
{ name: "TinyRacerPink", group: "Color Filter / Tint" },
|
|
6456
|
+
{ name: "TinyRacerPinkOut", group: "Color Filter / Tint" },
|
|
6457
|
+
{ name: "TinyRacerIntroCam", group: "Color Filter / Tint" },
|
|
6458
|
+
{ name: "DeadlineNeon", group: "Color Filter / Tint" },
|
|
6459
|
+
// ── Multiplayer (celeb, killstreak, race, etc.) ───────────────────────────
|
|
6460
|
+
{ name: "MP_Celeb_Win", group: "Multiplayer" },
|
|
6461
|
+
{ name: "MP_Celeb_Win_Out", group: "Multiplayer" },
|
|
6462
|
+
{ name: "MP_Celeb_Lose", group: "Multiplayer" },
|
|
6463
|
+
{ name: "MP_Celeb_Lose_Out", group: "Multiplayer" },
|
|
6464
|
+
{ name: "MP_Celeb_Preload", group: "Multiplayer" },
|
|
6465
|
+
{ name: "MP_Celeb_Preload_Fade", group: "Multiplayer" },
|
|
6466
|
+
{ name: "MP_Bull_tost", group: "Multiplayer" },
|
|
6467
|
+
{ name: "MP_Bull_tost_Out", group: "Multiplayer" },
|
|
6468
|
+
{ name: "MP_Killstreak", group: "Multiplayer" },
|
|
6469
|
+
{ name: "MP_Killstreak_Out", group: "Multiplayer" },
|
|
6470
|
+
{ name: "MP_Loser_Streak_Out", group: "Multiplayer" },
|
|
6471
|
+
{ name: "MP_OrbitalCannon", group: "Multiplayer" },
|
|
6472
|
+
{ name: "MP_Powerplay", group: "Multiplayer" },
|
|
6473
|
+
{ name: "MP_Powerplay_Out", group: "Multiplayer" },
|
|
6474
|
+
{ name: "MP_SmugglerCheckpoint", group: "Multiplayer" },
|
|
6475
|
+
{ name: "MP_TransformRaceFlash", group: "Multiplayer" },
|
|
6476
|
+
{ name: "MP_WarpCheckpoint", group: "Multiplayer" },
|
|
6477
|
+
{ name: "MP_corona_switch", group: "Multiplayer" },
|
|
6478
|
+
{ name: "MP_intro_logo", group: "Multiplayer" },
|
|
6479
|
+
{ name: "MP_job_load", group: "Multiplayer" },
|
|
6480
|
+
{ name: "MP_race_crash", group: "Multiplayer" },
|
|
6481
|
+
// ── Misc (success notifs, special weapons, sniper / pause / explosions) ───
|
|
6482
|
+
{ name: "SuccessFranklin", group: "Misc" },
|
|
6483
|
+
{ name: "SuccessMichael", group: "Misc" },
|
|
6484
|
+
{ name: "SuccessNeutral", group: "Misc" },
|
|
6485
|
+
{ name: "SuccessTrevor", group: "Misc" },
|
|
6486
|
+
{ name: "FocusIn", group: "Misc" },
|
|
6487
|
+
{ name: "FocusOut", group: "Misc" },
|
|
6488
|
+
{ name: "CrossLine", group: "Misc" },
|
|
6489
|
+
{ name: "CrossLineOut", group: "Misc" },
|
|
6490
|
+
{ name: "SniperOverlay", group: "Misc" },
|
|
6491
|
+
{ name: "ExplosionJosh3", group: "Misc" },
|
|
6492
|
+
{ name: "WeaponUpgrade", group: "Misc" },
|
|
6493
|
+
{ name: "Dont_tazeme_bro", label: "Don't Taze Me Bro", group: "Misc" },
|
|
6494
|
+
{ name: "LostTimeDay", group: "Misc" },
|
|
6495
|
+
{ name: "LostTimeNight", group: "Misc" },
|
|
6496
|
+
{ name: "PauseMenuOut", group: "Misc" },
|
|
6497
|
+
{ name: "pennedIn", group: "Misc" },
|
|
6498
|
+
{ name: "PennedInOut", group: "Misc" },
|
|
6499
|
+
{ name: "RaceTurbo", group: "Misc" },
|
|
6500
|
+
{ name: "DefaultFlash", group: "Misc" }
|
|
6501
|
+
];
|
|
6502
|
+
function formatGtaAnimPostFx(name) {
|
|
6503
|
+
const entry = GTA_ANIM_POST_FX.find((fx) => fx.name === name);
|
|
6504
|
+
return entry?.label ?? name;
|
|
6505
|
+
}
|
|
6506
|
+
function buildGroupedData2(extraNames = []) {
|
|
6507
|
+
const groups = /* @__PURE__ */ new Map();
|
|
6508
|
+
const seen = /* @__PURE__ */ new Set();
|
|
6509
|
+
for (const fx of GTA_ANIM_POST_FX) {
|
|
6510
|
+
if (seen.has(fx.name)) continue;
|
|
6511
|
+
seen.add(fx.name);
|
|
6512
|
+
if (!groups.has(fx.group)) groups.set(fx.group, []);
|
|
6513
|
+
groups.get(fx.group).push(fx);
|
|
6514
|
+
}
|
|
6515
|
+
const data = GTA_ANIM_POST_FX_GROUP_ORDER.flatMap((g) => {
|
|
6516
|
+
const items = groups.get(g);
|
|
6517
|
+
if (!items || items.length === 0) return [];
|
|
6518
|
+
return [
|
|
6519
|
+
{
|
|
6520
|
+
group: g,
|
|
6521
|
+
items: items.map((fx) => ({
|
|
6522
|
+
value: fx.name,
|
|
6523
|
+
label: formatGtaAnimPostFx(fx.name)
|
|
6524
|
+
}))
|
|
6525
|
+
}
|
|
6526
|
+
];
|
|
6527
|
+
});
|
|
6528
|
+
const knownNames = new Set(GTA_ANIM_POST_FX.map((fx) => fx.name));
|
|
6529
|
+
const customs = extraNames.filter((n) => n && !knownNames.has(n));
|
|
6530
|
+
if (customs.length > 0) {
|
|
6531
|
+
data.push({
|
|
6532
|
+
group: "Custom",
|
|
6533
|
+
items: customs.map((n) => ({ value: n, label: n }))
|
|
6534
|
+
});
|
|
6535
|
+
}
|
|
6536
|
+
return data;
|
|
6537
|
+
}
|
|
6538
|
+
function AnimPostFxSelect({
|
|
6539
|
+
value,
|
|
6540
|
+
onChange,
|
|
6541
|
+
label: label2 = "Screen FX",
|
|
6542
|
+
size = "xs",
|
|
6543
|
+
searchable = true,
|
|
6544
|
+
clearable = true,
|
|
6545
|
+
...rest
|
|
6546
|
+
}) {
|
|
6547
|
+
const data = buildGroupedData2([value]);
|
|
6548
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
6549
|
+
core.Select,
|
|
6550
|
+
{
|
|
6551
|
+
label: label2,
|
|
6552
|
+
size,
|
|
6553
|
+
searchable,
|
|
6554
|
+
clearable,
|
|
6555
|
+
maxDropdownHeight: 320,
|
|
6556
|
+
nothingFoundMessage: "No matching effects",
|
|
6557
|
+
placeholder: "Pick an effect...",
|
|
6558
|
+
...rest,
|
|
6559
|
+
data,
|
|
6560
|
+
value: value || null,
|
|
6561
|
+
onChange: (v) => onChange(v ?? "")
|
|
6562
|
+
}
|
|
6563
|
+
);
|
|
6564
|
+
}
|
|
6305
6565
|
function useTornEdges() {
|
|
6306
6566
|
const game = useSettings((state) => state.game);
|
|
6307
6567
|
return game === "rdr3" ? "torn-edge-wrapper" : "";
|
|
@@ -6663,6 +6923,7 @@ var Vector4Schema = zod.z.object({
|
|
|
6663
6923
|
});
|
|
6664
6924
|
|
|
6665
6925
|
exports.AdminPageTitle = AdminPageTitle;
|
|
6926
|
+
exports.AnimPostFxSelect = AnimPostFxSelect;
|
|
6666
6927
|
exports.AsyncSaveButton = AsyncSaveButton;
|
|
6667
6928
|
exports.BlipColorSelect = BlipColorSelect;
|
|
6668
6929
|
exports.BlipDisplaySelect = BlipDisplaySelect;
|
|
@@ -6704,6 +6965,7 @@ exports.PromptModal = PromptModal;
|
|
|
6704
6965
|
exports.SegmentedControl = SegmentedControl;
|
|
6705
6966
|
exports.SegmentedProgress = SegmentedProgress;
|
|
6706
6967
|
exports.SelectItem = SelectItem;
|
|
6968
|
+
exports.SwitchPanel = SwitchPanel;
|
|
6707
6969
|
exports.TestBed = TestBed;
|
|
6708
6970
|
exports.ThemeOverrideSection = ThemeOverrideSection;
|
|
6709
6971
|
exports.Title = Title;
|