@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
@@ -7,7 +7,7 @@ import { jsxs } from "react/jsx-runtime";
7
7
  function MobileDataGridColumn(props) {
8
8
  var _a;
9
9
  const { column, data } = props;
10
- return /* @__PURE__ */ jsxs("div", { className: "mb-2 grid grid-cols-2 gap-2 px-3 flex-1", children: [
10
+ return /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-2 px-3 flex-1", children: [
11
11
  /* @__PURE__ */ jsxs(Paragraph, { color: "text-secondary-normal", className: "text-left", children: [
12
12
  (_a = column.header) == null ? void 0 : _a.toString(),
13
13
  ":"
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-2IKT6IHB.js";
7
7
  import {
8
8
  ProductPrimaryImage
9
- } from "./chunk-G5DEC7H3.js";
9
+ } from "./chunk-YCDDBSVU.js";
10
10
  import {
11
11
  Thumbnail
12
12
  } from "./chunk-3X3Y4TMS.js";
@@ -0,0 +1,19 @@
1
+ // src/components/SkeletonParagraph.tsx
2
+ import { jsx } from "react/jsx-runtime";
3
+ function SkeletonParagraph({
4
+ className = "",
5
+ heightClassName = "h-6"
6
+ }) {
7
+ return /* @__PURE__ */ jsx(
8
+ "div",
9
+ {
10
+ "aria-label": "Loading content",
11
+ role: "status",
12
+ className: `skeleton-paragraph ${heightClassName} w-full min-w-32 rounded-xs ${className}`
13
+ }
14
+ );
15
+ }
16
+
17
+ export {
18
+ SkeletonParagraph
19
+ };
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  RowDetailModalProvider
3
- } from "./chunk-7AXHAWJX.js";
3
+ } from "./chunk-FFGIFICI.js";
4
4
  import {
5
5
  GridContextProvider
6
6
  } from "./chunk-M7INAUAJ.js";
7
7
  import {
8
8
  ColumnList
9
- } from "./chunk-LUPHOXAQ.js";
9
+ } from "./chunk-TJV3S52X.js";
10
10
  import {
11
11
  useGridContext
12
12
  } from "./chunk-5IFPG6TS.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ModalContent
3
- } from "./chunk-P3MIP2FD.js";
3
+ } from "./chunk-NAY4I3FL.js";
4
4
  import {
5
5
  useGridContext
6
6
  } from "./chunk-5IFPG6TS.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-5IFPG6TS.js";
4
4
  import {
5
5
  MobileDataGridColumn
6
- } from "./chunk-M6TSTDNZ.js";
6
+ } from "./chunk-7HCS6TZN.js";
7
7
  import {
8
8
  Stack
9
9
  } from "./chunk-DTW7JCBR.js";
