@ioca/react 1.1.7 → 1.1.9

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,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { HTMLAttributes, ReactNode, CSSProperties, ForwardRefExoticComponent, RefAttributes, ButtonHTMLAttributes, AnchorHTMLAttributes, ChangeEvent, KeyboardEvent, InputHTMLAttributes, MouseEvent, FC, TextareaHTMLAttributes, Ref } from 'react';
3
+ import { HTMLAttributes, ReactNode, CSSProperties, ForwardRefExoticComponent, RefAttributes, ButtonHTMLAttributes, AnchorHTMLAttributes, RefObject, ChangeEvent, KeyboardEvent, InputHTMLAttributes, MouseEvent, JSX, FC, TextareaHTMLAttributes, Ref } from 'react';
4
4
  import { LinkProps } from 'react-router';
5
5
  import { ListProps } from 'rc-virtual-list';
6
6
  import { ColorPickerProps } from '@rc-component/color-picker';
@@ -35,7 +35,7 @@ interface IBadge {
35
35
  children?: ReactNode;
36
36
  }
37
37
 
38
- declare const Badge: (props: IBadge) => JSX.Element;
38
+ declare const Badge: (props: IBadge) => react_jsx_runtime.JSX.Element;
39
39
 
40
40
  declare function Group(props: IButtonGroup): react_jsx_runtime.JSX.Element;
41
41
 
@@ -43,6 +43,7 @@ declare function Toggle(props: IButtonToggle): react_jsx_runtime.JSX.Element;
43
43
 
