@dmsi/wedgekit-react 0.0.441 → 0.0.443

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 (79) hide show
  1. package/dist/{chunk-M6TSTDNZ.js → chunk-7HCS6TZN.js} +1 -1
  2. package/dist/{chunk-IMOIZFJZ.js → chunk-DNYGKNQM.js} +1 -1
  3. package/dist/chunk-ETAEB3TA.js +19 -0
  4. package/dist/{chunk-MDH7XDJS.js → chunk-EYESSAXQ.js} +2 -2
  5. package/dist/{chunk-7AXHAWJX.js → chunk-FFGIFICI.js} +1 -1
  6. package/dist/{chunk-P3MIP2FD.js → chunk-NAY4I3FL.js} +2 -2
  7. package/dist/{chunk-W55J2KJZ.js → chunk-RDJT63IS.js} +2 -2
  8. package/dist/{chunk-LUPHOXAQ.js → chunk-TJV3S52X.js} +1 -1
  9. package/dist/{chunk-G5DEC7H3.js → chunk-YCDDBSVU.js} +16 -23
  10. package/dist/components/CalendarRange.cjs +38 -40
  11. package/dist/components/CalendarRange.css +23 -14
  12. package/dist/components/CalendarRange.js +9 -9
  13. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.cjs +38 -40
  14. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.css +23 -14
  15. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.js +9 -9
  16. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.cjs +38 -40
  17. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.css +23 -14
  18. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.js +9 -9
  19. package/dist/components/DataGrid/PinnedColumns.cjs +38 -40
  20. package/dist/components/DataGrid/PinnedColumns.css +23 -14
  21. package/dist/components/DataGrid/PinnedColumns.js +9 -9
  22. package/dist/components/DataGrid/TableBody/LoadingCell.cjs +38 -40
  23. package/dist/components/DataGrid/TableBody/LoadingCell.css +23 -14
  24. package/dist/components/DataGrid/TableBody/LoadingCell.js +9 -9
  25. package/dist/components/DataGrid/TableBody/TableBodyRow.cjs +38 -40
  26. package/dist/components/DataGrid/TableBody/TableBodyRow.css +23 -14
  27. package/dist/components/DataGrid/TableBody/TableBodyRow.js +9 -9
  28. package/dist/components/DataGrid/TableBody/index.cjs +38 -40
  29. package/dist/components/DataGrid/TableBody/index.css +23 -14
  30. package/dist/components/DataGrid/TableBody/index.js +9 -9
  31. package/dist/components/DataGrid/index.cjs +38 -40
  32. package/dist/components/DataGrid/index.css +23 -14
  33. package/dist/components/DataGrid/index.js +9 -9
  34. package/dist/components/DataGrid/utils.cjs +38 -40
  35. package/dist/components/DataGrid/utils.css +23 -14
  36. package/dist/components/DataGrid/utils.js +9 -9
  37. package/dist/components/DateInput.cjs +38 -40
  38. package/dist/components/DateInput.css +23 -14
  39. package/dist/components/DateInput.js +9 -9
  40. package/dist/components/DateRangeInput.cjs +38 -40
  41. package/dist/components/DateRangeInput.css +23 -14
  42. package/dist/components/DateRangeInput.js +9 -9
  43. package/dist/components/MobileDataGrid/ColumnList.cjs +2 -2
  44. package/dist/components/MobileDataGrid/ColumnList.js +3 -3
  45. package/dist/components/MobileDataGrid/ColumnSelector/index.cjs +38 -40
  46. package/dist/components/MobileDataGrid/ColumnSelector/index.css +23 -14
  47. package/dist/components/MobileDataGrid/ColumnSelector/index.js +9 -9
  48. package/dist/components/MobileDataGrid/MobileDataGridCard/MobileDataGridColumn.cjs +1 -1
  49. package/dist/components/MobileDataGrid/MobileDataGridCard/MobileDataGridColumn.js +1 -1
  50. package/dist/components/MobileDataGrid/MobileDataGridCard/index.cjs +2 -2
  51. package/dist/components/MobileDataGrid/MobileDataGridCard/index.js +2 -2
  52. package/dist/components/MobileDataGrid/MobileDataGridHeader.cjs +38 -40
  53. package/dist/components/MobileDataGrid/MobileDataGridHeader.css +23 -14
  54. package/dist/components/MobileDataGrid/MobileDataGridHeader.js +9 -9
  55. package/dist/components/MobileDataGrid/RowDetailModalProvider/ModalContent.cjs +2 -2
  56. package/dist/components/MobileDataGrid/RowDetailModalProvider/ModalContent.js +2 -2
  57. package/dist/components/MobileDataGrid/RowDetailModalProvider/index.cjs +2 -2
  58. package/dist/components/MobileDataGrid/RowDetailModalProvider/index.js +3 -3
  59. package/dist/components/MobileDataGrid/index.cjs +64 -66
  60. package/dist/components/MobileDataGrid/index.css +23 -14
  61. package/dist/components/MobileDataGrid/index.js +9 -9
  62. package/dist/components/ProductImagePreview/ProductPrimaryImage.cjs +29 -83
  63. package/dist/components/ProductImagePreview/ProductPrimaryImage.js +1 -3
  64. package/dist/components/ProductImagePreview/index.cjs +44 -77
  65. package/dist/components/ProductImagePreview/index.js +2 -3
  66. package/dist/components/SkeletonParagraph.cjs +12 -2
  67. package/dist/components/SkeletonParagraph.js +1 -1
  68. package/dist/components/index.cjs +108 -101
  69. package/dist/components/index.css +23 -14
  70. package/dist/components/index.js +9 -9
  71. package/dist/index.css +23 -14
  72. package/package.json +1 -1
  73. package/src/components/MobileDataGrid/MobileDataGridCard/MobileDataGridColumn.tsx +1 -1
  74. package/src/components/MobileDataGrid/MobileDataGridCard/index.tsx +1 -1
  75. package/src/components/MobileDataGrid/RowDetailModalProvider/ModalContent.tsx +1 -1
  76. package/src/components/ProductImagePreview/ProductPrimaryImage.tsx +24 -34
  77. package/src/components/SkeletonParagraph.tsx +20 -2
  78. package/src/index.css +27 -0
  79. package/dist/chunk-ESCNCQGI.js +0 -9
