@expcat/tigercat-react 2.1.3 → 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.
Files changed (120) hide show
  1. package/README.md +13 -19
  2. package/dist/{chunk-65CDWNRJ.mjs → chunk-2IOF3EC7.mjs} +1 -1
  3. package/dist/{chunk-5I7FKHZO.mjs → chunk-2MKDIXBP.mjs} +1 -1
  4. package/dist/{chunk-WLCRBIZO.mjs → chunk-2W4SH2IG.mjs} +1 -1
  5. package/dist/{chunk-YLXEMZVI.mjs → chunk-3C62ULJT.mjs} +1 -1
  6. package/dist/{chunk-6IJFLGCN.mjs → chunk-3QXXNK5X.mjs} +1 -1
  7. package/dist/{chunk-KVXGNUIE.mjs → chunk-4IVRLBKW.mjs} +1 -1
  8. package/dist/{chunk-YCVORYEO.mjs → chunk-532OVXLV.mjs} +3 -1
  9. package/dist/{chunk-R7J37DKJ.mjs → chunk-5TQFSORK.mjs} +2 -2
  10. package/dist/{chunk-ZATZSMQY.mjs → chunk-6L7RWLOU.mjs} +1 -1
  11. package/dist/{chunk-EJY3Y2XU.mjs → chunk-73OFTRG5.mjs} +1 -1
  12. package/dist/{chunk-U7V7ZWJ6.mjs → chunk-7QM2ZC52.mjs} +1 -1
  13. package/dist/{chunk-M7TSPEXC.mjs → chunk-A2PQJEII.mjs} +1 -1
  14. package/dist/{chunk-5P3OFNH3.mjs → chunk-ACHXTII7.mjs} +1 -1
  15. package/dist/{chunk-2N6WZ5Z5.mjs → chunk-BNC4MMVG.mjs} +1 -1
  16. package/dist/{chunk-I4P4T6LL.mjs → chunk-BVSR27AF.mjs} +1 -1
  17. package/dist/{chunk-N53N6H54.mjs → chunk-CQGDJU2H.mjs} +2 -2
  18. package/dist/{chunk-GRB667BG.mjs → chunk-DDSY5FPV.mjs} +1 -1
  19. package/dist/{chunk-OIMP63RE.mjs → chunk-DJLVNYZD.mjs} +1 -1
  20. package/dist/{chunk-PZ4LAI6G.mjs → chunk-EK7R3MIN.mjs} +1 -1
  21. package/dist/{chunk-RTKPLZ5A.mjs → chunk-EVO4YVSD.mjs} +1 -1
  22. package/dist/{chunk-GMHJWSQB.mjs → chunk-FTLA6FRU.mjs} +2 -2
  23. package/dist/{chunk-AFVKH2Z3.mjs → chunk-G4Y25JES.mjs} +1 -1
  24. package/dist/{chunk-CJSB5NOK.mjs → chunk-H3UEVWOO.mjs} +1 -1
  25. package/dist/{chunk-CX7QZXU5.mjs → chunk-HEVB53MU.mjs} +1 -1
  26. package/dist/{chunk-5QTYD4XG.mjs → chunk-HKPRHDW4.mjs} +1 -1
  27. package/dist/{chunk-7KVHHNUI.mjs → chunk-ION7IDAW.mjs} +1 -1
  28. package/dist/{chunk-CCTBNDCX.mjs → chunk-IWXG4346.mjs} +1 -1
  29. package/dist/{chunk-WW6MFKTJ.mjs → chunk-IXMQQ6PV.mjs} +3 -3
  30. package/dist/{chunk-IPI45RUK.mjs → chunk-JX2WKSVM.mjs} +1 -1
  31. package/dist/{chunk-PTKQJPLM.mjs → chunk-KDXNJN6C.mjs} +1 -1
  32. package/dist/{chunk-WKZZ4IQK.mjs → chunk-KEFHL7CJ.mjs} +1 -1
  33. package/dist/{chunk-XBDLXTF7.mjs → chunk-KJHPPPB2.mjs} +1 -1
  34. package/dist/{chunk-PLEAZRIC.mjs → chunk-LKTM4NU4.mjs} +1 -1
  35. package/dist/{chunk-2FFAUB47.mjs → chunk-MF6LOOXR.mjs} +2 -2
  36. package/dist/{chunk-KJB2OIG7.mjs → chunk-NPXT436C.mjs} +2 -2
  37. package/dist/{chunk-NPGU6VYD.mjs → chunk-OU2AV7DY.mjs} +1 -1
  38. package/dist/{chunk-6D2VLITE.mjs → chunk-OZ4WH3GE.mjs} +1 -1
  39. package/dist/{chunk-A6PNUVY6.mjs → chunk-PBF5TEF4.mjs} +2 -2
  40. package/dist/{chunk-JML6CK44.mjs → chunk-PQPO7XSV.mjs} +1 -1
  41. package/dist/{chunk-TVVLCER6.mjs → chunk-QCRTRRBD.mjs} +179 -163
  42. package/dist/{chunk-XKB7ECPU.mjs → chunk-S37KEELR.mjs} +1 -1
  43. package/dist/{chunk-RNKUEEIX.mjs → chunk-S5GHNXGQ.mjs} +4 -4
  44. package/dist/{chunk-OES5DL3S.mjs → chunk-SCN6UULA.mjs} +1 -1
  45. package/dist/{chunk-OYQ6HTLQ.mjs → chunk-SGKPZW57.mjs} +1 -1
  46. package/dist/{chunk-C4UZFBFV.mjs → chunk-SOVB7HJF.mjs} +1 -1
  47. package/dist/{chunk-T5VXIYWF.mjs → chunk-SUHSOVWP.mjs} +1 -1
  48. package/dist/{chunk-HZGTQGSM.mjs → chunk-UNT7WJ2M.mjs} +1 -1
  49. package/dist/{chunk-GJRGMIB3.mjs → chunk-UVI5JN47.mjs} +1 -1
  50. package/dist/{chunk-UAFA5GOL.mjs → chunk-VE3PZFFT.mjs} +2 -1
  51. package/dist/{chunk-XXU5VQV5.mjs → chunk-VGWFHVJ7.mjs} +1 -1
  52. package/dist/{chunk-BNCUJLRV.mjs → chunk-VW6RNQK4.mjs} +1 -1
  53. package/dist/{chunk-IZC77KAN.mjs → chunk-WWDZAWTS.mjs} +1 -1
  54. package/dist/{chunk-ZGXC47M5.mjs → chunk-YDIEWFBM.mjs} +1 -1
  55. package/dist/{chunk-53RDSFKZ.mjs → chunk-YUFKPLCK.mjs} +1 -1
  56. package/dist/{chunk-WSN4Z4MC.mjs → chunk-Z3AD5DZX.mjs} +1 -1
  57. package/dist/{chunk-6NCG4SLX.mjs → chunk-ZZJVJUO4.mjs} +1 -1
  58. package/dist/components/ActivityFeed.mjs +3 -3
  59. package/dist/components/AreaChart.mjs +3 -3
  60. package/dist/components/AutoComplete.mjs +2 -2
  61. package/dist/components/BarChart.mjs +3 -3
  62. package/dist/components/Cascader.mjs +2 -2
  63. package/dist/components/ChartTooltip.mjs +2 -2
  64. package/dist/components/ColorPicker.mjs +2 -2
  65. package/dist/components/ContextMenu.mjs +2 -2
  66. package/dist/components/CropUpload.mjs +4 -4
  67. package/dist/components/DataExport.mjs +3 -3
  68. package/dist/components/DataTableWithToolbar.mjs +7 -7
  69. package/dist/components/DatePicker.mjs +2 -2
  70. package/dist/components/DonutChart.mjs +4 -4
  71. package/dist/components/Drawer.mjs +2 -2
  72. package/dist/components/Dropdown.mjs +2 -2
  73. package/dist/components/FloatButton.mjs +2 -2
  74. package/dist/components/FormItem.mjs +2 -2
  75. package/dist/components/FunnelChart.mjs +3 -3
  76. package/dist/components/GaugeChart.mjs +3 -3
  77. package/dist/components/HeatmapChart.mjs +3 -3
  78. package/dist/components/Image.mjs +5 -5
  79. package/dist/components/ImageCropper.mjs +1 -1
  80. package/dist/components/ImageGroup.mjs +3 -3
  81. package/dist/components/ImagePreview.mjs +2 -2
  82. package/dist/components/ImageViewer.mjs +3 -3
  83. package/dist/components/LineChart.mjs +3 -3
  84. package/dist/components/List.mjs +3 -3
  85. package/dist/components/Loading.mjs +2 -2
  86. package/dist/components/Mentions.mjs +2 -2
  87. package/dist/components/Menu.mjs +2 -2
  88. package/dist/components/Message.mjs +2 -2
  89. package/dist/components/MessageContainer.mjs +2 -2
  90. package/dist/components/MessageRoot.mjs +1 -1
  91. package/dist/components/Modal.mjs +2 -2
  92. package/dist/components/NavigationMenu.mjs +2 -2
  93. package/dist/components/Notification.mjs +2 -2
  94. package/dist/components/NotificationCenter.mjs +4 -4
  95. package/dist/components/NotificationContainer.mjs +2 -2
  96. package/dist/components/NotificationRoot.mjs +1 -1
  97. package/dist/components/NumberKeyboard.mjs +2 -2
  98. package/dist/components/PieChart.mjs +3 -3
  99. package/dist/components/Popconfirm.mjs +3 -3
  100. package/dist/components/Popover.mjs +3 -3
  101. package/dist/components/RadarChart.mjs +3 -3
  102. package/dist/components/Rate.mjs +1 -1
  103. package/dist/components/ScatterChart.mjs +3 -3
  104. package/dist/components/Select.mjs +2 -2
  105. package/dist/components/Slider.mjs +1 -1
  106. package/dist/components/SplitButton.mjs +3 -3
  107. package/dist/components/Spotlight.mjs +2 -2
  108. package/dist/components/SunburstChart.mjs +3 -3
  109. package/dist/components/Table.mjs +4 -4
  110. package/dist/components/TimePicker.mjs +2 -2
  111. package/dist/components/Tooltip.mjs +3 -3
  112. package/dist/components/Tour.mjs +2 -2
  113. package/dist/components/TreeMapChart.mjs +3 -3
  114. package/dist/components/TreeSelect.mjs +2 -2
  115. package/dist/components/Upload.mjs +3 -3
  116. package/dist/index.d.mts +1 -1
  117. package/dist/index.mjs +6 -0
  118. package/package.json +2 -2
  119. /package/dist/{chunk-HHRU7TK3.mjs → chunk-GF7W2FTZ.mjs} +0 -0
  120. /package/dist/{chunk-XJHC6JEC.mjs → chunk-P44HJQNB.mjs} +0 -0