44
44
  interface BaseButtonProps {
45
45
  as?: "a" | "button" | ForwardRefExoticComponent<LinkProps & RefAttributes<HTMLAnchorElement>>;
46
+ ref?: RefObject<HTMLElement | null>;
46
47
  children?: ReactNode | string;
47
48
  className?: string;
48
49
  loading?: boolean;
@@ -56,7 +57,7 @@ interface BaseButtonProps {
56
57
  ripple?: boolean;
57
58
  secondary?: boolean;
58
59
  }
59
- interface IButton extends BaseButtonProps, Omit<ButtonHTMLAttributes<HTMLElement>, "type">, AnchorHTMLAttributes<HTMLElement> {
60
+ interface IButton extends BaseButtonProps, Omit<ButtonHTMLAttributes<HTMLElement>, "type" | "onToggle">, Omit<AnchorHTMLAttributes<HTMLElement>, "onToggle"> {
60
61
  }
61
62
  interface IButtonToggle extends IButton {
62
63
  active?: boolean;
@@ -76,23 +77,19 @@ interface CompositionButton extends ForwardRefExoticComponent<IButton & RefAttri
76
77
  Group: typeof Group;
77
78
  }
78
79
 
79
- declare const Button: CompositionButton;
80
+ declare const _default$3: CompositionButton;
80
81
 
81
- interface ICard {
82
- shadow?: boolean;
82
+ interface ICard extends HTMLAttributes<HTMLDivElement> {
83
+ hideShadow?: boolean;
83
84
  border?: boolean;
84
85
  style?: CSSProperties;
85
86
  className?: string;
86
87
  children?: ReactNode;
88
+ header?: ReactNode;
89
+ footer?: ReactNode;
87
90
  }
88
91
 
89
- declare const Card: {
90
- (props: ICard): react_jsx_runtime.JSX.Element;
91
- Header: any;
92
- Footer: any;
93
- Banner: any;
94
- Tailer: any;
95
- };
92
+ declare const Card: (props: ICard) => react_jsx_runtime.JSX.Element;
96
93
 
97
94
  type TStatus = "normal" | "success" | "warning" | "error";
98
95
  type TOption = {
@@ -107,6 +104,7 @@ type TValidate = {
107
104
  };
108
105
  interface BaseInput extends TValidate {
109
106
  label?: ReactNode;
107
+ ref?: RefObject<HTMLInputElement | null>;
110
108
  value?: any;
111
109
  initValue?: any;
112
110
  labelInline?: boolean;
@@ -164,7 +162,7 @@ interface ICollapseItem {
164
162
  declare function Item$3(props: ICollapseItem): react_jsx_runtime.JSX.Element;
165
163
 
166
164
  declare const Collapse: {
167
- (props: ICollapse): JSX.Element;
165
+ (props: ICollapse): react_jsx_runtime.JSX.Element;
168
166
  Item: typeof Item$3;
169
167
  };
170
168
 
@@ -205,7 +203,7 @@ interface IDatagrid {
205
203
  onResize?: (column?: IColumn, width?: number) => void;
206
204
  }
207
205
 
208
- declare const Datagrid: (props: IDatagrid) => JSX.Element;
206
+ declare const Datagrid: (props: IDatagrid) => react_jsx_runtime.JSX.Element;
209
207
 
210
208
  type IData = {
211
209
  label: ReactNode;
@@ -229,7 +227,7 @@ interface IDescription {
229
227
  className?: string;
230
228
  }
231
229
 
232
- declare const Description: (props: IDescription) => JSX.Element;
230
+ declare const Description: (props: IDescription) => react_jsx_runtime.JSX.Element;
233
231
 
234
232
  interface IDrawer extends HTMLAttributes<HTMLDivElement> {
235
233
  visible?: boolean;
@@ -250,6 +248,7 @@ interface IList extends HTMLAttributes<HTMLUListElement> {
250
248
  type?: "option" | "default";
251
249
  }
252
250
  interface IListItem extends HTMLAttributes<HTMLLIElement>, Pick<IList, "type"> {
251
+ ref?: RefObject<HTMLLIElement | null>;
253
252
  active?: boolean;
254
253
  align?: string;
255
254
  disabled?: boolean;
@@ -293,7 +292,7 @@ interface IDropItem extends IListItem {
293
292
  }
294
293
 
295
294
  declare const Dropdown: {
296
- (props: IDropdown): JSX.Element;
295
+ (props: IDropdown): react_jsx_runtime.JSX.Element;
297
296
  Item: (props: IDropItem) => react_jsx_runtime.JSX.Element;
298
297
  };
299
298
 
@@ -310,7 +309,7 @@ interface IFlex {
310
309
  children?: ReactNode;
311
310
  }
312
311
 
313
- declare const Flex: (props: IFlex) => JSX.Element;
312
+ declare const Flex: (props: IFlex) => react_jsx_runtime.JSX.Element;
314
313
 
315
314
  declare class IFormInstance {
316
315
  readonly id?: string;
@@ -338,6 +337,7 @@ interface IForm extends HTMLAttributes<HTMLFormElement> {
338
337
  };
339
338
  initialValues?: Record<string, any>;
340
339
  width?: string | number;
340
+ gap?: string | number;
341
341
  onEnter?: (values: Record<string, any>, form: IFormInstance) => void;
342
342
  }
343
343
  interface IField {
@@ -349,20 +349,21 @@ interface IField {
349
349
  declare function Field(props: IField): react.ReactNode;
350
350
 
351
351
  declare const Form: {
352
- (props: IForm): JSX.Element;
352
+ (props: IForm): react_jsx_runtime.JSX.Element;
353
353
  useForm: typeof useForm;
354
354
  Field: typeof Field;
355
355
  };
356
356
 
357
357
  interface IIcon extends HTMLAttributes<HTMLElement> {
358
358
  icon: ReactNode;
359
+ ref?: RefObject<HTMLOrSVGElement | null>;
359
360
  size?: string;
360
361
  rotate?: number;
361
362
  style?: CSSProperties;
362
363
  className?: string;
363
364
  }
364
365
 
365
- declare const Icon: react.ForwardRefExoticComponent<IIcon & react.RefAttributes<HTMLElement>>;
366
+ declare const Icon: (props: IIcon) => string | number | bigint | boolean | Iterable<react.ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<react.ReactNode> | null | undefined> | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | null | undefined;
366
367
 
367
368
  declare function List$1(props: IImageList): react_jsx_runtime.JSX.Element | "";
368
369
 
@@ -392,18 +393,19 @@ interface CompositionImage extends FC<IImage> {
392
393
 
393
394
  declare const _default$2: CompositionImage;
394
395
 
395
- declare const Number$2: react.ForwardRefExoticComponent<IInputNumber & react.RefAttributes<HTMLInputElement>>;
396
+ declare const Number$2: (props: IInputNumber) => react_jsx_runtime.JSX.Element;
396
397
 
397
398
  declare const Range: (props: IInputRange) => react_jsx_runtime.JSX.Element;
398
399
 
399
- declare const Textarea: react.ForwardRefExoticComponent<ITextarea & react.RefAttributes<HTMLTextAreaElement>>;
400
+ declare const Textarea: (props: ITextarea) => react_jsx_runtime.JSX.Element;
400
401
 
401
402
  interface IInput extends BaseInput, Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "defaultValue" | "onChange"> {
402
403
  prepend?: ReactNode;
403
404
  append?: ReactNode;
404
405
  hideVisible?: boolean;
405
406
  }
406
- interface ITextarea extends BaseInput, Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "value" | "defaultValue" | "onChange"> {
407
+ interface ITextarea extends Omit<BaseInput, "ref">, Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "value" | "defaultValue" | "onChange"> {
408
+ ref?: RefObject<HTMLTextAreaElement | null>;
407
409
  autoSize?: boolean;
408
410
  }
409
411
  interface IInputNumber extends BaseInput, Omit<InputHTMLAttributes<HTMLInputElement>, "onChange" | "defaultValue"> {
@@ -430,7 +432,7 @@ interface IInputRange extends Omit<BaseInput, "value" | "onChange">, Omit<InputH
430
432
  hideControl?: boolean;
431
433
  onChange?: (value: (number | string | undefined)[], e?: ChangeEvent<HTMLInputElement> | MouseEvent<Element>) => void;
432
434
  }
433
- type CompositionInput = ForwardRefExoticComponent<IInput & RefAttributes<HTMLInputElement>> & {
435
+ type CompositionInput = ForwardRefExoticComponent<IInput> & {
434
436
  Textarea: typeof Textarea;
435
437
  Number: typeof Number$2;
436
438
  Range: typeof Range;
@@ -439,9 +441,9 @@ type CompositionInput = ForwardRefExoticComponent<IInput & RefAttributes<HTMLInp
439
441
  declare const Input: CompositionInput;
440
442
 
441
443
  declare const List: {
442
- (props: IList): JSX.Element;
444
+ (props: IList): react_jsx_runtime.JSX.Element;
443
445
  Virtual: (props: IVirtual) => react_jsx_runtime.JSX.Element;
444
- Item: react.ForwardRefExoticComponent<IListItem & react.RefAttributes<HTMLLIElement>>;
446
+ Item: (props: IListItem) => react_jsx_runtime.JSX.Element;
445
447
  };
446
448
 
447
449
  interface ILoading extends HTMLAttributes<HTMLDivElement> {
@@ -451,7 +453,7 @@ interface ILoading extends HTMLAttributes<HTMLDivElement> {
451
453
  absolute?: boolean;
452
454
  }
453
455
 
454
- declare const Loading: (props: ILoading) => JSX.Element;
456
+ declare const Loading: (props: ILoading) => react_jsx_runtime.JSX.Element;
455
457
 
456
458
  interface IMessage {
457
459
  id?: string;
@@ -523,7 +525,7 @@ interface IPagination extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
523
525
  onChange?: (page: number) => Promise<void> | void;
524
526
  }
525
527
 
526
- declare const Pagination: (props: IPagination) => JSX.Element;
528
+ declare const Pagination: (props: IPagination) => react_jsx_runtime.JSX.Element;
527
529
 
528
530
  interface IDatePicker extends BaseInput, IInput, Omit<IBaseDates, "value"> {
529
531
  popupProps?: IPopup;
@@ -560,9 +562,9 @@ interface IColorPicker extends ColorPickerProps {
560
562
 
561
563
  declare function ColorPicker(props: IColorPicker): react_jsx_runtime.JSX.Element;
562
564
 
563
- declare function Timepicker(props: ITimePicker): react_jsx_runtime.JSX.Element;
565
+ declare function TimePicker(props: ITimePicker): react_jsx_runtime.JSX.Element;
564
566
 
565
- declare const Datepicker: (props: IDatePicker) => JSX.Element;
567
+ declare const Datepicker: (props: IDatePicker) => react_jsx_runtime.JSX.Element;
566
568
 
567
569
  interface IPopconfirm extends IPopup {
568
570
  icon?: ReactNode;
@@ -573,7 +575,7 @@ interface IPopconfirm extends IPopup {
573
575
  onClose?: () => Promise<void> | void;
574
576
  }
575
577
 
576
- declare const Popconfirm: (props: IPopconfirm) => JSX.Element;
578
+ declare const Popconfirm: (props: IPopconfirm) => react_jsx_runtime.JSX.Element;
577
579
 
578
580
  declare function Popup(props: IPopup): react_jsx_runtime.JSX.Element;
579
581
 
@@ -592,7 +594,7 @@ interface IProgress extends Omit<BaseInput, "value" | "hideClear" | "onChange">
592
594
  onChange?: (value: number) => void;
593
595
  }
594
596
 
595
- declare const Progress: (props: IProgress) => JSX.Element;
597
+ declare const Progress: (props: IProgress) => react_jsx_runtime.JSX.Element;
596
598
 
597
599
  interface IRadioItem extends Omit<InputHTMLAttributes<HTMLInputElement>, "onChange"> {
598
600
  type?: "default" | "button";
@@ -630,7 +632,7 @@ interface IResizable {
630
632
  onResizeComplete?: (size: string | number) => void;
631
633
  }
632
634
 
633
- declare const Resizable: (props: IResizable) => JSX.Element;
635
+ declare const Resizable: (props: IResizable) => react_jsx_runtime.JSX.Element;
634
636
 
635
637
  interface ISelect extends Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "onSelect" | "onChange">, BaseInput {
636
638
  options: TOptions;
@@ -649,7 +651,7 @@ interface ISelect extends Omit<InputHTMLAttributes<HTMLInputElement>, "value" |
649
651
  onChange?: (v: any) => void;
650
652
  }
651
653
 
652
- declare const Select: react.ForwardRefExoticComponent<ISelect & react.RefAttributes<HTMLInputElement>>;
654
+ declare const Select: (props: ISelect) => react_jsx_runtime.JSX.Element;
653
655
 
654
656
  interface IStep {
655
657
  active?: number;
@@ -670,13 +672,14 @@ interface IStepItem extends IStep {
670
672
  declare function Item$2(props: IStepItem): react_jsx_runtime.JSX.Element;
671
673
 
672
674
  declare const Step: {
673
- (props: IStep): JSX.Element;
675
+ (props: IStep): react_jsx_runtime.JSX.Element;
674
676
  Item: typeof Item$2;
675
677
  };
676
678
 
677
679
  declare function Item$1(props: ISwiperItem): react_jsx_runtime.JSX.Element;
678
680
 
679
681
  interface ISwiper {
682
+ ref?: RefObject<RefSwiper | null>;
680
683
  initial?: number;
681
684
  type?: "normal" | "fade" | "flow";
682
685
  display?: number;
@@ -716,7 +719,7 @@ interface RefSwiper {
716
719
  swipeNext: () => void;
717
720
  swipePrev: () => void;
718
721
  }
719
- interface CompositionSwiper extends ForwardRefExoticComponent<ISwiper & RefAttributes<RefSwiper>> {
722
+ interface CompositionSwiper extends ForwardRefExoticComponent<ISwiper> {
720
723
  Item: typeof Item$1;
721
724
  }
722
725
 
@@ -736,6 +739,7 @@ interface ITabItem {
736
739
  children?: ReactNode;
737
740
  }
738
741
  interface ITabs {
742
+ ref?: RefObject<RefTabs | null>;
739
743
  active?: TTabKey;
740
744
  tabs?: ITabItem[] | TTabKey[];
741
745
  type?: "default" | "line" | "pane";
@@ -746,6 +750,7 @@ interface ITabs {
746
750
  bar?: boolean;
747
751
  barClass?: string;
748
752
  toggable?: boolean;
753
+ navsJustify?: "start" | "center" | "end";
749
754
  className?: string;
750
755
  children?: ReactNode;
751
756
  style?: CSSProperties;
@@ -758,7 +763,7 @@ interface RefTabs {
758
763
  add: (tab: ITabItem, position?: number) => void;
759
764
  navs: Ref<HTMLDivElement>;
760
765
  }
761
- interface CompositionTabs extends ForwardRefExoticComponent<ITabs & RefAttributes<RefTabs>> {
766
+ interface CompositionTabs extends ForwardRefExoticComponent<ITabs> {
762
767
  Item: typeof Item;
763
768
  }
764
769
 
@@ -770,11 +775,14 @@ interface ITag extends HTMLAttributes<HTMLSpanElement> {
770
775
  outline?: boolean;
771
776
  round?: boolean;
772
777
  size?: "small" | "normal" | "large" | "extreme";
778
+ hoverShowClose?: boolean;
773
779
  onClick?: (e: MouseEvent) => void;
774
780
  onClose?: (e: MouseEvent) => void;
775
781
  }
776
782
 
777
- declare const Tag: (props: ITag) => JSX.Element;
783
+ declare const Tag: (props: ITag) => react_jsx_runtime.JSX.Element;
784
+
785
+ declare function HighLight(props: ITextHighLight): react_jsx_runtime.JSX.Element;
778
786
 
779
787
  declare function Number$1(props: ITextNumber): react_jsx_runtime.JSX.Element;
780
788
 
@@ -786,6 +794,7 @@ interface IText {
786
794
  decoration?: string;
787
795
  weight?: string | number;
788
796
  gradient?: string[];
797
+ wave?: boolean;
789
798
  style?: CSSProperties;
790
799
  className?: string;
791
800
  children?: ReactNode;
@@ -803,9 +812,17 @@ interface ITextTime extends IText {
803
812
  zero?: boolean;
804
813
  units?: string[];
805
814
  }
815
+ interface ITextHighLight extends IText {
816
+ keyword: string | string[];
817
+ text: string;
818
+ caseSensitive?: boolean;
819
+ escape?: boolean;
820
+ renderWord?: (word: string) => ReactNode;
821
+ }
806
822
  interface CompositionText extends FC<IText> {
807
823
  Number: typeof Number$1;
808
824
  Time: typeof Number;
825
+ HighLight: typeof HighLight;
809
826
  }
810
827
 
811
828
  declare const _default: CompositionText;
@@ -827,6 +844,7 @@ interface ITreeItem {
827
844
  interface ITree {
828
845
  data: ITreeItem[];
829
846
  parent?: ITreeItem;
847
+ ref?: RefObject<RefTree | null>;
830
848
  depth?: number;
831
849
  nodeProps?: {
832
850
  key?: string;
@@ -853,9 +871,10 @@ interface RefTree {
853
871
  getPartofs: () => [string[], ITreeItem[]];
854
872
  }
855
873
 
856
- declare const Tree: react.ForwardRefExoticComponent<ITree & react.RefAttributes<RefTree>>;
874
+ declare const Tree: (props: ITree) => react_jsx_runtime.JSX.Element;
857
875
 
858
- interface IUpload extends BaseInput, Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "onChange"> {
876
+ interface IUpload extends Omit<BaseInput, "ref">, Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "onChange"> {
877
+ ref?: RefObject<RefUpload | null>;
859
878
  files?: IFile[];
860
879
  accept?: string;
861
880
  multiple?: boolean;
@@ -881,9 +900,10 @@ interface RefUpload {
881
900
  getFileList: () => IFile[];
882
901
  }
883
902
 
884
- declare const Upload: react.ForwardRefExoticComponent<IUpload & react.RefAttributes<RefUpload>>;
903
+ declare const Upload: (props: IUpload) => react_jsx_runtime.JSX.Element;
885
904
 
886
905
  interface IVideo extends HTMLAttributes<HTMLVideoElement> {
906
+ ref?: RefObject<RefVideo | null>;
887
907
  src?: string;
888
908
  hideControls?: boolean;
889
909
  autoplay?: boolean;
@@ -905,7 +925,7 @@ interface RefVideo {
905
925
  getVideo: () => HTMLVideoElement | null;
906
926
  }
907
927
 
908
- declare const Video: react.ForwardRefExoticComponent<IVideo & react.RefAttributes<RefVideo>>;
928
+ declare const Video: (props: IVideo) => react_jsx_runtime.JSX.Element;
909
929
 
910
930
  type TPreviewItem = {
911
931
  src: string;
@@ -944,4 +964,4 @@ interface IPreview {
944
964
 
945
965
  declare function usePreview(): (config: IPreview) => void;
946
966
 
947
- export { Affix, Badge, Button, Card, Checkbox, Collapse, ColorPicker, Datagrid, Datepicker as DatePicker, Description, Drawer, Dropdown, Flex, Form, Icon, _default$2 as Image, Input, List, Loading, message as Message, _default$1 as Modal, Pagination, Popconfirm, Popup, Progress, Radio, Resizable, Select, Step, Swiper, Tabs, Tag, _default as Text, Timepicker as TimePicker, Tree, Upload, Video, usePreview };
967
+ export { Affix, Badge, _default$3 as Button, Card, Checkbox, Collapse, ColorPicker, Datagrid, Datepicker as DatePicker, Description, Drawer, Dropdown, Flex, Form, Icon, _default$2 as Image, Input, List, Loading, message as Message, _default$1 as Modal, Pagination, Popconfirm, Popup, Progress, Radio, Resizable, Select, Step, Swiper, Tabs, Tag, _default as Text, TimePicker, Tree, Upload, Video, usePreview };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ioca/react",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "dev": "vite",
@@ -15,9 +15,10 @@
15
15
  "ahooks": "^3.8.1",
16
16
  "classnames": "^2.5.1",
17
17
  "dayjs": "^1.11.13",
18
+ "highlight-words-core": "^1.2.3",
18
19
  "pubsub-js": "^1.9.5",
19
20
  "radash": "^12.1.0",
20
- "rc-virtual-list": "^3.15.0",
21
+ "rc-virtual-list": "^3.17.0",
21
22
  "react": "^19.0.0",
22
23
  "react-custom-scrollbars-2": "^4.5.0",
23
24
  "react-dom": "^19.0.0",
@@ -30,7 +31,7 @@
30
31
  "@types/mockjs": "^1.0.10",
31
32
  "@types/node": "^22.10.1",
32
33
  "@types/pubsub-js": "^1.8.5",
33
- "@types/react": "18.2.52",
34
+ "@types/react": "^19.0.4",
34
35
  "@vitejs/plugin-react": "^4.3.3",
35
36
  "chalk": "^5.4.1",
36
37
  "fs": "^0.0.1-security",