@@ -4344,46 +4344,14 @@ var import_jsx_runtime29 = require("react/jsx-runtime");
4344
4344
 
4345
4345
  // src/components/ProductImagePreview/ProductPrimaryImage.tsx
4346
4346
  var import_react21 = require("react");
4347
-
4348
- // src/components/Spinner.tsx
4349
4347
  var import_jsx_runtime30 = require("react/jsx-runtime");
4350
- var Spinner = ({ size = "small", testid }) => {
4351
- const dimension = size === "large" ? 48 : 24;
4352
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
4353
- "svg",
4354
- {
4355
- "data-testid": testid,
4356
- width: dimension,
4357
- height: dimension,
4358
- viewBox: "0 0 24 24",
4359
- xmlns: "http://www.w3.org/2000/svg",
4360
- fill: "#1D1E1E",
4361
- className: "spinner",
4362
- "aria-label": "Loading",
4363
- children: [
4364
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("circle", { cx: "12", cy: "4", r: "2", opacity: "1" }),
4365
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("circle", { cx: "17.666", cy: "6.334", r: "2", opacity: "0.125" }),
4366
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("circle", { cx: "20", cy: "12", r: "2", opacity: "0.25" }),
4367
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("circle", { cx: "17.666", cy: "17.666", r: "2", opacity: "0.375" }),
4368
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("circle", { cx: "12", cy: "20", r: "2", opacity: "0.5" }),
4369
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("circle", { cx: "6.334", cy: "17.666", r: "2", opacity: "0.625" }),
4370
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("circle", { cx: "4", cy: "12", r: "2", opacity: "0.75" }),
4371
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("circle", { cx: "6.334", cy: "6.334", r: "2", opacity: "0.875" })
4372
- ]
4373
- }
4374
- );
4375
- };
4376
- Spinner.displayName = "Spinner";
4377
-
4378
- // src/components/ProductImagePreview/ProductPrimaryImage.tsx
4379
- var import_jsx_runtime31 = require("react/jsx-runtime");
4380
4348
 
4381
4349
  // src/components/ProductImagePreview/ZoomWindow.tsx
4382
4350
  var import_react22 = require("react");
4383
4351
 
4384
4352
  // src/components/Surface.tsx
4385
4353
  var import_clsx24 = __toESM(require("clsx"), 1);