@@ -33,6 +33,9 @@ import {
33
33
  getImageEditorLabels,
34
34
  getInitialCropRect,
35
35
  imageCropperContainerClasses,
36
+ imageCropperSizeHostClasses,
37
+ planCropperDisplaySize,
38
+ resolveCropperAvailableSize,
36
39
  imageCropperDragAreaClasses,
37
40
  imageCropperFrameClasses,
38
41
  imageCropperGuideClasses,
@@ -127,10 +130,12 @@ var ImageCropper = forwardRef(
127
130
  const defaultCropRectRef = useRef(defaultCropRect);
128
131
  const onReadyRef = useRef(onReady);
129
132
  const onErrorRef = useRef(onError);
133
+ const styleRef = useRef(style);
130
134
  aspectRef.current = aspectRatio;
131
135
  defaultCropRectRef.current = defaultCropRect;
132
136
  onReadyRef.current = onReady;
133
137
  onErrorRef.current = onError;
138
+ styleRef.current = style;
134
139
  const [status, setStatus] = useState("loading");
135
140
  const [displayWidth, setDisplayWidth] = useState(0);
136
141
  const [displayHeight, setDisplayHeight] = useState(0);
@@ -160,12 +165,12 @@ var ImageCropper = forwardRef(
160
165
  loader.load(src, {
161
166
  onLoad: (img, naturalWidth, naturalHeight) => {
162
167
  const container = containerRef.current;
163
- const size = getCropperDisplaySize(
164
- naturalWidth,
165
- naturalHeight,
168
+ const box = resolveCropperAvailableSize(
166
169
  container?.clientWidth ?? 0,
167
- container?.clientHeight ?? 0
170
+ container?.clientHeight ?? 0,
171
+ styleRef.current
168
172
  );
173
+ const size = getCropperDisplaySize(naturalWidth, naturalHeight, box.width, box.height);
169
174
  if (!size) {
170
175
  setStatus("error");
171
176
  onErrorRef.current?.(new Error("Image not loaded"));
@@ -205,15 +210,21 @@ var ImageCropper = forwardRef(
205
210
  if (!container || status !== "ready" || typeof ResizeObserver === "undefined") return;
206
211
  const observer = new ResizeObserver(() => {
207
212
  const natural = naturalSizeRef.current;
208
- const next = getCropperDisplaySize(
213
+ const box = resolveCropperAvailableSize(
214
+ container.clientWidth,
215
+ container.clientHeight,
216
+ styleRef.current
217
+ );
218
+ const current = displayDimsRef.current;
219
+ const next = planCropperDisplaySize(
209
220
  natural.w,
210
221
  natural.h,
211
- container.clientWidth,
212
- container.clientHeight
222
+ box.width,
223
+ box.height,
224
+ current.w,
225
+ current.h
213
226
  );
214
227
  if (!next) return;
215
- const current = displayDimsRef.current;
216
- if (next.width === current.w && next.height === current.h) return;
217
228
  setCropRect(
218
229
  (prev) => remapCropRect(
219
230
  prev,
@@ -340,13 +351,10 @@ var ImageCropper = forwardRef(
340
351
  },
341
352
  [cropRect, setCropRect]
342
353
  );
343
- const containerClasses = classNames(imageCropperContainerClasses, className);
354
+ const containerClasses = classNames(imageCropperSizeHostClasses, className);
344
355
  const rootStyle = { ...style };
345
356
  if (status === "loading" || status === "error") {
346
357
  if (rootStyle.minHeight == null) rootStyle.minHeight = 200;
347
- } else {
348
- if (rootStyle.width == null) rootStyle.width = displayWidth;
349
- if (rootStyle.height == null) rootStyle.height = displayHeight;
350
358
  }
351
359
  if (status !== "ready") {
352
360
  return /* @__PURE__ */ jsx(
@@ -354,7 +362,7 @@ var ImageCropper = forwardRef(
354
362
  {
355
363
  ...rest,
356
364
  ref: containerRef,
357
- className: classNames(containerClasses, "flex items-center justify-center"),
365
+ className: classNames(containerClasses, "items-center"),
358
366
  style: rootStyle,
359
367
  "data-image-cropper": "",
360
368
  "data-image-cropper-status": status,
@@ -365,7 +373,7 @@ var ImageCropper = forwardRef(
365
373
  );
366
374
  }
367
375
  const cr = cropRect;
368
- return /* @__PURE__ */ jsxs(
376
+ return /* @__PURE__ */ jsx(
369
377
  "div",
370
378
  {
371
379
  ...rest,
@@ -374,161 +382,169 @@ var ImageCropper = forwardRef(
374
382
  style: rootStyle,
375
383
  "data-image-cropper": "",
376
384
  "data-image-cropper-status": "ready",
377
- role: "group",
378
- "aria-label": labels.cropperDialogAriaLabel,
379
- children: [
380
- /* @__PURE__ */ jsxs(
381
- "div",
382
- {
383
- className: imageCropperFrameClasses,
384
- style: { width: displayWidth, height: displayHeight },
385
- children: [
385
+ children: /* @__PURE__ */ jsxs(
386
+ "div",
387
+ {
388
+ className: imageCropperContainerClasses,
389
+ style: { width: displayWidth, height: displayHeight },
390
+ "data-image-cropper-stage": "",
391
+ role: "group",
392
+ "aria-label": labels.cropperDialogAriaLabel,
393
+ children: [
394
+ /* @__PURE__ */ jsxs(
395
+ "div",
396
+ {
397
+ className: imageCropperFrameClasses,
398
+ style: { width: displayWidth, height: displayHeight },
399
+ children: [
400
+ /* @__PURE__ */ jsx(
401
+ "img",
402
+ {
403
+ src,
404
+ className: imageCropperImgClasses,
405
+ style: { width: displayWidth, height: displayHeight },
406
+ draggable: false,
407
+ alt: labels.imageToCropAriaLabel
408
+ }
409
+ ),
410
+ /* @__PURE__ */ jsxs(
411
+ "svg",
412
+ {
413
+ className: imageCropperMaskClasses,
414
+ width: displayWidth,
415
+ height: displayHeight,
416
+ xmlns: "http://www.w3.org/2000/svg",
417
+ children: [
418
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("mask", { id: maskId, children: [
419
+ /* @__PURE__ */ jsx("rect", { width: displayWidth, height: displayHeight, fill: "white" }),
420
+ /* @__PURE__ */ jsx("rect", { x: cr.x, y: cr.y, width: cr.width, height: cr.height, fill: "black" })
421
+ ] }) }),
422
+ /* @__PURE__ */ jsx(
423
+ "rect",
424
+ {
425
+ width: displayWidth,
426
+ height: displayHeight,
427
+ fill: IMAGE_CROPPER_MASK_FILL,
428
+ mask: `url(#${maskId})`
429
+ }
430
+ )
431
+ ]
432
+ }
433
+ )
434
+ ]
435
+ }
436
+ ),
437
+ /* @__PURE__ */ jsx(
438
+ "div",
439
+ {
440
+ className: imageCropperSelectionClasses,
441
+ style: {
442
+ left: cr.x,
443
+ top: cr.y,
444
+ width: cr.width,
445
+ height: cr.height
446
+ }
447
+ }
448
+ ),
449
+ /* @__PURE__ */ jsx(
450
+ "div",
451
+ {
452
+ className: imageCropperDragAreaClasses,
453
+ style: {
454
+ left: cr.x,
455
+ top: cr.y,
456
+ width: cr.width,
457
+ height: cr.height
458
+ },
459
+ "data-crop-move": "",
460
+ role: "button",
461
+ tabIndex: 0,
462
+ "aria-label": labels.moveCropAreaAriaLabel,
463
+ onPointerDown: (event) => startDrag(event, "move"),
464
+ onKeyDown: handleMoveKeyDown
465
+ }
466
+ ),
467
+ guides && /* @__PURE__ */ jsxs(Fragment, { children: [
468
+ /* @__PURE__ */ jsx(
469
+ "div",
470
+ {
471
+ className: imageCropperGuideClasses,
472
+ "data-guide": "true",
473
+ style: {
474
+ left: cr.x,
475
+ top: cr.y + cr.height / 3,
476
+ width: cr.width,
477
+ height: 0,
478
+ borderTopWidth: 1,
479
+ borderTopStyle: "dashed"
480
+ }
481
+ }
482
+ ),
483
+ /* @__PURE__ */ jsx(
484
+ "div",
485
+ {
486
+ className: imageCropperGuideClasses,
487
+ "data-guide": "true",
488
+ style: {
489
+ left: cr.x,
490
+ top: cr.y + cr.height * 2 / 3,
491
+ width: cr.width,
492
+ height: 0,
493
+ borderTopWidth: 1,
494
+ borderTopStyle: "dashed"
495
+ }
496
+ }
497
+ ),
386
498
  /* @__PURE__ */ jsx(
387
- "img",
499
+ "div",
388
500
  {
389
- src,
390
- className: imageCropperImgClasses,
391
- style: { width: displayWidth, height: displayHeight },
392
- draggable: false,
393
- alt: labels.imageToCropAriaLabel
501
+ className: imageCropperGuideClasses,
502
+ "data-guide": "true",
503
+ style: {
504
+ left: cr.x + cr.width / 3,
505
+ top: cr.y,
506
+ width: 0,
507
+ height: cr.height,
508
+ borderLeftWidth: 1,
509
+ borderLeftStyle: "dashed"
510
+ }
394
511
  }
395
512
  ),
396
- /* @__PURE__ */ jsxs(
397
- "svg",
513
+ /* @__PURE__ */ jsx(
514
+ "div",
398
515
  {
399
- className: imageCropperMaskClasses,
400
- width: displayWidth,
401
- height: displayHeight,
402
- xmlns: "http://www.w3.org/2000/svg",
403
- children: [
404
- /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("mask", { id: maskId, children: [
405
- /* @__PURE__ */ jsx("rect", { width: displayWidth, height: displayHeight, fill: "white" }),
406
- /* @__PURE__ */ jsx("rect", { x: cr.x, y: cr.y, width: cr.width, height: cr.height, fill: "black" })
407
- ] }) }),
408
- /* @__PURE__ */ jsx(
409
- "rect",
410
- {
411
- width: displayWidth,
412
- height: displayHeight,
413
- fill: IMAGE_CROPPER_MASK_FILL,
414
- mask: `url(#${maskId})`
415
- }
416
- )
417
- ]
516
+ className: imageCropperGuideClasses,
517
+ "data-guide": "true",
518
+ style: {
519
+ left: cr.x + cr.width * 2 / 3,
520
+ top: cr.y,
521
+ width: 0,
522
+ height: cr.height,
523
+ borderLeftWidth: 1,
524
+ borderLeftStyle: "dashed"
525
+ }
418
526
  }
419
527
  )
420
- ]
421
- }
422
- ),
423
- /* @__PURE__ */ jsx(
424
- "div",
425
- {
426
- className: imageCropperSelectionClasses,
427
- style: {
428
- left: cr.x,
429
- top: cr.y,
430
- width: cr.width,
431
- height: cr.height
432
- }
433
- }
434
- ),
435
- /* @__PURE__ */ jsx(
436
- "div",
437
- {
438
- className: imageCropperDragAreaClasses,
439
- style: {
440
- left: cr.x,
441
- top: cr.y,
442
- width: cr.width,
443
- height: cr.height
444
- },
445
- "data-crop-move": "",
446
- role: "button",
447
- tabIndex: 0,
448
- "aria-label": labels.moveCropAreaAriaLabel,
449
- onPointerDown: (event) => startDrag(event, "move"),
450
- onKeyDown: handleMoveKeyDown
451
- }
452
- ),
453
- guides && /* @__PURE__ */ jsxs(Fragment, { children: [
454
- /* @__PURE__ */ jsx(
455
- "div",
456
- {
457
- className: imageCropperGuideClasses,
458
- "data-guide": "true",
459
- style: {
460
- left: cr.x,
461
- top: cr.y + cr.height / 3,
462
- width: cr.width,
463
- height: 0,
464
- borderTopWidth: 1,
465
- borderTopStyle: "dashed"
466
- }
467
- }
468
- ),
469
- /* @__PURE__ */ jsx(
470
- "div",
471
- {
472
- className: imageCropperGuideClasses,
473
- "data-guide": "true",
474
- style: {
475
- left: cr.x,
476
- top: cr.y + cr.height * 2 / 3,
477
- width: cr.width,
478
- height: 0,
479
- borderTopWidth: 1,
480
- borderTopStyle: "dashed"
481
- }
482
- }
483
- ),
484
- /* @__PURE__ */ jsx(
485
- "div",
486
- {
487
- className: imageCropperGuideClasses,
488
- "data-guide": "true",
489
- style: {
490
- left: cr.x + cr.width / 3,
491
- top: cr.y,
492
- width: 0,
493
- height: cr.height,
494
- borderLeftWidth: 1,
495
- borderLeftStyle: "dashed"
496
- }
497
- }
498
- ),
499
- /* @__PURE__ */ jsx(
500
- "div",
501
- {
502
- className: imageCropperGuideClasses,
503
- "data-guide": "true",
504
- style: {
505
- left: cr.x + cr.width * 2 / 3,
506
- top: cr.y,
507
- width: 0,
508
- height: cr.height,
509
- borderLeftWidth: 1,
510
- borderLeftStyle: "dashed"
511
- }
512
- }
513
- )
514
- ] }),
515
- CROP_HANDLES.map((handle) => /* @__PURE__ */ jsx(
516
- "div",
517
- {
518
- className: getCropperHandleClasses(handle),
519
- style: getCropperHandleStyle(handle, cr),
520
- "data-crop-handle": handle,
521
- role: "button",
522
- tabIndex: -1,
523
- "aria-label": formatCropperResizeAriaLabel(
524
- labels.resizeCropAreaAriaLabel,
525
- getCropperHandleName(handle, labels)
526
- ),
527
- onPointerDown: (event) => startDrag(event, "resize", handle)
528
- },
529
- handle
530
- ))
531
- ]
528
+ ] }),
529
+ CROP_HANDLES.map((handle) => /* @__PURE__ */ jsx(
530
+ "div",
531
+ {
532
+ className: getCropperHandleClasses(handle),
533
+ style: getCropperHandleStyle(handle, cr),
534
+ "data-crop-handle": handle,
535
+ role: "button",
536
+ tabIndex: -1,
537
+ "aria-label": formatCropperResizeAriaLabel(
538
+ labels.resizeCropAreaAriaLabel,
539
+ getCropperHandleName(handle, labels)
540
+ ),
541
+ onPointerDown: (event) => startDrag(event, "resize", handle)
542
+ },
543
+ handle
544
+ ))
545
+ ]
546
+ }
547
+ )
532
548
  }
533
549
  );
534
550
  }
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-UJTAHHQT.mjs";
4
4
  import {
5
5
  useAnchoredOverlay
6
- } from "./chunk-NPGU6VYD.mjs";
6
+ } from "./chunk-OU2AV7DY.mjs";
7
7
 
8
8
  // src/utils/use-popup.ts
9
9
  import { useCallback, useEffect, useMemo, useRef } from "react";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  ImageGroupContext
3
- } from "./chunk-KVXGNUIE.mjs";
3
+ } from "./chunk-4IVRLBKW.mjs";
4
4
  import {
5
5
  ImagePreview
6
- } from "./chunk-OYQ6HTLQ.mjs";
6
+ } from "./chunk-SGKPZW57.mjs";
7
7
  import {
8
8
  usePopup
9
- } from "./chunk-XKB7ECPU.mjs";
9
+ } from "./chunk-S37KEELR.mjs";
10
10
  import {
11
11
  renderOverlayPortal
12
- } from "./chunk-NPGU6VYD.mjs";
12
+ } from "./chunk-OU2AV7DY.mjs";
13
13
  import {
14
14
  useTigerConfig
15
15
  } from "./chunk-RUIFGSVN.mjs";
@@ -10,7 +10,7 @@ import {
10
10
  useEscapeKey,
11
11
  useFocusTrap,
12
12
  useOverlayPortalTarget
13
- } from "./chunk-NPGU6VYD.mjs";
13
+ } from "./chunk-OU2AV7DY.mjs";
14
14
  import {
15
15
  useTigerConfig
16
16
  } from "./chunk-RUIFGSVN.mjs";
@@ -3,7 +3,7 @@ import {
3
3
  useBodyScrollLock,
4
4
  useEscapeKey,
5
5
  useFocusTrap
6
- } from "./chunk-NPGU6VYD.mjs";
6
+ } from "./chunk-OU2AV7DY.mjs";
7
7
  import {
8
8
  useTigerConfig
9
9
  } from "./chunk-RUIFGSVN.mjs";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-ST4NN6XV.mjs";
10
10
  import {
11
11
  ChartTooltip
12
- } from "./chunk-IPI45RUK.mjs";
12
+ } from "./chunk-JX2WKSVM.mjs";
13
13
  import {
14
14
  ChartAxis
15
15
  } from "./chunk-XZFHPHV5.mjs";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-WQMOFDAY.mjs";
7
7
  import {
8
8
  Loading
9
- } from "./chunk-BNCUJLRV.mjs";
9
+ } from "./chunk-VW6RNQK4.mjs";
10
10
  import {
11
11
  Tag
12
12
  } from "./chunk-FVA5VKN2.mjs";
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  renderOverlayPortal,
12
12
  useAnchoredOverlay
13
- } from "./chunk-NPGU6VYD.mjs";
13
+ } from "./chunk-OU2AV7DY.mjs";
14
14
  import {
15
15
  useTigerConfig
16
16
  } from "./chunk-RUIFGSVN.mjs";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  renderOverlayPortal,
15
15
  useAnchoredOverlay
16
- } from "./chunk-NPGU6VYD.mjs";
16
+ } from "./chunk-OU2AV7DY.mjs";
17
17
  import {
18
18
  useTigerConfig
19
19
  } from "./chunk-RUIFGSVN.mjs";
