dirk-cfx-react 1.1.78 → 1.1.79

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.cts CHANGED
@@ -1,4 +1,4 @@
1
- export { AdminPageTitle, AdminPageTitleProps, AsyncSaveButton, BlipColorSelect, BlipColorSelectProps, BlipDisplaySelect, BlipDisplaySelectProps, BlipIconSelect, BlipIconSelectProps, BorderedIcon, BorderedIconProps, ButtonProps, ConfigPanel, ConfigPanelProps, ConfirmModal, ConfirmModalProps, ControlMultiSelect, ControlMultiSelectProps, ControlSelect, ControlSelectProps, Counter, FiveMControls, FiveMKeyBindInput, FloatingParticles, FloatingParticlesProps, GroupName, GroupNameProps, GroupRank, GroupRankProps, GroupSelect, GroupSelectProps, GroupType, GroupValue, InfoBox, InfoBoxProps, InputContainer, InputContainerProps, LevelBanner, LevelPanel, MissingItemsBanner, Modal, ModalContext, ModalProps, ModalProvider, MotionFlex, MotionIcon, MotionImage, MotionText, NavBar, NavItem, NavigationContext, NavigationProvider, NavigationStore, ParticleState, PositionPicker, PositionPickerProps, ProgressProps, Prompt, PromptButton, PromptModal, SegmentProps, SegmentedControl, SegmentedControlProps, SegmentedProgress, SelectItem, SelectItemProps, StoreModalProps, TestBed, TestBedItem, TestBedPlacement, TestBedProps, ThemeOverrideSection, ThemeOverrideSectionProps, ThemeOverrideValue, Title, TitleProps, TitleSize, Vector4DeleteButton, Vector4Display, Vector4Value, WorldPositionGotoButton, WorldPositionSetButton, useMissingItemsAudit, useModal, useModalActions, useNavigation, useNavigationStore } from './components/index.cjs';
1
+ export { AdminPageTitle, AdminPageTitleProps, AnimPostFxSelect, AnimPostFxSelectProps, AsyncSaveButton, BlipColorSelect, BlipColorSelectProps, BlipDisplaySelect, BlipDisplaySelectProps, BlipIconSelect, BlipIconSelectProps, BorderedIcon, BorderedIconProps, ButtonProps, ConfigPanel, ConfigPanelProps, ConfirmModal, ConfirmModalProps, ControlMultiSelect, ControlMultiSelectProps, ControlSelect, ControlSelectProps, Counter, FiveMControls, FiveMKeyBindInput, FloatingParticles, FloatingParticlesProps, GroupName, GroupNameProps, GroupRank, GroupRankProps, GroupSelect, GroupSelectProps, GroupType, GroupValue, InfoBox, InfoBoxProps, InputContainer, InputContainerProps, LevelBanner, LevelPanel, MissingItemsBanner, Modal, ModalContext, ModalProps, ModalProvider, MotionFlex, MotionIcon, MotionImage, MotionText, NavBar, NavItem, NavigationContext, NavigationProvider, NavigationStore, ParticleState, PositionPicker, PositionPickerProps, ProgressProps, Prompt, PromptButton, PromptModal, SegmentProps, SegmentedControl, SegmentedControlProps, SegmentedProgress, SelectItem, SelectItemProps, StoreModalProps, TestBed, TestBedItem, TestBedPlacement, TestBedProps, ThemeOverrideSection, ThemeOverrideSectionProps, ThemeOverrideValue, Title, TitleProps, TitleSize, Vector4DeleteButton, Vector4Display, Vector4Value, WorldPositionGotoButton, WorldPositionSetButton, useMissingItemsAudit, useModal, useModalActions, useNavigation, useNavigationStore } from './components/index.cjs';
2
2
  export { FrameworkGrade, FrameworkGroup, GTA_CONTROLS, GTA_CONTROL_GROUP_ORDER, GtaControl, GtaControlGroup, INPUT_MAPPER_KEYS_BY_PRIMARY, INPUT_MAPPER_PRIMARY_OPTIONS, InitialFetch, InternalEvent, InventoryItem, InventoryItems, SettingsState, SkillSettings, UploadImageProps, colorWithAlpha, copyToClipboard, createSkill, extractDefaults, fetchLuaTable, fetchNui, formatGtaControl, gameToMap, getGtaControl, getImageShape, getItemImageUrl, initialFetches, internalEvent, isEnvBrowser, isProfanity, latPr100, locale, localeStore, mapCenter, mapToGame, noop, numberToRoman, openLink, registerInitialFetch, registerInitialLuaTableFetch, runFetches, selectAllGroups, splitFAString, updatePresignedURL, uploadImage, useAutoFetcher, useFrameworkGroups, useItems, useItemsList, useProfanityStore, useSettings } from './utils/index.cjs';
