fui-material 2.1.2 → 2.1.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.
@@ -1009,18 +1009,20 @@ const defaultStyles = {
1009
1009
  "f-button-file": "_f-button-file_i2hex_1",
1010
1010
  "file-preview-list": "_file-preview-list_i2hex_1"
1011
1011
  };
1012
- const FTrashIcon = ({
1012
+ const FTrashIcon = React.forwardRef(({
1013
1013
  color = "primary",
1014
1014
  size = 32,
1015
1015
  st: st2,
1016
1016
  id,
1017
1017
  className,
1018
1018
  handleClick,
1019
- ["data-testid"]: dataTestId
1020
- }) => {
1019
+ ["data-testid"]: dataTestId,
1020
+ ...props
1021
+ }, ref) => {
1021
1022
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
1022
1023
  "svg",
1023
1024
  {
1025
+ ref,
1024
1026
  onClick: handleClick,
1025
1027
  xmlns: "http://www.w3.org/2000/svg",
1026
1028
  width: size,
@@ -1029,6 +1031,7 @@ const FTrashIcon = ({
1029
1031
  viewBox: "0 0 16 16",
1030
1032
  id,
1031
1033
  "data-testid": dataTestId,
1034
+ ...props,
1032
1035
  children: [
1033
1036
  /* @__PURE__ */ jsxRuntimeExports.jsx(
1034
1037
  "path",
@@ -1046,7 +1049,8 @@ const FTrashIcon = ({
1046
1049
  ]
1047
1050
  }
1048
1051
  );
1049
- };
1052
+ });
1053
+ FTrashIcon.displayName = "FTrashIcon";
1050
1054
  const progressBar = "_progressBar_1xp9s_48";
1051
1055
  const completed = "_completed_1xp9s_60";
1052
1056
  const progress = "_progress_1xp9s_48";
@@ -1200,9 +1204,16 @@ const FButtonFile = ({
1200
1204
  const styles$v = {
1201
1205
  "f-text-field": "_f-text-field_200bb_1"
1202
1206
  };
1203
- const FLoadIcon = ({ size = 30, st: st2, id, className, color = "primary" }) => {
1207
+ const FLoadIcon = React.forwardRef(({
1208
+ size = 30,
1209
+ st: st2,
1210
+ id,
1211
+ className,
1212
+ color = "primary",
1213
+ ...props
1214
+ }, ref) => {
1204
1215
  const randomId = useRef((Math.random() + 1).toString(36).substring(2));
1205
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { margin: 0, padding: 0 }, children: [
1216
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref, style: { margin: 0, padding: 0 }, ...props, children: [
1206
1217
  /* @__PURE__ */ jsxRuntimeExports.jsxs("style", { children: [
1207
1218
  `
1208
1219
  .f-load-icon-${randomId.current} {
@@ -1240,7 +1251,8 @@ const FLoadIcon = ({ size = 30, st: st2, id, className, color = "primary" }) =>
1240
1251
  }
1241
1252
  )
1242
1253
  ] });
1243
- };
1254
+ });
1255
+ FLoadIcon.displayName = "FLoadIcon";
1244
1256
  const FTextField = forwardRef(
1245
1257
  ({
1246
1258
  label,
@@ -1977,10 +1989,20 @@ const FDialog = ({
1977
1989
  document.body
1978
1990
  );
1979
1991
  };
1980
- const FCloseIcon = ({ color = "primary", size = 30, st: st2, id, className, handleClose, ["data-testid"]: dataTestId }) => {
1992
+ const FCloseIcon = React.forwardRef(({
1993
+ color = "primary",
1994
+ size = 30,
1995
+ st: st2,
1996
+ id,
1997
+ className,
1998
+ handleClose,
1999
+ ["data-testid"]: dataTestId,
2000
+ ...props
2001
+ }, ref) => {
1981
2002
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
1982
2003
  "svg",
1983
2004
  {
2005
+ ref,
1984
2006
  width: size,
1985
2007
  style: st2,
1986
2008
  className: `f-icon ${handleClose ? " clicking-icon" : ""} ${color} ${className || ""}`,
@@ -1988,10 +2010,12 @@ const FCloseIcon = ({ color = "primary", size = 30, st: st2, id, className, hand
1988
2010
  onClick: handleClose,
1989
2011
  id,
1990
2012
  "data-testid": dataTestId,
2013
+ ...props,
1991
2014
  children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z" })
1992
2015
  }
1993
2016
  );
1994
- };
2017
+ });
2018
+ FCloseIcon.displayName = "FCloseIcon";
1995
2019
  const FDialogHeader = ({ title, handleClose }) => {
1996
2020
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$p["f-dialog__header"], children: [
1997
2021
  /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: styles$p["f-dialog__header_title"], children: title }),
@@ -2322,7 +2346,7 @@ const styles$i = {
2322
2346
  "progress-dot": "_progress-dot_f7bma_172",
2323
2347
  active: active$3
2324
2348
  };
2325
- const FArrowIcon = ({
2349
+ const FArrowIcon = React.forwardRef(({
2326
2350
  color = "primary",
2327
2351
  size = 30,
2328
2352
  st: st2,
@@ -2330,8 +2354,9 @@ const FArrowIcon = ({
2330
2354
  handleClick,
2331
2355
  id,
2332
2356
  className,
2333
- ["data-testid"]: dataTestId
2334
- }) => {
2357
+ ["data-testid"]: dataTestId,
2358
+ ...props
2359
+ }, ref) => {
2335
2360
  const style = {
2336
2361
  transform: `rotate(
2337
2362
  ${direction === "down" ? 90 : direction === "up" ? -90 : direction === "right" ? 0 : 180}deg)`
@@ -2340,6 +2365,7 @@ const FArrowIcon = ({
2340
2365
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
2341
2366
  "svg",
2342
2367
  {
2368
+ ref,
2343
2369
  width: size,
2344
2370
  xmlns: "http://www.w3.org/2000/svg",
2345
2371
  viewBox: "0 0 320 512",
@@ -2348,6 +2374,7 @@ const FArrowIcon = ({
2348
2374
  onClick: handleClick,
2349
2375
  id,
2350
2376
  "data-testid": dataTestId,
2377
+ ...props,
2351
2378
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2352
2379
  "path",
2353
2380
  {
@@ -2356,7 +2383,8 @@ const FArrowIcon = ({
2356
2383
  )
2357
2384
  }
2358
2385
  );
2359
- };
2386
+ });
2387
+ FArrowIcon.displayName = "FArrowIcon";
2360
2388
  const FOpenImgFull = ({
2361
2389
  id,
2362
2390
  className,
@@ -3538,7 +3566,7 @@ const styles$b = {
3538
3566
  "f-dropdown__content-link": "_f-dropdown__content-link_d5i2z_28",
3539
3567
  "f-dropdown__content--open": "_f-dropdown__content--open_d5i2z_43"
3540
3568
  };
3541
- const FDropdown = ({
3569
+ const FDropdown = forwardRef(({
3542
3570
  label,
3543
3571
  variant = "contained",
3544
3572
  color = "primary",
@@ -3547,20 +3575,23 @@ const FDropdown = ({
3547
3575
  st: st2,
3548
3576
  className,
3549
3577
  id,
3550
- children
3551
- }) => {
3578
+ children,
3579
+ ...props
3580
+ }, forwardedRef) => {
3552
3581
  const [isOpen, setIsOpen] = useState(false);
3553
- const ref = useRef(null);
3582
+ const internalRef = useRef(null);
3583
+ const ref = forwardedRef || internalRef;
3554
3584
  useEffect(() => {
3555
3585
  if (!isOpen) return;
3556
3586
  const handleClick = (e) => {
3557
- if (ref.current && !ref.current.contains(e.target)) {
3587
+ const currentRef = typeof ref === "function" ? null : ref == null ? void 0 : ref.current;
3588
+ if (currentRef && !currentRef.contains(e.target)) {
3558
3589
  setIsOpen(false);
3559
3590
  }
3560
3591
  };
3561
3592
  document.addEventListener("mousedown", handleClick);
3562
3593
  return () => document.removeEventListener("mousedown", handleClick);
3563
- }, [isOpen]);
3594
+ }, [isOpen, ref]);
3564
3595
  const handleItemClick = (child) => (e) => {
3565
3596
  if (child.props && typeof child.props.onClick === "function") {
3566
3597
  child.props.onClick(e);
@@ -3577,7 +3608,7 @@ const FDropdown = ({
3577
3608
  return child;
3578
3609
  });
3579
3610
  };
3580
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$b["f-dropdown"], ref, children: [
3611
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$b["f-dropdown"], ref, ...props, children: [
3581
3612
  /* @__PURE__ */ jsxRuntimeExports.jsx(
3582
3613
  FButton,
3583
3614
  {
@@ -3606,7 +3637,7 @@ const FDropdown = ({
3606
3637
  }
3607
3638
  )
3608
3639
  ] });
3609
- };
3640
+ });
3610
3641
  FDropdown.displayName = "FDropdown";
3611
3642
  const FDropdownItem = ({
3612
3643
  disabled: disabled2,
@@ -3999,7 +4030,6 @@ const FTooltip = ({
3999
4030
  disableFocusListener = false,
4000
4031
  disableTouchListener = false,
4001
4032
  enterDelay = 0,
4002
- leaveDelay = 0,
4003
4033
  className = "",
4004
4034
  style
4005
4035
  }) => {
@@ -4038,23 +4068,30 @@ const FTooltip = ({
4038
4068
  }, enterDelay);
4039
4069
  };
4040
4070
  const handleClose = () => {
4041
- if (enterTimer.current) {
4042
- clearTimeout(enterTimer.current);
4043
- }
4044
- if (leaveTimer.current) {
4045
- clearTimeout(leaveTimer.current);
4046
- }
4071
+ if (enterTimer.current) clearTimeout(enterTimer.current);
4072
+ if (leaveTimer.current) clearTimeout(leaveTimer.current);
4047
4073
  if (isOpen || isVisible) {
4048
4074
  if (openProp === void 0) {
4049
4075
  setOpen(false);
4050
4076
  }
4051
4077
  setIsVisible(false);
4052
4078
  setIsExiting(true);
4053
- leaveTimer.current = setTimeout(() => {
4079
+ const tooltipNode = tooltipRef.current;
4080
+ if (tooltipNode) {
4081
+ const handleTransitionEnd = (event) => {
4082
+ if (event.propertyName === "opacity") {
4083
+ setIsExiting(false);
4084
+ setMountTooltip(false);
4085
+ onClose == null ? void 0 : onClose();
4086
+ tooltipNode.removeEventListener("transitionend", handleTransitionEnd);
4087
+ }
4088
+ };
4089
+ tooltipNode.addEventListener("transitionend", handleTransitionEnd);
4090
+ } else {
4054
4091
  setIsExiting(false);
4055
4092
  setMountTooltip(false);
4056
4093
  onClose == null ? void 0 : onClose();
4057
- }, leaveDelay || 220);
4094
+ }
4058
4095
  }
4059
4096
  };
4060
4097
  const updatePosition = () => {
@@ -4179,18 +4216,20 @@ const FTooltip = ({
4179
4216
  tooltipElement && createPortal(tooltipElement, document.body)
4180
4217
  ] });
4181
4218
  };
4182
- const FPlusIcon = ({
4219
+ const FPlusIcon = React.forwardRef(({
4183
4220
  color = "primary",
4184
4221
  size = 30,
4185
4222
  st: st2,
4186
4223
  className,
4187
4224
  id,
4188
4225
  handleClick,
4189
- ["data-testid"]: dataTestId
4190
- }) => {
4226
+ ["data-testid"]: dataTestId,
4227
+ ...props
4228
+ }, ref) => {
4191
4229
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
4192
4230
  "svg",
4193
4231
  {
4232
+ ref,
4194
4233
  onClick: handleClick,
4195
4234
  className: `f-icon ${handleClick ? " clicking-icon" : ""} ${color} ${className || ""}`,
4196
4235
  id,
@@ -4200,6 +4239,7 @@ const FPlusIcon = ({
4200
4239
  "aria-hidden": "true",
4201
4240
  viewBox: "0 0 24 24",
4202
4241
  "data-testid": dataTestId,
4242
+ ...props,
4203
4243
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(
4204
4244
  "path",
4205
4245
  {
@@ -4208,19 +4248,22 @@ const FPlusIcon = ({
4208
4248
  )
4209
4249
  }
4210
4250
  );
4211
- };
4212
- const FCheckIcon = ({
4251
+ });
4252
+ FPlusIcon.displayName = "FPlusIcon";
4253
+ const FCheckIcon = React.forwardRef(({
4213
4254
  color = "primary",
4214
4255
  size = 30,
4215
4256
  st: st2,
4216
4257
  id,
4217
4258
  className,
4218
4259
  handleClick,
4219
- ["data-testid"]: dataTestId
4220
- }) => {
4260
+ ["data-testid"]: dataTestId,
4261
+ ...props
4262
+ }, ref) => {
4221
4263
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
4222
4264
  "svg",
4223
4265
  {
4266
+ ref,
4224
4267
  width: size,
4225
4268
  viewBox: "0 0 16 16",
4226
4269
  className: `f-icon ${handleClick ? " clicking-icon" : ""} ${color} ${className || ""}`,
@@ -4228,6 +4271,7 @@ const FCheckIcon = ({
4228
4271
  onClick: handleClick,
4229
4272
  style: st2,
4230
4273
  "data-testid": dataTestId,
4274
+ ...props,
4231
4275
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(
4232
4276
  "path",
4233
4277
  {
@@ -4238,19 +4282,22 @@ const FCheckIcon = ({
4238
4282
  )
4239
4283
  }
4240
4284
  );
4241
- };
4242
- const FListIcon = ({
4285
+ });
4286
+ FCheckIcon.displayName = "FCheckIcon";
4287
+ const FListIcon = React.forwardRef(({
4243
4288
  color = "primary",
4244
4289
  size = 30,
4245
4290
  st: st2,
4246
4291
  id,
4247
4292
  className,
4248
4293
  handleClick,
4249
- ["data-testid"]: dataTestId
4250
- }) => {
4294
+ ["data-testid"]: dataTestId,
4295
+ ...props
4296
+ }, ref) => {
4251
4297
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4252
4298
  "svg",
4253
4299
  {
4300
+ ref,
4254
4301
  width: size,
4255
4302
  style: st2,
4256
4303
  className: `f-icon ${handleClick ? " clicking-icon" : ""} ${color} ${className || ""}`,
@@ -4258,6 +4305,7 @@ const FListIcon = ({
4258
4305
  id,
4259
4306
  onClick: handleClick,
4260
4307
  "data-testid": dataTestId,
4308
+ ...props,
4261
4309
  children: [
4262
4310
  /* @__PURE__ */ jsxRuntimeExports.jsx(
4263
4311
  "path",
@@ -4274,11 +4322,22 @@ const FListIcon = ({
4274
4322
  ]
4275
4323
  }
4276
4324
  );
4277
- };
4278
- const FPenIcon = ({ color = "primary", size = 30, st: st2, id, className, handleClick, ["data-testid"]: dataTestId }) => {
4325
+ });
4326
+ FListIcon.displayName = "FListIcon";
4327
+ const FPenIcon = React.forwardRef(({
4328
+ color = "primary",
4329
+ size = 30,
4330
+ st: st2,
4331
+ id,
4332
+ className,
4333
+ handleClick,
4334
+ ["data-testid"]: dataTestId,
4335
+ ...props
4336
+ }, ref) => {
4279
4337
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
4280
4338
  "svg",
4281
4339
  {
4340
+ ref,
4282
4341
  width: size,
4283
4342
  style: st2,
4284
4343
  className: `f-icon ${handleClick ? " clicking-icon" : ""} ${color} ${className || ""}`,
@@ -4286,6 +4345,7 @@ const FPenIcon = ({ color = "primary", size = 30, st: st2, id, className, handle
4286
4345
  onClick: handleClick,
4287
4346
  id,
4288
4347
  "data-testid": dataTestId,
4348
+ ...props,
4289
4349
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(
4290
4350
  "path",
4291
4351
  {
@@ -4294,19 +4354,22 @@ const FPenIcon = ({ color = "primary", size = 30, st: st2, id, className, handle
4294
4354
  )
4295
4355
  }
4296
4356
  );
4297
- };
4298
- const FDownloadIcon = ({
4357
+ });
4358
+ FPenIcon.displayName = "FPenIcon";
4359
+ const FDownloadIcon = React.forwardRef(({
4299
4360
  color = "primary",
4300
4361
  size = 30,
4301
4362
  st: st2,
4302
4363
  id,
4303
4364
  className,
4304
4365
  handleClick,
4305
- ["data-testid"]: dataTestId
4306
- }) => {
4366
+ ["data-testid"]: dataTestId,
4367
+ ...props
4368
+ }, ref) => {
4307
4369
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4308
4370
  "svg",
4309
4371
  {
4372
+ ref,
4310
4373
  style: st2,
4311
4374
  id,
4312
4375
  width: size,
@@ -4314,17 +4377,29 @@ const FDownloadIcon = ({
4314
4377
  className: `f-icon ${handleClick ? " clicking-icon" : ""} ${color} ${className || ""}`,
4315
4378
  viewBox: "0 0 16 16",
4316
4379
  "data-testid": dataTestId,
4380
+ ...props,
4317
4381
  children: [
4318
4382
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5z" }),
4319
4383
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z" })
4320
4384
  ]
4321
4385
  }
4322
4386
  );
4323
- };
4324
- const FCopyAddIcon = ({ color = "primary", size = 30, st: st2, id, className, handleClick, ["data-testid"]: dataTestId }) => {
4387
+ });
4388
+ FDownloadIcon.displayName = "FDownloadIcon";
4389
+ const FCopyAddIcon = React.forwardRef(({
4390
+ color = "primary",
4391
+ size = 30,
4392
+ st: st2,
4393
+ id,
4394
+ className,
4395
+ handleClick,
4396
+ ["data-testid"]: dataTestId,
4397
+ ...props
4398
+ }, ref) => {
4325
4399
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4326
4400
  "svg",
4327
4401
  {
4402
+ ref,
4328
4403
  width: size,
4329
4404
  style: st2,
4330
4405
  className: `f-icon ${handleClick ? " clicking-icon" : ""} ${color} ${className || ""}`,
@@ -4332,25 +4407,29 @@ const FCopyAddIcon = ({ color = "primary", size = 30, st: st2, id, className, ha
4332
4407
  onClick: handleClick,
4333
4408
  id,
4334
4409
  "data-testid": dataTestId,
4410
+ ...props,
4335
4411
  children: [
4336
4412
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M27.2,8.22H23.78V5.42A3.42,3.42,0,0,0,20.36,2H5.42A3.42,3.42,0,0,0,2,5.42V20.36a3.42,3.42,0,0,0,3.42,3.42h2.8V27.2A2.81,2.81,0,0,0,11,30H27.2A2.81,2.81,0,0,0,30,27.2V11A2.81,2.81,0,0,0,27.2,8.22ZM5.42,21.91a1.55,1.55,0,0,1-1.55-1.55V5.42A1.54,1.54,0,0,1,5.42,3.87H20.36a1.55,1.55,0,0,1,1.55,1.55v2.8H11A2.81,2.81,0,0,0,8.22,11V21.91ZM28.13,27.2a.93.93,0,0,1-.93.93H11a.93.93,0,0,1-.93-.93V11a.93.93,0,0,1,.93-.93H27.2a.93.93,0,0,1,.93.93Z" }),
4337
4413
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M24.09,18.18H20v-4a.93.93,0,1,0-1.86,0v4h-4a.93.93,0,0,0,0,1.86h4v4.05a.93.93,0,1,0,1.86,0V20h4.05a.93.93,0,1,0,0-1.86Z" })
4338
4414
  ]
4339
4415
  }
4340
4416
  );
4341
- };
4342
- const FUnlinkIcon = ({
4417
+ });
4418
+ FCopyAddIcon.displayName = "FCopyAddIcon";
4419
+ const FUnlinkIcon = React.forwardRef(({
4343
4420
  color = "primary",
4344
4421
  size = 30,
4345
4422
  st: st2,
4346
4423
  id,
4347
4424
  className,
4348
4425
  handleClick,
4349
- ["data-testid"]: dataTestId
4350
- }) => {
4426
+ ["data-testid"]: dataTestId,
4427
+ ...props
4428
+ }, ref) => {
4351
4429
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4352
4430
  "svg",
4353
4431
  {
4432
+ ref,
4354
4433
  width: size,
4355
4434
  style: st2,
4356
4435
  className: `f-icon ${handleClick ? " clicking-icon" : ""} ${color} ${className || ""}`,
@@ -4359,6 +4438,7 @@ const FUnlinkIcon = ({
4359
4438
  id,
4360
4439
  fill: "none",
4361
4440
  "data-testid": dataTestId,
4441
+ ...props,
4362
4442
  children: [
4363
4443
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M9.23993 17.55L7.95993 18.84C7.33993 19.47 6.51992 19.79 5.69992 19.79C4.87992 19.79 4.05994 19.47 3.43994 18.84C2.18994 17.58 2.18994 15.54 3.43994 14.29L4.70993 13.02L6.11993 11.6L8.82993 8.86", stroke: "#0F0F0F", "stroke-miterlimit": "10", "stroke-linecap": "round", "stroke-linejoin": "round" }),
4364
4444
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M8.82996 3.86V6.86", stroke: "#0F0F0F", "stroke-miterlimit": "10", "stroke-linecap": "round", "stroke-linejoin": "round" }),
@@ -4372,11 +4452,22 @@ const FUnlinkIcon = ({
4372
4452
  ]
4373
4453
  }
4374
4454
  );
4375
- };
4376
- const FFilterIcon = ({ color = "primary", size = 30, st: st2, id, className, handleClick, ["data-testid"]: dataTestId }) => {
4455
+ });
4456
+ FUnlinkIcon.displayName = "FUnlinkIcon";
4457
+ const FFilterIcon = React.forwardRef(({
4458
+ color = "primary",
4459
+ size = 30,
4460
+ st: st2,
4461
+ id,
4462
+ className,
4463
+ handleClick,
4464
+ ["data-testid"]: dataTestId,
4465
+ ...props
4466
+ }, ref) => {
4377
4467
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4378
4468
  "svg",
4379
4469
  {
4470
+ ref,
4380
4471
  width: size,
4381
4472
  viewBox: "0 0 24 24",
4382
4473
  className: `f-icon ${handleClick ? " clicking-icon" : ""} ${color} ${className || ""}`,
@@ -4384,14 +4475,16 @@ const FFilterIcon = ({ color = "primary", size = 30, st: st2, id, className, han
4384
4475
  onClick: handleClick,
4385
4476
  style: st2,
4386
4477
  "data-testid": dataTestId,
4478
+ ...props,
4387
4479
  children: [
4388
4480
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { fill: "none", d: "M0 0h24v24H0z" }),
4389
4481
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { fillRule: "nonzero", d: "M14 14v6l-4 2v-8L4 5V3h16v2l-6 9zM6.404 5L12 13.394 17.596 5H6.404z" })
4390
4482
  ]
4391
4483
  }
4392
4484
  );
4393
- };
4394
- const FDocumentIcon = ({
4485
+ });
4486
+ FFilterIcon.displayName = "FFilterIcon";
4487
+ const FDocumentIcon = React.forwardRef(({
4395
4488
  color = "primary",
4396
4489
  size = 30,
4397
4490
  st: st2,
@@ -4399,11 +4492,13 @@ const FDocumentIcon = ({
4399
4492
  file,
4400
4493
  className,
4401
4494
  handleClick,
4402
- ["data-testid"]: dataTestId
4403
- }) => {
4495
+ ["data-testid"]: dataTestId,
4496
+ ...props
4497
+ }, ref) => {
4404
4498
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4405
4499
  "svg",
4406
4500
  {
4501
+ ref,
4407
4502
  onClick: handleClick,
4408
4503
  xmlns: "http://www.w3.org/2000/svg",
4409
4504
  width: size,
@@ -4412,6 +4507,7 @@ const FDocumentIcon = ({
4412
4507
  viewBox: "0 0 16 16",
4413
4508
  id,
4414
4509
  "data-testid": dataTestId,
4510
+ ...props,
4415
4511
  children: [
4416
4512
  !file && /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z" }),
4417
4513
  file === "check" && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
@@ -4440,19 +4536,22 @@ const FDocumentIcon = ({
4440
4536
  ]
4441
4537
  }
4442
4538
  );
4443
- };
4444
- const FReloadIcon = ({
4539
+ });
4540
+ FDocumentIcon.displayName = "FDocumentIcon";
4541
+ const FReloadIcon = React.forwardRef(({
4445
4542
  color = "primary",
4446
4543
  size = 30,
4447
4544
  st: st2,
4448
4545
  className,
4449
4546
  id,
4450
4547
  handleClick,
4451
- ["data-testid"]: dataTestId
4452
- }) => {
4548
+ ["data-testid"]: dataTestId,
4549
+ ...props
4550
+ }, ref) => {
4453
4551
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4454
4552
  "svg",
4455
4553
  {
4554
+ ref,
4456
4555
  width: size,
4457
4556
  style: st2,
4458
4557
  className: `f-icon ${handleClick ? " clicking-icon" : ""} ${color} ${className || ""}`,
@@ -4460,25 +4559,29 @@ const FReloadIcon = ({
4460
4559
  onClick: handleClick,
4461
4560
  id,
4462
4561
  "data-testid": dataTestId,
4562
+ ...props,
4463
4563
  children: [
4464
4564
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { "fill-rule": "evenodd", d: "M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2z" }),
4465
4565
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466" })
4466
4566
  ]
4467
4567
  }
4468
4568
  );
4469
- };
4470
- const FMinusIcon = ({
4569
+ });
4570
+ FReloadIcon.displayName = "FReloadIcon";
4571
+ const FMinusIcon = React.forwardRef(({
4471
4572
  color = "primary",
4472
4573
  size = 30,
4473
4574
  st: st2,
4474
4575
  className,
4475
4576
  id,
4476
4577
  handleClick,
4477
- ["data-testid"]: dataTestId
4478
- }) => {
4578
+ ["data-testid"]: dataTestId,
4579
+ ...props
4580
+ }, ref) => {
4479
4581
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4480
4582
  "svg",
4481
4583
  {
4584
+ ref,
4482
4585
  width: size,
4483
4586
  style: st2,
4484
4587
  className: `f-icon ${handleClick ? " clicking-icon" : ""} ${color} ${className || ""}`,
@@ -4486,17 +4589,29 @@ const FMinusIcon = ({
4486
4589
  onClick: handleClick,
4487
4590
  id,
4488
4591
  "data-testid": dataTestId,
4592
+ ...props,
4489
4593
  children: [
4490
4594
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16" }),
4491
4595
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8" })
4492
4596
  ]
4493
4597
  }
4494
4598
  );
4495
- };
4496
- const FInfoCircleIcon = ({ color = "primary", size = 30, st: st2, id, className, handleClick, ["data-testid"]: dataTestId }) => {
4599
+ });
4600
+ FMinusIcon.displayName = "FMinusIcon";
4601
+ const FInfoCircleIcon = React.forwardRef(({
4602
+ color = "primary",
4603
+ size = 30,
4604
+ st: st2,
4605
+ id,
4606
+ className,
4607
+ handleClick,
4608
+ ["data-testid"]: dataTestId,
4609
+ ...props
4610
+ }, ref) => {
4497
4611
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4498
4612
  "svg",
4499
4613
  {
4614
+ ref,
4500
4615
  width: size,
4501
4616
  style: st2,
4502
4617
  className: `f-icon ${handleClick ? " clicking-icon" : ""} ${color} ${className || ""}`,
@@ -4504,25 +4619,29 @@ const FInfoCircleIcon = ({ color = "primary", size = 30, st: st2, id, className,
4504
4619
  onClick: handleClick,
4505
4620
  id,
4506
4621
  "data-testid": dataTestId,
4622
+ ...props,
4507
4623
  children: [
4508
4624
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16" }),
4509
4625
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0" })
4510
4626
  ]
4511
4627
  }
4512
4628
  );
4513
- };
4514
- const FSafeIcon = ({
4629
+ });
4630
+ FInfoCircleIcon.displayName = "FInfoCircleIcon";
4631
+ const FSafeIcon = React.forwardRef(({
4515
4632
  color = "primary",
4516
4633
  size = 30,
4517
4634
  st: st2,
4518
4635
  id,
4519
4636
  className,
4520
4637
  handleClick,
4521
- ["data-testid"]: dataTestId
4522
- }) => {
4638
+ ["data-testid"]: dataTestId,
4639
+ ...props
4640
+ }, ref) => {
4523
4641
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
4524
4642
  "svg",
4525
4643
  {
4644
+ ref,
4526
4645
  width: size,
4527
4646
  style: st2,
4528
4647
  className: `f-icon ${handleClick ? " clicking-icon" : ""} ${color} ${className || ""}`,
@@ -4530,13 +4649,15 @@ const FSafeIcon = ({
4530
4649
  onClick: handleClick,
4531
4650
  id,
4532
4651
  "data-testid": dataTestId,
4652
+ ...props,
4533
4653
  children: [
4534
4654
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M1 1.5A1.5 1.5 0 0 1 2.5 0h12A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-12A1.5 1.5 0 0 1 1 14.5V13H.5a.5.5 0 0 1 0-1H1V8.5H.5a.5.5 0 0 1 0-1H1V4H.5a.5.5 0 0 1 0-1H1zM2.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5z" }),
4535
4655
  /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M13.5 6a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 1 .5-.5M4.828 4.464a.5.5 0 0 1 .708 0l1.09 1.09a3 3 0 0 1 3.476 0l1.09-1.09a.5.5 0 1 1 .707.708l-1.09 1.09c.74 1.037.74 2.44 0 3.476l1.09 1.09a.5.5 0 1 1-.707.708l-1.09-1.09a3 3 0 0 1-3.476 0l-1.09 1.09a.5.5 0 1 1-.708-.708l1.09-1.09a3 3 0 0 1 0-3.476l-1.09-1.09a.5.5 0 0 1 0-.708M6.95 6.586a2 2 0 1 0 2.828 2.828A2 2 0 0 0 6.95 6.586" })
4536
4656
  ]
4537
4657
  }
4538
4658
  );
4539
- };
4659
+ });
4660
+ FSafeIcon.displayName = "FSafeIcon";
4540
4661
  const styles$4 = {
4541
4662
  "f-function-block-alert": "_f-function-block-alert_1jotv_1",
4542
4663
  "f-function-alert": "_f-function-alert_1jotv_16",