dirk-cfx-react 1.1.53 → 1.1.55

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.
@@ -1,11 +1,23 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { SelectProps, FlexProps } from '@mantine/core';
2
3
  import * as React$1 from 'react';
3
- import React__default from 'react';
4
+ import React__default, { ReactNode, ComponentType } from 'react';
4
5
  import * as framer_motion from 'framer-motion';
5
6
  import { Variants } from 'framer-motion';
6
7
  import * as _fortawesome_fontawesome_svg_core from '@fortawesome/fontawesome-svg-core';
7
8
  import { StoreApi } from 'zustand';
8
- import { FlexProps } from '@mantine/core';
9
+ import { LucideProps } from 'lucide-react';
10
+
11
+ type BlipIconSelectProps = Omit<SelectProps, "data" | "value" | "onChange" | "searchable" | "renderOption"> & {
12
+ value: number | null;
13
+ onChange: (id: number) => void;
14
+ };
15
+ declare function BlipIconSelect({ value, onChange, label, size, ...rest }: BlipIconSelectProps): react_jsx_runtime.JSX.Element;
16
+ type BlipColorSelectProps = Omit<SelectProps, "data" | "value" | "onChange" | "searchable" | "renderOption"> & {
17
+ value: number | null;
18
+ onChange: (id: number) => void;
19
+ };
20
+ declare function BlipColorSelect({ value, onChange, label, size, ...rest }: BlipColorSelectProps): react_jsx_runtime.JSX.Element;
9
21
 