@@ -10,6 +10,7 @@ import { forwardRef, useMemo, useState } from "react";
10
10
  import {
11
11
  rateBaseClasses,
12
12
  getRateStarClasses,
13
+ rateCharacterGlyphClasses,
13
14
  rateHalfStarInnerClasses,
14
15
  rateActiveColor,
15
16
  rateInactiveColor,
@@ -66,7 +67,7 @@ var Rate = forwardRef(function Rate2({
66
67
  const normalized = sliderNormalizeValue(currentValue, 0, count, step);
67
68
  const displayValue = hoverValue > 0 ? hoverValue : normalized;
68
69
  const isChar = character != null && character !== false;
69
- const glyph = (extraClass) => isChar ? /* @__PURE__ */ jsx("span", { className: extraClass, children: character }) : /* @__PURE__ */ jsx("svg", { viewBox: starViewBox, fill: "currentColor", className: extraClass ?? "h-full w-full", children: /* @__PURE__ */ jsx("path", { d: starPathD }) });
70
+ const glyph = (extraClass) => isChar ? /* @__PURE__ */ jsx("span", { className: classNames(rateCharacterGlyphClasses, extraClass), children: character }) : /* @__PURE__ */ jsx("svg", { viewBox: starViewBox, fill: "currentColor", className: extraClass ?? "h-full w-full", children: /* @__PURE__ */ jsx("path", { d: starPathD }) });
70
71
  const hitValue = (index, clientX, el) => {
71
72
  const half = allowHalf && rateIsInlineStartHalf(clientX, el.getBoundingClientRect(), rtl);
72
73
  return half ? index + 0.5 : index + 1;
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-ST4NN6XV.mjs";
10
10
  import {
11
11
  ChartTooltip
12
- } from "./chunk-IPI45RUK.mjs";
12
+ } from "./chunk-JX2WKSVM.mjs";
13
13
  import {
14
14
  ChartAxis
15
15
  } from "./chunk-XZFHPHV5.mjs";
@@ -2,7 +2,7 @@ import {
2
2
  renderBodyPortal,
3
3
  useBackgroundInert,
4
4
  useBodyScrollLock
5
- } from "./chunk-NPGU6VYD.mjs";
5
+ } from "./chunk-OU2AV7DY.mjs";
6
6
  import {
7
7
  useTigerConfig
8
8
  } from "./chunk-RUIFGSVN.mjs";
@@ -13,7 +13,7 @@ import {
13
13
  useAnchoredOverlay,
14
14
  useBodyScrollLock,
15
15
  useFocusTrap
16
- } from "./chunk-NPGU6VYD.mjs";
16
+ } from "./chunk-OU2AV7DY.mjs";
17
17
  import {
18
18
  useTigerConfig
19
19
  } from "./chunk-RUIFGSVN.mjs";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-RLUBTLOT.mjs";
13
13
  import {
14
14
  Loading
15
- } from "./chunk-BNCUJLRV.mjs";
15
+ } from "./chunk-VW6RNQK4.mjs";
16
16
  import {
17
17
  useTigerConfig
18
18
  } from "./chunk-RUIFGSVN.mjs";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  renderOverlayPortal,
9
9
  useAnchoredOverlay
10
- } from "./chunk-NPGU6VYD.mjs";
10
+ } from "./chunk-OU2AV7DY.mjs";
11
11
 