3
3
  export { FormProvider, FormState, NuiHandlerSignature, NuiMessageData, ScriptConfigHistoryChange, ScriptConfigHistoryEntry, ScriptConfigHistoryRequest, ScriptConfigHistoryResponse, ScriptConfigInstance, TornEdgeSVGFilter, ValidationRules, ValidatorFn, createFormStore, createScriptConfig, getScriptConfigInstance, useAudio, useForm, useFormActions, useFormError, useFormErrors, useFormField, useFormFields, useNuiEvent, useTornEdges } from './hooks/index.cjs';
4
4
  export { DirkProvider, DirkProviderProps } from './providers/index.cjs';
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { AdminPageTitle, AdminPageTitleProps, AsyncSaveButton, BlipColorSelect, BlipColorSelectProps, BlipDisplaySelect, BlipDisplaySelectProps, BlipIconSelect, BlipIconSelectProps, BorderedIcon, BorderedIconProps, ButtonProps, ConfigPanel, ConfigPanelProps, ConfirmModal, ConfirmModalProps, ControlMultiSelect, ControlMultiSelectProps, ControlSelect, ControlSelectProps, Counter, FiveMControls, FiveMKeyBindInput, FloatingParticles, FloatingParticlesProps, GroupName, GroupNameProps, GroupRank, GroupRankProps, GroupSelect, GroupSelectProps, GroupType, GroupValue, InfoBox, InfoBoxProps, InputContainer, InputContainerProps, LevelBanner, LevelPanel, MissingItemsBanner, Modal, ModalContext, ModalProps, ModalProvider, MotionFlex, MotionIcon, MotionImage, MotionText, NavBar, NavItem, NavigationContext, NavigationProvider, NavigationStore, ParticleState, PositionPicker, PositionPickerProps, ProgressProps, Prompt, PromptButton, PromptModal, SegmentProps, SegmentedControl, SegmentedControlProps, SegmentedProgress, SelectItem, SelectItemProps, StoreModalProps, TestBed, TestBedItem, TestBedPlacement, TestBedProps, ThemeOverrideSection, ThemeOverrideSectionProps, ThemeOverrideValue, Title, TitleProps, TitleSize, Vector4DeleteButton, Vector4Display, Vector4Value, WorldPositionGotoButton, WorldPositionSetButton, useMissingItemsAudit, useModal, useModalActions, useNavigation, useNavigationStore } from './components/index.js';
1
+ export { AdminPageTitle, AdminPageTitleProps, AnimPostFxSelect, AnimPostFxSelectProps, AsyncSaveButton, BlipColorSelect, BlipColorSelectProps, BlipDisplaySelect, BlipDisplaySelectProps, BlipIconSelect, BlipIconSelectProps, BorderedIcon, BorderedIconProps, ButtonProps, ConfigPanel, ConfigPanelProps, ConfirmModal, ConfirmModalProps, ControlMultiSelect, ControlMultiSelectProps, ControlSelect, ControlSelectProps, Counter, FiveMControls, FiveMKeyBindInput, FloatingParticles, FloatingParticlesProps, GroupName, GroupNameProps, GroupRank, GroupRankProps, GroupSelect, GroupSelectProps, GroupType, GroupValue, InfoBox, InfoBoxProps, InputContainer, InputContainerProps, LevelBanner, LevelPanel, MissingItemsBanner, Modal, ModalContext, ModalProps, ModalProvider, MotionFlex, MotionIcon, MotionImage, MotionText, NavBar, NavItem, NavigationContext, NavigationProvider, NavigationStore, ParticleState, PositionPicker, PositionPickerProps, ProgressProps, Prompt, PromptButton, PromptModal, SegmentProps, SegmentedControl, SegmentedControlProps, SegmentedProgress, SelectItem, SelectItemProps, StoreModalProps, TestBed, TestBedItem, TestBedPlacement, TestBedProps, ThemeOverrideSection, ThemeOverrideSectionProps, ThemeOverrideValue, Title, TitleProps, TitleSize, Vector4DeleteButton, Vector4Display, Vector4Value, WorldPositionGotoButton, WorldPositionSetButton, useMissingItemsAudit, useModal, useModalActions, useNavigation, useNavigationStore } from './components/index.js';
2
2
  export { FrameworkGrade, FrameworkGroup, GTA_CONTROLS, GTA_CONTROL_GROUP_ORDER, GtaControl, GtaControlGroup, INPUT_MAPPER_KEYS_BY_PRIMARY, INPUT_MAPPER_PRIMARY_OPTIONS, InitialFetch, InternalEvent, InventoryItem, InventoryItems, SettingsState, SkillSettings, UploadImageProps, colorWithAlpha, copyToClipboard, createSkill, extractDefaults, fetchLuaTable, fetchNui, formatGtaControl, gameToMap, getGtaControl, getImageShape, getItemImageUrl, initialFetches, internalEvent, isEnvBrowser, isProfanity, latPr100, locale, localeStore, mapCenter, mapToGame, noop, numberToRoman, openLink, registerInitialFetch, registerInitialLuaTableFetch, runFetches, selectAllGroups, splitFAString, updatePresignedURL, uploadImage, useAutoFetcher, useFrameworkGroups, useItems, useItemsList, useProfanityStore, useSettings } from './utils/index.js';
