dirk-cfx-react 1.1.80 → 1.1.82

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.cjs CHANGED
@@ -5861,25 +5861,46 @@ 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 }) {
5864
+ function SwitchPanel({
5865
+ label: label2,
5866
+ description: description2,
5867
+ checked,
5868
+ onChange,
5869
+ disabled,
5870
+ thumbIcon,
5871
+ compact
5872
+ }) {
5865
5873
  const theme2 = core.useMantineTheme();
5866
5874
  const pc = theme2.colors[theme2.primaryColor];
5875
+ const bg = compact ? core.alpha(theme2.colors.dark[6], 0.5) : core.alpha(theme2.colors.dark[5], 0.35);
5876
+ const border = compact ? "0.1vh solid rgba(255,255,255,0.04)" : "0.1vh solid rgba(255,255,255,0.05)";
5867
5877
  return /* @__PURE__ */ jsxRuntime.jsxs(
5868
5878
  core.Flex,
5869
5879
  {
5870
5880
  justify: "space-between",
5871
5881
  align: "center",
5872
- p: "xs",
5882
+ px: compact ? "xs" : "xs",
5883
+ py: compact ? "xxs" : "xs",
5873
5884
  style: {
5874
- background: core.alpha(theme2.colors.dark[5], 0.35),
5875
- border: "0.1vh solid rgba(255,255,255,0.05)",
5885
+ background: bg,
5886
+ border,
5876
5887
  borderRadius: theme2.radius.xs,
5877
5888
  opacity: disabled ? 0.5 : 1
5878
5889
  },
5879
5890
  children: [
5880
5891
  /* @__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)
5892
+ typeof label2 === "string" ? compact ? /* @__PURE__ */ jsxRuntime.jsx(
5893
+ core.Text,
5894
+ {
5895
+ ff: "Akrobat Bold",
5896
+ size: "xxs",
5897
+ c: "rgba(255,255,255,0.85)",
5898
+ tt: "uppercase",
5899
+ lts: "0.05em",
5900
+ children: label2
5901
+ }
5902
+ ) : /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ff: "Akrobat Bold", size: "xs", c: "rgba(255,255,255,0.85)", children: label2 }) : label2,
5903
+ description2 && (typeof description2 === "string" ? /* @__PURE__ */ jsxRuntime.jsx(core.Text, { ff: "Akrobat Bold", size: "xxs", c: compact ? "rgba(255,255,255,0.4)" : "rgba(255,255,255,0.45)", children: description2 }) : description2)
5883
5904
  ] }),