12
12
  // src/components/FormItem.tsx
13
13
  import React, { useMemo, useEffect, useState, useCallback, useId, useRef } from "react";
@@ -7,7 +7,7 @@ import {
7
7
  useEscapeKey,
8
8
  useFocusTrap,
9
9
  useOverlayPortalTarget
10
- } from "./chunk-NPGU6VYD.mjs";
10
+ } from "./chunk-OU2AV7DY.mjs";
11
11
  import {
12
12
  useTigerConfig
13
13
  } from "./chunk-RUIFGSVN.mjs";
@@ -2,7 +2,7 @@ import {
2
2
  Dropdown,
3
3
  DropdownItem,
4
4
  DropdownMenu
5
- } from "./chunk-CJSB5NOK.mjs";
5
+ } from "./chunk-H3UEVWOO.mjs";
6
6
  import {
7
7
  useTigerConfig
8
8
  } from "./chunk-RUIFGSVN.mjs";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  ActivityFeed,
3
3
  ActivityFeed_default
4
- } from "../chunk-T5VXIYWF.mjs";
4
+ } from "../chunk-SUHSOVWP.mjs";
5
5
  import "../chunk-4DFN6RZ4.mjs";
6
6
  import "../chunk-WQMOFDAY.mjs";
7
- import "../chunk-BNCUJLRV.mjs";
7
+ import "../chunk-VW6RNQK4.mjs";
8
8
  import "../chunk-FVA5VKN2.mjs";
