@ttoss/ui 1.30.3 → 1.30.4

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/esm/index.js CHANGED
@@ -491,13 +491,14 @@ import { Box } from "theme-ui";
491
491
 
492
492
  // src/components/Button.tsx
493
493
  init_tsup_inject();
494
- import * as React3 from "react";
494
+ import * as React4 from "react";
495
495
  import {
496
496
  Button as ButtonUi
497
497
  } from "theme-ui";
498
498
 
499
499
  // src/components/Icon.tsx
500
500
  init_tsup_inject();
501
+ import * as React3 from "react";
501
502
 
502
503
  // ../../node_modules/@iconify-icon/react/dist/iconify.mjs
503
504
  init_tsup_inject();
@@ -2492,9 +2493,12 @@ var Icon = React2.forwardRef(
2492
2493
 
2493
2494
  // src/components/Icon.tsx
2494
2495
  import { jsx as jsx2 } from "react/jsx-runtime";
2495
- var Icon2 = (props) => {
2496
- return /* @__PURE__ */ jsx2(Icon, { ...props });
2497
- };
2496
+ var Icon2 = React3.forwardRef(
2497
+ (props, ref) => {
2498
+ return /* @__PURE__ */ jsx2(Icon, { ref, "data-testid": "iconify-icon", ...props });
2499
+ }
2500
+ );
2501
+ Icon2.displayName = "Icon";
2498
2502
 
2499
2503
  // src/components/Button.tsx
2500
2504
  import { Fragment as Fragment2, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
@@ -2507,8 +2511,8 @@ var RenderIcon = ({ icon }) => {
2507
2511
  }
2508
2512
  return /* @__PURE__ */ jsx3(Fragment2, { children: icon });
2509
2513
  };
2510
- var MemoizedRenderIcon = React3.memo(RenderIcon);
2511
- var Button = React3.forwardRef(
2514
+ var MemoizedRenderIcon = React4.memo(RenderIcon);
2515
+ var Button = React4.forwardRef(
2512
2516
  (props, ref) => {
2513
2517
  const { children, leftIcon, rightIcon, ...restProps } = props;
2514
2518
  return /* @__PURE__ */ jsxs2(
@@ -2604,12 +2608,12 @@ import { Checkbox } from "theme-ui";
2604
2608
 
2605
2609
  // src/components/InfiniteLinearProgress.tsx
2606
2610
  init_tsup_inject();
2607
- import * as React4 from "react";
2611
+ import * as React5 from "react";
2608
2612
  import { jsx as jsx4 } from "react/jsx-runtime";
2609
2613
  var MAX_PROGRESS = 100;
2610
2614
  var InfiniteLinearProgress = () => {
2611
- const [progress, setProgress] = React4.useState(0);
2612
- React4.useEffect(() => {
2615
+ const [progress, setProgress] = React5.useState(0);
2616
+ React5.useEffect(() => {
2613
2617
  const timer = setInterval(() => {
2614
2618
  setProgress((oldProgress) => {
2615
2619
  if (oldProgress === MAX_PROGRESS) {
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import { Theme, ButtonProps as ButtonProps$1 } from 'theme-ui';
3
3
  export { BaseStyles, Box, BoxProps, Card, CardProps, Checkbox, CheckboxProps, Container, ContainerProps, Divider, DividerProps, Flex, FlexProps, Grid, GridProps, Heading, HeadingProps, Image, ImageProps, Input, InputProps, Label, LabelProps, Progress as LinearProgress, ProgressProps as LinearProgressProps, Link, LinkProps, Radio, RadioProps, Select, SelectProps, Slider, SliderProps, Spinner, SpinnerProps, Text, TextProps, Textarea, TextareaProps, Theme } from 'theme-ui';
4
4
  export { useBreakpointIndex, useResponsiveValue } from '@theme-ui/match-media';
5
5
  import * as React from 'react';
6
- import { IconifyIconProps } from '@iconify-icon/react';
6
+ import { IconifyIconProps, IconifyIconHTMLElement } from '@iconify-icon/react';
7
7
 
8
8
  type ThemeProviderProps = {
9
9
  children?: React.ReactNode;
@@ -23,8 +23,8 @@ type ButtonProps = ButtonProps$1 & {
23
23
  };
24
24
  declare const Button: React.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
25
25
 
26
- type IconProps = Pick<IconifyIconProps, 'preserveAspectRatio' | 'rotate' | 'cite' | 'data' | 'form' | 'label' | 'slot' | 'span' | 'style' | 'summary' | 'title' | 'pattern' | 'accept' | 'acceptCharset' | 'action' | 'allowFullScreen' | 'allowTransparency' | 'alt' | 'as' | 'async' | 'autoComplete' | 'autoFocus' | 'autoPlay' | 'capture' | 'cellPadding' | 'cellSpacing' | 'charSet' | 'challenge' | 'checked' | 'classID' | 'cols' | 'colSpan' | 'content' | 'controls' | 'coords' | 'crossOrigin' | 'dateTime' | 'default' | 'defer' | 'disabled' | 'download' | 'encType' | 'formAction' | 'formEncType' | 'formMethod' | 'formNoValidate' | 'formTarget' | 'frameBorder' | 'headers' | 'height' | 'high' | 'href' | 'hrefLang' | 'htmlFor' | 'httpEquiv' | 'integrity' | 'keyParams' | 'keyType' | 'kind' | 'list' | 'loop' | 'low' | 'manifest' | 'marginHeight' | 'marginWidth' | 'max' | 'maxLength' | 'media' | 'mediaGroup' | 'method' | 'min' | 'minLength' | 'multiple' | 'muted' | 'name' | 'noValidate' | 'open' | 'optimum' | 'placeholder' | 'playsInline' | 'poster' | 'preload' | 'readOnly' | 'rel' | 'required' | 'reversed' | 'rows' | 'rowSpan' | 'sandbox' | 'scope' | 'scoped' | 'scrolling' | 'seamless' | 'selected' | 'shape' | 'size' | 'sizes' | 'src' | 'srcDoc' | 'srcLang' | 'srcSet' | 'start' | 'step' | 'target' | 'type' | 'useMap' | 'value' | 'width' | 'wmode' | 'wrap' | 'defaultChecked' | 'defaultValue' | 'suppressContentEditableWarning' | 'suppressHydrationWarning' | 'accessKey' | 'className' | 'contentEditable' | 'contextMenu' | 'dir' | 'draggable' | 'hidden' | 'id' | 'lang' | 'nonce' | 'spellCheck' | 'tabIndex' | 'translate' | 'radioGroup' | 'role' | 'about' | 'datatype' | 'inlist' | 'prefix' | 'property' | 'resource' | 'typeof' | 'vocab' | 'autoCapitalize' | 'autoCorrect' | 'autoSave' | 'color' | 'itemProp' | 'itemScope' | 'itemType' | 'itemID' | 'itemRef' | 'results' | 'security' | 'unselectable' | 'inputMode' | 'is' | 'aria-activedescendant' | 'aria-atomic' | 'aria-autocomplete' | 'aria-busy' | 'aria-checked' | 'aria-colcount' | 'aria-colindex' | 'aria-colspan' | 'aria-controls' | 'aria-current' | 'aria-describedby' | 'aria-details' | 'aria-disabled' | 'aria-dropeffect' | 'aria-errormessage' | 'aria-expanded' | 'aria-flowto' | 'aria-grabbed' | 'aria-haspopup' | 'aria-hidden' | 'aria-invalid' | 'aria-keyshortcuts' | 'aria-label' | 'aria-labelledby' | 'aria-level' | 'aria-live' | 'aria-modal' | 'aria-multiline' | 'aria-multiselectable' | 'aria-orientation' | 'aria-owns' | 'aria-placeholder' | 'aria-posinset' | 'aria-pressed' | 'aria-readonly' | 'aria-relevant' | 'aria-required' | 'aria-roledescription' | 'aria-rowcount' | 'aria-rowindex' | 'aria-rowspan' | 'aria-selected' | 'aria-setsize' | 'aria-sort' | 'aria-valuemax' | 'aria-valuemin' | 'aria-valuenow' | 'aria-valuetext' | 'children' | 'dangerouslySetInnerHTML' | 'onCopy' | 'onCopyCapture' | 'onCut' | 'onCutCapture' | 'onPaste' | 'onPasteCapture' | 'onCompositionEnd' | 'onCompositionEndCapture' | 'onCompositionStart' | 'onCompositionStartCapture' | 'onCompositionUpdate' | 'onCompositionUpdateCapture' | 'onFocus' | 'onFocusCapture' | 'onBlur' | 'onBlurCapture' | 'onChange' | 'onChangeCapture' | 'onBeforeInput' | 'onBeforeInputCapture' | 'onInput' | 'onInputCapture' | 'onReset' | 'onResetCapture' | 'onSubmit' | 'onSubmitCapture' | 'onInvalid' | 'onInvalidCapture' | 'onLoad' | 'onLoadCapture' | 'onError' | 'onErrorCapture' | 'onKeyDown' | 'onKeyDownCapture' | 'onKeyPress' | 'onKeyPressCapture' | 'onKeyUp' | 'onKeyUpCapture' | 'onAbort' | 'onAbortCapture' | 'onCanPlay' | 'onCanPlayCapture' | 'onCanPlayThrough' | 'onCanPlayThroughCapture' | 'onDurationChange' | 'onDurationChangeCapture' | 'onEmptied' | 'onEmptiedCapture' | 'onEncrypted' | 'onEncryptedCapture' | 'onEnded' | 'onEndedCapture' | 'onLoadedData' | 'onLoadedDataCapture' | 'onLoadedMetadata' | 'onLoadedMetadataCapture' | 'onLoadStart' | 'onLoadStartCapture' | 'onPause' | 'onPauseCapture' | 'onPlay' | 'onPlayCapture' | 'onPlaying' | 'onPlayingCapture' | 'onProgress' | 'onProgressCapture' | 'onRateChange' | 'onRateChangeCapture' | 'onResize' | 'onResizeCapture' | 'onSeeked' | 'onSeekedCapture' | 'onSeeking' | 'onSeekingCapture' | 'onStalled' | 'onStalledCapture' | 'onSuspend' | 'onSuspendCapture' | 'onTimeUpdate' | 'onTimeUpdateCapture' | 'onVolumeChange' | 'onVolumeChangeCapture' | 'onWaiting' | 'onWaitingCapture' | 'onAuxClick' | 'onAuxClickCapture' | 'onClick' | 'onClickCapture' | 'onContextMenu' | 'onContextMenuCapture' | 'onDoubleClick' | 'onDoubleClickCapture' | 'onDrag' | 'onDragCapture' | 'onDragEnd' | 'onDragEndCapture' | 'onDragEnter' | 'onDragEnterCapture' | 'onDragExit' | 'onDragExitCapture' | 'onDragLeave' | 'onDragLeaveCapture' | 'onDragOver' | 'onDragOverCapture' | 'onDragStart' | 'onDragStartCapture' | 'onDrop' | 'onDropCapture' | 'onMouseDown' | 'onMouseDownCapture' | 'onMouseEnter' | 'onMouseLeave' | 'onMouseMove' | 'onMouseMoveCapture' | 'onMouseOut' | 'onMouseOutCapture' | 'onMouseOver' | 'onMouseOverCapture' | 'onMouseUp' | 'onMouseUpCapture' | 'onSelect' | 'onSelectCapture' | 'onTouchCancel' | 'onTouchCancelCapture' | 'onTouchEnd' | 'onTouchEndCapture' | 'onTouchMove' | 'onTouchMoveCapture' | 'onTouchStart' | 'onTouchStartCapture' | 'onPointerDown' | 'onPointerDownCapture' | 'onPointerMove' | 'onPointerMoveCapture' | 'onPointerUp' | 'onPointerUpCapture' | 'onPointerCancel' | 'onPointerCancelCapture' | 'onPointerEnter' | 'onPointerEnterCapture' | 'onPointerLeave' | 'onPointerLeaveCapture' | 'onPointerOver' | 'onPointerOverCapture' | 'onPointerOut' | 'onPointerOutCapture' | 'onGotPointerCapture' | 'onGotPointerCaptureCapture' | 'onLostPointerCapture' | 'onLostPointerCaptureCapture' | 'onScroll' | 'onScrollCapture' | 'onWheel' | 'onWheelCapture' | 'onAnimationStart' | 'onAnimationStartCapture' | 'onAnimationEnd' | 'onAnimationEndCapture' | 'onAnimationIteration' | 'onAnimationIterationCapture' | 'onTransitionEnd' | 'onTransitionEndCapture' | 'key' | 'icon' | 'mode' | 'inline' | 'flip'>;
27
- declare const Icon: (props: IconProps) => JSX.Element;
26
+ type IconProps = Omit<IconifyIconProps, 'ref'>;
27
+ declare const Icon: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<IconifyIconHTMLElement | null>>;
28
28
 
29
29
  declare const InfiniteLinearProgress: () => JSX.Element;
30
30
 
package/dist/index.js CHANGED
@@ -529,11 +529,12 @@ var import_theme_ui3 = require("theme-ui");
529
529
 
530
530
  // src/components/Button.tsx
531
531
  init_tsup_inject();
532
- var React3 = __toESM(require("react"));
532
+ var React4 = __toESM(require("react"));
533
533
  var import_theme_ui4 = require("theme-ui");
534
534
 
535
535
  // src/components/Icon.tsx
536
536
  init_tsup_inject();
537
+ var React3 = __toESM(require("react"));
537
538
 
538
539
  // ../../node_modules/@iconify-icon/react/dist/iconify.mjs
539
540
  init_tsup_inject();
@@ -2528,9 +2529,12 @@ var Icon = import_react2.default.forwardRef(
2528
2529
 
2529
2530
  // src/components/Icon.tsx
2530
2531
  var import_jsx_runtime2 = require("react/jsx-runtime");
2531
- var Icon2 = (props) => {
2532
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ...props });
2533
- };
2532
+ var Icon2 = React3.forwardRef(
2533
+ (props, ref) => {
2534
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Icon, { ref, "data-testid": "iconify-icon", ...props });
2535
+ }
2536
+ );
2537
+ Icon2.displayName = "Icon";
2534
2538
 
2535
2539
  // src/components/Button.tsx
2536
2540
  var import_jsx_runtime3 = require("react/jsx-runtime");
@@ -2543,8 +2547,8 @@ var RenderIcon = ({ icon }) => {
2543
2547
  }
2544
2548
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_jsx_runtime3.Fragment, { children: icon });
2545
2549
  };
2546
- var MemoizedRenderIcon = React3.memo(RenderIcon);
2547
- var Button = React3.forwardRef(
2550
+ var MemoizedRenderIcon = React4.memo(RenderIcon);
2551
+ var Button = React4.forwardRef(
2548
2552
  (props, ref) => {
2549
2553
  const { children, leftIcon, rightIcon, ...restProps } = props;
2550
2554
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
@@ -2638,12 +2642,12 @@ var import_theme_ui20 = require("theme-ui");
2638
2642
 
2639
2643
  // src/components/InfiniteLinearProgress.tsx
2640
2644
  init_tsup_inject();
2641
- var React4 = __toESM(require("react"));
2645
+ var React5 = __toESM(require("react"));
2642
2646
  var import_jsx_runtime4 = require("react/jsx-runtime");
2643
2647
  var MAX_PROGRESS = 100;
2644
2648
  var InfiniteLinearProgress = () => {
2645
- const [progress, setProgress] = React4.useState(0);
2646
- React4.useEffect(() => {
2649
+ const [progress, setProgress] = React5.useState(0);
2650
+ React5.useEffect(() => {
2647
2651
  const timer = setInterval(() => {
2648
2652
  setProgress((oldProgress) => {
2649
2653
  if (oldProgress === MAX_PROGRESS) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttoss/ui",
3
- "version": "1.30.3",
3
+ "version": "1.30.4",
4
4
  "description": "Primitive layout, typographic, and other components for styling applications.",
5
5
  "license": "UNLICENSED",
6
6
  "author": "ttoss",
@@ -45,5 +45,5 @@
45
45
  "publishConfig": {
46
46
  "access": "public"
47
47
  },
48
- "gitHead": "8ba4361ab9cf6c0ab275ee771a371d4c2ba8cebe"
48
+ "gitHead": "d07df43f2a4a997636e950f5362a7a8090705c99"
49
49
  }
@@ -1,377 +1,16 @@
1
- import { Icon as IconUI, IconifyIconProps } from '@iconify-icon/react';
2
-
3
- export type IconProps = Pick<
1
+ import * as React from 'react';
2
+ import {
3
+ Icon as IconifyIcon,
4
+ IconifyIconHTMLElement,
4
5
  IconifyIconProps,
5
- | 'preserveAspectRatio'
6
- | 'rotate'
7
- | 'cite'
8
- | 'data'
9
- | 'form'
10
- | 'label'
11
- | 'slot'
12
- | 'span'
13
- | 'style'
14
- | 'summary'
15
- | 'title'
16
- | 'pattern'
17
- | 'accept'
18
- | 'acceptCharset'
19
- | 'action'
20
- | 'allowFullScreen'
21
- | 'allowTransparency'
22
- | 'alt'
23
- | 'as'
24
- | 'async'
25
- | 'autoComplete'
26
- | 'autoFocus'
27
- | 'autoPlay'
28
- | 'capture'
29
- | 'cellPadding'
30
- | 'cellSpacing'
31
- | 'charSet'
32
- | 'challenge'
33
- | 'checked'
34
- | 'classID'
35
- | 'cols'
36
- | 'colSpan'
37
- | 'content'
38
- | 'controls'
39
- | 'coords'
40
- | 'crossOrigin'
41
- | 'dateTime'
42
- | 'default'
43
- | 'defer'
44
- | 'disabled'
45
- | 'download'
46
- | 'encType'
47
- | 'formAction'
48
- | 'formEncType'
49
- | 'formMethod'
50
- | 'formNoValidate'
51
- | 'formTarget'
52
- | 'frameBorder'
53
- | 'headers'
54
- | 'height'
55
- | 'high'
56
- | 'href'
57
- | 'hrefLang'
58
- | 'htmlFor'
59
- | 'httpEquiv'
60
- | 'integrity'
61
- | 'keyParams'
62
- | 'keyType'
63
- | 'kind'
64
- | 'list'
65
- | 'loop'
66
- | 'low'
67
- | 'manifest'
68
- | 'marginHeight'
69
- | 'marginWidth'
70
- | 'max'
71
- | 'maxLength'
72
- | 'media'
73
- | 'mediaGroup'
74
- | 'method'
75
- | 'min'
76
- | 'minLength'
77
- | 'multiple'
78
- | 'muted'
79
- | 'name'
80
- | 'noValidate'
81
- | 'open'
82
- | 'optimum'
83
- | 'placeholder'
84
- | 'playsInline'
85
- | 'poster'
86
- | 'preload'
87
- | 'readOnly'
88
- | 'rel'
89
- | 'required'
90
- | 'reversed'
91
- | 'rows'
92
- | 'rowSpan'
93
- | 'sandbox'
94
- | 'scope'
95
- | 'scoped'
96
- | 'scrolling'
97
- | 'seamless'
98
- | 'selected'
99
- | 'shape'
100
- | 'size'
101
- | 'sizes'
102
- | 'src'
103
- | 'srcDoc'
104
- | 'srcLang'
105
- | 'srcSet'
106
- | 'start'
107
- | 'step'
108
- | 'target'
109
- | 'type'
110
- | 'useMap'
111
- | 'value'
112
- | 'width'
113
- | 'wmode'
114
- | 'wrap'
115
- | 'defaultChecked'
116
- | 'defaultValue'
117
- | 'suppressContentEditableWarning'
118
- | 'suppressHydrationWarning'
119
- | 'accessKey'
120
- | 'className'
121
- | 'contentEditable'
122
- | 'contextMenu'
123
- | 'dir'
124
- | 'draggable'
125
- | 'hidden'
126
- | 'id'
127
- | 'lang'
128
- | 'nonce'
129
- | 'spellCheck'
130
- | 'tabIndex'
131
- | 'translate'
132
- | 'radioGroup'
133
- | 'role'
134
- | 'about'
135
- | 'datatype'
136
- | 'inlist'
137
- | 'prefix'
138
- | 'property'
139
- | 'resource'
140
- | 'typeof'
141
- | 'vocab'
142
- | 'autoCapitalize'
143
- | 'autoCorrect'
144
- | 'autoSave'
145
- | 'color'
146
- | 'itemProp'
147
- | 'itemScope'
148
- | 'itemType'
149
- | 'itemID'
150
- | 'itemRef'
151
- | 'results'
152
- | 'security'
153
- | 'unselectable'
154
- | 'inputMode'
155
- | 'is'
156
- | 'aria-activedescendant'
157
- | 'aria-atomic'
158
- | 'aria-autocomplete'
159
- | 'aria-busy'
160
- | 'aria-checked'
161
- | 'aria-colcount'
162
- | 'aria-colindex'
163
- | 'aria-colspan'
164
- | 'aria-controls'
165
- | 'aria-current'
166
- | 'aria-describedby'
167
- | 'aria-details'
168
- | 'aria-disabled'
169
- | 'aria-dropeffect'
170
- | 'aria-errormessage'
171
- | 'aria-expanded'
172
- | 'aria-flowto'
173
- | 'aria-grabbed'
174
- | 'aria-haspopup'
175
- | 'aria-hidden'
176
- | 'aria-invalid'
177
- | 'aria-keyshortcuts'
178
- | 'aria-label'
179
- | 'aria-labelledby'
180
- | 'aria-level'
181
- | 'aria-live'
182
- | 'aria-modal'
183
- | 'aria-multiline'
184
- | 'aria-multiselectable'
185
- | 'aria-orientation'
186
- | 'aria-owns'
187
- | 'aria-placeholder'
188
- | 'aria-posinset'
189
- | 'aria-pressed'
190
- | 'aria-readonly'
191
- | 'aria-relevant'
192
- | 'aria-required'
193
- | 'aria-roledescription'
194
- | 'aria-rowcount'
195
- | 'aria-rowindex'
196
- | 'aria-rowspan'
197
- | 'aria-selected'
198
- | 'aria-setsize'
199
- | 'aria-sort'
200
- | 'aria-valuemax'
201
- | 'aria-valuemin'
202
- | 'aria-valuenow'
203
- | 'aria-valuetext'
204
- | 'children'
205
- | 'dangerouslySetInnerHTML'
206
- | 'onCopy'
207
- | 'onCopyCapture'
208
- | 'onCut'
209
- | 'onCutCapture'
210
- | 'onPaste'
211
- | 'onPasteCapture'
212
- | 'onCompositionEnd'
213
- | 'onCompositionEndCapture'
214
- | 'onCompositionStart'
215
- | 'onCompositionStartCapture'
216
- | 'onCompositionUpdate'
217
- | 'onCompositionUpdateCapture'
218
- | 'onFocus'
219
- | 'onFocusCapture'
220
- | 'onBlur'
221
- | 'onBlurCapture'
222
- | 'onChange'
223
- | 'onChangeCapture'
224
- | 'onBeforeInput'
225
- | 'onBeforeInputCapture'
226
- | 'onInput'
227
- | 'onInputCapture'
228
- | 'onReset'
229
- | 'onResetCapture'
230
- | 'onSubmit'
231
- | 'onSubmitCapture'
232
- | 'onInvalid'
233
- | 'onInvalidCapture'
234
- | 'onLoad'
235
- | 'onLoadCapture'
236
- | 'onError'
237
- | 'onErrorCapture'
238
- | 'onKeyDown'
239
- | 'onKeyDownCapture'
240
- | 'onKeyPress'
241
- | 'onKeyPressCapture'
242
- | 'onKeyUp'
243
- | 'onKeyUpCapture'
244
- | 'onAbort'
245
- | 'onAbortCapture'
246
- | 'onCanPlay'
247
- | 'onCanPlayCapture'
248
- | 'onCanPlayThrough'
249
- | 'onCanPlayThroughCapture'
250
- | 'onDurationChange'
251
- | 'onDurationChangeCapture'
252
- | 'onEmptied'
253
- | 'onEmptiedCapture'
254
- | 'onEncrypted'
255
- | 'onEncryptedCapture'
256
- | 'onEnded'
257
- | 'onEndedCapture'
258
- | 'onLoadedData'
259
- | 'onLoadedDataCapture'
260
- | 'onLoadedMetadata'
261
- | 'onLoadedMetadataCapture'
262
- | 'onLoadStart'
263
- | 'onLoadStartCapture'
264
- | 'onPause'
265
- | 'onPauseCapture'
266
- | 'onPlay'
267
- | 'onPlayCapture'
268
- | 'onPlaying'
269
- | 'onPlayingCapture'
270
- | 'onProgress'
271
- | 'onProgressCapture'
272
- | 'onRateChange'
273
- | 'onRateChangeCapture'
274
- | 'onResize'
275
- | 'onResizeCapture'
276
- | 'onSeeked'
277
- | 'onSeekedCapture'
278
- | 'onSeeking'
279
- | 'onSeekingCapture'
280
- | 'onStalled'
281
- | 'onStalledCapture'
282
- | 'onSuspend'
283
- | 'onSuspendCapture'
284
- | 'onTimeUpdate'
285
- | 'onTimeUpdateCapture'
286
- | 'onVolumeChange'
287
- | 'onVolumeChangeCapture'
288
- | 'onWaiting'
289
- | 'onWaitingCapture'
290
- | 'onAuxClick'
291
- | 'onAuxClickCapture'
292
- | 'onClick'
293
- | 'onClickCapture'
294
- | 'onContextMenu'
295
- | 'onContextMenuCapture'
296
- | 'onDoubleClick'
297
- | 'onDoubleClickCapture'
298
- | 'onDrag'
299
- | 'onDragCapture'
300
- | 'onDragEnd'
301
- | 'onDragEndCapture'
302
- | 'onDragEnter'
303
- | 'onDragEnterCapture'
304
- | 'onDragExit'
305
- | 'onDragExitCapture'
306
- | 'onDragLeave'
307
- | 'onDragLeaveCapture'
308
- | 'onDragOver'
309
- | 'onDragOverCapture'
310
- | 'onDragStart'
311
- | 'onDragStartCapture'
312
- | 'onDrop'
313
- | 'onDropCapture'
314
- | 'onMouseDown'
315
- | 'onMouseDownCapture'
316
- | 'onMouseEnter'
317
- | 'onMouseLeave'
318
- | 'onMouseMove'
319
- | 'onMouseMoveCapture'
320
- | 'onMouseOut'
321
- | 'onMouseOutCapture'
322
- | 'onMouseOver'
323
- | 'onMouseOverCapture'
324
- | 'onMouseUp'
325
- | 'onMouseUpCapture'
326
- | 'onSelect'
327
- | 'onSelectCapture'
328
- | 'onTouchCancel'
329
- | 'onTouchCancelCapture'
330
- | 'onTouchEnd'
331
- | 'onTouchEndCapture'
332
- | 'onTouchMove'
333
- | 'onTouchMoveCapture'
334
- | 'onTouchStart'
335
- | 'onTouchStartCapture'
336
- | 'onPointerDown'
337
- | 'onPointerDownCapture'
338
- | 'onPointerMove'
339
- | 'onPointerMoveCapture'
340
- | 'onPointerUp'
341
- | 'onPointerUpCapture'
342
- | 'onPointerCancel'
343
- | 'onPointerCancelCapture'
344
- | 'onPointerEnter'
345
- | 'onPointerEnterCapture'
346
- | 'onPointerLeave'
347
- | 'onPointerLeaveCapture'
348
- | 'onPointerOver'
349
- | 'onPointerOverCapture'
350
- | 'onPointerOut'
351
- | 'onPointerOutCapture'
352
- | 'onGotPointerCapture'
353
- | 'onGotPointerCaptureCapture'
354
- | 'onLostPointerCapture'
355
- | 'onLostPointerCaptureCapture'
356
- | 'onScroll'
357
- | 'onScrollCapture'
358
- | 'onWheel'
359
- | 'onWheelCapture'
360
- | 'onAnimationStart'
361
- | 'onAnimationStartCapture'
362
- | 'onAnimationEnd'
363
- | 'onAnimationEndCapture'
364
- | 'onAnimationIteration'
365
- | 'onAnimationIterationCapture'
366
- | 'onTransitionEnd'
367
- | 'onTransitionEndCapture'
368
- | 'key'
369
- | 'icon'
370
- | 'mode'
371
- | 'inline'
372
- | 'flip'
373
- >;
6
+ } from '@iconify-icon/react';
7
+
8
+ export type IconProps = Omit<IconifyIconProps, 'ref'>;
9
+
10
+ export const Icon = React.forwardRef<IconifyIconHTMLElement | null, IconProps>(
11
+ (props, ref) => {
12
+ return <IconifyIcon ref={ref} data-testid="iconify-icon" {...props} />;
13
+ }
14
+ );
374
15
 
375
- export const Icon = (props: IconProps) => {
376
- return <IconUI {...props} />;
377
- };
16
+ Icon.displayName = 'Icon';