@@ -26,7 +26,7 @@ function ModalContent() {
26
26
  return ((_a = column.meta) == null ? void 0 : _a.useCustomRenderer) && column.meta.mobileCell && column.id ? /* @__PURE__ */ jsxs(
27
27
  "div",
28
28
  {
29
- className: "mb-2 grid grid-cols-2 gap-2 px-3 items-center flex-1",
29
+ className: "grid grid-cols-2 gap-2 px-3 items-center flex-1",
30
30
  children: [
31
31
  /* @__PURE__ */ jsxs(Paragraph, { color: "text-secondary-normal", className: "text-left", children: [
32
32
  (_b = column.header) == null ? void 0 : _b.toString(),
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-5IFPG6TS.js";
4
4
  import {
5
5
  MobileDataGridColumn
6
- } from "./chunk-M6TSTDNZ.js";
6
+ } from "./chunk-7HCS6TZN.js";
7
7
  import {
8
8
  Checkbox
9
9
  } from "./chunk-NO5BIKWS.js";
@@ -96,7 +96,7 @@ function MobileDataGridCard({
96
96
  return ((_a2 = column.meta) == null ? void 0 : _a2.useCustomRenderer) && column.meta.mobileCell && column.id ? /* @__PURE__ */ jsxs(
97
97
  "div",
98
98
  {
99
- className: "mb-2 grid grid-cols-2 gap-2 px-3 items-center flex-1",
99
+ className: "grid grid-cols-2 gap-2 px-3 items-center flex-1",
100
100
  children: [
101
101
  /* @__PURE__ */ jsxs(
102
102
  Paragraph,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MobileDataGridCard
3
- } from "./chunk-W55J2KJZ.js";
3
+ } from "./chunk-RDJT63IS.js";
4
4
  import {
5
5
  useGridContext
6
6
  } from "./chunk-5IFPG6TS.js";
@@ -1,9 +1,3 @@
1
- import {
2
- Spinner
3
- } from "./chunk-SBRRNFOP.js";
4
- import {
5
- ImagePlaceholder
6
- } from "./chunk-QVWYTQKL.js";
7
1
  import {
8
2
  __spreadProps,
9
3
  __spreadValues
@@ -12,6 +6,7 @@ import {
12
6
  // src/components/ProductImagePreview/ProductPrimaryImage.tsx
13
7
  import { useRef, useState, useCallback, useMemo, useEffect } from "react";
14
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
+ var placeholderImageUri = "/placeholder.svg";
15
10
  function ProductPrimaryImage({
16
11
  image,
17
12
  width,
@@ -29,8 +24,6 @@ function ProductPrimaryImage({
29
24
  const rafRef = useRef(null);
30
25
  const [active, setActive] = useState(false);
31
26
  const [, forceRerender] = useState(0);
32
- const [imageLoading, setImageLoading] = useState(true);
33
- const [imageError, setImageError] = useState(false);
34
27
  const imageSrc = useMemo(() => image == null ? void 0 : image.src, [image == null ? void 0 : image.src]);
35
28
  const schedule = () => {
36
29
  if (rafRef.current != null) return;
@@ -60,7 +53,8 @@ function ProductPrimaryImage({
60
53
  }, [zoomEnabled, onZoomPositionChange]);
61
54
  const handlePointerMove = useCallback(
62
55
  (e) => {
63
- if (!zoomEnabled || !active || imageError) return;
56
+ if (isPlaceholder) return;
57
+ if (!zoomEnabled || !active) return;
64
58
  if (e.pointerType === "touch") return;
65
59
  const el = containerRef.current;
66
60
  if (!el) return;
@@ -92,7 +86,7 @@ function ProductPrimaryImage({
92
86
  true
93
87
  );
94
88
  },
95
- [zoomEnabled, active, imageError, zoomLensSize, onZoomPositionChange]
89
+ [isPlaceholder, zoomEnabled, active, zoomLensSize, onZoomPositionChange]
96
90
  );
97
91
  useEffect(() => {
98
92
  const container = containerRef.current;
@@ -109,11 +103,15 @@ function ProductPrimaryImage({
109
103
  container.removeEventListener("wheel", handleNativeWheel);
110
104
  };
111
105
  }, [scrollToZoomEnabled, zoomEnabled, active, onScrollZoom]);
112
- useEffect(() => {
113
- setImageLoading(true);
114
- setImageError(false);
115
- }, [image]);
116
- if (!image && !isPlaceholder) return null;
106
+ const handleImgError = useCallback(
107
+ (e) => {
108
+ if (!placeholderImageUri) return;
109
+ const img = e.currentTarget;
110
+ if (img.src === placeholderImageUri) return;
111
+ img.src = placeholderImageUri;
112
+ },
113
+ []
114
+ );
117
115
  const pt = lastPointRef.current;
118
116
  let lensStyle;
119
117
  if (pt && active && zoomEnabled) {
@@ -147,20 +145,15 @@ function ProductPrimaryImage({
147
145
  onPointerLeave: handlePointerLeave,
148
146
  onPointerMove: handlePointerMove,
149
147
  children: [
150
- imageLoading && !imageError && !isPlaceholder && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-neutral-50", children: /* @__PURE__ */ jsx(Spinner, { size: "small" }) }),
151
- isPlaceholder ? /* @__PURE__ */ jsx(ImagePlaceholder, { width, height }) : /* @__PURE__ */ jsx(
148
+ /* @__PURE__ */ jsx(
152
149
  "img",
153
150
  {
154
- src: imageError ? "/placeholder.svg" : imageSrc,
151
+ src: imageSrc != null ? imageSrc : placeholderImageUri,
155
152
  alt: (image == null ? void 0 : image.alt) || "Product image",
156
153
  className: "object-cover min-w-full min-h-full select-none",
157
154
  draggable: false,
158
155
  loading: "lazy",
159
- onLoad: () => setImageLoading(false),
160
- onError: () => {
161
- setImageLoading(false);
162
- setImageError(true);
163
- }
156
+ onError: handleImgError
164
157
  },
165
158
  imageSrc
166
159
  ),
@@ -4574,46 +4574,14 @@ var import_jsx_runtime43 = require("react/jsx-runtime");
4574
4574
 
4575
4575
  // src/components/ProductImagePreview/ProductPrimaryImage.tsx
4576
4576
  var import_react27 = require("react");
4577
-
4578
- // src/components/Spinner.tsx
4579
4577
  var import_jsx_runtime44 = require("react/jsx-runtime");
4580
- var Spinner = ({ size = "small", testid }) => {
4581
- const dimension = size === "large" ? 48 : 24;
4582
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
4583
- "svg",
4584
- {
4585
- "data-testid": testid,
4586
- width: dimension,
4587
- height: dimension,
4588
- viewBox: "0 0 24 24",
4589
- xmlns: "http://www.w3.org/2000/svg",
4590
- fill: "#1D1E1E",
4591
- className: "spinner",
4592
- "aria-label": "Loading",
4593
- children: [
4594
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("circle", { cx: "12", cy: "4", r: "2", opacity: "1" }),
4595
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("circle", { cx: "17.666", cy: "6.334", r: "2", opacity: "0.125" }),
4596
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("circle", { cx: "20", cy: "12", r: "2", opacity: "0.25" }),
4597
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("circle", { cx: "17.666", cy: "17.666", r: "2", opacity: "0.375" }),
4598
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("circle", { cx: "12", cy: "20", r: "2", opacity: "0.5" }),
4599
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("circle", { cx: "6.334", cy: "17.666", r: "2", opacity: "0.625" }),
4600
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("circle", { cx: "4", cy: "12", r: "2", opacity: "0.75" }),
4601
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("circle", { cx: "6.334", cy: "6.334", r: "2", opacity: "0.875" })
4602
- ]
4603
- }
4604
- );
4605
- };
4606
- Spinner.displayName = "Spinner";
4607
-
4608
- // src/components/ProductImagePreview/ProductPrimaryImage.tsx
4609
- var import_jsx_runtime45 = require("react/jsx-runtime");
4610
4578
 
4611
4579
  // src/components/ProductImagePreview/ZoomWindow.tsx
4612
4580
  var import_react28 = require("react");
4613
4581
 
4614
4582
  // src/components/Surface.tsx
4615
4583
  var import_clsx31 = __toESM(require("clsx"), 1);
4616
- var import_jsx_runtime46 = require("react/jsx-runtime");
4584
+ var import_jsx_runtime45 = require("react/jsx-runtime");
4617
4585
  var Surface = (_a) => {
4618
4586
  var _b = _a, {
4619
4587
  children,
@@ -4626,7 +4594,7 @@ var Surface = (_a) => {
4626
4594
  "elevation",
4627
4595
  "id"
4628
4596
  ]);
4629
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
4597
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4630
4598
  "div",
4631
4599
  __spreadProps(__spreadValues({
4632
4600
  id,
@@ -4647,30 +4615,30 @@ var Surface = (_a) => {
4647
4615
  Surface.displayName = "Surface";
4648
4616
 
4649
4617
  // src/components/ProductImagePreview/ZoomWindow.tsx
4650
- var import_jsx_runtime47 = require("react/jsx-runtime");
4618
+ var import_jsx_runtime46 = require("react/jsx-runtime");
4651
4619
 
4652
4620
  // src/components/ProductImagePreview/CarouselPagination.tsx
4653
4621
  var import_clsx32 = require("clsx");
4654
- var import_jsx_runtime48 = require("react/jsx-runtime");
4622
+ var import_jsx_runtime47 = require("react/jsx-runtime");
4655
4623
 
4656
4624
  // src/components/ProductImagePreview/MobileImageCarousel.tsx
4657
4625
  var import_react29 = require("react");
4658
- var import_jsx_runtime49 = require("react/jsx-runtime");
4626
+ var import_jsx_runtime48 = require("react/jsx-runtime");
4659
4627
 
4660
4628
  // src/components/ProductImagePreview/useProductImagePreview.ts
4661
4629
  var import_react30 = require("react");
4662
4630
 
4663
4631
  // src/components/ProductImagePreview/index.tsx
4664
- var import_jsx_runtime50 = require("react/jsx-runtime");
4632
+ var import_jsx_runtime49 = require("react/jsx-runtime");
4665
4633
 
4666
4634
  // src/components/CompactImagesPreview.tsx
4667
4635
  var import_react31 = require("react");
4668
4636
  var import_clsx33 = __toESM(require("clsx"), 1);
4669
- var import_jsx_runtime51 = require("react/jsx-runtime");
4637
+ var import_jsx_runtime50 = require("react/jsx-runtime");
4670
4638
 
4671
4639
  // src/components/SimpleTable.tsx
4672
4640
  var import_clsx34 = __toESM(require("clsx"), 1);
4673
- var import_jsx_runtime52 = require("react/jsx-runtime");
4641
+ var import_jsx_runtime51 = require("react/jsx-runtime");
4674
4642
 
4675
4643
  // src/components/PDFViewer/index.tsx
4676
4644
  var import_react34 = require("react");
@@ -4679,6 +4647,36 @@ var import_react34 = require("react");
4679
4647
  var import_react_pdf2 = require("@mikecousins/react-pdf");
4680
4648
  var import_react33 = require("react");
4681
4649
 
4650
+ // src/components/Spinner.tsx
4651
+ var import_jsx_runtime52 = require("react/jsx-runtime");
4652
+ var Spinner = ({ size = "small", testid }) => {
4653
+ const dimension = size === "large" ? 48 : 24;
4654
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
4655
+ "svg",
4656
+ {
4657
+ "data-testid": testid,
4658
+ width: dimension,
4659
+ height: dimension,
4660
+ viewBox: "0 0 24 24",
4661
+ xmlns: "http://www.w3.org/2000/svg",
4662
+ fill: "#1D1E1E",
4663
+ className: "spinner",
4664
+ "aria-label": "Loading",
4665
+ children: [
4666
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("circle", { cx: "12", cy: "4", r: "2", opacity: "1" }),
4667
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("circle", { cx: "17.666", cy: "6.334", r: "2", opacity: "0.125" }),
4668
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("circle", { cx: "20", cy: "12", r: "2", opacity: "0.25" }),
4669
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("circle", { cx: "17.666", cy: "17.666", r: "2", opacity: "0.375" }),
4670
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("circle", { cx: "12", cy: "20", r: "2", opacity: "0.5" }),
4671
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("circle", { cx: "6.334", cy: "17.666", r: "2", opacity: "0.625" }),
4672
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("circle", { cx: "4", cy: "12", r: "2", opacity: "0.75" }),
4673
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("circle", { cx: "6.334", cy: "6.334", r: "2", opacity: "0.875" })
4674
+ ]
4675
+ }
4676
+ );
4677
+ };
4678
+ Spinner.displayName = "Spinner";
4679
+
4682
4680
  // src/components/PDFViewer/PDFPage.tsx
4683
4681
  var import_react_pdf = require("@mikecousins/react-pdf");
4684
4682
  var import_react32 = require("react");
@@ -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);
@@ -3,22 +3,22 @@ import {
3
3
  CalendarRange_default,
4
4
  isWeekend
5
5
  } from "../chunk-UOHCOOC2.js";
6
- import "../chunk-MDH7XDJS.js";
7
- import "../chunk-7AXHAWJX.js";
8
- import "../chunk-P3MIP2FD.js";
6
+ import "../chunk-EYESSAXQ.js";
7
+ import "../chunk-FFGIFICI.js";
8
+ import "../chunk-NAY4I3FL.js";
9
9
  import "../chunk-M7INAUAJ.js";
10
10
  import "../chunk-3HBYDOYE.js";
11
- import "../chunk-IMOIZFJZ.js";
11
+ import "../chunk-DNYGKNQM.js";
12
12
  import "../chunk-MBZ55T2D.js";
13
13
  import "../chunk-2IKT6IHB.js";
14
- import "../chunk-G5DEC7H3.js";
14
+ import "../chunk-YCDDBSVU.js";
15
15
  import "../chunk-3X3Y4TMS.js";
16
16
  import "../chunk-BQNPOGD5.js";
17
- import "../chunk-LUPHOXAQ.js";
18
- import "../chunk-W55J2KJZ.js";
17
+ import "../chunk-TJV3S52X.js";
18
+ import "../chunk-RDJT63IS.js";
19
19
  import "../chunk-5IFPG6TS.js";
20
20
  import "../chunk-AJ5M6MVX.js";
21
- import "../chunk-M6TSTDNZ.js";
21
+ import "../chunk-7HCS6TZN.js";
22
22
  import "../chunk-EJSPFQCY.js";
23
23
  import "../chunk-RQLWSLVE.js";
24
24
  import "../chunk-6LHBY2IH.js";
@@ -26,7 +26,7 @@ import "../chunk-VJVY6NPF.js";
26
26
  import "../chunk-EWGHVZL5.js";
27
27
  import "../chunk-DCLNAUC4.js";
28
28
  import "../chunk-PQWWVBSR.js";
29
- import "../chunk-ESCNCQGI.js";
29
+ import "../chunk-ETAEB3TA.js";
30
30
  import "../chunk-AT4AWD6B.js";
31
31
  import "../chunk-J5V2JRIK.js";
32
32
  import "../chunk-TYAQWVIM.js";
@@ -4540,46 +4540,14 @@ var import_jsx_runtime42 = require("react/jsx-runtime");
4540
4540
 
4541
4541
  // src/components/ProductImagePreview/ProductPrimaryImage.tsx
4542
4542
  var import_react26 = require("react");
4543
-
4544
- // src/components/Spinner.tsx
4545
4543
  var import_jsx_runtime43 = require("react/jsx-runtime");
4546
- var Spinner = ({ size = "small", testid }) => {
4547
- const dimension = size === "large" ? 48 : 24;
4548
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
4549
- "svg",
4550
- {
4551
- "data-testid": testid,
4552
- width: dimension,
4553
- height: dimension,
4554
- viewBox: "0 0 24 24",
4555
- xmlns: "http://www.w3.org/2000/svg",
4556
- fill: "#1D1E1E",
4557
- className: "spinner",
4558
- "aria-label": "Loading",
4559
- children: [
4560
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "12", cy: "4", r: "2", opacity: "1" }),
4561
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "17.666", cy: "6.334", r: "2", opacity: "0.125" }),
4562
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "20", cy: "12", r: "2", opacity: "0.25" }),
4563
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "17.666", cy: "17.666", r: "2", opacity: "0.375" }),
4564
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "12", cy: "20", r: "2", opacity: "0.5" }),
4565
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "6.334", cy: "17.666", r: "2", opacity: "0.625" }),
4566
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "4", cy: "12", r: "2", opacity: "0.75" }),
4567
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("circle", { cx: "6.334", cy: "6.334", r: "2", opacity: "0.875" })
4568
- ]
4569
- }
4570
- );
4571
- };
4572
- Spinner.displayName = "Spinner";
4573
-
4574
- // src/components/ProductImagePreview/ProductPrimaryImage.tsx
4575
- var import_jsx_runtime44 = require("react/jsx-runtime");
4576
4544
 
4577
4545
  // src/components/ProductImagePreview/ZoomWindow.tsx
4578
4546
  var import_react27 = require("react");
4579
4547
 
4580
4548
  // src/components/Surface.tsx
4581
4549
  var import_clsx31 = __toESM(require("clsx"), 1);
4582
- var import_jsx_runtime45 = require("react/jsx-runtime");
4550
+ var import_jsx_runtime44 = require("react/jsx-runtime");
4583
4551
  var Surface = (_a) => {
4584
4552
  var _b = _a, {
4585
4553
  children,
@@ -4592,7 +4560,7 @@ var Surface = (_a) => {
4592
4560
  "elevation",
4593
4561
  "id"
4594
4562
  ]);
4595
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
4563
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
4596
4564
  "div",
4597
4565
  __spreadProps(__spreadValues({
4598
4566
  id,
@@ -4613,30 +4581,30 @@ var Surface = (_a) => {
4613
4581
  Surface.displayName = "Surface";
4614
4582
 
4615
4583
  // src/components/ProductImagePreview/ZoomWindow.tsx
4616
- var import_jsx_runtime46 = require("react/jsx-runtime");
4584
+ var import_jsx_runtime45 = require("react/jsx-runtime");
4617
4585
 
4618
4586
  // src/components/ProductImagePreview/CarouselPagination.tsx
4619
4587
  var import_clsx32 = require("clsx");
4620
- var import_jsx_runtime47 = require("react/jsx-runtime");
4588
+ var import_jsx_runtime46 = require("react/jsx-runtime");
4621
4589
 
4622
4590
  // src/components/ProductImagePreview/MobileImageCarousel.tsx
4623
4591
  var import_react28 = require("react");
4624
- var import_jsx_runtime48 = require("react/jsx-runtime");
4592
+ var import_jsx_runtime47 = require("react/jsx-runtime");
4625
4593
 
4626
4594
  // src/components/ProductImagePreview/useProductImagePreview.ts
4627
4595
  var import_react29 = require("react");
4628
4596
 
4629
4597
  // src/components/ProductImagePreview/index.tsx
4630
- var import_jsx_runtime49 = require("react/jsx-runtime");
4598
+ var import_jsx_runtime48 = require("react/jsx-runtime");
4631
4599
 
4632
4600
  // src/components/CompactImagesPreview.tsx
4633
4601
  var import_react30 = require("react");
4634
4602
  var import_clsx33 = __toESM(require("clsx"), 1);
4635
- var import_jsx_runtime50 = require("react/jsx-runtime");
4603
+ var import_jsx_runtime49 = require("react/jsx-runtime");
4636
4604
 
4637
4605
  // src/components/SimpleTable.tsx
4638
4606
  var import_clsx34 = __toESM(require("clsx"), 1);
4639
- var import_jsx_runtime51 = require("react/jsx-runtime");
4607
+ var import_jsx_runtime50 = require("react/jsx-runtime");
4640
4608
 
4641
4609
  // src/components/PDFViewer/index.tsx
4642
4610
  var import_react33 = require("react");
@@ -4645,6 +4613,36 @@ var import_react33 = require("react");
4645
4613
  var import_react_pdf2 = require("@mikecousins/react-pdf");
4646
4614
  var import_react32 = require("react");
4647
4615
 
4616
+ // src/components/Spinner.tsx
4617
+ var import_jsx_runtime51 = require("react/jsx-runtime");
4618
+ var Spinner = ({ size = "small", testid }) => {
4619
+ const dimension = size === "large" ? 48 : 24;
4620
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
4621
+ "svg",
4622
+ {
4623
+ "data-testid": testid,
4624
+ width: dimension,
4625
+ height: dimension,
4626
+ viewBox: "0 0 24 24",
4627
+ xmlns: "http://www.w3.org/2000/svg",
4628
+ fill: "#1D1E1E",
4629
+ className: "spinner",
4630
+ "aria-label": "Loading",
4631
+ children: [
4632
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("circle", { cx: "12", cy: "4", r: "2", opacity: "1" }),
4633
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("circle", { cx: "17.666", cy: "6.334", r: "2", opacity: "0.125" }),
4634
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("circle", { cx: "20", cy: "12", r: "2", opacity: "0.25" }),
4635
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("circle", { cx: "17.666", cy: "17.666", r: "2", opacity: "0.375" }),
4636
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("circle", { cx: "12", cy: "20", r: "2", opacity: "0.5" }),
4637
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("circle", { cx: "6.334", cy: "17.666", r: "2", opacity: "0.625" }),
4638
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("circle", { cx: "4", cy: "12", r: "2", opacity: "0.75" }),
4639
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("circle", { cx: "6.334", cy: "6.334", r: "2", opacity: "0.875" })
4640
+ ]
4641
+ }
4642
+ );
4643
+ };
4644
+ Spinner.displayName = "Spinner";
4645
+
4648
4646
  // src/components/PDFViewer/PDFPage.tsx
4649
4647
  var import_react_pdf = require("@mikecousins/react-pdf");
4650
4648
  var import_react31 = require("react");
@@ -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);