@cellarnode/ui 0.16.9 → 0.17.1

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 (159) hide show
  1. package/dist/components/__tests__/animated-list-skeleton.test.d.ts +2 -0
  2. package/dist/components/__tests__/animated-list-skeleton.test.d.ts.map +1 -0
  3. package/dist/components/__tests__/animated-list-skeleton.test.js +11 -0
  4. package/dist/components/__tests__/animated-list-skeleton.test.js.map +1 -0
  5. package/dist/components/__tests__/card-grid-skeleton.test.d.ts +2 -0
  6. package/dist/components/__tests__/card-grid-skeleton.test.d.ts.map +1 -0
  7. package/dist/components/__tests__/card-grid-skeleton.test.js +22 -0
  8. package/dist/components/__tests__/card-grid-skeleton.test.js.map +1 -0
  9. package/dist/components/__tests__/dashboard-stats-grid-skeleton.test.d.ts +2 -0
  10. package/dist/components/__tests__/dashboard-stats-grid-skeleton.test.d.ts.map +1 -0
  11. package/dist/components/__tests__/dashboard-stats-grid-skeleton.test.js +39 -0
  12. package/dist/components/__tests__/dashboard-stats-grid-skeleton.test.js.map +1 -0
  13. package/dist/components/__tests__/data-table-skeleton.test.d.ts +2 -0
  14. package/dist/components/__tests__/data-table-skeleton.test.d.ts.map +1 -0
  15. package/dist/components/__tests__/data-table-skeleton.test.js +27 -0
  16. package/dist/components/__tests__/data-table-skeleton.test.js.map +1 -0
  17. package/dist/components/__tests__/detail-page-skeleton.test.d.ts +2 -0
  18. package/dist/components/__tests__/detail-page-skeleton.test.d.ts.map +1 -0
  19. package/dist/components/__tests__/detail-page-skeleton.test.js +30 -0
  20. package/dist/components/__tests__/detail-page-skeleton.test.js.map +1 -0
  21. package/dist/components/__tests__/list-item-skeleton.test.d.ts +2 -0
  22. package/dist/components/__tests__/list-item-skeleton.test.d.ts.map +1 -0
  23. package/dist/components/__tests__/list-item-skeleton.test.js +38 -0
  24. package/dist/components/__tests__/list-item-skeleton.test.js.map +1 -0
  25. package/dist/components/__tests__/profile-header-skeleton.test.d.ts +2 -0
  26. package/dist/components/__tests__/profile-header-skeleton.test.d.ts.map +1 -0
  27. package/dist/components/__tests__/profile-header-skeleton.test.js +17 -0
  28. package/dist/components/__tests__/profile-header-skeleton.test.js.map +1 -0
  29. package/dist/components/__tests__/stat-card-skeleton.test.d.ts +2 -0
  30. package/dist/components/__tests__/stat-card-skeleton.test.d.ts.map +1 -0
  31. package/dist/components/__tests__/stat-card-skeleton.test.js +33 -0
  32. package/dist/components/__tests__/stat-card-skeleton.test.js.map +1 -0
  33. package/dist/components/animated-list.d.ts +11 -1
  34. package/dist/components/animated-list.d.ts.map +1 -1
  35. package/dist/components/animated-list.js +7 -1
  36. package/dist/components/animated-list.js.map +1 -1
  37. package/dist/components/animated-list.stories.d.ts +3 -2
  38. package/dist/components/animated-list.stories.d.ts.map +1 -1
  39. package/dist/components/bottle-extract-dialog.js +4 -5
  40. package/dist/components/bottle-extract-dialog.js.map +1 -1
  41. package/dist/components/card-grid-skeleton.d.ts +9 -0
  42. package/dist/components/card-grid-skeleton.d.ts.map +1 -0
  43. package/dist/components/card-grid-skeleton.js +16 -0
  44. package/dist/components/card-grid-skeleton.js.map +1 -0
  45. package/dist/components/card-grid-skeleton.stories.d.ts +35 -0
  46. package/dist/components/card-grid-skeleton.stories.d.ts.map +1 -0
  47. package/dist/components/card-grid-skeleton.stories.js +22 -0
  48. package/dist/components/card-grid-skeleton.stories.js.map +1 -0
  49. package/dist/components/dashboard-stats-grid.d.ts +11 -1
  50. package/dist/components/dashboard-stats-grid.d.ts.map +1 -1
  51. package/dist/components/dashboard-stats-grid.js +19 -12
  52. package/dist/components/dashboard-stats-grid.js.map +1 -1
  53. package/dist/components/dashboard-stats-grid.stories.d.ts +19 -0
  54. package/dist/components/dashboard-stats-grid.stories.d.ts.map +1 -0
  55. package/dist/components/dashboard-stats-grid.stories.js +34 -0
  56. package/dist/components/dashboard-stats-grid.stories.js.map +1 -0
  57. package/dist/components/data-table-skeleton.d.ts +9 -0
  58. package/dist/components/data-table-skeleton.d.ts.map +1 -0
  59. package/dist/components/data-table-skeleton.js +14 -0
  60. package/dist/components/data-table-skeleton.js.map +1 -0
  61. package/dist/components/data-table-skeleton.stories.d.ts +36 -0
  62. package/dist/components/data-table-skeleton.stories.d.ts.map +1 -0
  63. package/dist/components/data-table-skeleton.stories.js +22 -0
  64. package/dist/components/data-table-skeleton.stories.js.map +1 -0
  65. package/dist/components/detail-page-skeleton.d.ts +11 -0
  66. package/dist/components/detail-page-skeleton.d.ts.map +1 -0
  67. package/dist/components/detail-page-skeleton.js +14 -0
  68. package/dist/components/detail-page-skeleton.js.map +1 -0
  69. package/dist/components/detail-page-skeleton.stories.d.ts +15 -0
  70. package/dist/components/detail-page-skeleton.stories.d.ts.map +1 -0
  71. package/dist/components/detail-page-skeleton.stories.js +15 -0
  72. package/dist/components/detail-page-skeleton.stories.js.map +1 -0
  73. package/dist/components/extraction-phase-stepper.d.ts.map +1 -1
  74. package/dist/components/extraction-phase-stepper.js +5 -4
  75. package/dist/components/extraction-phase-stepper.js.map +1 -1
  76. package/dist/components/list-item-skeleton.d.ts +9 -0
  77. package/dist/components/list-item-skeleton.d.ts.map +1 -0
  78. package/dist/components/list-item-skeleton.js +13 -0
  79. package/dist/components/list-item-skeleton.js.map +1 -0
  80. package/dist/components/list-item-skeleton.stories.d.ts +27 -0
  81. package/dist/components/list-item-skeleton.stories.d.ts.map +1 -0
  82. package/dist/components/list-item-skeleton.stories.js +21 -0
  83. package/dist/components/list-item-skeleton.stories.js.map +1 -0
  84. package/dist/components/profile-header-skeleton.d.ts +12 -0
  85. package/dist/components/profile-header-skeleton.d.ts.map +1 -0
  86. package/dist/components/profile-header-skeleton.js +15 -0
  87. package/dist/components/profile-header-skeleton.js.map +1 -0
  88. package/dist/components/profile-header-skeleton.stories.d.ts +15 -0
  89. package/dist/components/profile-header-skeleton.stories.d.ts.map +1 -0
  90. package/dist/components/profile-header-skeleton.stories.js +15 -0
  91. package/dist/components/profile-header-skeleton.stories.js.map +1 -0
  92. package/dist/components/skeleton.d.ts +6 -1
  93. package/dist/components/skeleton.d.ts.map +1 -1
  94. package/dist/components/skeleton.js +5 -2
  95. package/dist/components/skeleton.js.map +1 -1
  96. package/dist/components/skeleton.stories.d.ts +9 -1
  97. package/dist/components/skeleton.stories.d.ts.map +1 -1
  98. package/dist/components/skeleton.stories.js +16 -5
  99. package/dist/components/skeleton.stories.js.map +1 -1
  100. package/dist/components/sortable-card-shell.test.d.ts +2 -0
  101. package/dist/components/sortable-card-shell.test.d.ts.map +1 -0
  102. package/dist/components/sortable-card-shell.test.js +115 -0
  103. package/dist/components/sortable-card-shell.test.js.map +1 -0
  104. package/dist/components/stat-card.d.ts +10 -1
  105. package/dist/components/stat-card.d.ts.map +1 -1
  106. package/dist/components/stat-card.js +15 -1
  107. package/dist/components/stat-card.js.map +1 -1
  108. package/dist/components/stat-card.stories.d.ts +6 -2
  109. package/dist/components/stat-card.stories.d.ts.map +1 -1
  110. package/dist/components/stat-card.stories.js +17 -4
  111. package/dist/components/stat-card.stories.js.map +1 -1
  112. package/dist/components/variant-picker-dialog.test.js +1 -1
  113. package/dist/components/variant-picker-dialog.test.js.map +1 -1
  114. package/dist/globe/__tests__/globe-loading-skeleton.test.d.ts +2 -0
  115. package/dist/globe/__tests__/globe-loading-skeleton.test.d.ts.map +1 -0
  116. package/dist/globe/__tests__/globe-loading-skeleton.test.js +29 -0
  117. package/dist/globe/__tests__/globe-loading-skeleton.test.js.map +1 -0
  118. package/dist/globe/globe-loading-skeleton.d.ts +13 -5
  119. package/dist/globe/globe-loading-skeleton.d.ts.map +1 -1
  120. package/dist/globe/globe-loading-skeleton.js +9 -2
  121. package/dist/globe/globe-loading-skeleton.js.map +1 -1
  122. package/dist/index.d.ts +6 -1
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +7 -1
  125. package/dist/index.js.map +1 -1
  126. package/dist/skeleton/__tests__/loader.test.d.ts +2 -0
  127. package/dist/skeleton/__tests__/loader.test.d.ts.map +1 -0
  128. package/dist/skeleton/__tests__/loader.test.js +33 -0
  129. package/dist/skeleton/__tests__/loader.test.js.map +1 -0
  130. package/dist/skeleton/__tests__/primitive.test.d.ts +2 -0
  131. package/dist/skeleton/__tests__/primitive.test.d.ts.map +1 -0
  132. package/dist/skeleton/__tests__/primitive.test.js +36 -0
  133. package/dist/skeleton/__tests__/primitive.test.js.map +1 -0
  134. package/dist/skeleton/__tests__/provider.test.d.ts +2 -0
  135. package/dist/skeleton/__tests__/provider.test.d.ts.map +1 -0
  136. package/dist/skeleton/__tests__/provider.test.js +78 -0
  137. package/dist/skeleton/__tests__/provider.test.js.map +1 -0
  138. package/dist/skeleton/index.d.ts +5 -0
  139. package/dist/skeleton/index.d.ts.map +1 -0
  140. package/dist/skeleton/index.js +5 -0
  141. package/dist/skeleton/index.js.map +1 -0
  142. package/dist/skeleton/loader.d.ts +15 -0
  143. package/dist/skeleton/loader.d.ts.map +1 -0
  144. package/dist/skeleton/loader.js +21 -0
  145. package/dist/skeleton/loader.js.map +1 -0
  146. package/dist/skeleton/loader.stories.d.ts +16 -0
  147. package/dist/skeleton/loader.stories.d.ts.map +1 -0
  148. package/dist/skeleton/loader.stories.js +27 -0
  149. package/dist/skeleton/loader.stories.js.map +1 -0
  150. package/dist/skeleton/provider.d.ts +13 -0
  151. package/dist/skeleton/provider.d.ts.map +1 -0
  152. package/dist/skeleton/provider.js +27 -0
  153. package/dist/skeleton/provider.js.map +1 -0
  154. package/dist/skeleton/stagger.d.ts +30 -0
  155. package/dist/skeleton/stagger.d.ts.map +1 -0
  156. package/dist/skeleton/stagger.js +45 -0
  157. package/dist/skeleton/stagger.js.map +1 -0
  158. package/package.json +1 -1
  159. package/src/theme/tokens.css +93 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=animated-list-skeleton.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animated-list-skeleton.test.d.ts","sourceRoot":"","sources":["../../../src/components/__tests__/animated-list-skeleton.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { describe, it, expect } from "vitest";