5884
5905
  /* @__PURE__ */ jsxRuntime.jsx(
5885
5906
  core.Switch,
@@ -5887,7 +5908,8 @@ function SwitchPanel({ label: label2, description: description2, checked, onChan
5887
5908
  checked,
5888
5909
  disabled,
5889
5910
  onChange: (e) => onChange(e.currentTarget.checked),
5890
- size: "md",
5911
+ size: compact ? "sm" : "md",
5912
+ thumbIcon,
5891
5913
  styles: {
5892
5914
  track: {
5893
5915
  background: checked ? core.alpha(pc[6], 0.4) : "rgba(255,255,255,0.08)",
@@ -6562,6 +6584,355 @@ function AnimPostFxSelect({
6562
6584
  }
6563
6585
  );
6564
6586
  }
6587
+
6588
+ // src/utils/gtaScenarios.ts
6589
+ var GTA_SCENARIO_GROUP_ORDER = [
6590
+ "Sitting",
6591
+ "Standing & Idle",
6592
+ "Eating & Drinking",
6593
+ "Smoking & Substances",
6594
+ "Working",
6595
+ "Sports & Fitness",
6596
+ "Cops & Security",
6597
+ "Crime & Streets",
6598
+ "Tourists & Crowds",
6599
+ "Props (Misc)",
6600
+ "Movement",
6601
+ "Animals",
6602
+ "Vehicles",
6603
+ "Code (Advanced)"
6604
+ ];
6605
+ var GTA_SCENARIOS = [
6606
+ // ── Sitting ────────────────────────────────────────────────────────────────
6607
+ { name: "PROP_HUMAN_SEAT_ARMCHAIR", group: "Sitting" },
6608
+ { name: "PROP_HUMAN_SEAT_BAR", group: "Sitting" },
6609
+ { name: "PROP_HUMAN_SEAT_BENCH", group: "Sitting" },
6610
+ { name: "PROP_HUMAN_SEAT_BENCH_FACILITY", group: "Sitting" },
6611
+ { name: "PROP_HUMAN_SEAT_BENCH_DRINK", group: "Sitting" },
6612
+ { name: "PROP_HUMAN_SEAT_BENCH_DRINK_FACILITY", group: "Sitting" },
6613
+ { name: "PROP_HUMAN_SEAT_BENCH_DRINK_BEER", group: "Sitting" },
6614
+ { name: "PROP_HUMAN_SEAT_BENCH_FOOD", group: "Sitting" },
6615
+ { name: "PROP_HUMAN_SEAT_BENCH_FOOD_FACILITY", group: "Sitting" },
6616
+ { name: "PROP_HUMAN_SEAT_BUS_STOP_WAIT", group: "Sitting" },
6617
+ { name: "PROP_HUMAN_SEAT_CHAIR", group: "Sitting" },
6618
+ { name: "PROP_HUMAN_SEAT_CHAIR_DRINK", group: "Sitting" },
6619
+ { name: "PROP_HUMAN_SEAT_CHAIR_DRINK_BEER", group: "Sitting" },
6620
+ { name: "PROP_HUMAN_SEAT_CHAIR_FOOD", group: "Sitting" },
6621
+ { name: "PROP_HUMAN_SEAT_CHAIR_UPRIGHT", group: "Sitting" },
6622
+ { name: "PROP_HUMAN_SEAT_CHAIR_UPRIGHT_SHOWROOM", group: "Sitting" },
6623
+ { name: "PROP_HUMAN_SEAT_CHAIR_MP_PLAYER", group: "Sitting" },
6624
+ { name: "PROP_HUMAN_SEAT_COMPUTER", group: "Sitting" },
6625
+ { name: "PROP_HUMAN_SEAT_COMPUTER_LOW", group: "Sitting" },
6626
+ { name: "PROP_HUMAN_SEAT_DECKCHAIR", group: "Sitting" },
6627
+ { name: "PROP_HUMAN_SEAT_DECKCHAIR_DRINK", group: "Sitting" },
6628
+ { name: "PROP_HUMAN_SEAT_SEWING", group: "Sitting" },
6629
+ { name: "PROP_HUMAN_SEAT_STRIP_WATCH", group: "Sitting" },
6630
+ { name: "PROP_HUMAN_SEAT_SUNLOUNGER", group: "Sitting" },
6631
+ { name: "WORLD_HUMAN_SEAT_LEDGE", group: "Sitting" },
6632
+ { name: "WORLD_HUMAN_SEAT_LEDGE_EATING", group: "Sitting" },
6633
+ { name: "WORLD_HUMAN_SEAT_STEPS", group: "Sitting" },
6634
+ { name: "WORLD_HUMAN_SEAT_WALL", group: "Sitting" },
6635
+ { name: "WORLD_HUMAN_SEAT_WALL_EATING", group: "Sitting" },
6636
+ { name: "WORLD_HUMAN_SEAT_WALL_TABLET", group: "Sitting" },
6637
+ // ── Standing & Idle ────────────────────────────────────────────────────────
6638
+ { name: "Standing", group: "Standing & Idle" },
6639
+ { name: "WORLD_HUMAN_HANG_OUT_STREET", group: "Standing & Idle" },
6640
+ { name: "WORLD_HUMAN_HANG_OUT_STREET_CLUBHOUSE", group: "Standing & Idle" },
6641
+ { name: "WORLD_HUMAN_LEANING", group: "Standing & Idle" },
6642
+ { name: "WORLD_HUMAN_LEANING_CASINO_TERRACE", group: "Standing & Idle" },
6643
+ { name: "WORLD_HUMAN_STAND_IMPATIENT", group: "Standing & Idle" },
6644
+ { name: "WORLD_HUMAN_STAND_IMPATIENT_CLUBHOUSE", group: "Standing & Idle" },
6645
+ { name: "WORLD_HUMAN_STAND_IMPATIENT_FACILITY", group: "Standing & Idle" },
6646
+ { name: "WORLD_HUMAN_STAND_IMPATIENT_UPRIGHT", group: "Standing & Idle" },
6647
+ { name: "WORLD_HUMAN_STAND_IMPATIENT_UPRIGHT_FACILITY", group: "Standing & Idle" },
6648
+ { name: "WORLD_HUMAN_STAND_MOBILE", group: "Standing & Idle" },
6649
+ { name: "WORLD_HUMAN_STAND_MOBILE_CLUBHOUSE", group: "Standing & Idle" },
6650
+ { name: "WORLD_HUMAN_STAND_MOBILE_FACILITY", group: "Standing & Idle" },
6651
+ { name: "WORLD_HUMAN_STAND_MOBILE_UPRIGHT", group: "Standing & Idle" },
6652
+ { name: "WORLD_HUMAN_STAND_MOBILE_UPRIGHT_CLUBHOUSE", group: "Standing & Idle" },
6653
+ { name: "WORLD_HUMAN_STAND_FIRE", group: "Standing & Idle" },
6654
+ { name: "WORLD_HUMAN_STAND_FISHING", group: "Standing & Idle" },
6655
+ { name: "PROP_HUMAN_STAND_IMPATIENT", group: "Standing & Idle" },
6656
+ // ── Eating & Drinking ──────────────────────────────────────────────────────
6657
+ { name: "WORLD_HUMAN_DRINKING", group: "Eating & Drinking" },
6658
+ { name: "WORLD_HUMAN_DRINKING_FACILITY", group: "Eating & Drinking" },
6659
+ { name: "WORLD_HUMAN_DRINKING_CASINO_TERRACE", group: "Eating & Drinking" },
6660
+ { name: "WORLD_HUMAN_PICNIC", group: "Eating & Drinking" },
6661
+ // ── Smoking & Substances ───────────────────────────────────────────────────
6662
+ { name: "WORLD_HUMAN_AA_COFFEE", group: "Smoking & Substances" },
6663
+ { name: "WORLD_HUMAN_AA_SMOKE", group: "Smoking & Substances" },
6664
+ { name: "WORLD_HUMAN_SMOKING", group: "Smoking & Substances" },
6665
+ { name: "WORLD_HUMAN_SMOKING_CLUBHOUSE", group: "Smoking & Substances" },
6666
+ { name: "WORLD_HUMAN_SMOKING_POT", group: "Smoking & Substances" },
6667
+ { name: "WORLD_HUMAN_SMOKING_POT_CLUBHOUSE", group: "Smoking & Substances" },
6668
+ { name: "WORLD_HUMAN_STUPOR", group: "Smoking & Substances" },
6669
+ { name: "WORLD_HUMAN_STUPOR_CLUBHOUSE", group: "Smoking & Substances" },
6670
+ // ── Working ────────────────────────────────────────────────────────────────
6671
+ { name: "WORLD_HUMAN_CAR_PARK_ATTENDANT", group: "Working" },
6672
+ { name: "WORLD_HUMAN_CLIPBOARD", group: "Working" },
6673
+ { name: "WORLD_HUMAN_CLIPBOARD_FACILITY", group: "Working" },
6674
+ { name: "WORLD_HUMAN_CONST_DRILL", group: "Working" },
6675
+ { name: "WORLD_HUMAN_GARDENER_LEAF_BLOWER", group: "Working" },
6676
+ { name: "WORLD_HUMAN_GARDENER_PLANT", group: "Working" },
6677
+ { name: "WORLD_HUMAN_HAMMERING", group: "Working" },
6678
+ { name: "WORLD_HUMAN_JANITOR", group: "Working" },
6679
+ { name: "WORLD_HUMAN_MAID_CLEAN", group: "Working" },
6680
+ { name: "WORLD_HUMAN_MUSICIAN", group: "Working" },
6681
+ { name: "WORLD_HUMAN_VALET", group: "Working" },
6682
+ { name: "WORLD_HUMAN_VEHICLE_MECHANIC", group: "Working" },
6683
+ { name: "WORLD_HUMAN_WELDING", group: "Working" },
6684
+ // ── Sports & Fitness ───────────────────────────────────────────────────────
6685
+ { name: "WORLD_HUMAN_GOLF_PLAYER", group: "Sports & Fitness" },
6686
+ { name: "WORLD_HUMAN_HIKER", group: "Sports & Fitness" },
6687
+ { name: "WORLD_HUMAN_HIKER_STANDING", group: "Sports & Fitness" },
6688
+ { name: "WORLD_HUMAN_JOG", group: "Sports & Fitness" },
6689
+ { name: "WORLD_HUMAN_JOG_STANDING", group: "Sports & Fitness" },
6690
+ { name: "WORLD_HUMAN_MUSCLE_FLEX", group: "Sports & Fitness" },
6691
+ { name: "WORLD_HUMAN_MUSCLE_FREE_WEIGHTS", group: "Sports & Fitness" },
6692
+ { name: "WORLD_HUMAN_POWER_WALKER", group: "Sports & Fitness" },
6693
+ { name: "WORLD_HUMAN_PUSH_UPS", group: "Sports & Fitness" },
6694
+ { name: "WORLD_HUMAN_SIT_UPS", group: "Sports & Fitness" },
6695
+ { name: "WORLD_HUMAN_SUNBATHE", group: "Sports & Fitness" },
6696
+ { name: "WORLD_HUMAN_SUNBATHE_BACK", group: "Sports & Fitness" },
6697
+ { name: "WORLD_HUMAN_SWIMMING", group: "Sports & Fitness" },
6698
+ { name: "WORLD_HUMAN_TENNIS_PLAYER", group: "Sports & Fitness" },
6699
+ { name: "WORLD_HUMAN_YOGA", group: "Sports & Fitness" },
6700
+ { name: "PROP_HUMAN_MUSCLE_CHIN_UPS", group: "Sports & Fitness" },
6701
+ { name: "PROP_HUMAN_MUSCLE_CHIN_UPS_ARMY", group: "Sports & Fitness" },
6702
+ { name: "PROP_HUMAN_MUSCLE_CHIN_UPS_PRISON", group: "Sports & Fitness" },
6703
+ { name: "PROP_HUMAN_SEAT_MUSCLE_BENCH_PRESS", group: "Sports & Fitness" },
6704
+ { name: "PROP_HUMAN_SEAT_MUSCLE_BENCH_PRESS_PRISON", group: "Sports & Fitness" },
6705
+ // ── Cops & Security ────────────────────────────────────────────────────────
6706
+ { name: "WORLD_HUMAN_COP_IDLES", group: "Cops & Security" },
6707
+ { name: "WORLD_HUMAN_GUARD_PATROL", group: "Cops & Security" },
6708
+ { name: "WORLD_HUMAN_GUARD_STAND", group: "Cops & Security" },
6709
+ { name: "WORLD_HUMAN_GUARD_STAND_CASINO", group: "Cops & Security" },
6710
+ { name: "WORLD_HUMAN_GUARD_STAND_CLUBHOUSE", group: "Cops & Security" },
6711
+ { name: "WORLD_HUMAN_GUARD_STAND_FACILITY", group: "Cops & Security" },
6712
+ { name: "WORLD_HUMAN_GUARD_STAND_ARMY", group: "Cops & Security" },
6713
+ { name: "WORLD_HUMAN_SECURITY_SHINE_TORCH", group: "Cops & Security" },
6714
+ // ── Crime & Streets ────────────────────────────────────────────────────────
6715
+ { name: "WORLD_HUMAN_DRUG_DEALER", group: "Crime & Streets" },
6716
+ { name: "WORLD_HUMAN_DRUG_DEALER_HARD", group: "Crime & Streets" },
6717
+ { name: "WORLD_HUMAN_DRUG_FIELD_WORKERS_RAKE", group: "Crime & Streets" },
6718
+ { name: "WORLD_HUMAN_DRUG_FIELD_WORKERS_WEEDING", group: "Crime & Streets" },
6719
+ { name: "WORLD_HUMAN_DRUG_PROCESSORS_COKE", group: "Crime & Streets" },
6720
+ { name: "WORLD_HUMAN_DRUG_PROCESSORS_WEED", group: "Crime & Streets" },
6721
+ { name: "WORLD_HUMAN_PROSTITUTE_HIGH_CLASS", group: "Crime & Streets" },
6722
+ { name: "WORLD_HUMAN_PROSTITUTE_LOW_CLASS", group: "Crime & Streets" },
6723
+ { name: "WORLD_HUMAN_BUM_FREEWAY", group: "Crime & Streets" },
6724
+ { name: "WORLD_HUMAN_BUM_SLUMPED", group: "Crime & Streets" },
6725
+ { name: "WORLD_HUMAN_BUM_STANDING", group: "Crime & Streets" },
6726
+ { name: "WORLD_HUMAN_BUM_WASH", group: "Crime & Streets" },
6727
+ { name: "PROP_HUMAN_BUM_BIN", group: "Crime & Streets" },
6728
+ { name: "PROP_HUMAN_BUM_SHOPPING_CART", group: "Crime & Streets" },
6729
+ // ── Tourists & Crowds ──────────────────────────────────────────────────────
6730
+ { name: "WORLD_HUMAN_BINOCULARS", group: "Tourists & Crowds" },
6731
+ { name: "WORLD_HUMAN_CHEERING", group: "Tourists & Crowds" },
6732
+ { name: "WORLD_HUMAN_HUMAN_STATUE", group: "Tourists & Crowds" },
6733
+ { name: "WORLD_HUMAN_INSPECT_CROUCH", group: "Tourists & Crowds" },
6734
+ { name: "WORLD_HUMAN_INSPECT_STAND", group: "Tourists & Crowds" },
6735
+ { name: "WORLD_HUMAN_MOBILE_FILM_SHOCKING", group: "Tourists & Crowds" },
6736
+ { name: "WORLD_HUMAN_PAPARAZZI", group: "Tourists & Crowds" },
6737
+ { name: "WORLD_HUMAN_PARTYING", group: "Tourists & Crowds" },
6738
+ { name: "WORLD_HUMAN_STRIP_WATCH_STAND", group: "Tourists & Crowds" },
6739
+ { name: "WORLD_HUMAN_SUPERHERO", group: "Tourists & Crowds" },
6740
+ { name: "WORLD_HUMAN_TOURIST_MAP", group: "Tourists & Crowds" },
6741
+ { name: "WORLD_HUMAN_TOURIST_MOBILE", group: "Tourists & Crowds" },
6742
+ { name: "WORLD_HUMAN_WINDOW_SHOP_BROWSE", group: "Tourists & Crowds" },
6743
+ { name: "WORLD_HUMAN_WINDOW_SHOP_BROWSE_SHOWROOM", group: "Tourists & Crowds" },
6744
+ // ── Props (Misc) ───────────────────────────────────────────────────────────
6745
+ { name: "PROP_HUMAN_ATM", group: "Props (Misc)" },
6746
+ { name: "PROP_HUMAN_BBQ", group: "Props (Misc)" },
6747
+ { name: "PROP_HUMAN_PARKING_METER", group: "Props (Misc)" },
6748
+ { name: "PROP_HUMAN_MOVIE_BULB", group: "Props (Misc)" },
6749
+ { name: "PROP_HUMAN_MOVIE_STUDIO_LIGHT", group: "Props (Misc)" },
6750
+ { name: "PROP_BIRD_IN_TREE", group: "Props (Misc)" },
6751
+ { name: "PROP_BIRD_TELEGRAPH_POLE", group: "Props (Misc)" },
6752
+ // ── Movement ───────────────────────────────────────────────────────────────
6753
+ { name: "Walk", group: "Movement" },
6754
+ { name: "Walk_Facility", group: "Movement" },
6755
+ // ── Animals ────────────────────────────────────────────────────────────────
6756
+ { name: "WORLD_BOAR_GRAZING", group: "Animals" },
6757
+ { name: "WORLD_CAT_SLEEPING_GROUND", group: "Animals" },
6758
+ { name: "WORLD_CAT_SLEEPING_LEDGE", group: "Animals" },
6759
+ { name: "WORLD_COW_GRAZING", group: "Animals" },
6760
+ { name: "WORLD_COYOTE_HOWL", group: "Animals" },
6761
+ { name: "WORLD_COYOTE_REST", group: "Animals" },
6762
+ { name: "WORLD_COYOTE_WANDER", group: "Animals" },
6763
+ { name: "WORLD_COYOTE_WALK", group: "Animals" },
6764
+ { name: "WORLD_CHICKENHAWK_FEEDING", group: "Animals" },
6765
+ { name: "WORLD_CHICKENHAWK_STANDING", group: "Animals" },
6766
+ { name: "WORLD_CORMORANT_STANDING", group: "Animals" },
6767
+ { name: "WORLD_CROW_FEEDING", group: "Animals" },
6768
+ { name: "WORLD_CROW_STANDING", group: "Animals" },
6769
+ { name: "WORLD_DEER_GRAZING", group: "Animals" },
6770
+ { name: "WORLD_DOG_BARKING_ROTTWEILER", group: "Animals" },
6771
+ { name: "WORLD_DOG_BARKING_RETRIEVER", group: "Animals" },
6772
+ { name: "WORLD_DOG_BARKING_SHEPHERD", group: "Animals" },
6773
+ { name: "WORLD_DOG_BARKING_SMALL", group: "Animals" },
6774
+ { name: "WORLD_DOG_SITTING_ROTTWEILER", group: "Animals" },
6775
+ { name: "WORLD_DOG_SITTING_RETRIEVER", group: "Animals" },
6776
+ { name: "WORLD_DOG_SITTING_SHEPHERD", group: "Animals" },
6777
+ { name: "WORLD_DOG_SITTING_SMALL", group: "Animals" },
6778
+ { name: "WORLD_DOLPHIN_SWIM", group: "Animals" },
6779
+ { name: "WORLD_FISH_FLEE", group: "Animals" },
6780
+ { name: "WORLD_FISH_IDLE", group: "Animals" },
6781
+ { name: "WORLD_GULL_FEEDING", group: "Animals" },
6782
+ { name: "WORLD_GULL_STANDING", group: "Animals" },
6783
+ { name: "WORLD_HEN_FLEE", group: "Animals" },
6784
+ { name: "WORLD_HEN_PECKING", group: "Animals" },
6785
+ { name: "WORLD_HEN_STANDING", group: "Animals" },
6786
+ { name: "WORLD_MOUNTAIN_LION_REST", group: "Animals" },
6787
+ { name: "WORLD_MOUNTAIN_LION_WANDER", group: "Animals" },
6788
+ { name: "WORLD_ORCA_SWIM", group: "Animals" },
6789
+ { name: "WORLD_PIG_GRAZING", group: "Animals" },
6790
+ { name: "WORLD_PIGEON_FEEDING", group: "Animals" },
6791
+ { name: "WORLD_PIGEON_STANDING", group: "Animals" },
6792
+ { name: "WORLD_RABBIT_EATING", group: "Animals" },
6793
+ { name: "WORLD_RABBIT_FLEE", group: "Animals" },
6794
+ { name: "WORLD_RATS_EATING", group: "Animals" },
6795
+ { name: "WORLD_RATS_FLEEING", group: "Animals" },
6796
+ { name: "WORLD_SHARK_SWIM", group: "Animals" },
6797
+ { name: "WORLD_SHARK_HAMMERHEAD_SWIM", group: "Animals" },
6798
+ { name: "WORLD_STINGRAY_SWIM", group: "Animals" },
6799
+ { name: "WORLD_WHALE_SWIM", group: "Animals" },
6800
+ // ── Vehicles ───────────────────────────────────────────────────────────────
6801
+ { name: "DRIVE", group: "Vehicles" },
6802
+ { name: "PARK_VEHICLE", group: "Vehicles" },
6803
+ { name: "WORLD_VEHICLE_ATTRACTOR", group: "Vehicles" },
6804
+ { name: "WORLD_VEHICLE_AMBULANCE", group: "Vehicles" },
6805
+ { name: "WORLD_VEHICLE_BICYCLE_BMX", group: "Vehicles" },
6806
+ { name: "WORLD_VEHICLE_BICYCLE_BMX_BALLAS", group: "Vehicles" },
6807
+ { name: "WORLD_VEHICLE_BICYCLE_BMX_FAMILY", group: "Vehicles" },
6808
+ { name: "WORLD_VEHICLE_BICYCLE_BMX_HARMONY", group: "Vehicles" },
6809
+ { name: "WORLD_VEHICLE_BICYCLE_BMX_VAGOS", group: "Vehicles" },
6810
+ { name: "WORLD_VEHICLE_BICYCLE_MOUNTAIN", group: "Vehicles" },
6811
+ { name: "WORLD_VEHICLE_BICYCLE_ROAD", group: "Vehicles" },
6812
+ { name: "WORLD_VEHICLE_BIKE_OFF_ROAD_RACE", group: "Vehicles" },
6813
+ { name: "WORLD_VEHICLE_BIKER", group: "Vehicles" },
6814
+ { name: "WORLD_VEHICLE_BOAT_IDLE", group: "Vehicles" },
6815
+ { name: "WORLD_VEHICLE_BOAT_IDLE_ALAMO", group: "Vehicles" },
6816
+ { name: "WORLD_VEHICLE_BOAT_IDLE_MARQUIS", group: "Vehicles" },
6817
+ { name: "WORLD_VEHICLE_BROKEN_DOWN", group: "Vehicles" },
6818
+ { name: "WORLD_VEHICLE_BUSINESSMEN", group: "Vehicles" },
6819
+ { name: "WORLD_VEHICLE_CLUCKIN_BELL_TRAILER", group: "Vehicles" },
6820
+ { name: "WORLD_VEHICLE_CONSTRUCTION_SOLO", group: "Vehicles" },
6821
+ { name: "WORLD_VEHICLE_CONSTRUCTION_PASSENGERS", group: "Vehicles" },
6822
+ { name: "WORLD_VEHICLE_DISTANT_EMPTY_GROUND", group: "Vehicles" },
6823
+ { name: "WORLD_VEHICLE_DRIVE_PASSENGERS", group: "Vehicles" },
6824
+ { name: "WORLD_VEHICLE_DRIVE_PASSENGERS_LIMITED", group: "Vehicles" },
6825
+ { name: "WORLD_VEHICLE_DRIVE_SOLO", group: "Vehicles" },
6826
+ { name: "WORLD_VEHICLE_EMPTY", group: "Vehicles" },
6827
+ { name: "WORLD_VEHICLE_FARM_WORKER", group: "Vehicles" },
6828
+ { name: "WORLD_VEHICLE_FIRE_TRUCK", group: "Vehicles" },
6829
+ { name: "WORLD_VEHICLE_HELI_LIFEGUARD", group: "Vehicles" },
6830
+ { name: "WORLD_VEHICLE_MARIACHI", group: "Vehicles" },
6831
+ { name: "WORLD_VEHICLE_MECHANIC", group: "Vehicles" },
6832
+ { name: "WORLD_VEHICLE_MILITARY_PLANES_BIG", group: "Vehicles" },
6833
+ { name: "WORLD_VEHICLE_MILITARY_PLANES_SMALL", group: "Vehicles" },
6834
+ { name: "WORLD_VEHICLE_PARK_PARALLEL", group: "Vehicles" },
6835
+ { name: "WORLD_VEHICLE_PARK_PERPENDICULAR_NOSE_IN", group: "Vehicles" },
6836
+ { name: "WORLD_VEHICLE_PASSENGER_EXIT", group: "Vehicles" },
6837
+ { name: "WORLD_VEHICLE_POLICE_BIKE", group: "Vehicles" },
6838
+ { name: "WORLD_VEHICLE_POLICE_CAR", group: "Vehicles" },
6839
+ { name: "WORLD_VEHICLE_POLICE_NEXT_TO_CAR", group: "Vehicles" },
6840
+ { name: "WORLD_VEHICLE_QUARRY", group: "Vehicles" },
6841
+ { name: "WORLD_VEHICLE_SALTON", group: "Vehicles" },
6842
+ { name: "WORLD_VEHICLE_SALTON_DIRT_BIKE", group: "Vehicles" },
6843
+ { name: "WORLD_VEHICLE_SECURITY_CAR", group: "Vehicles" },
6844
+ { name: "WORLD_VEHICLE_STREETRACE", group: "Vehicles" },
6845
+ { name: "WORLD_VEHICLE_TANDL", group: "Vehicles" },
6846
+ { name: "WORLD_VEHICLE_TOURBUS", group: "Vehicles" },
6847
+ { name: "WORLD_VEHICLE_TOURIST", group: "Vehicles" },
6848
+ { name: "WORLD_VEHICLE_TRACTOR", group: "Vehicles" },
6849
+ { name: "WORLD_VEHICLE_TRACTOR_BEACH", group: "Vehicles" },
6850
+ { name: "WORLD_VEHICLE_TRUCK_LOGS", group: "Vehicles" },
6851
+ { name: "WORLD_VEHICLE_TRUCKS_TRAILERS", group: "Vehicles" },
6852
+ // ── Code (Advanced) ────────────────────────────────────────────────────────
6853
+ // These are engine-internal scenarios — rarely the right pick for cinematic
6854
+ // ped placements, but exposed because the game-data dump includes them.
6855
+ { name: "CODE_HUMAN_COWER", group: "Code (Advanced)" },
6856
+ { name: "CODE_HUMAN_CROSS_ROAD_WAIT", group: "Code (Advanced)" },
6857
+ { name: "CODE_HUMAN_PARK_CAR", group: "Code (Advanced)" },
6858
+ { name: "CODE_HUMAN_MEDIC_KNEEL", group: "Code (Advanced)" },
6859
+ { name: "CODE_HUMAN_MEDIC_TEND_TO_DEAD", group: "Code (Advanced)" },
6860
+ { name: "CODE_HUMAN_MEDIC_TIME_OF_DEATH", group: "Code (Advanced)" },
6861
+ { name: "CODE_HUMAN_POLICE_CROWD_CONTROL", group: "Code (Advanced)" },
6862
+ { name: "CODE_HUMAN_POLICE_INVESTIGATE", group: "Code (Advanced)" },
6863
+ { name: "CODE_HUMAN_STAND_COWER", group: "Code (Advanced)" },
6864
+ { name: "CHAINING_ENTRY", group: "Code (Advanced)" },
6865
+ { name: "CHAINING_EXIT", group: "Code (Advanced)" },
6866
+ { name: "EAR_TO_TEXT", group: "Code (Advanced)" },
6867
+ { name: "EAR_TO_TEXT_FAT", group: "Code (Advanced)" },
6868
+ { name: "WORLD_LOOKAT_POINT", group: "Code (Advanced)" }
6869
+ ];
6870
+ var PREFIX_RE = /^(WORLD|PROP|CODE)_(HUMAN_|BIRD_|VEHICLE_|CAT_|DOG_|COYOTE_|FISH_|HEN_|GULL_|CROW_|RABBIT_|RATS_|SHARK_|PIGEON_|ORCA_|WHALE_|STINGRAY_|DOLPHIN_|MOUNTAIN_LION_|PIG_|COW_|DEER_|BOAR_|CHICKENHAWK_|CORMORANT_)?/;
6871
+ function formatGtaScenario(name) {
6872
+ if (!name) return "";
6873
+ const stripped = name.replace(PREFIX_RE, "");
6874
+ const cleaned = stripped.length > 0 ? stripped : name;
6875
+ return cleaned.toLowerCase().split("_").filter(Boolean).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
6876
+ }
6877
+ function buildGroupedData3(extraNames = []) {
6878
+ const groups = /* @__PURE__ */ new Map();
6879
+ const seen = /* @__PURE__ */ new Set();
6880
+ for (const sc of GTA_SCENARIOS) {
6881
+ if (seen.has(sc.name)) continue;
6882
+ seen.add(sc.name);
6883
+ if (!groups.has(sc.group)) groups.set(sc.group, []);
6884
+ groups.get(sc.group).push(sc);
6885
+ }
6886
+ const data = GTA_SCENARIO_GROUP_ORDER.flatMap((g) => {
6887
+ const items = groups.get(g);
6888
+ if (!items || items.length === 0) return [];
6889
+ return [
6890
+ {
6891
+ group: g,
6892
+ items: items.map((sc) => ({
6893
+ value: sc.name,
6894
+ label: sc.label ?? formatGtaScenario(sc.name)
6895
+ }))
6896
+ }
6897
+ ];
6898
+ });
6899
+ const knownNames = new Set(GTA_SCENARIOS.map((sc) => sc.name));
6900
+ const customs = extraNames.filter((n) => n && !knownNames.has(n));
6901
+ if (customs.length > 0) {
6902
+ data.push({
6903
+ group: "Custom",
6904
+ items: customs.map((n) => ({ value: n, label: n }))
6905
+ });
6906
+ }
6907
+ return data;
6908
+ }
6909
+ function ScenarioSelect({
6910
+ value,
6911
+ onChange,
6912
+ label: label2 = "Scenario",
6913
+ size = "xs",
6914
+ searchable = true,
6915
+ clearable = true,
6916
+ ...rest
6917
+ }) {
6918
+ const data = buildGroupedData3([value]);
6919
+ return /* @__PURE__ */ jsxRuntime.jsx(
6920
+ core.Select,
6921
+ {
6922
+ label: label2,
6923
+ size,
6924
+ searchable,
6925
+ clearable,
6926
+ maxDropdownHeight: 320,
6927
+ nothingFoundMessage: "No matching scenarios",
6928
+ placeholder: "Pick a scenario...",
6929
+ ...rest,
6930
+ data,
6931
+ value: value || null,
6932
+ onChange: (v) => onChange(v ?? "")
6933
+ }
6934
+ );
6935
+ }
6565
6936
  function useTornEdges() {
6566
6937
  const game = useSettings((state) => state.game);
6567
6938
  return game === "rdr3" ? "torn-edge-wrapper" : "";
@@ -6962,6 +7333,7 @@ exports.NavigationContext = NavigationContext;
6962
7333
  exports.NavigationProvider = NavigationProvider;
6963
7334
  exports.PositionPicker = PositionPicker;
6964
7335
  exports.PromptModal = PromptModal;
7336
+ exports.ScenarioSelect = ScenarioSelect;
6965
7337
  exports.SegmentedControl = SegmentedControl;
6966
7338
  exports.SegmentedProgress = SegmentedProgress;
6967
7339
  exports.SelectItem = SelectItem;