3
3
  export { FormProvider, FormState, NuiHandlerSignature, NuiMessageData, ScriptConfigHistoryChange, ScriptConfigHistoryEntry, ScriptConfigHistoryRequest, ScriptConfigHistoryResponse, ScriptConfigInstance, TornEdgeSVGFilter, ValidationRules, ValidatorFn, createFormStore, createScriptConfig, getScriptConfigInstance, useAudio, useForm, useFormActions, useFormError, useFormErrors, useFormField, useFormFields, useNuiEvent, useTornEdges } from './hooks/index.js';
4
4
  export { DirkProvider, DirkProviderProps } from './providers/index.js';
package/dist/index.js CHANGED
@@ -6293,6 +6293,246 @@ function SwatchTile({
6293
6293
  ) })
6294
6294
  ] });
6295
6295
  }
6296
+
6297
+ // src/utils/gtaAnimPostFx.ts
6298
+ var GTA_ANIM_POST_FX_GROUP_ORDER = [
6299
+ "Wake Up / Sleep",
6300
+ "Character Switch",
6301
+ "Cinematic Push-In",
6302
+ "Death / Fail",
6303
+ "Heist",
6304
+ "Minigame",
6305
+ "Drug / Trip",
6306
+ "Color Filter / Tint",
6307
+ "Multiplayer",
6308
+ "Misc"
6309
+ ];
6310
+ var GTA_ANIM_POST_FX = [
6311
+ // ── Wake Up / Sleep (community-known; not in altV docs) ────────────────────
6312
+ { name: "ULP_PlayerWakeUp", label: "Player Wake Up", group: "Wake Up / Sleep" },
6313
+ { name: "MinigameEndNeutral", label: "Minigame End \u2014 Neutral", group: "Wake Up / Sleep" },
6314
+ { name: "MinigameEndFranklin", label: "Minigame End \u2014 Franklin", group: "Wake Up / Sleep" },
6315
+ { name: "MinigameEndMichael", label: "Minigame End \u2014 Michael", group: "Wake Up / Sleep" },
6316
+ { name: "MinigameEndTrevor", label: "Minigame End \u2014 Trevor", group: "Wake Up / Sleep" },
6317
+ // ── Character Switch (Franklin / Michael / Trevor / Neutral variants) ─────
6318
+ { name: "SwitchHUDIn", group: "Character Switch" },
6319
+ { name: "SwitchHUDOut", group: "Character Switch" },
6320
+ { name: "SwitchHUDFranklinIn", group: "Character Switch" },
6321
+ { name: "SwitchHUDFranklinOut", group: "Character Switch" },
6322
+ { name: "SwitchHUDMichaelIn", group: "Character Switch" },
6323
+ { name: "SwitchHUDMichaelOut", group: "Character Switch" },
6324
+ { name: "SwitchHUDTrevorIn", group: "Character Switch" },
6325
+ { name: "SwitchHUDTrevorOut", group: "Character Switch" },
6326
+ { name: "SwitchOpenFranklin", group: "Character Switch" },
6327
+ { name: "SwitchOpenFranklinIn", group: "Character Switch" },
6328
+ { name: "SwitchOpenFranklinOut", group: "Character Switch" },
6329
+ { name: "SwitchOpenMichaelIn", group: "Character Switch" },
6330
+ { name: "SwitchOpenMichaelMid", group: "Character Switch" },
6331
+ { name: "SwitchOpenMichaelOut", group: "Character Switch" },
6332
+ { name: "SwitchOpenTrevorIn", group: "Character Switch" },
6333
+ { name: "SwitchOpenTrevorOut", group: "Character Switch" },
6334
+ { name: "SwitchOpenNeutralFIB5", group: "Character Switch" },
6335
+ { name: "SwitchOpenNeutralOutHeist", group: "Character Switch" },
6336
+ { name: "SwitchSceneFranklin", group: "Character Switch" },
6337
+ { name: "SwitchSceneMichael", group: "Character Switch" },
6338
+ { name: "SwitchSceneNeutral", group: "Character Switch" },
6339
+ { name: "SwitchSceneTrevor", group: "Character Switch" },
6340
+ { name: "SwitchShortFranklinIn", group: "Character Switch" },
6341
+ { name: "SwitchShortFranklinMid", group: "Character Switch" },
6342
+ { name: "SwitchShortMichaelIn", group: "Character Switch" },
6343
+ { name: "SwitchShortMichaelMid", group: "Character Switch" },
6344
+ { name: "SwitchShortNeutralIn", group: "Character Switch" },
6345
+ { name: "SwitchShortNeutralMid", group: "Character Switch" },
6346
+ { name: "SwitchShortTrevorIn", group: "Character Switch" },
6347
+ { name: "SwitchShortTrevorMid", group: "Character Switch" },
6348
+ { name: "switch_cam_1", group: "Character Switch" },
6349
+ { name: "switch_cam_2", group: "Character Switch" },
6350
+ // ── Cinematic Push-In (slow zoom intro to a character) ────────────────────
6351
+ { name: "CamPushInFranklin", group: "Cinematic Push-In" },
6352
+ { name: "CamPushInMichael", group: "Cinematic Push-In" },
6353
+ { name: "CamPushInTrevor", group: "Cinematic Push-In" },
6354
+ { name: "CamPushInNeutral", group: "Cinematic Push-In" },
6355
+ { name: "BeastIntroScene", label: "Beast Intro", group: "Cinematic Push-In" },
6356
+ { name: "BeastLaunch", group: "Cinematic Push-In" },
6357
+ { name: "BeastTransition", group: "Cinematic Push-In" },
6358
+ // ── Death / Fail (red tint, slow-mo blur) ─────────────────────────────────
6359
+ { name: "DeathFailNeutralIn", group: "Death / Fail" },
6360
+ { name: "DeathFailFranklinIn", group: "Death / Fail" },
6361
+ { name: "DeathFailMichaelIn", group: "Death / Fail" },
6362
+ { name: "DeathFailTrevorIn", group: "Death / Fail" },
6363
+ { name: "DeathFailMPIn", label: "Death Fail \u2014 MP", group: "Death / Fail" },
6364
+ { name: "DeathFailMPDark", label: "Death Fail \u2014 MP Dark", group: "Death / Fail" },
6365
+ { name: "DeathFailOut", group: "Death / Fail" },
6366
+ { name: "Rampage", group: "Death / Fail" },
6367
+ { name: "RampageOut", group: "Death / Fail" },
6368
+ // ── Heist (celebration / locate / pass) ───────────────────────────────────
6369
+ { name: "HeistCelebEnd", group: "Heist" },
6370
+ { name: "HeistCelebPass", group: "Heist" },
6371
+ { name: "HeistCelebPassBW", label: "Heist Celeb Pass (B/W)", group: "Heist" },
6372
+ { name: "HeistCelebToast", group: "Heist" },
6373
+ { name: "HeistLocate", group: "Heist" },
6374
+ { name: "HeistTripSkipFade", group: "Heist" },
6375
+ // ── Minigame / Menu ───────────────────────────────────────────────────────
6376
+ { name: "MenuMGIn", group: "Minigame" },
6377
+ { name: "MenuMGHeistIn", group: "Minigame" },
6378
+ { name: "MenuMGHeistIntro", group: "Minigame" },
6379
+ { name: "MenuMGHeistOut", group: "Minigame" },
6380
+ { name: "MenuMGHeistTint", group: "Minigame" },
6381
+ { name: "MenuMGSelectionIn", group: "Minigame" },
6382
+ { name: "MenuMGSelectionTint", group: "Minigame" },
6383
+ { name: "MenuMGTournamentIn", group: "Minigame" },
6384
+ { name: "MenuMGTournamentTint", group: "Minigame" },
6385
+ { name: "MinigameTransitionIn", group: "Minigame" },
6386
+ { name: "MinigameTransitionOut", group: "Minigame" },
6387
+ // ── Drug / Trip (psychedelic, blur, distortion) ───────────────────────────
6388
+ { name: "DMT_flight", group: "Drug / Trip" },
6389
+ { name: "DMT_flight_intro", group: "Drug / Trip" },
6390
+ { name: "PeyoteIn", group: "Drug / Trip" },
6391
+ { name: "PeyoteOut", group: "Drug / Trip" },
6392
+ { name: "PeyoteEndIn", group: "Drug / Trip" },
6393
+ { name: "PeyoteEndOut", group: "Drug / Trip" },
6394
+ { name: "DrugsDrivingIn", group: "Drug / Trip" },
6395
+ { name: "DrugsDrivingOut", group: "Drug / Trip" },
6396
+ { name: "DrugsMichaelAliensFight", group: "Drug / Trip" },
6397
+ { name: "DrugsMichaelAliensFightIn", group: "Drug / Trip" },
6398
+ { name: "DrugsMichaelAliensFightOut", group: "Drug / Trip" },
6399
+ { name: "DrugsTrevorClownsFight", group: "Drug / Trip" },
6400
+ { name: "DrugsTrevorClownsFightIn", group: "Drug / Trip" },
6401
+ { name: "DrugsTrevorClownsFightOut", group: "Drug / Trip" },
6402
+ { name: "ChopVision", label: "Chop Vision (dog)", group: "Drug / Trip" },
6403
+ // ── Color Filter / Tint (one-off and biker formation filters) ─────────────
6404
+ { name: "PPFilter", group: "Color Filter / Tint" },
6405
+ { name: "PPFilterOut", group: "Color Filter / Tint" },
6406
+ { name: "PPGreen", group: "Color Filter / Tint" },
6407
+ { name: "PPGreenOut", group: "Color Filter / Tint" },
6408
+ { name: "PPOrange", group: "Color Filter / Tint" },
6409
+ { name: "PPOrangeOut", group: "Color Filter / Tint" },
6410
+ { name: "PPPink", group: "Color Filter / Tint" },
6411
+ { name: "PPPinkOut", group: "Color Filter / Tint" },
6412
+ { name: "PPPurple", group: "Color Filter / Tint" },
6413
+ { name: "PPPurpleOut", group: "Color Filter / Tint" },
6414
+ { name: "BikerFilter", group: "Color Filter / Tint" },
6415
+ { name: "BikerFilterOut", group: "Color Filter / Tint" },
6416
+ { name: "BikerFormation", group: "Color Filter / Tint" },
6417
+ { name: "BikerFormationOut", group: "Color Filter / Tint" },
6418
+ { name: "InchOrange", group: "Color Filter / Tint" },
6419
+ { name: "InchOrangeOut", group: "Color Filter / Tint" },
6420
+ { name: "InchPurple", group: "Color Filter / Tint" },
6421
+ { name: "InchPurpleOut", group: "Color Filter / Tint" },
6422
+ { name: "InchPickup", group: "Color Filter / Tint" },
6423
+ { name: "InchPickupOut", group: "Color Filter / Tint" },
6424
+ { name: "TinyRacerGreen", group: "Color Filter / Tint" },
6425
+ { name: "TinyRacerGreenOut", group: "Color Filter / Tint" },
6426
+ { name: "TinyRacerPink", group: "Color Filter / Tint" },
6427
+ { name: "TinyRacerPinkOut", group: "Color Filter / Tint" },
6428
+ { name: "TinyRacerIntroCam", group: "Color Filter / Tint" },
6429
+ { name: "DeadlineNeon", group: "Color Filter / Tint" },
6430
+ // ── Multiplayer (celeb, killstreak, race, etc.) ───────────────────────────
6431
+ { name: "MP_Celeb_Win", group: "Multiplayer" },
6432
+ { name: "MP_Celeb_Win_Out", group: "Multiplayer" },
6433
+ { name: "MP_Celeb_Lose", group: "Multiplayer" },
6434
+ { name: "MP_Celeb_Lose_Out", group: "Multiplayer" },
6435
+ { name: "MP_Celeb_Preload", group: "Multiplayer" },
6436
+ { name: "MP_Celeb_Preload_Fade", group: "Multiplayer" },
6437
+ { name: "MP_Bull_tost", group: "Multiplayer" },
6438
+ { name: "MP_Bull_tost_Out", group: "Multiplayer" },
6439
+ { name: "MP_Killstreak", group: "Multiplayer" },
6440
+ { name: "MP_Killstreak_Out", group: "Multiplayer" },
6441
+ { name: "MP_Loser_Streak_Out", group: "Multiplayer" },
6442
+ { name: "MP_OrbitalCannon", group: "Multiplayer" },
6443
+ { name: "MP_Powerplay", group: "Multiplayer" },
6444
+ { name: "MP_Powerplay_Out", group: "Multiplayer" },
6445
+ { name: "MP_SmugglerCheckpoint", group: "Multiplayer" },
6446
+ { name: "MP_TransformRaceFlash", group: "Multiplayer" },
6447
+ { name: "MP_WarpCheckpoint", group: "Multiplayer" },
6448
+ { name: "MP_corona_switch", group: "Multiplayer" },
6449
+ { name: "MP_intro_logo", group: "Multiplayer" },
6450
+ { name: "MP_job_load", group: "Multiplayer" },
6451
+ { name: "MP_race_crash", group: "Multiplayer" },
6452
+ // ── Misc (success notifs, special weapons, sniper / pause / explosions) ───
6453
+ { name: "SuccessFranklin", group: "Misc" },
6454
+ { name: "SuccessMichael", group: "Misc" },
6455
+ { name: "SuccessNeutral", group: "Misc" },
6456
+ { name: "SuccessTrevor", group: "Misc" },
6457
+ { name: "FocusIn", group: "Misc" },
6458
+ { name: "FocusOut", group: "Misc" },
6459
+ { name: "CrossLine", group: "Misc" },
6460
+ { name: "CrossLineOut", group: "Misc" },
6461
+ { name: "SniperOverlay", group: "Misc" },
6462
+ { name: "ExplosionJosh3", group: "Misc" },
6463
+ { name: "WeaponUpgrade", group: "Misc" },
6464
+ { name: "Dont_tazeme_bro", label: "Don't Taze Me Bro", group: "Misc" },
6465
+ { name: "LostTimeDay", group: "Misc" },
6466
+ { name: "LostTimeNight", group: "Misc" },
6467
+ { name: "PauseMenuOut", group: "Misc" },
6468
+ { name: "pennedIn", group: "Misc" },
6469
+ { name: "PennedInOut", group: "Misc" },
6470
+ { name: "RaceTurbo", group: "Misc" },
6471
+ { name: "DefaultFlash", group: "Misc" }
6472
+ ];
6473
+ function formatGtaAnimPostFx(name) {
6474
+ const entry = GTA_ANIM_POST_FX.find((fx) => fx.name === name);
6475
+ return entry?.label ?? name;
6476
+ }
6477
+ function buildGroupedData2(extraNames = []) {
6478
+ const groups = /* @__PURE__ */ new Map();
6479
+ const seen = /* @__PURE__ */ new Set();
6480
+ for (const fx of GTA_ANIM_POST_FX) {
6481
+ if (seen.has(fx.name)) continue;
6482
+ seen.add(fx.name);
6483
+ if (!groups.has(fx.group)) groups.set(fx.group, []);
6484
+ groups.get(fx.group).push(fx);
6485
+ }
6486
+ const data = GTA_ANIM_POST_FX_GROUP_ORDER.flatMap((g) => {
6487
+ const items = groups.get(g);
6488
+ if (!items || items.length === 0) return [];
6489
+ return [
6490
+ {
6491
+ group: g,
6492
+ items: items.map((fx) => ({
6493
+ value: fx.name,
6494
+ label: formatGtaAnimPostFx(fx.name)
6495
+ }))
6496
+ }
6497
+ ];
6498
+ });
6499
+ const knownNames = new Set(GTA_ANIM_POST_FX.map((fx) => fx.name));
6500
+ const customs = extraNames.filter((n) => n && !knownNames.has(n));
6501
+ if (customs.length > 0) {
6502
+ data.push({
6503
+ group: "Custom",
6504
+ items: customs.map((n) => ({ value: n, label: n }))
6505
+ });
6506
+ }
6507
+ return data;
6508
+ }
6509
+ function AnimPostFxSelect({
6510
+ value,
6511
+ onChange,
6512
+ label: label2 = "Screen FX",
6513
+ size = "xs",
6514
+ searchable = true,
6515
+ clearable = true,
6516
+ ...rest
6517
+ }) {
6518
+ const data = buildGroupedData2([value]);
6519
+ return /* @__PURE__ */ jsx(
6520
+ Select,
6521
+ {
6522
+ label: label2,
6523
+ size,
6524
+ searchable,
6525
+ clearable,
6526
+ maxDropdownHeight: 320,
6527
+ nothingFoundMessage: "No matching effects",
6528
+ placeholder: "Pick an effect...",
6529
+ ...rest,
6530
+ data,
6531
+ value: value || null,
6532
+ onChange: (v) => onChange(v ?? "")
6533
+ }
6534
+ );
6535
+ }
6296
6536
  function useTornEdges() {
6297
6537
  const game = useSettings((state) => state.game);
6298
6538
  return game === "rdr3" ? "torn-edge-wrapper" : "";
@@ -6653,6 +6893,6 @@ var Vector4Schema = z.object({
6653
6893
  w: z.number()
6654
6894
  });
6655
6895
 
6656
- export { AdminPageTitle, AsyncSaveButton, BlipColorSelect, BlipDisplaySelect, BlipIconSelect, BorderedIcon, ConfigPanel, ConfirmModal, ControlMultiSelect, ControlSelect, Counter, DirkProvider, FiveMKeyBindInput, FloatingParticles, FormProvider, GTA_CONTROLS, GTA_CONTROL_GROUP_ORDER, GroupName, GroupRank, GroupSelect, INPUT_MAPPER_KEYS_BY_PRIMARY, INPUT_MAPPER_PRIMARY_OPTIONS, InfoBox, InputContainer, LevelBanner, LevelPanel, MissingItemsBanner, Modal, ModalContext, ModalProvider, MotionFlex, MotionIcon, MotionImage, MotionText, NavBar, NavigationContext, NavigationProvider, PositionPicker, PromptModal, SegmentedControl, SegmentedProgress, SelectItem, TestBed, ThemeOverrideSection, Title, TornEdgeSVGFilter, Vector2Schema, Vector3Schema, Vector4DeleteButton, Vector4Display, Vector4Schema, WorldPositionGotoButton, WorldPositionSetButton, colorWithAlpha, copyToClipboard, createFormStore, createScriptConfig, createSkill, extractDefaults, fetchLuaTable, fetchNui, formatGtaControl, gameToMap, getGtaControl, getImageShape, getItemImageUrl, getScriptConfigInstance, initialFetches, internalEvent, isEnvBrowser, isProfanity, latPr100, locale, localeStore, mapCenter, mapToGame, noop, numberToRoman, openLink, registerInitialFetch, registerInitialLuaTableFetch, runFetches, selectAllGroups, splitFAString, updatePresignedURL, uploadImage, useAudio, useAutoFetcher, useForm, useFormActions, useFormError, useFormErrors, useFormField, useFormFields, useFrameworkGroups, useItems, useItemsList, useMissingItemsAudit, useModal, useModalActions, useNavigation, useNavigationStore, useNuiEvent, useProfanityStore, useSettings, useTornEdges };
6896
+ export { AdminPageTitle, AnimPostFxSelect, AsyncSaveButton, BlipColorSelect, BlipDisplaySelect, BlipIconSelect, BorderedIcon, ConfigPanel, ConfirmModal, ControlMultiSelect, ControlSelect, Counter, DirkProvider, FiveMKeyBindInput, FloatingParticles, FormProvider, GTA_CONTROLS, GTA_CONTROL_GROUP_ORDER, GroupName, GroupRank, GroupSelect, INPUT_MAPPER_KEYS_BY_PRIMARY, INPUT_MAPPER_PRIMARY_OPTIONS, InfoBox, InputContainer, LevelBanner, LevelPanel, MissingItemsBanner, Modal, ModalContext, ModalProvider, MotionFlex, MotionIcon, MotionImage, MotionText, NavBar, NavigationContext, NavigationProvider, PositionPicker, PromptModal, SegmentedControl, SegmentedProgress, SelectItem, TestBed, ThemeOverrideSection, Title, TornEdgeSVGFilter, Vector2Schema, Vector3Schema, Vector4DeleteButton, Vector4Display, Vector4Schema, WorldPositionGotoButton, WorldPositionSetButton, colorWithAlpha, copyToClipboard, createFormStore, createScriptConfig, createSkill, extractDefaults, fetchLuaTable, fetchNui, formatGtaControl, gameToMap, getGtaControl, getImageShape, getItemImageUrl, getScriptConfigInstance, initialFetches, internalEvent, isEnvBrowser, isProfanity, latPr100, locale, localeStore, mapCenter, mapToGame, noop, numberToRoman, openLink, registerInitialFetch, registerInitialLuaTableFetch, runFetches, selectAllGroups, splitFAString, updatePresignedURL, uploadImage, useAudio, useAutoFetcher, useForm, useFormActions, useFormError, useFormErrors, useFormField, useFormFields, useFrameworkGroups, useItems, useItemsList, useMissingItemsAudit, useModal, useModalActions, useNavigation, useNavigationStore, useNuiEvent, useProfanityStore, useSettings, useTornEdges };
6657
6897
  //# sourceMappingURL=index.js.map
6658
6898
  //# sourceMappingURL=index.js.map