4386
- var import_jsx_runtime32 = require("react/jsx-runtime");
4354
+ var import_jsx_runtime31 = require("react/jsx-runtime");
4387
4355
  var Surface = (_a) => {
4388
4356
  var _b = _a, {
4389
4357
  children,
@@ -4396,7 +4364,7 @@ var Surface = (_a) => {
4396
4364
  "elevation",
4397
4365
  "id"
4398
4366
  ]);
4399
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
4367
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
4400
4368
  "div",
4401
4369
  __spreadProps(__spreadValues({
4402
4370
  id,
@@ -4417,30 +4385,30 @@ var Surface = (_a) => {
4417
4385
  Surface.displayName = "Surface";
4418
4386
 
4419
4387
  // src/components/ProductImagePreview/ZoomWindow.tsx
4420
- var import_jsx_runtime33 = require("react/jsx-runtime");
4388
+ var import_jsx_runtime32 = require("react/jsx-runtime");
4421
4389
 
4422
4390
  // src/components/ProductImagePreview/CarouselPagination.tsx
4423
4391
  var import_clsx25 = require("clsx");
4424
- var import_jsx_runtime34 = require("react/jsx-runtime");
4392
+ var import_jsx_runtime33 = require("react/jsx-runtime");
4425
4393
 
4426
4394
  // src/components/ProductImagePreview/MobileImageCarousel.tsx
4427
4395
  var import_react23 = require("react");
4428
- var import_jsx_runtime35 = require("react/jsx-runtime");
4396
+ var import_jsx_runtime34 = require("react/jsx-runtime");
4429
4397
 
4430
4398
  // src/components/ProductImagePreview/useProductImagePreview.ts
4431
4399
  var import_react24 = require("react");
4432
4400
 
4433
4401
  // src/components/ProductImagePreview/index.tsx
4434
- var import_jsx_runtime36 = require("react/jsx-runtime");
4402
+ var import_jsx_runtime35 = require("react/jsx-runtime");
4435
4403
 
4436
4404
  // src/components/CompactImagesPreview.tsx
4437
4405
  var import_react25 = require("react");
4438
4406
  var import_clsx26 = __toESM(require("clsx"), 1);
4439
- var import_jsx_runtime37 = require("react/jsx-runtime");
4407
+ var import_jsx_runtime36 = require("react/jsx-runtime");
4440
4408
 
4441
4409
  // src/components/SimpleTable.tsx
4442
4410
  var import_clsx27 = __toESM(require("clsx"), 1);
4443
- var import_jsx_runtime38 = require("react/jsx-runtime");
4411
+ var import_jsx_runtime37 = require("react/jsx-runtime");
4444
4412
 
4445
4413
  // src/components/PDFViewer/index.tsx
4446
4414
  var import_react30 = require("react");
@@ -4451,7 +4419,7 @@ var import_react27 = require("react");
4451
4419
 
4452
4420
  // src/components/ModalHeader.tsx
4453
4421
  var import_clsx28 = __toESM(require("clsx"), 1);
4454
- var import_jsx_runtime39 = require("react/jsx-runtime");
4422
+ var import_jsx_runtime38 = require("react/jsx-runtime");
4455
4423
  var ModalHeader = ({
4456
4424
  title,
4457
4425
  hideCloseIcon,
@@ -4462,7 +4430,7 @@ var ModalHeader = ({
4462
4430
  testid,
4463
4431
  headerClassname
4464
4432
  }) => {
4465
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
4433
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
4466
4434
  "div",
4467
4435
  {
4468
4436
  id,
@@ -4477,9 +4445,9 @@ var ModalHeader = ({
4477
4445
  headerClassname
4478
4446
  ),
4479
4447
  children: [
4480
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: (0, import_clsx28.default)("flex items-center flex-1", layoutGroupGap), children: [
4448
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: (0, import_clsx28.default)("flex items-center flex-1", layoutGroupGap), children: [
4481
4449
  headerIcon,
4482
- title && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4450
+ title && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4483
4451
  Heading2,
4484
4452
  {
4485
4453
  id: id ? `${id}-title` : void 0,
@@ -4489,7 +4457,7 @@ var ModalHeader = ({
4489
4457
  }
4490
4458
  )
4491
4459
  ] }),
4492
- !hideCloseIcon && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4460
+ !hideCloseIcon && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4493
4461
  Button,
4494
4462
  {
4495
4463
  id: id ? `${id}-close-button` : void 0,
@@ -4497,7 +4465,7 @@ var ModalHeader = ({
4497
4465
  iconOnly: true,
4498
4466
  variant: "tertiary",
4499
4467
  onClick: onClose,
4500
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "text-brand-text-action-primary-normal desktop:text-icon-primary-normal contents", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Icon, { name: "close", size: 24 }) })
4468
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "text-brand-text-action-primary-normal desktop:text-icon-primary-normal contents", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Icon, { name: "close", size: 24 }) })
4501
4469
  }
4502
4470
  )
4503
4471
  ]
@@ -4508,14 +4476,14 @@ ModalHeader.displayName = "ModalHeader";
4508
4476
 
4509
4477
  // src/components/ModalContent.tsx
4510
4478
  var import_clsx29 = __toESM(require("clsx"), 1);
4511
- var import_jsx_runtime40 = require("react/jsx-runtime");
4479
+ var import_jsx_runtime39 = require("react/jsx-runtime");
4512
4480
  function ModalContent({
4513
4481
  fixedHeightScrolling,
4514
4482
  children,
4515
4483
  id,
4516
4484
  testid
4517
4485
  }) {
4518
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4486
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
4519
4487
  "div",
4520
4488
  {
4521
4489
  id,
@@ -4533,7 +4501,7 @@ ModalContent.displayName = "ModalContent";
4533
4501
 
4534
4502
  // src/components/ModalButtons.tsx
4535
4503
  var import_clsx30 = __toESM(require("clsx"), 1);
4536
- var import_jsx_runtime41 = require("react/jsx-runtime");
4504
+ var import_jsx_runtime40 = require("react/jsx-runtime");
4537
4505
  var ModalButtons = ({
4538
4506
  onClose,
4539
4507
  onContinue,
@@ -4541,7 +4509,7 @@ var ModalButtons = ({
4541
4509
  id,
4542
4510
  testid
4543
4511
  }) => {
4544
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4512
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4545
4513
  "div",
4546
4514
  {
4547
4515
  id,
@@ -4551,26 +4519,26 @@ var ModalButtons = ({
4551
4519
  layoutPaddding,
4552
4520
  layoutGroupGap
4553
4521
  ),
4554
- children: customActions != null ? customActions : /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
4555
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4522
+ children: customActions != null ? customActions : /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
4523
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4556
4524
  Button,
4557
4525
  {
4558
4526
  id: id ? `${id}-close-button` : void 0,
4559
4527
  testid: testid ? `${testid}-close-button` : void 0,
4560
4528
  variant: "secondary",
4561
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Icon, { name: "close", size: 24 }),
4529
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon, { name: "close", size: 24 }),
4562
4530
  onClick: onClose,
4563
4531
  className: "max-sm:w-full",
4564
4532
  children: "Close"
4565
4533
  }
4566
4534
  ),
4567
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4535
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
4568
4536
  Button,
4569
4537
  {
4570
4538
  id: id ? `${id}-continue-button` : void 0,
4571
4539
  testid: testid ? `${testid}-continue-button` : void 0,
4572
4540
  variant: "primary",
4573
- leftIcon: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Icon, { name: "check", size: 24 }),
4541
+ leftIcon: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon, { name: "check", size: 24 }),
4574
4542
  className: "max-sm:w-full",
4575
4543
  onClick: onContinue,
4576
4544
  children: "Continue"
@@ -4584,7 +4552,7 @@ ModalButtons.displayName = "ModalButtons";
4584
4552
 
4585
4553
  // src/components/ModalScrim.tsx
4586
4554
  var import_clsx31 = __toESM(require("clsx"), 1);
4587
- var import_jsx_runtime42 = require("react/jsx-runtime");
4555
+ var import_jsx_runtime41 = require("react/jsx-runtime");
4588
4556
  var ModalScrim = ({
4589
4557
  show = false,
4590
4558
  size = "small",
@@ -4594,7 +4562,7 @@ var ModalScrim = ({
4594
4562
  id,
4595
4563
  testid
4596
4564
  }) => {
4597
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4565
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4598
4566
  "div",
4599
4567
  {
4600
4568
  id,
@@ -4630,7 +4598,7 @@ var useMounted = () => {
4630
4598
  };
4631
4599
 
4632
4600
  // src/components/Modal.tsx
4633
- var import_jsx_runtime43 = require("react/jsx-runtime");
4601
+ var import_jsx_runtime42 = require("react/jsx-runtime");
4634
4602
  var fadeInScale = (element, duration = 300) => element.animate(
4635
4603
  [
4636
4604
  { opacity: 0, transform: "scale(0.95)" },
@@ -4802,7 +4770,7 @@ var Modal = ({
4802
4770
  return null;
4803
4771
  }
4804
4772
  return (0, import_react_dom3.createPortal)(
4805
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4773
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4806
4774
  ModalScrim,
4807
4775
  {
4808
4776
  id: id ? `${id}-scrim` : void 0,
@@ -4811,7 +4779,7 @@ var Modal = ({
4811
4779
  ref: bgRef,
4812
4780
  show: open,
4813
4781
  onClick: backgroundClickHandler,
4814
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4782
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
4815
4783
  "div",
4816
4784
  {
4817
4785
  id,
@@ -4826,7 +4794,7 @@ var Modal = ({
4826
4794
  ),
4827
4795
  onClick: (e) => e.stopPropagation(),
4828
4796
  children: [
4829
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4797
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4830
4798
  ModalHeader,
4831
4799
  {
4832
4800
  id: id ? `${id}-header` : void 0,
@@ -4839,7 +4807,7 @@ var Modal = ({
4839
4807
  headerClassname
4840
4808
  }
4841
4809
  ),
4842
- children && (size !== "screen" || noWrapper) ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4810
+ children && (size !== "screen" || noWrapper) ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4843
4811
  ModalContent,
4844
4812
  {
4845
4813
  id: id ? `${id}-content` : void 0,
@@ -4848,7 +4816,7 @@ var Modal = ({
4848
4816
  children
4849
4817
  }
4850
4818
  ) : children,
4851
- showButtons ? customFooter ? customActions : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
4819
+ showButtons ? customFooter ? customActions : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
4852
4820
  ModalButtons,
4853
4821
  {
4854
4822
  id: id ? `${id}-buttons` : void 0,
@@ -4872,6 +4840,36 @@ Modal.displayName = "Modal";
4872
4840
  var import_react_pdf2 = require("@mikecousins/react-pdf");
4873
4841
  var import_react29 = require("react");
4874
4842
 
4843
+ // src/components/Spinner.tsx
4844
+ var import_jsx_runtime43 = require("react/jsx-runtime");
4845
+ var Spinner = ({ size = "small", testid }) => {
4846
+ const dimension = size === "large" ? 48 : 24;
4847
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4848
+ "svg",
4849
+ {
4850
+ "data-testid": testid,
4851
+ width: dimension,
4852
+ height: dimension,
4853
+ viewBox: "0 0 24 24",
4854
+ xmlns: "http://www.w3.org/2000/svg",
4855
+ fill: "#1D1E1E",
4856
+ className: "spinner",
4857
+ "aria-label": "Loading",
4858
+ children: [
4859
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "12", cy: "4", r: "2", opacity: "1" }),
4860
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "17.666", cy: "6.334", r: "2", opacity: "0.125" }),
4861
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "20", cy: "12", r: "2", opacity: "0.25" }),
4862
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "17.666", cy: "17.666", r: "2", opacity: "0.375" }),
4863
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "12", cy: "20", r: "2", opacity: "0.5" }),
4864
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "6.334", cy: "17.666", r: "2", opacity: "0.625" }),
4865
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "4", cy: "12", r: "2", opacity: "0.75" }),
4866
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "6.334", cy: "6.334", r: "2", opacity: "0.875" })
4867
+ ]
4868
+ }
4869
+ );
4870
+ };
4871
+ Spinner.displayName = "Spinner";
4872
+
4875
4873
  // src/components/PDFViewer/PDFPage.tsx
4876
4874
  var import_react_pdf = require("@mikecousins/react-pdf");
4877
4875
  var import_react28 = require("react");
@@ -5363,7 +5361,7 @@ var import_jsx_runtime55 = require("react/jsx-runtime");
5363
5361
  function MobileDataGridColumn(props) {
5364
5362
  var _a;
5365
5363
  const { column, data } = props;
5366
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "mb-2 grid grid-cols-2 gap-2 px-3 flex-1", children: [
5364
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "grid grid-cols-2 gap-2 px-3 flex-1", children: [
5367
5365
  /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Paragraph, { color: "text-secondary-normal", className: "text-left", children: [
5368
5366
  (_a = column.header) == null ? void 0 : _a.toString(),
5369
5367
  ":"
@@ -5388,7 +5386,7 @@ function ModalContent2() {
5388
5386
  return ((_a = column.meta) == null ? void 0 : _a.useCustomRenderer) && column.meta.mobileCell && column.id ? /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
5389
5387
  "div",
5390
5388
  {
5391
- className: "mb-2 grid grid-cols-2 gap-2 px-3 items-center flex-1",
5389
+ className: "grid grid-cols-2 gap-2 px-3 items-center flex-1",
5392
5390
  children: [
5393
5391
  /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Paragraph, { color: "text-secondary-normal", className: "text-left", children: [
5394
5392
  (_b = column.header) == null ? void 0 : _b.toString(),
@@ -5550,7 +5548,7 @@ function MobileDataGridCard({
5550
5548
  return ((_a2 = column.meta) == null ? void 0 : _a2.useCustomRenderer) && column.meta.mobileCell && column.id ? /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
5551
5549
  "div",
5552
5550
  {
5553
- className: "mb-2 grid grid-cols-2 gap-2 px-3 items-center flex-1",
5551
+ className: "grid grid-cols-2 gap-2 px-3 items-center flex-1",
5554
5552
  children: [
5555
5553
  /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
5556
5554
  Paragraph,
@@ -669,9 +669,6 @@
669
669
  .mr-auto {
670
670
  margin-right: auto;
671
671
  }
672
- .mb-2 {
673
- margin-bottom: calc(var(--spacing) * 2);
674
- }
675
672
  .mb-3 {
676
673
  margin-bottom: calc(var(--spacing) * 3);
677
674
  }
@@ -778,9 +775,6 @@
778
775
  .h-60 {
779
776
  height: calc(var(--spacing) * 60);
780
777
  }
781
- .h-\[24px\] {
782
- height: 24px;
783
- }
784
778
  .h-\[166px\] {
785
779
  height: 166px;
786
780
  }
@@ -1870,10 +1864,6 @@
1870
1864
  --tw-gradient-position: to right in oklab;
1871
1865
  background-image: linear-gradient(var(--tw-gradient-stops));
1872
1866
  }
1873
- .from-neutral-100 {
1874
- --tw-gradient-from: var(--color-neutral-100);
1875
- --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1876
- }
1877
1867
  .from-neutral-300\/\[12\%\] {
1878
1868
  --tw-gradient-from: color-mix(in srgb, #c1c1c1 12%, transparent);
1879
1869
  @supports (color: color-mix(in lab, red, red)) {
@@ -1885,10 +1875,6 @@
1885
1875
  --tw-gradient-from: var(--color-white);
1886
1876
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1887
1877
  }
1888
- .to-\[\#f7f7f7\] {
1889
- --tw-gradient-to: #f7f7f7;
1890
- --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1891
- }
1892
1878
  .to-neutral-300\/\[24\%\] {
1893
1879
  --tw-gradient-to: color-mix(in srgb, #c1c1c1 24%, transparent);
1894
1880
  @supports (color: color-mix(in lab, red, red)) {
@@ -4674,6 +4660,29 @@
4674
4660
  --color-background-action-critical-secondary-disabled: var( --color-neutral-200 );
4675
4661
  --color-background-brand-normal: var( --color-brand-400 );
4676
4662
  }
4663
+ .skeleton-paragraph {
4664
+ position: relative;
4665
+ overflow: hidden;
4666
+ background-color: #f7f7f7;
4667
+ }
4668
+ .skeleton-paragraph::after {
4669
+ content: "";
4670
+ position: absolute;
4671
+ inset: 0;
4672
+ transform: translateX(-100%);
4673
+ background-image:
4674
+ linear-gradient(
4675
+ 90deg,
4676
+ rgba(255, 255, 255, 0) 0%,
4677
+ rgba(255, 255, 255, 0.6) 50%,
4678
+ rgba(255, 255, 255, 0) 100%);
4679
+ animation: skeleton-shimmer 1.4s ease-in-out infinite;
4680
+ }
4681
+ @keyframes skeleton-shimmer {
4682
+ 100% {
4683
+ transform: translateX(100%);
4684
+ }
4685
+ }
4677
4686
  @media (prefers-color-scheme: dark) {
4678
4687
  :root {
4679
4688
  --color-text-primary-normal: var(--color-neutral-000);
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  MobileDataGrid
3
- } from "../../chunk-MDH7XDJS.js";
4
- import "../../chunk-7AXHAWJX.js";
5
- import "../../chunk-P3MIP2FD.js";
3
+ } from "../../chunk-EYESSAXQ.js";
4
+ import "../../chunk-FFGIFICI.js";
5
+ import "../../chunk-NAY4I3FL.js";
6
6
  import "../../chunk-M7INAUAJ.js";
7
7
  import "../../chunk-3HBYDOYE.js";
8
- import "../../chunk-IMOIZFJZ.js";
8
+ import "../../chunk-DNYGKNQM.js";
9
9
  import "../../chunk-MBZ55T2D.js";
10
10
  import "../../chunk-2IKT6IHB.js";
11
- import "../../chunk-G5DEC7H3.js";
11
+ import "../../chunk-YCDDBSVU.js";
12
12
  import "../../chunk-3X3Y4TMS.js";
13
13
  import "../../chunk-BQNPOGD5.js";
14
- import "../../chunk-LUPHOXAQ.js";
15
- import "../../chunk-W55J2KJZ.js";
14
+ import "../../chunk-TJV3S52X.js";
15
+ import "../../chunk-RDJT63IS.js";
16
16
  import "../../chunk-5IFPG6TS.js";
17
17
  import "../../chunk-AJ5M6MVX.js";
18
- import "../../chunk-M6TSTDNZ.js";
18
+ import "../../chunk-7HCS6TZN.js";
19
19
  import "../../chunk-EJSPFQCY.js";
20
20
  import "../../chunk-RQLWSLVE.js";
21
21
  import "../../chunk-6LHBY2IH.js";
@@ -23,7 +23,7 @@ import "../../chunk-VJVY6NPF.js";
23
23
  import "../../chunk-EWGHVZL5.js";
24
24
  import "../../chunk-DCLNAUC4.js";
25
25
  import "../../chunk-PQWWVBSR.js";
26
- import "../../chunk-ESCNCQGI.js";
26
+ import "../../chunk-ETAEB3TA.js";
27
27
  import "../../chunk-AT4AWD6B.js";
28
28
  import "../../chunk-J5V2JRIK.js";
29
29
  import "../../chunk-TYAQWVIM.js";
@@ -40,61 +40,9 @@ __export(ProductPrimaryImage_exports, {
40
40
  ProductPrimaryImage: () => ProductPrimaryImage
41
41
  });
42
42
  module.exports = __toCommonJS(ProductPrimaryImage_exports);
43
- var import_react2 = require("react");
44
-
45
- // src/components/Spinner.tsx
46
- var import_jsx_runtime = require("react/jsx-runtime");
47
- var Spinner = ({ size = "small", testid }) => {
48
- const dimension = size === "large" ? 48 : 24;
49
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
50
- "svg",
51
- {
52
- "data-testid": testid,
53
- width: dimension,
54
- height: dimension,
55
- viewBox: "0 0 24 24",
56
- xmlns: "http://www.w3.org/2000/svg",
57
- fill: "#1D1E1E",
58
- className: "spinner",
59
- "aria-label": "Loading",
60
- children: [
61
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "4", r: "2", opacity: "1" }),
62
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "17.666", cy: "6.334", r: "2", opacity: "0.125" }),
63
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "20", cy: "12", r: "2", opacity: "0.25" }),
64
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "17.666", cy: "17.666", r: "2", opacity: "0.375" }),
65
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "20", r: "2", opacity: "0.5" }),
66
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "6.334", cy: "17.666", r: "2", opacity: "0.625" }),
67
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "4", cy: "12", r: "2", opacity: "0.75" }),
68
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "6.334", cy: "6.334", r: "2", opacity: "0.875" })
69
- ]
70
- }
71
- );
72
- };
73
- Spinner.displayName = "Spinner";
74
-
75
- // src/components/ImagePlaceholder.tsx
76
43
  var import_react = require("react");
77
- var import_jsx_runtime2 = require("react/jsx-runtime");
78
- function ImagePlaceholder(props) {
79
- const clipId = (0, import_react.useId)();
80
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
81
- "svg",
82
- __spreadProps(__spreadValues({
83
- xmlns: "http://www.w3.org/2000/svg",
84
- width: 242,
85
- height: 243,
86
- fill: "none"
87
- }, props), {
88
- children: [
89
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("g", { clipPath: `url(#${clipId})`, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { width: props.width, height: props.width, fill: "#F7F7F7", rx: 2 }) }),
90
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("clipPath", { id: clipId, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("rect", { width: props.width, height: props.width, fill: "#fff", rx: 2 }) }) })
91
- ]
92
- })
93
- );
94
- }
95
-
96
- // src/components/ProductImagePreview/ProductPrimaryImage.tsx
97
- var import_jsx_runtime3 = require("react/jsx-runtime");
44
+ var import_jsx_runtime = require("react/jsx-runtime");
45
+ var placeholderImageUri = "/placeholder.svg";
98
46
  function ProductPrimaryImage({
99
47
  image,
100
48
  width,
@@ -107,14 +55,12 @@ function ProductPrimaryImage({
107
55
  onZoomPositionChange,
108
56
  onScrollZoom
109
57
  }) {
110
- const containerRef = (0, import_react2.useRef)(null);
111
- const lastPointRef = (0, import_react2.useRef)(null);
112
- const rafRef = (0, import_react2.useRef)(null);
113
- const [active, setActive] = (0, import_react2.useState)(false);
114
- const [, forceRerender] = (0, import_react2.useState)(0);
115
- const [imageLoading, setImageLoading] = (0, import_react2.useState)(true);
116
- const [imageError, setImageError] = (0, import_react2.useState)(false);
117
- const imageSrc = (0, import_react2.useMemo)(() => image == null ? void 0 : image.src, [image == null ? void 0 : image.src]);
58
+ const containerRef = (0, import_react.useRef)(null);
59
+ const lastPointRef = (0, import_react.useRef)(null);
60
+ const rafRef = (0, import_react.useRef)(null);
61
+ const [active, setActive] = (0, import_react.useState)(false);
62
+ const [, forceRerender] = (0, import_react.useState)(0);
63
+ const imageSrc = (0, import_react.useMemo)(() => image == null ? void 0 : image.src, [image == null ? void 0 : image.src]);
118
64
  const schedule = () => {
119
65
  if (rafRef.current != null) return;
120
66
  rafRef.current = requestAnimationFrame(() => {
@@ -122,7 +68,7 @@ function ProductPrimaryImage({
122
68
  forceRerender((n) => n + 1);
123
69
  });
124
70
  };
125
- const handlePointerEnter = (0, import_react2.useCallback)(() => {
71
+ const handlePointerEnter = (0, import_react.useCallback)(() => {
126
72
  if (!zoomEnabled) return;
127
73
  setActive(true);
128
74
  const el = containerRef.current;
@@ -135,15 +81,16 @@ function ProductPrimaryImage({
135
81
  );
136
82
  }
137
83
  }, [zoomEnabled, onZoomPositionChange, zoomLensSize]);
138
- const handlePointerLeave = (0, import_react2.useCallback)(() => {
84
+ const handlePointerLeave = (0, import_react.useCallback)(() => {
139
85
  if (!zoomEnabled) return;
140
86
  setActive(false);
141
87
  lastPointRef.current = null;
142
88
  onZoomPositionChange == null ? void 0 : onZoomPositionChange(null, false);
143
89
  }, [zoomEnabled, onZoomPositionChange]);
144
- const handlePointerMove = (0, import_react2.useCallback)(
90
+ const handlePointerMove = (0, import_react.useCallback)(
145
91
  (e) => {
146
- if (!zoomEnabled || !active || imageError) return;
92
+ if (isPlaceholder) return;
93
+ if (!zoomEnabled || !active) return;
147
94
  if (e.pointerType === "touch") return;
148
95
  const el = containerRef.current;
149
96
  if (!el) return;
@@ -175,9 +122,9 @@ function ProductPrimaryImage({
175
122
  true
176
123
  );
177
124
  },
178
- [zoomEnabled, active, imageError, zoomLensSize, onZoomPositionChange]
125
+ [isPlaceholder, zoomEnabled, active, zoomLensSize, onZoomPositionChange]
179
126
  );
180
- (0, import_react2.useEffect)(() => {
127
+ (0, import_react.useEffect)(() => {
181
128
  const container = containerRef.current;
182
129
  if (!container || !scrollToZoomEnabled) return;
183
130
  const handleNativeWheel = (e) => {
@@ -192,11 +139,15 @@ function ProductPrimaryImage({
192
139
  container.removeEventListener("wheel", handleNativeWheel);
193
140
  };
194
141
  }, [scrollToZoomEnabled, zoomEnabled, active, onScrollZoom]);
195
- (0, import_react2.useEffect)(() => {
196
- setImageLoading(true);
197
- setImageError(false);
198
- }, [image]);
199
- if (!image && !isPlaceholder) return null;
142
+ const handleImgError = (0, import_react.useCallback)(
143
+ (e) => {
144
+ if (!placeholderImageUri) return;
145
+ const img = e.currentTarget;
146
+ if (img.src === placeholderImageUri) return;
147
+ img.src = placeholderImageUri;
148
+ },
149
+ []
150
+ );
200
151
  const pt = lastPointRef.current;
201
152
  let lensStyle;
202
153
  if (pt && active && zoomEnabled) {
@@ -210,7 +161,7 @@ function ProductPrimaryImage({
210
161
  top: Math.max(0, Math.min(height - size, topRaw))
211
162
  };
212
163
  }
213
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
164
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
214
165
  "div",
215
166
  {
216
167
  ref: containerRef,
@@ -230,24 +181,19 @@ function ProductPrimaryImage({
230
181
  onPointerLeave: handlePointerLeave,
231
182
  onPointerMove: handlePointerMove,
232
183
  children: [
233
- imageLoading && !imageError && !isPlaceholder && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "absolute inset-0 flex items-center justify-center bg-neutral-50", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Spinner, { size: "small" }) }),
234
- isPlaceholder ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ImagePlaceholder, { width, height }) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
184
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
235
185
  "img",
236
186
  {
237
- src: imageError ? "/placeholder.svg" : imageSrc,
187
+ src: imageSrc != null ? imageSrc : placeholderImageUri,
238
188
  alt: (image == null ? void 0 : image.alt) || "Product image",
239
189
  className: "object-cover min-w-full min-h-full select-none",
240
190
  draggable: false,
241
191
  loading: "lazy",
242
- onLoad: () => setImageLoading(false),
243
- onError: () => {
244
- setImageLoading(false);
245
- setImageError(true);
246
- }
192
+ onError: handleImgError
247
193
  },
248
194
  imageSrc
249
195
  ),
250
- zoomEnabled && active && lensStyle && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
196
+ zoomEnabled && active && lensStyle && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
251
197
  "div",
252
198
  {
253
199
  "aria-hidden": true,
@@ -1,8 +1,6 @@
1
1
  import {
2
2
  ProductPrimaryImage
3
- } from "../../chunk-G5DEC7H3.js";
4
- import "../../chunk-SBRRNFOP.js";
5
- import "../../chunk-QVWYTQKL.js";
3
+ } from "../../chunk-YCDDBSVU.js";
6
4
  import "../../chunk-ORMEWXMH.js";
7
5
  export {
8
6
  ProductPrimaryImage