10
22
  type BorderedIconProps = {
11
23
  icon: string;
@@ -76,25 +88,31 @@ declare const MotionImage: React__default.ComponentType<any>;
76
88
  declare const MotionIcon: React__default.ComponentType<Omit<{
77
89
  string?: string | number | undefined;
78
90
  symbol?: _fortawesome_fontawesome_svg_core.FaSymbol | undefined;
91
+ id?: string | undefined;
92
+ name?: string | undefined;
93
+ onChange?: React__default.FormEventHandler<SVGSVGElement> | undefined;
94
+ size?: _fortawesome_fontawesome_svg_core.SizeProp | undefined;
79
95
  title?: string | undefined;
80
- filter?: string | undefined;
81
- fill?: string | undefined;
82
- type?: string | undefined;
83
- ref?: React__default.Ref<SVGSVGElement> | undefined;
84
96
  clipPath?: string | undefined;
97
+ filter?: string | undefined;
85
98
  mask?: _fortawesome_fontawesome_svg_core.IconProp | undefined;
86
99
  path?: string | undefined;
100
+ ref?: React__default.Ref<SVGSVGElement> | undefined;
87
101
  key?: React__default.Key | null | undefined;
102
+ height?: string | number | undefined;
103
+ max?: string | number | undefined;
104
+ min?: string | number | undefined;
105
+ type?: string | undefined;
106
+ width?: string | number | undefined;
88
107
  suppressHydrationWarning?: boolean | undefined;
89
108
  className?: string | undefined;
90
- id?: string | undefined;
91
109
  lang?: string | undefined;
92
110
  tabIndex?: number | undefined;
93
111
  role?: React__default.AriaRole | undefined;
94
112
  color?: string | undefined;
95
113
  "aria-activedescendant"?: string | undefined;
96
114
  "aria-atomic"?: (boolean | "true" | "false") | undefined;
97
- "aria-autocomplete"?: "none" | "list" | "inline" | "both" | undefined;
115
+ "aria-autocomplete"?: "list" | "none" | "inline" | "both" | undefined;
98
116
  "aria-braillelabel"?: string | undefined;
99
117
  "aria-brailleroledescription"?: string | undefined;
100
118
  "aria-busy"?: (boolean | "true" | "false") | undefined;
@@ -104,17 +122,17 @@ declare const MotionIcon: React__default.ComponentType<Omit<{
104
122
  "aria-colindextext"?: string | undefined;
105
123
  "aria-colspan"?: number | undefined;
106
124
  "aria-controls"?: string | undefined;
107
- "aria-current"?: boolean | "time" | "location" | "page" | "true" | "false" | "step" | "date" | undefined;
125
+ "aria-current"?: boolean | "time" | "step" | "date" | "true" | "false" | "page" | "location" | undefined;
108
126
  "aria-describedby"?: string | undefined;
109
127
  "aria-description"?: string | undefined;
110
128
  "aria-details"?: string | undefined;
111
129
  "aria-disabled"?: (boolean | "true" | "false") | undefined;
112
- "aria-dropeffect"?: "link" | "copy" | "none" | "execute" | "move" | "popup" | undefined;
130
+ "aria-dropeffect"?: "link" | "none" | "copy" | "execute" | "move" | "popup" | undefined;
113
131
  "aria-errormessage"?: string | undefined;
114
132
  "aria-expanded"?: (boolean | "true" | "false") | undefined;
115
133
  "aria-flowto"?: string | undefined;
116
134
  "aria-grabbed"?: (boolean | "true" | "false") | undefined;
117
- "aria-haspopup"?: boolean | "dialog" | "menu" | "grid" | "tree" | "listbox" | "true" | "false" | undefined;
135
+ "aria-haspopup"?: boolean | "dialog" | "menu" | "grid" | "true" | "false" | "listbox" | "tree" | undefined;
118
136
  "aria-hidden"?: (boolean | "true" | "false") | undefined;
119
137
  "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
120
138
  "aria-keyshortcuts"?: string | undefined;
@@ -131,7 +149,7 @@ declare const MotionIcon: React__default.ComponentType<Omit<{
131
149
  "aria-posinset"?: number | undefined;
132
150
  "aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
133
151
  "aria-readonly"?: (boolean | "true" | "false") | undefined;
134
- "aria-relevant"?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
152
+ "aria-relevant"?: "text" | "all" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
135
153
  "aria-required"?: (boolean | "true" | "false") | undefined;
136
154
  "aria-roledescription"?: string | undefined;
137
155
  "aria-rowcount"?: number | undefined;
@@ -164,7 +182,6 @@ declare const MotionIcon: React__default.ComponentType<Omit<{
164
182
  onFocusCapture?: React__default.FocusEventHandler<SVGSVGElement> | undefined;
165
183
  onBlur?: React__default.FocusEventHandler<SVGSVGElement> | undefined;
166
184
  onBlurCapture?: React__default.FocusEventHandler<SVGSVGElement> | undefined;
167
- onChange?: React__default.FormEventHandler<SVGSVGElement> | undefined;
168
185
  onChangeCapture?: React__default.FormEventHandler<SVGSVGElement> | undefined;
169
186
  onBeforeInput?: React__default.InputEventHandler<SVGSVGElement> | undefined;
170
187
  onBeforeInputCapture?: React__default.FormEventHandler<SVGSVGElement> | undefined;
@@ -312,25 +329,31 @@ declare const MotionIcon: React__default.ComponentType<Omit<{
312
329
  onTransitionRunCapture?: React__default.TransitionEventHandler<SVGSVGElement> | undefined;
313
330
  onTransitionStart?: React__default.TransitionEventHandler<SVGSVGElement> | undefined;
314
331
  onTransitionStartCapture?: React__default.TransitionEventHandler<SVGSVGElement> | undefined;
315
- direction?: string | number | undefined;
316
332
  opacity?: string | number | undefined;
317
333
  display?: string | number | undefined;
334
+ radius?: string | number | undefined;
335
+ fill?: string | undefined;
336
+ border?: boolean | undefined;
337
+ fontWeight?: string | number | undefined;
338
+ letterSpacing?: string | number | undefined;
318
339
  end?: string | number | undefined;
340
+ fontStyle?: string | number | undefined;
341
+ textDecoration?: string | number | undefined;
342
+ local?: string | number | undefined;
343
+ pointerEvents?: string | number | undefined;
344
+ stroke?: string | undefined;
345
+ imageRendering?: string | number | undefined;
346
+ crossOrigin?: "" | "anonymous" | "use-credentials" | undefined;
347
+ direction?: string | number | undefined;
319
348
  transform?: string | _fortawesome_fontawesome_svg_core.Transform | undefined;
320
- height?: string | number | undefined;
321
- max?: string | number | undefined;
322
349
  media?: string | undefined;
323
350
  method?: string | undefined;
324
- min?: string | number | undefined;
325
- name?: string | undefined;
326
351
  target?: string | undefined;
327
- width?: string | number | undefined;
328
- crossOrigin?: "" | "anonymous" | "use-credentials" | undefined;
329
352
  accentHeight?: string | number | undefined;
330
353
  accumulate?: "none" | "sum" | undefined;
331
354
  additive?: "replace" | "sum" | undefined;
332
- alignmentBaseline?: "inherit" | "baseline" | "auto" | "alphabetic" | "hanging" | "ideographic" | "mathematical" | "before-edge" | "text-before-edge" | "middle" | "central" | "after-edge" | "text-after-edge" | undefined;
333
- allowReorder?: "no" | "yes" | undefined;
355
+ alignmentBaseline?: "inherit" | "auto" | "baseline" | "alphabetic" | "hanging" | "ideographic" | "mathematical" | "before-edge" | "text-before-edge" | "middle" | "central" | "after-edge" | "text-after-edge" | undefined;
356
+ allowReorder?: "yes" | "no" | undefined;
334
357
  alphabetic?: string | number | undefined;
335
358
  amplitude?: string | number | undefined;
336
359
  arabicForm?: "initial" | "terminal" | "medial" | "isolated" | undefined;
@@ -385,9 +408,7 @@ declare const MotionIcon: React__default.ComponentType<Omit<{
385
408
  fontSize?: string | number | undefined;
386
409
  fontSizeAdjust?: string | number | undefined;
387
410
  fontStretch?: string | number | undefined;
388
- fontStyle?: string | number | undefined;
389
411
  fontVariant?: string | number | undefined;
390
- fontWeight?: string | number | undefined;
391
412
  format?: string | number | undefined;
392
413
  fr?: string | number | undefined;
393
414
  from?: string | number | undefined;
@@ -406,7 +427,6 @@ declare const MotionIcon: React__default.ComponentType<Omit<{
406
427
  horizOriginX?: string | number | undefined;
407
428
  href?: string | undefined;
408
429
  ideographic?: string | number | undefined;
409
- imageRendering?: string | number | undefined;
410
430
  in2?: string | number | undefined;
411
431
  in?: string | undefined;
412
432
  intercept?: string | number | undefined;
@@ -422,10 +442,8 @@ declare const MotionIcon: React__default.ComponentType<Omit<{
422
442
  keySplines?: string | number | undefined;
423
443
  keyTimes?: string | number | undefined;
424
444
  lengthAdjust?: string | number | undefined;
425
- letterSpacing?: string | number | undefined;
426
445
  lightingColor?: string | number | undefined;
427
446
  limitingConeAngle?: string | number | undefined;
428
- local?: string | number | undefined;
429
447
  markerEnd?: string | undefined;
430
448
  markerHeight?: string | number | undefined;
431
449
  markerMid?: string | undefined;
@@ -452,7 +470,6 @@ declare const MotionIcon: React__default.ComponentType<Omit<{
452
470
  patternContentUnits?: string | undefined;
453
471
  patternTransform?: string | number | undefined;
454
472
  patternUnits?: string | undefined;
455
- pointerEvents?: string | number | undefined;
456
473
  points?: string | undefined;
457
474
  pointsAtX?: string | number | undefined;
458
475
  pointsAtY?: string | number | undefined;
@@ -461,7 +478,6 @@ declare const MotionIcon: React__default.ComponentType<Omit<{
461
478
  preserveAspectRatio?: string | undefined;
462
479
  primitiveUnits?: string | number | undefined;
463
480
  r?: string | number | undefined;
464
- radius?: string | number | undefined;
465
481
  refX?: string | number | undefined;
466
482
  refY?: string | number | undefined;
467
483
  renderingIntent?: string | number | undefined;
@@ -492,10 +508,9 @@ declare const MotionIcon: React__default.ComponentType<Omit<{
492
508
  stopOpacity?: string | number | undefined;
493
509
  strikethroughPosition?: string | number | undefined;
494
510
  strikethroughThickness?: string | number | undefined;
495
- stroke?: string | undefined;
496
511
  strokeDasharray?: string | number | undefined;
497
512
  strokeDashoffset?: string | number | undefined;
498
- strokeLinecap?: "square" | "inherit" | "butt" | "round" | undefined;
513
+ strokeLinecap?: "inherit" | "round" | "square" | "butt" | undefined;
499
514
  strokeLinejoin?: "inherit" | "round" | "miter" | "bevel" | undefined;
500
515
  strokeMiterlimit?: string | number | undefined;
501
516
  strokeOpacity?: string | number | undefined;
@@ -506,7 +521,6 @@ declare const MotionIcon: React__default.ComponentType<Omit<{
506
521
  targetX?: string | number | undefined;
507
522
  targetY?: string | number | undefined;
508
523
  textAnchor?: "inherit" | "end" | "start" | "middle" | undefined;
509
- textDecoration?: string | number | undefined;
510
524
  textLength?: string | number | undefined;
511
525
  textRendering?: string | number | undefined;
512
526
  to?: string | number | undefined;
@@ -557,9 +571,7 @@ declare const MotionIcon: React__default.ComponentType<Omit<{
557
571
  z?: string | number | undefined;
558
572
  zoomAndPan?: string | undefined;
559
573
  icon?: _fortawesome_fontawesome_svg_core.IconProp | undefined;
560
- size?: _fortawesome_fontawesome_svg_core.SizeProp | undefined;
561
574
  maskId?: string | undefined;
562
- border?: boolean | undefined;
563
575
  fixedWidth?: boolean | undefined;
564
576
  inverse?: boolean | undefined;
565
577
  titleId?: string | undefined;
@@ -660,6 +672,25 @@ declare function LevelPanel(props: {
660
672
  color?: string;
661
673
  }): react_jsx_runtime.JSX.Element;
662
674
 
675
+ type ModalProps = {
676
+ title: string;
677
+ icon?: React__default.ElementType;
678
+ iconColor?: string;
679
+ description?: string;
680
+ badge?: {
681
+ label: string;
682
+ color: string;
683
+ };
684
+ onClose: () => void;
685
+ width?: string;
686
+ maxHeight?: string;
687
+ height?: string;
688
+ zIndex?: number;
689
+ clickOutside?: boolean;
690
+ children: React__default.ReactNode;
691
+ };
692
+ declare function Modal({ title, icon: Icon, iconColor, description, badge, onClose, width, maxHeight, height, zIndex, clickOutside, children, }: ModalProps): react_jsx_runtime.JSX.Element;
693
+
663
694
  type PromptButton = {
664
695
  icon?: string;
665
696
  text: string;
@@ -673,27 +704,126 @@ type Prompt = {
673
704
  };
674
705
  declare function PromptModal(props: Prompt): react_jsx_runtime.JSX.Element;
675
706
 
676
- type ModalProps = {
677
- children: React.ReactNode;
707
+ type StoreModalProps = {
708
+ children: React__default.ReactNode;
678
709
  title: string;
679
- icon: string;
710
+ icon?: React__default.ElementType;
711
+ iconColor?: string;
680
712
  description?: string;
713
+ badge?: {
714
+ label: string;
715
+ color: string;
716
+ };
681
717
  height?: string;
682
718
  width?: string;
719
+ maxHeight?: string;
720
+ zIndex?: number;
683
721
  clickOutside?: boolean;
684
722
  };
685
723
  type ModalStore = {
686
- active: ModalProps | null;
724
+ active: StoreModalProps | null;
687
725
  };
688
- declare const ModalContext: React$1.Context<StoreApi<ModalStore> | null>;
726
+ declare const ModalContext: React__default.Context<StoreApi<ModalStore> | null>;
689
727
  declare function useModal<T>(selector: (state: ModalStore) => T): T;
690
- declare function ModalProvider({ children, defaultPage }: {
691
- children: React.ReactNode;
692
- defaultPage?: string;
728
+ declare function ModalProvider({ children }: {
729
+ children: React__default.ReactNode;
693
730
  }): react_jsx_runtime.JSX.Element;
694
731
  declare function useModalActions(): {
695
- showModal: (openModal: ModalProps) => void;
732
+ showModal: (openModal: StoreModalProps) => void;
696
733
  hideModal: () => void;
697
734
  };
698
735
 
699
- export { BorderedIcon, type BorderedIconProps, type ButtonProps, Counter, FloatingParticles, type FloatingParticlesProps, InfoBox, type InfoBoxProps, InputContainer, type InputContainerProps, LevelBanner, LevelPanel, ModalContext, ModalProvider, MotionFlex, MotionIcon, MotionImage, MotionText, NavBar, NavigationContext, NavigationProvider, type NavigationStore, type ParticleState, type ProgressProps, type Prompt, type PromptButton, PromptModal, type SegmentProps, SegmentedControl, type SegmentedControlProps, SegmentedProgress, Title, type TitleProps, useModal, useModalActions, useNavigation, useNavigationStore };
736
+ type ConfirmModalProps = {
737
+ title: string;
738
+ description: string;
739
+ confirmLabel?: string;
740
+ /** If provided, user must type this exact string to enable the confirm button */
741
+ confirmText?: string;
742
+ onConfirm: () => void;
743
+ onClose: () => void;
744
+ zIndex?: number;
745
+ };
746
+ declare function ConfirmModal({ title, description, confirmLabel, confirmText, onConfirm, onClose, zIndex, }: ConfirmModalProps): react_jsx_runtime.JSX.Element;
747
+
748
+ interface NavItem {
749
+ id: string;
750
+ icon: React__default.ElementType;
751
+ label: string;
752
+ }
753
+ interface SettingsPanelProps<T extends Record<string, any> = Record<string, any>> {
754
+ navItems: readonly NavItem[];
755
+ title: string;
756
+ subtitle?: string;
757
+ open: boolean;
758
+ /** Defaults to fetchNui("CLOSE_ADMIN_SECTION") */
759
+ onClose?: () => void;
760
+ children: (activeTab: string) => React__default.ReactNode;
761
+ /** Default settings for reset */
762
+ defaultSettings: T;
763
+ /** Zod schema for JSON validation (.safeParse) */
764
+ schema?: {
765
+ safeParse: (data: unknown) => {
766
+ success: boolean;
767
+ data?: T;
768
+ error?: {
769
+ issues: {
770
+ path: PropertyKey[];
771
+ message: string;
772
+ }[];
773
+ };
774
+ };
775
+ };
776
+ /** Reset confirm typed text (e.g. "dirk_fishing") */
777
+ resetConfirmText?: string;
778
+ width?: string;
779
+ height?: string;
780
+ }
781
+ declare function SettingsPanel<T extends Record<string, any>>(props: SettingsPanelProps<T>): react_jsx_runtime.JSX.Element | null;
782
+
783
+ type SelectItemProps = {
784
+ label: string;
785
+ value: string;
786
+ onChange: (value: string) => void;
787
+ style?: React.CSSProperties;
788
+ excludeItemNames?: string[];
789
+ };
790
+ declare function SelectItem(props: SelectItemProps): react_jsx_runtime.JSX.Element;
791
+
792
+ type FiveMControls = {
793
+ _type: string;
794
+ _key: string;
795
+ };
796
+ type RootProps = {
797
+ value: FiveMControls;
798
+ onChange: (next: FiveMControls) => void;
799
+ children: ReactNode;
800
+ };
801
+ declare function Root({ value, onChange, children }: RootProps): react_jsx_runtime.JSX.Element;
802
+ type CategoryProps = {
803
+ label?: string;
804
+ };
805
+ declare function Category({ label }: CategoryProps): react_jsx_runtime.JSX.Element;
806
+ type KeyProps = {
807
+ label?: string;
808
+ };
809
+ declare function Key({ label }: KeyProps): react_jsx_runtime.JSX.Element;
810
+ declare const FiveMKeyBindInput: typeof Root & {
811
+ Category: typeof Category;
812
+ Key: typeof Key;
813
+ };
814
+
815
+ declare function AsyncSaveButton({ onSave, color, label, style, }: {
816
+ onSave: () => Promise<any>;
817
+ color: string;
818
+ label?: string;
819
+ style?: React.CSSProperties;
820
+ }): react_jsx_runtime.JSX.Element;
821
+
822
+ type AdminPageTitleProps = {
823
+ title: string;
824
+ icon: ComponentType<LucideProps>;
825
+ color: string;
826
+ };
827
+ declare function AdminPageTitle(props: AdminPageTitleProps): react_jsx_runtime.JSX.Element;
828
+
829
+ export { AdminPageTitle, type AdminPageTitleProps, AsyncSaveButton, BlipColorSelect, type BlipColorSelectProps, BlipIconSelect, type BlipIconSelectProps, BorderedIcon, type BorderedIconProps, type ButtonProps, ConfirmModal, type ConfirmModalProps, Counter, type FiveMControls, FiveMKeyBindInput, FloatingParticles, type FloatingParticlesProps, InfoBox, type InfoBoxProps, InputContainer, type InputContainerProps, LevelBanner, LevelPanel, Modal, ModalContext, type ModalProps, ModalProvider, MotionFlex, MotionIcon, MotionImage, MotionText, NavBar, type NavItem, NavigationContext, NavigationProvider, type NavigationStore, type ParticleState, type ProgressProps, type Prompt, type PromptButton, PromptModal, type SegmentProps, SegmentedControl, type SegmentedControlProps, SegmentedProgress, SelectItem, type SelectItemProps, SettingsPanel, type SettingsPanelProps, type StoreModalProps, Title, type TitleProps, useModal, useModalActions, useNavigation, useNavigationStore };