3
+ import { render } from "@testing-library/react";
4
+ import { AnimatedList } from "../animated-list";
5
+ describe("AnimatedList.Skeleton", () => {
6
+ it("renders at least one bone", () => {
7
+ const { container } = render(_jsx(AnimatedList.Skeleton, {}));
8
+ expect(container.querySelectorAll("[data-skeleton]").length).toBeGreaterThan(0);
9
+ });
10
+ });
11
+ //# sourceMappingURL=animated-list-skeleton.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animated-list-skeleton.test.js","sourceRoot":"","sources":["../../../src/components/__tests__/animated-list-skeleton.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,YAAY,CAAC,QAAQ,KAAG,CAAC,CAAC;QACxD,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=card-grid-skeleton.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-grid-skeleton.test.d.ts","sourceRoot":"","sources":["../../../src/components/__tests__/card-grid-skeleton.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { describe, it, expect } from "vitest";
3
+ import { render } from "@testing-library/react";
4
+ import { CardGridSkeleton } from "../card-grid-skeleton";
5
+ describe("<CardGridSkeleton>", () => {
6
+ it("renders `count` card skeletons", () => {
7
+ const { container } = render(_jsx(CardGridSkeleton, { cols: 3, count: 6 }));
8
+ expect(container.querySelectorAll("[data-skeleton-card]")).toHaveLength(6);
9
+ });
10
+ it("uses tier='data' by default", () => {
11
+ const { container } = render(_jsx(CardGridSkeleton, { cols: 2, count: 2 }));
12
+ container.querySelectorAll("[data-skeleton-card]").forEach((el) => {
13
+ expect(el).toHaveAttribute("data-tier", "data");
14
+ });
15
+ });
16
+ it("applies grid-cols class matching cols prop", () => {
17
+ const { container } = render(_jsx(CardGridSkeleton, { cols: 4, count: 4 }));
18
+ const grid = container.firstElementChild;
19
+ expect(grid?.className).toContain("xl:grid-cols-4");
20
+ });
21
+ });
22
+ //# sourceMappingURL=card-grid-skeleton.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-grid-skeleton.test.js","sourceRoot":"","sources":["../../../src/components/__tests__/card-grid-skeleton.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,gBAAgB,IAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAI,CAAC,CAAC;QACtE,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,gBAAgB,IAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAI,CAAC,CAAC;QACtE,SAAS,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAChE,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,gBAAgB,IAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAI,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC;QACzC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dashboard-stats-grid-skeleton.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-stats-grid-skeleton.test.d.ts","sourceRoot":"","sources":["../../../src/components/__tests__/dashboard-stats-grid-skeleton.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { describe, it, expect } from "vitest";
3
+ import { render } from "@testing-library/react";
4
+ import { DashboardStatsGrid } from "../dashboard-stats-grid";
5
+ describe("DashboardStatsGrid.Skeleton", () => {
6
+ it("renders 4 stat-card skeletons by default", () => {
7
+ const { container } = render(_jsx(DashboardStatsGrid.Skeleton, {}));
8
+ const cards = container.querySelectorAll("[data-skeleton-card]");
9
+ expect(cards).toHaveLength(4);
10
+ });
11
+ it("respects count prop", () => {
12
+ const { container } = render(_jsx(DashboardStatsGrid.Skeleton, { count: 3 }));
13
+ expect(container.querySelectorAll("[data-skeleton-card]")).toHaveLength(3);
14
+ });
15
+ it("all skeletons inherit tier='hero' by default", () => {
16
+ const { container } = render(_jsx(DashboardStatsGrid.Skeleton, {}));
17
+ container.querySelectorAll("[data-skeleton-card]").forEach((el) => {
18
+ expect(el).toHaveAttribute("data-tier", "hero");
19
+ });
20
+ });
21
+ });
22
+ describe("DashboardStatsGrid with isRefetching", () => {
23
+ it("renders stats with data-refetch-pulse when isRefetching is true", () => {
24
+ const { container } = render(_jsx(DashboardStatsGrid, { stats: [
25
+ { id: "a", label: "A", value: 1 },
26
+ { id: "b", label: "B", value: 2 },
27
+ ], isRefetching: true }));
28
+ expect(container.querySelector("[data-refetch-pulse]")).toBeInTheDocument();
29
+ });
30
+ it("does not render skeletons when isRefetching is true with data present", () => {
31
+ const { container } = render(_jsx(DashboardStatsGrid, { stats: [{ id: "a", label: "A", value: 1 }], isRefetching: true }));
32
+ expect(container.querySelectorAll("[data-skeleton-card]")).toHaveLength(0);
33
+ });
34
+ it("isLoading still wins over isRefetching (renders skeletons)", () => {
35
+ const { container } = render(_jsx(DashboardStatsGrid, { stats: [{ id: "a", label: "A", value: 1 }], isLoading: true, isRefetching: true }));
36
+ expect(container.querySelectorAll("[data-skeleton-card]")).toHaveLength(4);
37
+ });
38
+ });
39
+ //# sourceMappingURL=dashboard-stats-grid-skeleton.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-stats-grid-skeleton.test.js","sourceRoot":"","sources":["../../../src/components/__tests__/dashboard-stats-grid-skeleton.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data-table-skeleton.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-skeleton.test.d.ts","sourceRoot":"","sources":["../../../src/components/__tests__/data-table-skeleton.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { describe, it, expect } from "vitest";
3
+ import { render } from "@testing-library/react";
4
+ import { DataTableSkeleton } from "../data-table-skeleton";
5
+ describe("<DataTableSkeleton>", () => {
6
+ it("renders the requested number of rows and columns", () => {
7
+ const { container } = render(_jsx(DataTableSkeleton, { columns: 4, rows: 6 }));
8
+ const rowEls = container.querySelectorAll("[data-skeleton-row]");
9
+ expect(rowEls).toHaveLength(6);
10
+ rowEls.forEach((row) => {
11
+ expect(row.querySelectorAll("[data-skeleton]")).toHaveLength(4);
12
+ });
13
+ });
14
+ it("uses tier='data' by default", () => {
15
+ const { container } = render(_jsx(DataTableSkeleton, { columns: 2, rows: 2 }));
16
+ container.querySelectorAll("[data-skeleton]").forEach((el) => {
17
+ expect(el).toHaveAttribute("data-tier", "data");
18
+ });
19
+ });
20
+ it("honours tier override", () => {
21
+ const { container } = render(_jsx(DataTableSkeleton, { columns: 2, rows: 1, tier: "inline" }));
22
+ container.querySelectorAll("[data-skeleton]").forEach((el) => {
23
+ expect(el).toHaveAttribute("data-tier", "inline");
24
+ });
25
+ });
26
+ });
27
+ //# sourceMappingURL=data-table-skeleton.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-skeleton.test.js","sourceRoot":"","sources":["../../../src/components/__tests__/data-table-skeleton.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,iBAAiB,IAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAI,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrB,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,iBAAiB,IAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAI,CAAC,CAAC;QACzE,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,iBAAiB,IAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,QAAQ,GAAG,CAAC,CAAC;QACvF,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=detail-page-skeleton.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detail-page-skeleton.test.d.ts","sourceRoot":"","sources":["../../../src/components/__tests__/detail-page-skeleton.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { describe, it, expect } from "vitest";
3
+ import { render } from "@testing-library/react";
4
+ import { DetailPageSkeleton } from "../detail-page-skeleton";
5
+ import { SkeletonProvider } from "../../skeleton/provider";
6
+ describe("<DetailPageSkeleton>", () => {
7
+ it("renders title, meta row, and two-column body", () => {
8
+ const { container } = render(_jsx(DetailPageSkeleton, {}));
9
+ expect(container.querySelectorAll("[data-skeleton]").length).toBeGreaterThanOrEqual(6);
10
+ });
11
+ it("uses tier='hero' by default", () => {
12
+ const { container } = render(_jsx(DetailPageSkeleton, {}));
13
+ container.querySelectorAll("[data-skeleton]").forEach((el) => {
14
+ expect(el).toHaveAttribute("data-tier", "hero");
15
+ });
16
+ });
17
+ it("inherits tier from provider when no explicit prop", () => {
18
+ const { container } = render(_jsx(SkeletonProvider, { tier: "data", children: _jsx(DetailPageSkeleton, {}) }));
19
+ container.querySelectorAll("[data-skeleton]").forEach((el) => {
20
+ expect(el).toHaveAttribute("data-tier", "data");
21
+ });
22
+ });
23
+ it("explicit tier prop wins over provider", () => {
24
+ const { container } = render(_jsx(SkeletonProvider, { tier: "hero", children: _jsx(DetailPageSkeleton, { tier: "inline" }) }));
25
+ container.querySelectorAll("[data-skeleton]").forEach((el) => {
26
+ expect(el).toHaveAttribute("data-tier", "inline");
27
+ });
28
+ });
29
+ });
30
+ //# sourceMappingURL=detail-page-skeleton.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detail-page-skeleton.test.js","sourceRoot":"","sources":["../../../src/components/__tests__/detail-page-skeleton.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,kBAAkB,KAAG,CAAC,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,kBAAkB,KAAG,CAAC,CAAC;QACrD,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,gBAAgB,IAAC,IAAI,EAAC,MAAM,YAC3B,KAAC,kBAAkB,KAAG,GACL,CACpB,CAAC;QACF,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,gBAAgB,IAAC,IAAI,EAAC,MAAM,YAC3B,KAAC,kBAAkB,IAAC,IAAI,EAAC,QAAQ,GAAG,GACnB,CACpB,CAAC;QACF,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=list-item-skeleton.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-item-skeleton.test.d.ts","sourceRoot":"","sources":["../../../src/components/__tests__/list-item-skeleton.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { describe, it, expect } from "vitest";
3
+ import { render } from "@testing-library/react";
4
+ import { ListItemSkeleton } from "../list-item-skeleton";
5
+ import { SkeletonProvider } from "../../skeleton/provider";
6
+ describe("<ListItemSkeleton>", () => {
7
+ it("renders one item by default", () => {
8
+ const { container } = render(_jsx(ListItemSkeleton, {}));
9
+ expect(container.querySelectorAll("[data-skeleton-row]")).toHaveLength(1);
10
+ });
11
+ it("renders `count` items when provided", () => {
12
+ const { container } = render(_jsx(ListItemSkeleton, { count: 5 }));
13
+ expect(container.querySelectorAll("[data-skeleton-row]")).toHaveLength(5);
14
+ });
15
+ it("uses tier='data' by default", () => {
16
+ const { container } = render(_jsx(ListItemSkeleton, {}));
17
+ container.querySelectorAll("[data-skeleton]").forEach((el) => {
18
+ expect(el).toHaveAttribute("data-tier", "data");
19
+ });
20
+ });
21
+ it("supports variant='card' layout", () => {
22
+ const { container } = render(_jsx(ListItemSkeleton, { variant: "card", count: 2 }));
23
+ expect(container.querySelectorAll("[data-skeleton-row]")).toHaveLength(2);
24
+ });
25
+ it("inherits tier from provider when no explicit prop", () => {
26
+ const { container } = render(_jsx(SkeletonProvider, { tier: "hero", children: _jsx(ListItemSkeleton, {}) }));
27
+ container.querySelectorAll("[data-skeleton]").forEach((el) => {
28
+ expect(el).toHaveAttribute("data-tier", "hero");
29
+ });
30
+ });
31
+ it("explicit tier prop wins over provider", () => {
32
+ const { container } = render(_jsx(SkeletonProvider, { tier: "hero", children: _jsx(ListItemSkeleton, { tier: "inline" }) }));
33
+ container.querySelectorAll("[data-skeleton]").forEach((el) => {
34
+ expect(el).toHaveAttribute("data-tier", "inline");
35
+ });
36
+ });
37
+ });
38
+ //# sourceMappingURL=list-item-skeleton.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-item-skeleton.test.js","sourceRoot":"","sources":["../../../src/components/__tests__/list-item-skeleton.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,gBAAgB,KAAG,CAAC,CAAC;QACnD,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,gBAAgB,IAAC,KAAK,EAAE,CAAC,GAAI,CAAC,CAAC;QAC7D,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,gBAAgB,KAAG,CAAC,CAAC;QACnD,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,gBAAgB,IAAC,OAAO,EAAC,MAAM,EAAC,KAAK,EAAE,CAAC,GAAI,CAAC,CAAC;QAC5E,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,gBAAgB,IAAC,IAAI,EAAC,MAAM,YAC3B,KAAC,gBAAgB,KAAG,GACH,CACpB,CAAC;QACF,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC1B,KAAC,gBAAgB,IAAC,IAAI,EAAC,MAAM,YAC3B,KAAC,gBAAgB,IAAC,IAAI,EAAC,QAAQ,GAAG,GACjB,CACpB,CAAC;QACF,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=profile-header-skeleton.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-header-skeleton.test.d.ts","sourceRoot":"","sources":["../../../src/components/__tests__/profile-header-skeleton.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { describe, it, expect } from "vitest";
3
+ import { render } from "@testing-library/react";
4
+ import { ProfileHeaderSkeleton } from "../profile-header-skeleton";
5
+ describe("<ProfileHeaderSkeleton>", () => {
6
+ it("renders banner, avatar, title, description, and two grid cards as skeletons", () => {
7
+ const { container } = render(_jsx(ProfileHeaderSkeleton, {}));
8
+ expect(container.querySelectorAll("[data-skeleton]").length).toBeGreaterThanOrEqual(9);
9
+ });
10
+ it("uses tier='hero' by default", () => {
11
+ const { container } = render(_jsx(ProfileHeaderSkeleton, {}));
12
+ container.querySelectorAll("[data-skeleton]").forEach((el) => {
13
+ expect(el).toHaveAttribute("data-tier", "hero");
14
+ });
15
+ });
16
+ });
17
+ //# sourceMappingURL=profile-header-skeleton.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-header-skeleton.test.js","sourceRoot":"","sources":["../../../src/components/__tests__/profile-header-skeleton.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,qBAAqB,KAAG,CAAC,CAAC;QACxD,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,qBAAqB,KAAG,CAAC,CAAC;QACxD,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stat-card-skeleton.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stat-card-skeleton.test.d.ts","sourceRoot":"","sources":["../../../src/components/__tests__/stat-card-skeleton.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { describe, it, expect } from "vitest";
3
+ import { render, screen } from "@testing-library/react";
4
+ import { StatCard } from "../stat-card";
5
+ import { SkeletonProvider } from "../../skeleton/provider";
6
+ describe("StatCard.Skeleton", () => {
7
+ it("renders with data-skeleton-card and default data-tier='hero'", () => {
8
+ render(_jsx(StatCard.Skeleton, { "data-testid": "sc" }));
9
+ const root = screen.getByTestId("sc");
10
+ expect(root).toHaveAttribute("data-skeleton-card");
11
+ expect(root).toHaveAttribute("data-tier", "hero");
12
+ });
13
+ it("honours tier override prop", () => {
14
+ render(_jsx(StatCard.Skeleton, { tier: "inline", "data-testid": "sc" }));
15
+ expect(screen.getByTestId("sc")).toHaveAttribute("data-tier", "inline");
16
+ });
17
+ it("sets --skeleton-delay inline style based on cascade index", () => {
18
+ render(_jsxs(SkeletonProvider, { stagger: 100, children: [_jsx(StatCard.Skeleton, { "data-testid": "a" }), _jsx(StatCard.Skeleton, { "data-testid": "b" }), _jsx(StatCard.Skeleton, { "data-testid": "c" })] }));
19
+ expect(screen.getByTestId("a")).toHaveStyle({ "--skeleton-delay": "0ms" });
20
+ expect(screen.getByTestId("b")).toHaveStyle({ "--skeleton-delay": "100ms" });
21
+ expect(screen.getByTestId("c")).toHaveStyle({ "--skeleton-delay": "200ms" });
22
+ });
23
+ it("contains at least one data-skeleton bone inside", () => {
24
+ const { container } = render(_jsx(StatCard.Skeleton, {}));
25
+ const bones = container.querySelectorAll("[data-skeleton]");
26
+ expect(bones.length).toBeGreaterThan(0);
27
+ });
28
+ it("inherits tier from a provider when no explicit prop is set", () => {
29
+ render(_jsx(SkeletonProvider, { tier: "data", children: _jsx(StatCard.Skeleton, { "data-testid": "sc" }) }));
30
+ expect(screen.getByTestId("sc")).toHaveAttribute("data-tier", "data");
31
+ });
32
+ });
33
+ //# sourceMappingURL=stat-card-skeleton.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stat-card-skeleton.test.js","sourceRoot":"","sources":["../../../src/components/__tests__/stat-card-skeleton.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CAAC,KAAC,QAAQ,CAAC,QAAQ,mBAAa,IAAI,GAAG,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,KAAC,QAAQ,CAAC,QAAQ,IAAC,IAAI,EAAC,QAAQ,iBAAa,IAAI,GAAG,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CACJ,MAAC,gBAAgB,IAAC,OAAO,EAAE,GAAG,aAC5B,KAAC,QAAQ,CAAC,QAAQ,mBAAa,GAAG,GAAG,EACrC,KAAC,QAAQ,CAAC,QAAQ,mBAAa,GAAG,GAAG,EACrC,KAAC,QAAQ,CAAC,QAAQ,mBAAa,GAAG,GAAG,IACpB,CACpB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,QAAQ,CAAC,QAAQ,KAAG,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CACJ,KAAC,gBAAgB,IAAC,IAAI,EAAC,MAAM,YAC3B,KAAC,QAAQ,CAAC,QAAQ,mBAAa,IAAI,GAAG,GACrB,CACpB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type SkeletonTier } from "../skeleton/stagger";
1
2
  export interface AnimatedListItem {
2
3
  id: string | number;
3
4
  content: React.ReactNode;
@@ -16,5 +17,14 @@ export interface AnimatedListProps {
16
17
  className?: string;
17
18
  emptyState?: React.ReactNode;
18
19
  }
19
- export declare function AnimatedList({ items, isLoading, skeletonCount, renderSkeleton, animationType, enterFrom, staggerDelay, duration, itemGap, onItemClick, className, emptyState, }: AnimatedListProps): import("react/jsx-runtime").JSX.Element;
20
+ declare function AnimatedListBase({ items, isLoading, skeletonCount, renderSkeleton, animationType, enterFrom, staggerDelay, duration, itemGap, onItemClick, className, emptyState, }: AnimatedListProps): import("react/jsx-runtime").JSX.Element;
21
+ export interface AnimatedListSkeletonProps {
22
+ tier?: SkeletonTier;
23
+ className?: string;
24
+ }
25
+ declare function AnimatedListSkeleton({ tier, className }?: AnimatedListSkeletonProps): import("react/jsx-runtime").JSX.Element;
26
+ export declare const AnimatedList: typeof AnimatedListBase & {
27
+ Skeleton: typeof AnimatedListSkeleton;
28
+ };
29
+ export {};
20
30
  //# sourceMappingURL=animated-list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"animated-list.d.ts","sourceRoot":"","sources":["../../src/components/animated-list.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AA0CD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,SAAiB,EACjB,aAAiB,EACjB,cAAc,EACd,aAAuB,EACvB,SAAoB,EACpB,YAAiB,EACjB,QAAe,EACf,OAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,GACX,EAAE,iBAAiB,2CAwCnB"}
1
+ {"version":3,"file":"animated-list.d.ts","sourceRoot":"","sources":["../../src/components/animated-list.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACvC,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AA0CD,iBAAS,gBAAgB,CAAC,EACxB,KAAK,EACL,SAAiB,EACjB,aAAiB,EACjB,cAAc,EACd,aAAuB,EACvB,SAAoB,EACpB,YAAiB,EACjB,QAAe,EACf,OAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,GACX,EAAE,iBAAiB,2CAwCnB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,oBAAoB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAE,yBAA8B,2CAgBhF;AAED,eAAO,MAAM,YAAY;;CAEvB,CAAC"}
@@ -34,7 +34,7 @@ function DefaultSkeleton() {
34
34
  return (_jsxs("div", { className: "flex items-center gap-3 rounded-lg border border-border bg-card p-4", children: [_jsx(Skeleton, { className: "size-10 shrink-0 rounded-full" }), _jsxs("div", { className: "flex-1 space-y-2", children: [_jsx(Skeleton, { className: "h-3.5 w-32" }), _jsx(Skeleton, { className: "h-3 w-48" })] }), _jsx(Skeleton, { className: "h-8 w-20 rounded-md" })] }));
35
35
  }
36
36
  /* ─── Component ─── */
37
- export function AnimatedList({ items, isLoading = false, skeletonCount = 4, renderSkeleton, animationType = "slide", enterFrom = "bottom", staggerDelay = 50, duration = 0.35, itemGap = 12, onItemClick, className, emptyState, }) {
37
+ function AnimatedListBase({ items, isLoading = false, skeletonCount = 4, renderSkeleton, animationType = "slide", enterFrom = "bottom", staggerDelay = 50, duration = 0.35, itemGap = 12, onItemClick, className, emptyState, }) {
38
38
  if (isLoading) {
39
39
  return (_jsx("div", { className: cn("flex flex-col", className), style: { gap: itemGap }, children: Array.from({ length: skeletonCount }).map((_, i) => (
40
40
  // eslint-disable-next-line @eslint-react/no-array-index-key
@@ -49,4 +49,10 @@ export function AnimatedList({ items, isLoading = false, skeletonCount = 4, rend
49
49
  ease: [0.25, 0.46, 0.45, 0.94],
50
50
  }, onClick: onItemClick ? () => onItemClick(item) : undefined, className: onItemClick ? "cursor-pointer" : undefined, children: item.content }, item.id))) }) }));
51
51
  }
52
+ function AnimatedListSkeleton({ tier, className } = {}) {
53
+ return (_jsxs("div", { className: cn("flex items-center gap-3 rounded-lg border border-border bg-card p-4", className), children: [_jsx(Skeleton, { tier: tier, className: "size-10 shrink-0 rounded-full" }), _jsxs("div", { className: "flex-1 space-y-2", children: [_jsx(Skeleton, { tier: tier, className: "h-3.5 w-32" }), _jsx(Skeleton, { tier: tier, className: "h-3 w-48" })] }), _jsx(Skeleton, { tier: tier, className: "h-8 w-20 rounded-md" })] }));
54
+ }
55
+ export const AnimatedList = Object.assign(AnimatedListBase, {
56
+ Skeleton: AnimatedListSkeleton,
57
+ });
52
58
  //# sourceMappingURL=animated-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"animated-list.js","sourceRoot":"","sources":["../../src/components/animated-list.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAwBtC,gCAAgC;AAEhC,SAAS,UAAU,CAAC,IAAwC,EAAE,IAAoC;IAChG,MAAM,IAAI,GAA2B,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAEpD,IAAI,IAAI,KAAK,OAAO;QAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IAExC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAAC,MAAM;QAChC,KAAK,QAAQ;YAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;YAAC,MAAM;QAClC,KAAK,MAAM;YAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAAC,MAAM;QACjC,KAAK,OAAO;YAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;YAAC,MAAM;IACnC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,IAAwC;IAC1D,MAAM,IAAI,GAA2B,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChE,IAAI,IAAI,KAAK,OAAO;QAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+BAA+B;AAE/B,SAAS,eAAe;IACtB,OAAO,CACL,eAAK,SAAS,EAAC,qEAAqE,aAClF,KAAC,QAAQ,IAAC,SAAS,EAAC,+BAA+B,GAAG,EACtD,eAAK,SAAS,EAAC,kBAAkB,aAC/B,KAAC,QAAQ,IAAC,SAAS,EAAC,YAAY,GAAG,EACnC,KAAC,QAAQ,IAAC,SAAS,EAAC,UAAU,GAAG,IAC7B,EACN,KAAC,QAAQ,IAAC,SAAS,EAAC,qBAAqB,GAAG,IACxC,CACP,CAAC;AACJ,CAAC;AAED,uBAAuB;AAEvB,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,SAAS,GAAG,KAAK,EACjB,aAAa,GAAG,CAAC,EACjB,cAAc,EACd,aAAa,GAAG,OAAO,EACvB,SAAS,GAAG,QAAQ,EACpB,YAAY,GAAG,EAAE,EACjB,QAAQ,GAAG,IAAI,EACf,OAAO,GAAG,EAAE,EACZ,WAAW,EACX,SAAS,EACT,UAAU,GACQ;IAClB,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,YACpE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,4DAA4D;YAC5D,wBAAc,cAAc,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,KAAC,eAAe,KAAG,IAA3D,CAAC,CAAiE,CAC7E,CAAC,GACE,CACP,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;QACrC,OAAO,4BAAG,UAAU,GAAI,CAAC;IAC3B,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,YACrE,KAAC,eAAe,IAAC,OAAO,QAAC,IAAI,EAAC,WAAW,YACtC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,KAAC,MAAM,CAAC,GAAG,IAET,MAAM,QACN,OAAO,EAAE,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,EAC7C,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,EAClC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EACjC,UAAU,EAAE;oBACV,QAAQ;oBACR,KAAK,EAAE,KAAK,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC;oBACpC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;iBAC/B,EACD,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAC1D,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,YAEpD,IAAI,CAAC,OAAO,IAbR,IAAI,CAAC,EAAE,CAcD,CACd,CAAC,GACc,GACd,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"animated-list.js","sourceRoot":"","sources":["../../src/components/animated-list.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { StoryObj } from "@storybook/react-vite";
2
- import { AnimatedList } from "./animated-list";
3
2
  declare const meta: {
4
3
  title: string;
5
- component: typeof AnimatedList;
4
+ component: (({ items, isLoading, skeletonCount, renderSkeleton, animationType, enterFrom, staggerDelay, duration, itemGap, onItemClick, className, emptyState, }: import("./animated-list").AnimatedListProps) => import("react/jsx-runtime").JSX.Element) & {
5
+ Skeleton: ({ tier, className }?: import("./animated-list").AnimatedListSkeletonProps) => import("react/jsx-runtime").JSX.Element;
6
+ };
6
7
  tags: string[];
7
8
  parameters: {
8
9
  layout: string;
@@ -1 +1 @@
1
- {"version":3,"file":"animated-list.stories.d.ts","sourceRoot":"","sources":["../../src/components/animated-list.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAEtE,QAAA,MAAM,IAAI;;;;;;;CAK2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAyEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAO5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAM5B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KASxB,CAAC"}
1
+ {"version":3,"file":"animated-list.stories.d.ts","sourceRoot":"","sources":["../../src/components/animated-list.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,QAAA,MAAM,IAAI;;;;;;;;;CAK2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAyEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAO5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAM5B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KASxB,CAAC"}
@@ -64,13 +64,13 @@ export function BottleExtractDialog({ open, context, onClose, onSubmit, t, }) {
64
64
  };
65
65
  return (_jsx(Dialog.Root, { open: open, onOpenChange: (nextOpen) => !nextOpen && onClose(), children: _jsxs(Dialog.Portal, { children: [_jsx(Dialog.Overlay, { className: "fixed inset-0 z-50 bg-foreground/20 backdrop-blur-xs" }), _jsxs(Dialog.Content, { "aria-labelledby": titleId, className: cn("fixed left-1/2 top-1/2 z-50 w-[calc(100%-2rem)] max-w-lg -translate-x-1/2 -translate-y-1/2", "rounded-2xl border border-border bg-card p-6 shadow-xl"), children: [_jsx(Dialog.Title, { id: titleId, className: "text-base/6 font-semibold text-foreground", children: t("dialog.title") }), _jsxs("form", { onSubmit: handleSubmit, className: "mt-4 flex flex-col gap-4", children: [_jsx(DropZone, { ref: fileInputRef, file: file, onFileChange: handleFileChange, t: t }), _jsxs("fieldset", { className: "flex flex-col gap-2", children: [_jsx("legend", { className: "sr-only", children: "Upload mode" }), _jsxs("label", { className: "flex cursor-pointer items-start gap-3", children: [_jsx("input", { type: "radio", name: "mode", value: "as_is", checked: mode === "as_is", onChange: () => setMode("as_is"), className: "mt-1" }), _jsxs("span", { children: [_jsx("span", { className: "font-medium text-foreground", children: t("dialog.mode_as_is") }), _jsx("span", { className: "block text-sm text-muted-foreground", children: t("dialog.mode_as_is_help", { name: targetName }) })] })] }), _jsxs("label", { className: "flex cursor-pointer items-start gap-3", children: [_jsx("input", { type: "radio", name: "mode", value: "extract", checked: mode === "extract", onChange: () => setMode("extract"), className: "mt-1" }), _jsxs("span", { children: [_jsx("span", { className: "font-medium text-foreground", children: t("dialog.mode_extract") }), _jsx("span", { className: "block text-sm text-muted-foreground", children: t("dialog.mode_extract_help", { name: targetName }) })] })] })] }), mode === "extract" && (_jsxs("label", { className: "flex cursor-pointer items-center gap-2 text-foreground", children: [_jsx("input", { type: "checkbox", checked: makePrimary, onChange: (e) => setMakePrimary(e.target.checked) }), _jsx("span", { children: t("dialog.make_primary") })] })), state.kind === "error" && (_jsx("div", { role: "alert", className: "rounded-lg border border-red-300 bg-red-50 p-2 text-sm text-red-900 dark:border-red-800 dark:bg-red-950 dark:text-red-100", children: state.message })), _jsx("div", { "aria-live": "polite", className: "sr-only", children: state.kind === "submitting" ? t("dialog.uploading") : "" }), _jsxs("div", { className: "mt-2 flex justify-end gap-2", children: [_jsx("button", { type: "button", onClick: onClose, className: "rounded-md px-4 py-2 text-foreground hover:bg-muted/50 focus:outline-hidden focus-visible:ring-2 focus-visible:ring-primary/50", children: t("dialog.cancel") }), _jsx("button", { type: "submit", disabled: !file || state.kind === "submitting", className: "rounded-md bg-emerald-600 px-4 py-2 text-white hover:bg-emerald-700 focus:outline-hidden focus-visible:ring-2 focus-visible:ring-emerald-500 disabled:opacity-50", children: state.kind === "submitting" ? t("dialog.uploading") : t("dialog.submit") })] })] }), _jsx(Dialog.Close, { className: "absolute right-4 top-4 text-muted-foreground hover:text-foreground focus:outline-hidden focus-visible:ring-2 focus-visible:ring-primary/50", "aria-label": "Close", children: "\u00D7" })] })] }) }));
66
66
  }
67
- const DropZone = React.forwardRef(({ file, onFileChange, t }, ref) => {
67
+ function DropZone({ ref, file, onFileChange, t, }) {
68
68
  const [hover, setHover] = React.useState(false);
69
69
  const labelId = React.useId();
70
- return (_jsxs("div", { role: "button", tabIndex: 0, "aria-labelledby": labelId, onClick: () => ref.current?.click(), onKeyDown: (e) => {
70
+ return (_jsxs("div", { role: "button", tabIndex: 0, "aria-labelledby": labelId, onClick: () => ref?.current?.click(), onKeyDown: (e) => {
71
71
  if (e.key === "Enter" || e.key === " ") {
72
72
  e.preventDefault();
73
- ref.current?.click();
73
+ ref?.current?.click();
74
74
  }
75
75
  }, onDragOver: (e) => {
76
76
  e.preventDefault();
@@ -82,6 +82,5 @@ const DropZone = React.forwardRef(({ file, onFileChange, t }, ref) => {
82
82
  }, className: cn("cursor-pointer rounded-lg border-2 border-dashed p-6 text-center focus:outline-hidden focus-visible:ring-2 focus-visible:ring-emerald-500", hover
83
83
  ? "border-emerald-500 bg-emerald-50 dark:bg-emerald-950/30"
84
84
  : "border-border bg-muted/20"), children: [_jsx("input", { ref: ref, type: "file", accept: "image/jpeg,image/png", className: "hidden", onChange: (e) => onFileChange(e.target.files) }), _jsx("p", { id: labelId, className: "text-sm text-foreground", children: file ? file.name : t("dialog.drop_zone") })] }));
85
- });
86
- DropZone.displayName = "DropZone";
85
+ }
87
86
  //# sourceMappingURL=bottle-extract-dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bottle-extract-dialog.js","sourceRoot":"","sources":["../../src/components/bottle-extract-dialog.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AA0BlC,MAAM,UAAU,mBAAmB,CAAC,EAClC,IAAI,EACJ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,CAAC,GACwB;IACzB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAc,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAsB,SAAS,CAAC,CAAC;IACvE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAc,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IAE1D,MAAM,UAAU,GACd,OAAO,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACnF,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IAE9B,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAiB,EAAE;QAC1C,IACE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;YACtC,CAAC,CAAC,IAAI,KAAK,YAAY;YACvB,CAAC,CAAC,IAAI,KAAK,YAAY,EACvB,CAAC;YACD,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,OAAO,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;YAAE,OAAO,2BAA2B,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,KAAsB,EAAE,EAAE;QAClD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,GAAG,EAAE,CAAC;YACR,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,CAAkB,EAAE,EAAE;QAChD,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC;gBACb,IAAI;gBACJ,SAAS,EAAE,IAAI,KAAK,SAAS;gBAC7B,WAAW,EAAE,IAAI,KAAK,SAAS,IAAI,WAAW;aAC/C,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,CAAC,SAAS,CAAC,CAAC;YACnB,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,MAAM,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,OAAO,EAAE,YACzE,MAAC,MAAM,CAAC,MAAM,eACZ,KAAC,MAAM,CAAC,OAAO,IAAC,SAAS,EAAC,sDAAsD,GAAG,EACnF,MAAC,MAAM,CAAC,OAAO,uBACI,OAAO,EACxB,SAAS,EAAE,EAAE,CACX,4FAA4F,EAC5F,wDAAwD,CACzD,aAED,KAAC,MAAM,CAAC,KAAK,IAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,2CAA2C,YAC7E,CAAC,CAAC,cAAc,CAAC,GACL,EACf,gBAAM,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAC,0BAA0B,aAChE,KAAC,QAAQ,IAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAI,EACjF,oBAAU,SAAS,EAAC,qBAAqB,aACvC,iBAAQ,SAAS,EAAC,SAAS,4BAAqB,EAChD,iBAAO,SAAS,EAAC,uCAAuC,aACtD,gBACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,OAAO,EACb,OAAO,EAAE,IAAI,KAAK,OAAO,EACzB,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAChC,SAAS,EAAC,MAAM,GAChB,EACF,2BACE,eAAM,SAAS,EAAC,6BAA6B,YAAE,CAAC,CAAC,mBAAmB,CAAC,GAAQ,EAC7E,eAAM,SAAS,EAAC,qCAAqC,YAClD,CAAC,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,GAC7C,IACF,IACD,EACR,iBAAO,SAAS,EAAC,uCAAuC,aACtD,gBACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,IAAI,KAAK,SAAS,EAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAClC,SAAS,EAAC,MAAM,GAChB,EACF,2BACE,eAAM,SAAS,EAAC,6BAA6B,YAAE,CAAC,CAAC,qBAAqB,CAAC,GAAQ,EAC/E,eAAM,SAAS,EAAC,qCAAqC,YAClD,CAAC,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,GAC/C,IACF,IACD,IACC,EACV,IAAI,KAAK,SAAS,IAAI,CACrB,iBAAO,SAAS,EAAC,wDAAwD,aACvE,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GACjD,EACF,yBAAO,CAAC,CAAC,qBAAqB,CAAC,GAAQ,IACjC,CACT,EACA,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CACzB,cACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,2HAA2H,YAEpI,KAAK,CAAC,OAAO,GACV,CACP,EACD,2BAAe,QAAQ,EAAC,SAAS,EAAC,SAAS,YACxC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,GACrD,EACN,eAAK,SAAS,EAAC,6BAA6B,aAC1C,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,gIAAgI,YAEzI,CAAC,CAAC,eAAe,CAAC,GACZ,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAC9C,SAAS,EAAC,kKAAkK,YAE3K,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAClE,IACL,IACD,EACP,KAAC,MAAM,CAAC,KAAK,IACX,SAAS,EAAC,4IAA4I,gBAC3I,OAAO,uBAGL,IACA,IACH,GACJ,CACf,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAO/B,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IAC9B,OAAO,CACL,eACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,qBACM,OAAO,EACxB,OAAO,EAAE,GAAG,EAAE,CAAE,GAAyC,CAAC,OAAO,EAAE,KAAK,EAAE,EAC1E,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACvC,CAAC,CAAC,cAAc,EAAE,CAAC;gBAClB,GAAyC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC9D,CAAC;QACH,CAAC,EACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;YAChB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC,EACD,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAClC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;YACZ,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC,EACD,SAAS,EAAE,EAAE,CACX,2IAA2I,EAC3I,KAAK;YACH,CAAC,CAAC,yDAAyD;YAC3D,CAAC,CAAC,2BAA2B,CAChC,aAED,gBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,sBAAsB,EAC7B,SAAS,EAAC,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAC7C,EACF,YAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAC,yBAAyB,YAChD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GACvC,IACA,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"bottle-extract-dialog.js","sourceRoot":"","sources":["../../src/components/bottle-extract-dialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { type SkeletonTier } from "../skeleton/stagger";
3
+ export interface CardGridSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ cols: 1 | 2 | 3 | 4;
5
+ count: number;
6
+ tier?: SkeletonTier;
7
+ }
8
+ export declare function CardGridSkeleton({ cols, count, tier, className, ...rest }: CardGridSkeletonProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=card-grid-skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-grid-skeleton.d.ts","sourceRoot":"","sources":["../../src/components/card-grid-skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE5E,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACjF,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB;AASD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAS,EACT,GAAG,IAAI,EACR,EAAE,qBAAqB,2CAiCvB"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../lib/utils";
3
+ import { Skeleton } from "./skeleton";
4
+ import { useSkeletonContext } from "../skeleton/stagger";
5
+ const COLS_CLASS = {
6
+ 1: "grid-cols-1",
7
+ 2: "md:grid-cols-2",
8
+ 3: "md:grid-cols-2 xl:grid-cols-3",
9
+ 4: "md:grid-cols-2 xl:grid-cols-4",
10
+ };
11
+ export function CardGridSkeleton({ cols, count, tier, className, ...rest }) {
12
+ const ctx = useSkeletonContext();
13
+ const resolvedTier = tier ?? (ctx.hasProvider ? ctx.tier : "data");
14
+ return (_jsx("div", { className: cn("grid gap-4", COLS_CLASS[cols], className), ...rest, children: Array.from({ length: count }).map((_, i) => (_jsxs("div", { "data-skeleton-card": "", "data-tier": resolvedTier, className: "flex flex-col gap-3 rounded-2xl border border-border/60 bg-card p-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(Skeleton, { tier: resolvedTier, className: "size-10 rounded-full" }), _jsxs("div", { className: "flex flex-1 flex-col gap-2", children: [_jsx(Skeleton, { tier: resolvedTier, className: "h-3 w-24" }), _jsx(Skeleton, { tier: resolvedTier, className: "h-3 w-16" })] })] }), _jsx(Skeleton, { tier: resolvedTier, className: "h-24 w-full rounded-lg" }), _jsxs("div", { className: "flex gap-2", children: [_jsx(Skeleton, { tier: resolvedTier, className: "h-6 w-16 rounded-md" }), _jsx(Skeleton, { tier: resolvedTier, className: "h-6 w-16 rounded-md" })] })] }, i))) }));
15
+ }
16
+ //# sourceMappingURL=card-grid-skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-grid-skeleton.js","sourceRoot":"","sources":["../../src/components/card-grid-skeleton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAqB,MAAM,qBAAqB,CAAC;AAQ5E,MAAM,UAAU,GAAkD;IAChE,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,gBAAgB;IACnB,CAAC,EAAE,+BAA+B;IAClC,CAAC,EAAE,+BAA+B;CACnC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAS,EACT,GAAG,IAAI,EACe;IACtB,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,MAAM,YAAY,GAAiB,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEjF,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,KACpD,IAAI,YAEP,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3C,qCAGqB,EAAE,eACV,YAAY,EACvB,SAAS,EAAC,qEAAqE,aAE/E,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,QAAQ,IAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAC,sBAAsB,GAAG,EACjE,eAAK,SAAS,EAAC,4BAA4B,aACzC,KAAC,QAAQ,IAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAC,UAAU,GAAG,EACrD,KAAC,QAAQ,IAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAC,UAAU,GAAG,IACjD,IACF,EACN,KAAC,QAAQ,IAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAC,wBAAwB,GAAG,EACnE,eAAK,SAAS,EAAC,YAAY,aACzB,KAAC,QAAQ,IAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAC,qBAAqB,GAAG,EAChE,KAAC,QAAQ,IAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAC,qBAAqB,GAAG,IAC5D,KAhBD,CAAC,CAiBF,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { StoryObj } from "@storybook/react-vite";
2
+ import { CardGridSkeleton } from "./card-grid-skeleton";
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof CardGridSkeleton;
6
+ tags: string[];
7
+ parameters: {
8
+ layout: string;
9
+ };
10
+ argTypes: {
11
+ cols: {
12
+ control: {
13
+ type: "select";
14
+ };
15
+ options: number[];
16
+ };
17
+ count: {
18
+ control: {
19
+ type: "number";
20
+ min: number;
21
+ max: number;
22
+ };
23
+ };
24
+ tier: {
25
+ control: "select";
26
+ options: string[];
27
+ };
28
+ };
29
+ };
30
+ export default meta;
31
+ type Story = StoryObj<typeof meta>;
32
+ export declare const Default: Story;
33
+ export declare const TwoColumn: Story;
34
+ export declare const HeroInProvider: Story;
35
+ //# sourceMappingURL=card-grid-skeleton.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-grid-skeleton.stories.d.ts","sourceRoot":"","sources":["../../src/components/card-grid-skeleton.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CAU+B,CAAC;AAE1C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAuC,CAAC;AAC9D,eAAO,MAAM,SAAS,EAAE,KAAuC,CAAC;AAChE,eAAO,MAAM,cAAc,EAAE,KAO5B,CAAC"}