@ioca/react 1.1.6 → 1.1.8

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
82
  interface ICard {
82
- shadow?: boolean;
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;
@@ -238,6 +236,7 @@ interface IDrawer extends HTMLAttributes<HTMLDivElement> {
238
236
  footer?: ReactNode;
239
237
  hideCloseButton?: boolean;
240
238
  backdropClosable?: boolean;
239
+ keepDOM?: boolean;
241
240
  onVisibleChange?: (visible: boolean) => void;
242
241
  onClose?: () => void;
243
242
  }
@@ -249,6 +248,7 @@ interface IList extends HTMLAttributes<HTMLUListElement> {
249
248
  type?: "option" | "default";
250
249
  }
251
250
  interface IListItem extends HTMLAttributes<HTMLLIElement>, Pick<IList, "type"> {
251
+ ref?: RefObject<HTMLLIElement | null>;
252
252
  active?: boolean;
253
253
  align?: string;
254
254
  disabled?: boolean;
@@ -292,7 +292,7 @@ interface IDropItem extends IListItem {
292
292
  }
293
293
 
294
294
  declare const Dropdown: {
295
- (props: IDropdown): JSX.Element;
295
+ (props: IDropdown): react_jsx_runtime.JSX.Element;
296
296
  Item: (props: IDropItem) => react_jsx_runtime.JSX.Element;
297
297
  };
298
298
 
@@ -309,7 +309,7 @@ interface IFlex {
309
309
  children?: ReactNode;
310
310
  }
311
311
 
312
- declare const Flex: (props: IFlex) => JSX.Element;
312
+ declare const Flex: (props: IFlex) => react_jsx_runtime.JSX.Element;
313
313
 
314
314
  declare class IFormInstance {
315
315
  readonly id?: string;
@@ -348,20 +348,21 @@ interface IField {
348
348
  declare function Field(props: IField): react.ReactNode;
349
349
 
350
350
  declare const Form: {
351
- (props: IForm): JSX.Element;
351
+ (props: IForm): react_jsx_runtime.JSX.Element;
352
352
  useForm: typeof useForm;
353
353
  Field: typeof Field;
354
354
  };
355
355
 
356
356
  interface IIcon extends HTMLAttributes<HTMLElement> {
357
357
  icon: ReactNode;
358
+ ref?: RefObject<HTMLOrSVGElement | null>;
358
359
  size?: string;
359
360
  rotate?: number;
360
361
  style?: CSSProperties;
361
362
  className?: string;
362
363
  }
363
364
 
364
- declare const Icon: react.ForwardRefExoticComponent<IIcon & react.RefAttributes<HTMLElement>>;
365
+ 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;
365
366
 
366
367
  declare function List$1(props: IImageList): react_jsx_runtime.JSX.Element | "";
367
368
 
@@ -391,18 +392,19 @@ interface CompositionImage extends FC<IImage> {
391
392
 
392
393
  declare const _default$2: CompositionImage;
393
394
 
394
- declare const Number$2: react.ForwardRefExoticComponent<IInputNumber & react.RefAttributes<HTMLInputElement>>;
395
+ declare const Number$2: (props: IInputNumber) => react_jsx_runtime.JSX.Element;
395
396
 
396
397
  declare const Range: (props: IInputRange) => react_jsx_runtime.JSX.Element;
397
398
 
398
- declare const Textarea: react.ForwardRefExoticComponent<ITextarea & react.RefAttributes<HTMLTextAreaElement>>;
399
+ declare const Textarea: (props: ITextarea) => react_jsx_runtime.JSX.Element;
399
400
 
400
401
  interface IInput extends BaseInput, Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "defaultValue" | "onChange"> {
401
402
  prepend?: ReactNode;
402
403
  append?: ReactNode;
403
404
  hideVisible?: boolean;
404
405
  }
405
- interface ITextarea extends BaseInput, Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "value" | "defaultValue" | "onChange"> {
406
+ interface ITextarea extends Omit<BaseInput, "ref">, Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "value" | "defaultValue" | "onChange"> {
407
+ ref?: RefObject<HTMLTextAreaElement | null>;
406
408
  autoSize?: boolean;
407
409
  }
408
410
  interface IInputNumber extends BaseInput, Omit<InputHTMLAttributes<HTMLInputElement>, "onChange" | "defaultValue"> {
@@ -429,7 +431,7 @@ interface IInputRange extends Omit<BaseInput, "value" | "onChange">, Omit<InputH
429
431
  hideControl?: boolean;
430
432
  onChange?: (value: (number | string | undefined)[], e?: ChangeEvent<HTMLInputElement> | MouseEvent<Element>) => void;
431
433
  }
432
- type CompositionInput = ForwardRefExoticComponent<IInput & RefAttributes<HTMLInputElement>> & {
434
+ type CompositionInput = ForwardRefExoticComponent<IInput> & {
433
435
  Textarea: typeof Textarea;
434
436
  Number: typeof Number$2;
435
437
  Range: typeof Range;
@@ -438,9 +440,9 @@ type CompositionInput = ForwardRefExoticComponent<IInput & RefAttributes<HTMLInp
438
440
  declare const Input: CompositionInput;
439
441
 
440
442
  declare const List: {
441
- (props: IList): JSX.Element;
443
+ (props: IList): react_jsx_runtime.JSX.Element;
442
444
  Virtual: (props: IVirtual) => react_jsx_runtime.JSX.Element;
443
- Item: react.ForwardRefExoticComponent<IListItem & react.RefAttributes<HTMLLIElement>>;
445
+ Item: (props: IListItem) => react_jsx_runtime.JSX.Element;
444
446
  };
445
447
 
446
448
  interface ILoading extends HTMLAttributes<HTMLDivElement> {
@@ -450,7 +452,7 @@ interface ILoading extends HTMLAttributes<HTMLDivElement> {
450
452
  absolute?: boolean;
451
453
  }
452
454
 
453
- declare const Loading: (props: ILoading) => JSX.Element;
455
+ declare const Loading: (props: ILoading) => react_jsx_runtime.JSX.Element;
454
456
 
455
457
  interface IMessage {
456
458
  id?: string;
@@ -522,7 +524,7 @@ interface IPagination extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
522
524
  onChange?: (page: number) => Promise<void> | void;
523
525
  }
524
526
 
525
- declare const Pagination: (props: IPagination) => JSX.Element;
527
+ declare const Pagination: (props: IPagination) => react_jsx_runtime.JSX.Element;
526
528
 
527
529
  interface IDatePicker extends BaseInput, IInput, Omit<IBaseDates, "value"> {
528
530
  popupProps?: IPopup;
@@ -559,9 +561,9 @@ interface IColorPicker extends ColorPickerProps {
559
561
 
560
562
  declare function ColorPicker(props: IColorPicker): react_jsx_runtime.JSX.Element;
561
563
 
562
- declare function Timepicker(props: ITimePicker): react_jsx_runtime.JSX.Element;
564
+ declare function TimePicker(props: ITimePicker): react_jsx_runtime.JSX.Element;
563
565
 
564
- declare const Datepicker: (props: IDatePicker) => JSX.Element;
566
+ declare const Datepicker: (props: IDatePicker) => react_jsx_runtime.JSX.Element;
565
567
 
566
568
  interface IPopconfirm extends IPopup {
567
569
  icon?: ReactNode;
@@ -572,7 +574,7 @@ interface IPopconfirm extends IPopup {
572
574
  onClose?: () => Promise<void> | void;
573
575
  }
574
576
 
575
- declare const Popconfirm: (props: IPopconfirm) => JSX.Element;
577
+ declare const Popconfirm: (props: IPopconfirm) => react_jsx_runtime.JSX.Element;
576
578
 
577
579
  declare function Popup(props: IPopup): react_jsx_runtime.JSX.Element;
578
580
 
@@ -591,7 +593,7 @@ interface IProgress extends Omit<BaseInput, "value" | "hideClear" | "onChange">
591
593
  onChange?: (value: number) => void;
592
594
  }
593
595
 
594
- declare const Progress: (props: IProgress) => JSX.Element;
596
+ declare const Progress: (props: IProgress) => react_jsx_runtime.JSX.Element;
595
597
 
596
598
  interface IRadioItem extends Omit<InputHTMLAttributes<HTMLInputElement>, "onChange"> {
597
599
  type?: "default" | "button";
@@ -629,7 +631,7 @@ interface IResizable {
629
631
  onResizeComplete?: (size: string | number) => void;
630
632
  }
631
633
 
632
- declare const Resizable: (props: IResizable) => JSX.Element;
634
+ declare const Resizable: (props: IResizable) => react_jsx_runtime.JSX.Element;
633
635
 
634
636
  interface ISelect extends Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "onSelect" | "onChange">, BaseInput {
635
637
  options: TOptions;
@@ -648,7 +650,7 @@ interface ISelect extends Omit<InputHTMLAttributes<HTMLInputElement>, "value" |
648
650
  onChange?: (v: any) => void;
649
651
  }
650
652
 
651
- declare const Select: react.ForwardRefExoticComponent<ISelect & react.RefAttributes<HTMLInputElement>>;
653
+ declare const Select: (props: ISelect) => react_jsx_runtime.JSX.Element;
652
654
 
653
655
  interface IStep {
654
656
  active?: number;
@@ -669,13 +671,14 @@ interface IStepItem extends IStep {
669
671
  declare function Item$2(props: IStepItem): react_jsx_runtime.JSX.Element;
670
672
 
671
673
  declare const Step: {
672
- (props: IStep): JSX.Element;
674
+ (props: IStep): react_jsx_runtime.JSX.Element;
673
675
  Item: typeof Item$2;
674
676
  };
675
677
 
676
678
  declare function Item$1(props: ISwiperItem): react_jsx_runtime.JSX.Element;
677
679
 
678
680
  interface ISwiper {
681
+ ref?: RefObject<RefSwiper | null>;
679
682
  initial?: number;
680
683
  type?: "normal" | "fade" | "flow";
681
684
  display?: number;
@@ -715,7 +718,7 @@ interface RefSwiper {
715
718
  swipeNext: () => void;
716
719
  swipePrev: () => void;
717
720
  }
718
- interface CompositionSwiper extends ForwardRefExoticComponent<ISwiper & RefAttributes<RefSwiper>> {
721
+ interface CompositionSwiper extends ForwardRefExoticComponent<ISwiper> {
719
722
  Item: typeof Item$1;
720
723
  }
721
724
 
@@ -735,6 +738,7 @@ interface ITabItem {
735
738
  children?: ReactNode;
736
739
  }
737
740
  interface ITabs {
741
+ ref?: RefObject<RefTabs | null>;
738
742
  active?: TTabKey;
739
743
  tabs?: ITabItem[] | TTabKey[];
740
744
  type?: "default" | "line" | "pane";
@@ -757,7 +761,7 @@ interface RefTabs {
757
761
  add: (tab: ITabItem, position?: number) => void;
758
762
  navs: Ref<HTMLDivElement>;
759
763
  }
760
- interface CompositionTabs extends ForwardRefExoticComponent<ITabs & RefAttributes<RefTabs>> {
764
+ interface CompositionTabs extends ForwardRefExoticComponent<ITabs> {
761
765
  Item: typeof Item;
762
766
  }
763
767
 
@@ -773,7 +777,9 @@ interface ITag extends HTMLAttributes<HTMLSpanElement> {
773
777
  onClose?: (e: MouseEvent) => void;
774
778
  }
775
779
 
776
- declare const Tag: (props: ITag) => JSX.Element;
780
+ declare const Tag: (props: ITag) => react_jsx_runtime.JSX.Element;
781
+
782
+ declare function HighLight(props: ITextHighLight): react_jsx_runtime.JSX.Element;
777
783
 
778
784
  declare function Number$1(props: ITextNumber): react_jsx_runtime.JSX.Element;
779
785
 
@@ -785,6 +791,7 @@ interface IText {
785
791
  decoration?: string;
786
792
  weight?: string | number;
787
793
  gradient?: string[];
794
+ wave?: boolean;
788
795
  style?: CSSProperties;
789
796
  className?: string;
790
797
  children?: ReactNode;
@@ -802,9 +809,17 @@ interface ITextTime extends IText {
802
809
  zero?: boolean;
803
810
  units?: string[];
804
811
  }
812
+ interface ITextHighLight extends IText {
813
+ keyword: string | string[];
814
+ text: string;
815
+ caseSensitive?: boolean;
816
+ escape?: boolean;
817
+ renderWord?: (word: string) => ReactNode;
818
+ }
805
819
  interface CompositionText extends FC<IText> {
806
820
  Number: typeof Number$1;
807
821
  Time: typeof Number;
822
+ HighLight: typeof HighLight;
808
823
  }
809
824
 
810
825
  declare const _default: CompositionText;
@@ -826,6 +841,7 @@ interface ITreeItem {
826
841
  interface ITree {
827
842
  data: ITreeItem[];
828
843
  parent?: ITreeItem;
844
+ ref?: RefObject<RefTree | null>;
829
845
  depth?: number;
830
846
  nodeProps?: {
831
847
  key?: string;
@@ -852,9 +868,10 @@ interface RefTree {
852
868
  getPartofs: () => [string[], ITreeItem[]];
853
869
  }
854
870
 
855
- declare const Tree: react.ForwardRefExoticComponent<ITree & react.RefAttributes<RefTree>>;
871
+ declare const Tree: (props: ITree) => react_jsx_runtime.JSX.Element;
856
872
 
857
- interface IUpload extends BaseInput, Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "onChange"> {
873
+ interface IUpload extends Omit<BaseInput, "ref">, Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "onChange"> {
874
+ ref?: RefObject<RefUpload | null>;
858
875
  files?: IFile[];
859
876
  accept?: string;
860
877
  multiple?: boolean;
@@ -880,9 +897,10 @@ interface RefUpload {
880
897
  getFileList: () => IFile[];
881
898
  }
882
899
 
883
- declare const Upload: react.ForwardRefExoticComponent<IUpload & react.RefAttributes<RefUpload>>;
900
+ declare const Upload: (props: IUpload) => react_jsx_runtime.JSX.Element;
884
901
 
885
902
  interface IVideo extends HTMLAttributes<HTMLVideoElement> {
903
+ ref?: RefObject<RefVideo | null>;
886
904
  src?: string;
887
905
  hideControls?: boolean;
888
906
  autoplay?: boolean;
@@ -891,6 +909,7 @@ interface IVideo extends HTMLAttributes<HTMLVideoElement> {
891
909
  height?: number | string;
892
910
  width?: number | string;
893
911
  useOriginControls?: boolean;
912
+ poster?: string;
894
913
  timeProgressProps?: IProgress;
895
914
  volumeProgressProps?: IProgress;
896
915
  onFullScreenChange?: (fullscreen: boolean) => void;
@@ -903,7 +922,7 @@ interface RefVideo {
903
922
  getVideo: () => HTMLVideoElement | null;
904
923
  }
905
924
 
906
- declare const Video: react.ForwardRefExoticComponent<IVideo & react.RefAttributes<RefVideo>>;
925
+ declare const Video: (props: IVideo) => react_jsx_runtime.JSX.Element;
907
926
 
908
927
  type TPreviewItem = {
909
928
  src: string;
@@ -942,4 +961,4 @@ interface IPreview {
942
961
 
943
962
  declare function usePreview(): (config: IPreview) => void;
944
963
 
945
- 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 };
964
+ 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.6",
3
+ "version": "1.1.8",
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",