9
9
  import "../chunk-VDBLI5Y3.mjs";
10
10
  import "../chunk-WCIUNNIN.mjs";
@@ -12,7 +12,7 @@ import "../chunk-3KBFOO2E.mjs";
12
12
  import "../chunk-IELUUOM4.mjs";
13
13
  import "../chunk-WFLXJOFU.mjs";
14
14
  import "../chunk-G5NPND2T.mjs";
15
- import "../chunk-NPGU6VYD.mjs";
15
+ import "../chunk-OU2AV7DY.mjs";
16
16
  import "../chunk-RUIFGSVN.mjs";
17
17
  export {
18
18
  ActivityFeed,
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  AreaChart,
3
3
  AreaChart_default
4
- } from "../chunk-XXU5VQV5.mjs";
4
+ } from "../chunk-VGWFHVJ7.mjs";
5
5
  import "../chunk-7H7EKANG.mjs";
6
6
  import "../chunk-7P4R3NVO.mjs";
7
7
  import "../chunk-ST4NN6XV.mjs";
8
- import "../chunk-IPI45RUK.mjs";
8
+ import "../chunk-JX2WKSVM.mjs";
9
9
  import "../chunk-XZFHPHV5.mjs";
10
10
  import "../chunk-OP77MPGN.mjs";
11
11
  import "../chunk-2PC625DX.mjs";
12
12
  import "../chunk-A4JRK5SM.mjs";
13
- import "../chunk-NPGU6VYD.mjs";
13
+ import "../chunk-OU2AV7DY.mjs";
14
14
  import "../chunk-RUIFGSVN.mjs";
15
15
  export {
16
16
  AreaChart,
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  AutoComplete
3
- } from "../chunk-JML6CK44.mjs";
3
+ } from "../chunk-PQPO7XSV.mjs";
4
4
  import "../chunk-2AVQQGL2.mjs";
5
5
  import "../chunk-F6T3OLTQ.mjs";
6
6
  import "../chunk-UJTAHHQT.mjs";
7
- import "../chunk-NPGU6VYD.mjs";
7
+ import "../chunk-OU2AV7DY.mjs";
8
8
  import "../chunk-RUIFGSVN.mjs";
9
9
  export {
10
10
  AutoComplete