@burdenoff/microfe-coolandlovely 2026.706.2 → 2026.710.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 (213) hide show
  1. package/dist/coolandlovely/CoolAndLovelyRoot.d.ts +5 -0
  2. package/dist/coolandlovely/CoolAndLovelyRoot.d.ts.map +1 -0
  3. package/dist/coolandlovely/CoolAndLovelyRoot.js +62 -46
  4. package/dist/coolandlovely/CoolAndLovelyRoot.js.map +1 -1
  5. package/dist/coolandlovely/CoolAndLovelyRoutes.d.ts +4 -0
  6. package/dist/coolandlovely/CoolAndLovelyRoutes.d.ts.map +1 -0
  7. package/dist/coolandlovely/components/ActorName.d.ts +14 -0
  8. package/dist/coolandlovely/components/ActorName.d.ts.map +1 -0
  9. package/dist/coolandlovely/components/AddToLookbookButton.d.ts +10 -0
  10. package/dist/coolandlovely/components/AddToLookbookButton.d.ts.map +1 -0
  11. package/dist/coolandlovely/components/AddToLookbookButton.js +22 -22
  12. package/dist/coolandlovely/components/AddToLookbookButton.js.map +1 -1
  13. package/dist/coolandlovely/components/BrandCover.d.ts +17 -0
  14. package/dist/coolandlovely/components/BrandCover.d.ts.map +1 -0
  15. package/dist/coolandlovely/components/BrandCover.js +39 -0
  16. package/dist/coolandlovely/components/BrandCover.js.map +1 -0
  17. package/dist/coolandlovely/components/BrandCreatorAvatars.d.ts +14 -0
  18. package/dist/coolandlovely/components/BrandCreatorAvatars.d.ts.map +1 -0
  19. package/dist/coolandlovely/components/BrandCreatorAvatars.js +57 -0
  20. package/dist/coolandlovely/components/BrandCreatorAvatars.js.map +1 -0
  21. package/dist/coolandlovely/components/ColourSwatchRow.d.ts +11 -0
  22. package/dist/coolandlovely/components/ColourSwatchRow.d.ts.map +1 -0
  23. package/dist/coolandlovely/components/ColourSwatchRow.js +86 -0
  24. package/dist/coolandlovely/components/ColourSwatchRow.js.map +1 -0
  25. package/dist/coolandlovely/components/Comments.d.ts +14 -0
  26. package/dist/coolandlovely/components/Comments.d.ts.map +1 -0
  27. package/dist/coolandlovely/components/Comments.js +4 -4
  28. package/dist/coolandlovely/components/Comments.js.map +1 -1
  29. package/dist/coolandlovely/components/EmptyState.d.ts +14 -0
  30. package/dist/coolandlovely/components/EmptyState.d.ts.map +1 -0
  31. package/dist/coolandlovely/components/Field.d.ts +68 -0
  32. package/dist/coolandlovely/components/Field.d.ts.map +1 -0
  33. package/dist/coolandlovely/components/FileImage.d.ts +10 -0
  34. package/dist/coolandlovely/components/FileImage.d.ts.map +1 -0
  35. package/dist/coolandlovely/components/FileImage.js.map +1 -1
  36. package/dist/coolandlovely/components/FollowButton.d.ts +11 -0
  37. package/dist/coolandlovely/components/FollowButton.d.ts.map +1 -0
  38. package/dist/coolandlovely/components/ImageUploadField.d.ts +21 -0
  39. package/dist/coolandlovely/components/ImageUploadField.d.ts.map +1 -0
  40. package/dist/coolandlovely/components/ImageUploadField.js +139 -57
  41. package/dist/coolandlovely/components/ImageUploadField.js.map +1 -1
  42. package/dist/coolandlovely/components/LookCard.d.ts +17 -0
  43. package/dist/coolandlovely/components/LookCard.d.ts.map +1 -0
  44. package/dist/coolandlovely/components/LookCard.js +77 -0
  45. package/dist/coolandlovely/components/LookCard.js.map +1 -0
  46. package/dist/coolandlovely/components/MetricsCard.d.ts +16 -0
  47. package/dist/coolandlovely/components/MetricsCard.d.ts.map +1 -0
  48. package/dist/coolandlovely/components/MetricsCard.js +1 -1
  49. package/dist/coolandlovely/components/MetricsCard.js.map +1 -1
  50. package/dist/coolandlovely/components/PageLayout.d.ts +17 -0
  51. package/dist/coolandlovely/components/PageLayout.d.ts.map +1 -0
  52. package/dist/coolandlovely/components/ShopItemCard.d.ts +15 -0
  53. package/dist/coolandlovely/components/ShopItemCard.d.ts.map +1 -0
  54. package/dist/coolandlovely/components/ShopItemCard.js +45 -0
  55. package/dist/coolandlovely/components/ShopItemCard.js.map +1 -0
  56. package/dist/coolandlovely/components/StateViews.d.ts +16 -0
  57. package/dist/coolandlovely/components/StateViews.d.ts.map +1 -0
  58. package/dist/coolandlovely/components/StatusBadge.d.ts +9 -0
  59. package/dist/coolandlovely/components/StatusBadge.d.ts.map +1 -0
  60. package/dist/coolandlovely/components/StepTracker.d.ts +12 -0
  61. package/dist/coolandlovely/components/StepTracker.d.ts.map +1 -0
  62. package/dist/coolandlovely/components/StepTracker.js +35 -0
  63. package/dist/coolandlovely/components/StepTracker.js.map +1 -0
  64. package/dist/coolandlovely/components/TagList.d.ts +12 -0
  65. package/dist/coolandlovely/components/TagList.d.ts.map +1 -0
  66. package/dist/coolandlovely/components/Thumbnail.d.ts +23 -0
  67. package/dist/coolandlovely/components/Thumbnail.d.ts.map +1 -0
  68. package/dist/coolandlovely/components/Thumbnail.js +15 -11
  69. package/dist/coolandlovely/components/Thumbnail.js.map +1 -1
  70. package/dist/coolandlovely/components/VisibilityChip.d.ts +10 -0
  71. package/dist/coolandlovely/components/VisibilityChip.d.ts.map +1 -0
  72. package/dist/coolandlovely/components/VisibilityChip.js +32 -0
  73. package/dist/coolandlovely/components/VisibilityChip.js.map +1 -0
  74. package/dist/coolandlovely/components/index.d.ts +26 -0
  75. package/dist/coolandlovely/components/index.d.ts.map +1 -0
  76. package/dist/coolandlovely/context/CoolAndLovelyContext.d.ts +16 -0
  77. package/dist/coolandlovely/context/CoolAndLovelyContext.d.ts.map +1 -0
  78. package/dist/coolandlovely/context/index.d.ts +6 -0
  79. package/dist/coolandlovely/context/index.d.ts.map +1 -0
  80. package/dist/coolandlovely/hooks/index.d.ts +11 -0
  81. package/dist/coolandlovely/hooks/index.d.ts.map +1 -0
  82. package/dist/coolandlovely/hooks/useComments.d.ts +37 -0
  83. package/dist/coolandlovely/hooks/useComments.d.ts.map +1 -0
  84. package/dist/coolandlovely/hooks/useCoolAndLovelyApi.d.ts +106 -0
  85. package/dist/coolandlovely/hooks/useCoolAndLovelyApi.d.ts.map +1 -0
  86. package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js +94 -69
  87. package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js.map +1 -1
  88. package/dist/coolandlovely/hooks/useFiles.d.ts +62 -0
  89. package/dist/coolandlovely/hooks/useFiles.d.ts.map +1 -0
  90. package/dist/coolandlovely/hooks/useFiles.js +49 -32
  91. package/dist/coolandlovely/hooks/useFiles.js.map +1 -1
  92. package/dist/coolandlovely/index.d.ts +11 -0
  93. package/dist/coolandlovely/index.d.ts.map +1 -0
  94. package/dist/coolandlovely/pages/HomePage.d.ts +10 -0
  95. package/dist/coolandlovely/pages/HomePage.d.ts.map +1 -0
  96. package/dist/coolandlovely/pages/HomePage.js +112 -133
  97. package/dist/coolandlovely/pages/HomePage.js.map +1 -1
  98. package/dist/coolandlovely/pages/brands/BrandDetailPage.d.ts +9 -0
  99. package/dist/coolandlovely/pages/brands/BrandDetailPage.d.ts.map +1 -0
  100. package/dist/coolandlovely/pages/brands/BrandDetailPage.js +253 -242
  101. package/dist/coolandlovely/pages/brands/BrandDetailPage.js.map +1 -1
  102. package/dist/coolandlovely/pages/brands/BrandFormPage.d.ts +9 -0
  103. package/dist/coolandlovely/pages/brands/BrandFormPage.d.ts.map +1 -0
  104. package/dist/coolandlovely/pages/brands/BrandFormPage.js +116 -112
  105. package/dist/coolandlovely/pages/brands/BrandFormPage.js.map +1 -1
  106. package/dist/coolandlovely/pages/brands/BrandsListPage.d.ts +9 -0
  107. package/dist/coolandlovely/pages/brands/BrandsListPage.d.ts.map +1 -0
  108. package/dist/coolandlovely/pages/brands/BrandsListPage.js +13 -13
  109. package/dist/coolandlovely/pages/brands/BrandsListPage.js.map +1 -1
  110. package/dist/coolandlovely/pages/collaborations/CollaborationDetailPage.d.ts +9 -0
  111. package/dist/coolandlovely/pages/collaborations/CollaborationDetailPage.d.ts.map +1 -0
  112. package/dist/coolandlovely/pages/collaborations/CollaborationDetailPage.js +117 -95
  113. package/dist/coolandlovely/pages/collaborations/CollaborationDetailPage.js.map +1 -1
  114. package/dist/coolandlovely/pages/collaborations/CollaborationFormPage.d.ts +10 -0
  115. package/dist/coolandlovely/pages/collaborations/CollaborationFormPage.d.ts.map +1 -0
  116. package/dist/coolandlovely/pages/collaborations/CollaborationFormPage.js +1 -1
  117. package/dist/coolandlovely/pages/collaborations/CollaborationsListPage.d.ts +9 -0
  118. package/dist/coolandlovely/pages/collaborations/CollaborationsListPage.d.ts.map +1 -0
  119. package/dist/coolandlovely/pages/collaborations/CollaborationsListPage.js +50 -43
  120. package/dist/coolandlovely/pages/collaborations/CollaborationsListPage.js.map +1 -1
  121. package/dist/coolandlovely/pages/collections/CollectionDetailPage.d.ts +9 -0
  122. package/dist/coolandlovely/pages/collections/CollectionDetailPage.d.ts.map +1 -0
  123. package/dist/coolandlovely/pages/collections/CollectionDetailPage.js +131 -108
  124. package/dist/coolandlovely/pages/collections/CollectionDetailPage.js.map +1 -1
  125. package/dist/coolandlovely/pages/collections/CollectionFormPage.d.ts +9 -0
  126. package/dist/coolandlovely/pages/collections/CollectionFormPage.d.ts.map +1 -0
  127. package/dist/coolandlovely/pages/collections/CollectionFormPage.js +1 -1
  128. package/dist/coolandlovely/pages/collections/CollectionsListPage.d.ts +8 -0
  129. package/dist/coolandlovely/pages/collections/CollectionsListPage.d.ts.map +1 -0
  130. package/dist/coolandlovely/pages/collections/CollectionsListPage.js +59 -56
  131. package/dist/coolandlovely/pages/collections/CollectionsListPage.js.map +1 -1
  132. package/dist/coolandlovely/pages/discover/DiscoverPage.d.ts +13 -0
  133. package/dist/coolandlovely/pages/discover/DiscoverPage.d.ts.map +1 -0
  134. package/dist/coolandlovely/pages/discover/DiscoverPage.js +1 -1
  135. package/dist/coolandlovely/pages/discover/DiscoverPage.js.map +1 -1
  136. package/dist/coolandlovely/pages/items/StyleItemDetailPage.d.ts +9 -0
  137. package/dist/coolandlovely/pages/items/StyleItemDetailPage.d.ts.map +1 -0
  138. package/dist/coolandlovely/pages/items/StyleItemDetailPage.js +175 -147
  139. package/dist/coolandlovely/pages/items/StyleItemDetailPage.js.map +1 -1
  140. package/dist/coolandlovely/pages/items/StyleItemFormPage.d.ts +10 -0
  141. package/dist/coolandlovely/pages/items/StyleItemFormPage.d.ts.map +1 -0
  142. package/dist/coolandlovely/pages/items/StyleItemFormPage.js +1 -1
  143. package/dist/coolandlovely/pages/items/StyleItemsListPage.d.ts +9 -0
  144. package/dist/coolandlovely/pages/items/StyleItemsListPage.d.ts.map +1 -0
  145. package/dist/coolandlovely/pages/items/StyleItemsListPage.js +71 -62
  146. package/dist/coolandlovely/pages/items/StyleItemsListPage.js.map +1 -1
  147. package/dist/coolandlovely/pages/lookbooks/LookbookDetailPage.d.ts +12 -0
  148. package/dist/coolandlovely/pages/lookbooks/LookbookDetailPage.d.ts.map +1 -0
  149. package/dist/coolandlovely/pages/lookbooks/LookbookDetailPage.js +149 -127
  150. package/dist/coolandlovely/pages/lookbooks/LookbookDetailPage.js.map +1 -1
  151. package/dist/coolandlovely/pages/lookbooks/LookbooksListPage.d.ts +10 -0
  152. package/dist/coolandlovely/pages/lookbooks/LookbooksListPage.d.ts.map +1 -0
  153. package/dist/coolandlovely/pages/lookbooks/LookbooksListPage.js +69 -53
  154. package/dist/coolandlovely/pages/lookbooks/LookbooksListPage.js.map +1 -1
  155. package/dist/coolandlovely/pages/looks/LookDetailPage.d.ts +9 -0
  156. package/dist/coolandlovely/pages/looks/LookDetailPage.d.ts.map +1 -0
  157. package/dist/coolandlovely/pages/looks/LookDetailPage.js +135 -113
  158. package/dist/coolandlovely/pages/looks/LookDetailPage.js.map +1 -1
  159. package/dist/coolandlovely/pages/looks/LookFormPage.d.ts +10 -0
  160. package/dist/coolandlovely/pages/looks/LookFormPage.d.ts.map +1 -0
  161. package/dist/coolandlovely/pages/looks/LookFormPage.js +122 -110
  162. package/dist/coolandlovely/pages/looks/LookFormPage.js.map +1 -1
  163. package/dist/coolandlovely/pages/looks/LooksListPage.d.ts +9 -0
  164. package/dist/coolandlovely/pages/looks/LooksListPage.d.ts.map +1 -0
  165. package/dist/coolandlovely/pages/looks/LooksListPage.js +60 -97
  166. package/dist/coolandlovely/pages/looks/LooksListPage.js.map +1 -1
  167. package/dist/coolandlovely/pages/profile/StyleProfilePage.d.ts +12 -0
  168. package/dist/coolandlovely/pages/profile/StyleProfilePage.d.ts.map +1 -0
  169. package/dist/coolandlovely/pages/profile/StyleProfilePage.js +372 -210
  170. package/dist/coolandlovely/pages/profile/StyleProfilePage.js.map +1 -1
  171. package/dist/coolandlovely/pages/trends/TrendsPage.d.ts +11 -0
  172. package/dist/coolandlovely/pages/trends/TrendsPage.d.ts.map +1 -0
  173. package/dist/coolandlovely/pages/trends/TrendsPage.js +1 -1
  174. package/dist/coolandlovely/pages/trends/TrendsPage.js.map +1 -1
  175. package/dist/coolandlovely/pages/wardrobe/WardrobeFormPage.d.ts +10 -0
  176. package/dist/coolandlovely/pages/wardrobe/WardrobeFormPage.d.ts.map +1 -0
  177. package/dist/coolandlovely/pages/wardrobe/WardrobeFormPage.js +130 -94
  178. package/dist/coolandlovely/pages/wardrobe/WardrobeFormPage.js.map +1 -1
  179. package/dist/coolandlovely/pages/wardrobe/WardrobeListPage.d.ts +12 -0
  180. package/dist/coolandlovely/pages/wardrobe/WardrobeListPage.d.ts.map +1 -0
  181. package/dist/coolandlovely/pages/wardrobe/WardrobeListPage.js +75 -76
  182. package/dist/coolandlovely/pages/wardrobe/WardrobeListPage.js.map +1 -1
  183. package/dist/coolandlovely/store/coolandlovelyStore.d.ts +56 -0
  184. package/dist/coolandlovely/store/coolandlovelyStore.d.ts.map +1 -0
  185. package/dist/coolandlovely/store/index.d.ts +6 -0
  186. package/dist/coolandlovely/store/index.d.ts.map +1 -0
  187. package/dist/coolandlovely/types/index.d.ts +451 -0
  188. package/dist/coolandlovely/types/index.d.ts.map +1 -0
  189. package/dist/coolandlovely/utils/cn.d.ts +4 -0
  190. package/dist/coolandlovely/utils/cn.d.ts.map +1 -0
  191. package/dist/coolandlovely/utils/formatters.d.ts +101 -0
  192. package/dist/coolandlovely/utils/formatters.d.ts.map +1 -0
  193. package/dist/coolandlovely/utils/icons.d.ts +6 -0
  194. package/dist/coolandlovely/utils/icons.d.ts.map +1 -0
  195. package/dist/coolandlovely/utils/index.d.ts +9 -0
  196. package/dist/coolandlovely/utils/index.d.ts.map +1 -0
  197. package/dist/coolandlovely/utils/navigation.d.ts +20 -0
  198. package/dist/coolandlovely/utils/navigation.d.ts.map +1 -0
  199. package/dist/generated/global-operations.d.ts +2 -0
  200. package/dist/generated/global-operations.d.ts.map +1 -0
  201. package/dist/generated/global-types.d.ts +23527 -0
  202. package/dist/generated/global-types.d.ts.map +1 -0
  203. package/dist/generated/wspace-operations.d.ts +2 -0
  204. package/dist/generated/wspace-operations.d.ts.map +1 -0
  205. package/dist/generated/wspace-types.d.ts +57851 -0
  206. package/dist/generated/wspace-types.d.ts.map +1 -0
  207. package/dist/index.d.ts +6 -0
  208. package/dist/index.d.ts.map +1 -0
  209. package/dist/services/createSandboxAssistantTransport.d.ts +44 -0
  210. package/dist/services/createSandboxAssistantTransport.d.ts.map +1 -0
  211. package/dist/utils/pageContext.d.ts +28 -0
  212. package/dist/utils/pageContext.d.ts.map +1 -0
  213. package/package.json +5 -1
@@ -4,18 +4,19 @@ import { PageLayout as n } from "../../components/PageLayout.js";
4
4
  import { StatusBadge as r } from "../../components/StatusBadge.js";
5
5
  import { ErrorView as i, LoadingView as a } from "../../components/StateViews.js";
6
6
  import { Thumbnail as o } from "../../components/Thumbnail.js";
7
- import { useBrand as s, useTransitionBrand as c } from "../../hooks/useCoolAndLovelyApi.js";
7
+ import { useBrand as s, useTransitionBrand as c, useUpdateBrand as l } from "../../hooks/useCoolAndLovelyApi.js";
8
+ import { formatDate as u, formatPrice as d, titleCase as f } from "../../utils/formatters.js";
8
9
  import "../../hooks/index.js";
9
- import { formatDate as l, formatPrice as u, titleCase as d } from "../../utils/formatters.js";
10
- import { TagList as f } from "../../components/TagList.js";
11
- import { Comments as p } from "../../components/Comments.js";
12
- import { categoryIcon as m } from "../../utils/icons.js";
13
- import { ArrowLeft as h, ExternalLink as g, Loader2 as _, Pencil as v, Plus as y, Shapes as b, Shirt as x, Star as S, Store as C } from "lucide-react";
14
- import { useParams as w } from "react-router-dom";
15
- import { jsx as T, jsxs as E } from "react/jsx-runtime";
16
- import { GlassCard as D } from "@burdenoff/fe-libs/ui";
10
+ import { BrandCover as p } from "../../components/BrandCover.js";
11
+ import { TagList as m } from "../../components/TagList.js";
12
+ import { Comments as h } from "../../components/Comments.js";
13
+ import { categoryIcon as g } from "../../utils/icons.js";
14
+ import { ArrowLeft as _, ExternalLink as v, Loader2 as y, Pencil as b, Plus as x, Shapes as S, Shirt as C, Store as w } from "lucide-react";
15
+ import { useParams as T } from "react-router-dom";
16
+ import { Fragment as E, jsx as D, jsxs as O } from "react/jsx-runtime";
17
+ import { GlassCard as k } from "@burdenoff/fe-libs/ui";
17
18
  //#region src/coolandlovely/pages/brands/BrandDetailPage.tsx
18
- var O = {
19
+ var A = {
19
20
  DRAFT: ["PENDING_REVIEW", "ARCHIVED"],
20
21
  PENDING_REVIEW: [
21
22
  "PUBLISHED",
@@ -26,316 +27,326 @@ var O = {
26
27
  SUSPENDED: ["PUBLISHED", "ARCHIVED"],
27
28
  ARCHIVED: []
28
29
  };
29
- function k() {
30
- let { brandId: k } = w(), { navigateTo: A } = e(), j = s(k), M = c();
31
- if (j.isLoading) return /* @__PURE__ */ T(n, {
30
+ function j() {
31
+ let { brandId: j } = T(), { navigateTo: M } = e(), N = s(j), P = c(), F = l();
32
+ if (N.isLoading) return /* @__PURE__ */ D(n, {
32
33
  title: "Brand",
33
- children: /* @__PURE__ */ T(a, { label: "Loading brand…" })
34
+ children: /* @__PURE__ */ D(a, { label: "Loading brand…" })
34
35
  });
35
- if (j.isError || !j.data) return /* @__PURE__ */ T(n, {
36
+ if (N.isError || !N.data) return /* @__PURE__ */ D(n, {
36
37
  title: "Brand",
37
- children: /* @__PURE__ */ T(i, {
38
+ children: /* @__PURE__ */ D(i, {
38
39
  title: "Brand not found",
39
40
  message: "This storefront could not be loaded or does not exist.",
40
- onRetry: () => void j.refetch()
41
+ onRetry: () => void N.refetch()
41
42
  })
42
43
  });
43
- let N = j.data, P = N.collections ?? [], F = N.items ?? [], I = O[N.status], L = N.websiteUrl && /^https?:\/\//i.test(N.websiteUrl) ? N.websiteUrl : void 0;
44
- return /* @__PURE__ */ T(n, {
45
- title: N.name,
46
- description: `@${N.handle}`,
47
- actions: /* @__PURE__ */ E("div", {
48
- className: "flex flex-wrap items-center gap-2",
49
- children: [/* @__PURE__ */ E("button", {
50
- type: "button",
51
- onClick: () => A("/brands"),
52
- className: "inline-flex items-center gap-1.5 rounded-lg border border-border-seam px-3 py-2 text-sm font-medium text-text-primary transition-colors hover:bg-bg-sunken",
53
- children: [/* @__PURE__ */ T(h, { className: "h-4 w-4" }), " Back"]
54
- }), /* @__PURE__ */ E("button", {
55
- type: "button",
56
- onClick: () => A(`/brands/${N.id}/edit`),
57
- className: "inline-flex items-center gap-1.5 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text transition-colors hover:bg-action-primary-bg/90",
58
- children: [/* @__PURE__ */ T(v, { className: "h-4 w-4" }), " Edit"]
59
- })]
60
- }),
61
- children: /* @__PURE__ */ E("div", {
44
+ let I = N.data, L = I.collections ?? [], R = I.items ?? [], z = A[I.status], B = I.websiteUrl && /^https?:\/\//i.test(I.websiteUrl) ? I.websiteUrl : void 0;
45
+ return /* @__PURE__ */ D(n, {
46
+ title: I.name,
47
+ description: `@${I.handle}`,
48
+ children: /* @__PURE__ */ O("div", {
62
49
  className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
63
- children: [/* @__PURE__ */ E("div", {
64
- className: "lg:col-span-2",
50
+ children: [/* @__PURE__ */ O("div", {
51
+ className: "space-y-6 lg:col-span-2",
65
52
  children: [
66
- /* @__PURE__ */ E(D, {
67
- treatment: "glass",
68
- className: "overflow-hidden p-0",
69
- children: [/* @__PURE__ */ T(o, {
70
- icon: /* @__PURE__ */ T(C, { className: "h-12 w-12" }),
71
- seed: N.id,
72
- fileId: N.cover?.id ?? N.logo?.id,
73
- alt: N.name,
74
- className: "h-44 w-full"
75
- }), /* @__PURE__ */ E("div", {
76
- className: "p-6",
77
- children: [
78
- /* @__PURE__ */ E("div", {
79
- className: "flex items-center gap-2",
80
- children: [
81
- /* @__PURE__ */ T("h2", {
82
- className: "text-xl font-semibold text-text-primary",
83
- children: N.name
84
- }),
85
- N.isFeatured && /* @__PURE__ */ T(S, { className: "h-4 w-4 fill-status-warning-text text-status-warning-text" }),
86
- /* @__PURE__ */ T(r, {
87
- status: N.status,
88
- className: "ml-auto"
89
- })
90
- ]
91
- }),
92
- N.tagline && /* @__PURE__ */ T("p", {
93
- className: "mt-2 text-sm text-text-primary",
94
- children: N.tagline
95
- }),
96
- N.bio && /* @__PURE__ */ T("p", {
97
- className: "mt-3 text-sm text-text-secondary",
98
- children: N.bio
99
- }),
100
- N.aesthetics.length > 0 && /* @__PURE__ */ E("div", {
101
- className: "mt-4",
102
- children: [/* @__PURE__ */ T("p", {
103
- className: "mb-1.5 text-xs font-medium uppercase tracking-wide text-text-secondary",
104
- children: "Aesthetics"
105
- }), /* @__PURE__ */ T(f, {
106
- tags: N.aesthetics.map(d),
107
- tone: "accent",
108
- max: 12
109
- })]
110
- }),
111
- N.tags.length > 0 && /* @__PURE__ */ E("div", {
112
- className: "mt-3",
113
- children: [/* @__PURE__ */ T("p", {
114
- className: "mb-1.5 text-xs font-medium uppercase tracking-wide text-text-secondary",
115
- children: "Tags"
116
- }), /* @__PURE__ */ T(f, {
117
- tags: N.tags,
118
- max: 12
53
+ /* @__PURE__ */ D(p, {
54
+ coverFileId: I.cover?.id,
55
+ logoFileId: I.logo?.id,
56
+ name: I.name,
57
+ seed: I.id,
58
+ className: "overflow-hidden rounded-xl border border-border-seam shadow-sm",
59
+ overlay: /* @__PURE__ */ O(E, { children: [/* @__PURE__ */ O("div", {
60
+ className: "absolute right-3 top-3 flex flex-wrap items-center justify-end gap-2",
61
+ children: [/* @__PURE__ */ O("button", {
62
+ type: "button",
63
+ onClick: () => M("/brands"),
64
+ className: "inline-flex items-center gap-1.5 rounded-lg bg-bg-surface/80 px-3 py-2 text-sm font-medium text-text-primary shadow-sm backdrop-blur transition-colors hover:bg-bg-surface",
65
+ children: [/* @__PURE__ */ D(_, { className: "h-4 w-4" }), " Back"]
66
+ }), /* @__PURE__ */ O("button", {
67
+ type: "button",
68
+ onClick: () => M(`/brands/${I.id}/edit`),
69
+ className: "inline-flex items-center gap-1.5 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text shadow-sm transition-colors hover:bg-action-primary-bg/90",
70
+ children: [/* @__PURE__ */ D(b, { className: "h-4 w-4" }), " Edit"]
71
+ })]
72
+ }), /* @__PURE__ */ O("div", {
73
+ className: "absolute inset-x-0 bottom-0 flex items-end gap-3 p-4 sm:gap-4 sm:p-5",
74
+ children: [/* @__PURE__ */ D(o, {
75
+ icon: /* @__PURE__ */ D(w, { className: "h-7 w-7" }),
76
+ seed: I.id,
77
+ fileId: I.logo?.id,
78
+ alt: `${I.name} logo`,
79
+ className: "h-16 w-16 shrink-0 rounded-full shadow-md ring-2 ring-bg-surface"
80
+ }), /* @__PURE__ */ O("div", {
81
+ className: "min-w-0 pb-1",
82
+ children: [/* @__PURE__ */ O("div", {
83
+ className: "flex flex-wrap items-center gap-x-2 gap-y-0.5",
84
+ children: [/* @__PURE__ */ D("h2", {
85
+ className: "truncate text-xl font-semibold text-text-primary sm:text-2xl",
86
+ children: I.name
87
+ }), /* @__PURE__ */ O("span", {
88
+ className: "text-sm text-text-secondary",
89
+ children: ["@", I.handle]
119
90
  })]
120
- }),
121
- L ? /* @__PURE__ */ E("a", {
122
- href: L,
123
- target: "_blank",
124
- rel: "noopener noreferrer",
125
- className: "mt-4 inline-flex max-w-full items-center gap-1.5 text-sm font-medium text-action-primary-bg hover:underline",
126
- children: [
127
- /* @__PURE__ */ T(g, { className: "h-4 w-4 shrink-0" }),
128
- " ",
129
- /* @__PURE__ */ T("span", {
130
- className: "break-all",
131
- children: L
132
- })
133
- ]
134
- }) : N.websiteUrl ? /* @__PURE__ */ T("p", {
135
- className: "mt-4 break-all text-sm text-text-secondary",
136
- children: N.websiteUrl
137
- }) : null
138
- ]
139
- })]
91
+ }), I.tagline && /* @__PURE__ */ D("p", {
92
+ className: "mt-1 line-clamp-2 text-sm text-text-primary",
93
+ children: I.tagline
94
+ })]
95
+ })]
96
+ })] })
140
97
  }),
141
- /* @__PURE__ */ E("section", {
98
+ /* @__PURE__ */ O("section", {
99
+ className: "space-y-3",
100
+ children: [
101
+ /* @__PURE__ */ O("div", {
102
+ className: "flex flex-wrap items-center justify-between gap-3",
103
+ children: [I.aesthetics.length > 0 ? /* @__PURE__ */ D(m, {
104
+ tags: I.aesthetics.map(f),
105
+ tone: "accent",
106
+ max: 12
107
+ }) : /* @__PURE__ */ D("span", {}), /* @__PURE__ */ D(r, { status: I.status })]
108
+ }),
109
+ I.bio && /* @__PURE__ */ D("p", {
110
+ className: "text-sm text-text-secondary",
111
+ children: I.bio
112
+ }),
113
+ I.tags.length > 0 && /* @__PURE__ */ D(m, {
114
+ tags: I.tags,
115
+ max: 12
116
+ }),
117
+ B ? /* @__PURE__ */ O("a", {
118
+ href: B,
119
+ target: "_blank",
120
+ rel: "noopener noreferrer",
121
+ className: "inline-flex max-w-full items-center gap-1.5 text-sm font-medium text-action-primary-bg hover:underline",
122
+ children: [
123
+ /* @__PURE__ */ D(v, { className: "h-4 w-4 shrink-0" }),
124
+ " ",
125
+ /* @__PURE__ */ D("span", {
126
+ className: "break-all",
127
+ children: B
128
+ })
129
+ ]
130
+ }) : I.websiteUrl ? /* @__PURE__ */ D("p", {
131
+ className: "break-all text-sm text-text-secondary",
132
+ children: I.websiteUrl
133
+ }) : null
134
+ ]
135
+ }),
136
+ /* @__PURE__ */ O("section", {
142
137
  className: "mt-6",
143
- children: [/* @__PURE__ */ E("div", {
138
+ children: [/* @__PURE__ */ O("div", {
144
139
  className: "mb-3 flex items-center justify-between gap-2",
145
- children: [/* @__PURE__ */ E("h3", {
140
+ children: [/* @__PURE__ */ O("h3", {
146
141
  className: "flex items-center gap-2 text-lg font-semibold text-text-primary",
147
142
  children: [
148
- /* @__PURE__ */ T(b, { className: "h-5 w-5" }),
143
+ /* @__PURE__ */ D(S, { className: "h-5 w-5" }),
149
144
  " Collections (",
150
- P.length,
145
+ L.length,
151
146
  ")"
152
147
  ]
153
- }), /* @__PURE__ */ E("button", {
148
+ }), /* @__PURE__ */ O("button", {
154
149
  type: "button",
155
- onClick: () => A(`/collections/new?brandId=${N.id}`),
150
+ onClick: () => M(`/collections/new?brandId=${I.id}`),
156
151
  className: "inline-flex shrink-0 items-center gap-1.5 rounded-lg border border-border-seam px-3 py-1.5 text-sm font-medium text-text-primary transition-colors hover:bg-bg-sunken",
157
- children: [/* @__PURE__ */ T(y, { className: "h-4 w-4" }), " Add collection"]
152
+ children: [/* @__PURE__ */ D(x, { className: "h-4 w-4" }), " Add collection"]
158
153
  })]
159
- }), P.length === 0 ? /* @__PURE__ */ T("p", {
154
+ }), L.length === 0 ? /* @__PURE__ */ D("p", {
160
155
  className: "rounded-lg border border-border-seam bg-bg-surface p-4 text-sm text-text-secondary",
161
156
  children: "No collections yet."
162
- }) : /* @__PURE__ */ T("div", {
157
+ }) : /* @__PURE__ */ D("div", {
163
158
  className: "grid grid-cols-1 gap-3 sm:grid-cols-2",
164
- children: P.map((e) => /* @__PURE__ */ E("button", {
159
+ children: L.map((e) => /* @__PURE__ */ O("button", {
165
160
  type: "button",
166
- onClick: () => A(`/collections/${e.id}`),
161
+ onClick: () => M(`/collections/${e.id}`),
167
162
  className: "flex items-center gap-3 rounded-lg border border-border-seam bg-bg-surface p-3 text-left transition-colors hover:bg-bg-sunken/50",
168
163
  children: [
169
- /* @__PURE__ */ T(o, {
170
- icon: /* @__PURE__ */ T(b, { className: "h-5 w-5" }),
164
+ /* @__PURE__ */ D(o, {
165
+ icon: /* @__PURE__ */ D(S, { className: "h-5 w-5" }),
171
166
  seed: e.id,
172
167
  fileId: e.cover?.id,
173
168
  alt: e.name,
174
169
  className: "h-11 w-11 shrink-0"
175
170
  }),
176
- /* @__PURE__ */ E("div", {
171
+ /* @__PURE__ */ O("div", {
177
172
  className: "min-w-0 flex-1",
178
- children: [/* @__PURE__ */ T("p", {
173
+ children: [/* @__PURE__ */ D("p", {
179
174
  className: "truncate text-sm font-medium text-text-primary",
180
175
  children: e.name
181
- }), /* @__PURE__ */ T("p", {
176
+ }), /* @__PURE__ */ D("p", {
182
177
  className: "text-xs text-text-secondary",
183
- children: d(e.season)
178
+ children: f(e.season)
184
179
  })]
185
180
  }),
186
- /* @__PURE__ */ T(r, { status: e.status })
181
+ /* @__PURE__ */ D(r, { status: e.status })
187
182
  ]
188
183
  }, e.id))
189
184
  })]
190
185
  }),
191
- /* @__PURE__ */ E("section", {
186
+ /* @__PURE__ */ O("section", {
192
187
  className: "mt-6",
193
- children: [/* @__PURE__ */ E("h3", {
188
+ children: [/* @__PURE__ */ O("h3", {
194
189
  className: "mb-3 flex items-center gap-2 text-lg font-semibold text-text-primary",
195
190
  children: [
196
- /* @__PURE__ */ T(x, { className: "h-5 w-5" }),
191
+ /* @__PURE__ */ D(C, { className: "h-5 w-5" }),
197
192
  " Style items (",
198
- F.length,
193
+ R.length,
199
194
  ")"
200
195
  ]
201
- }), F.length === 0 ? /* @__PURE__ */ T("p", {
196
+ }), R.length === 0 ? /* @__PURE__ */ D("p", {
202
197
  className: "rounded-lg border border-border-seam bg-bg-surface p-4 text-sm text-text-secondary",
203
198
  children: "No items yet."
204
- }) : /* @__PURE__ */ T("div", {
199
+ }) : /* @__PURE__ */ D("div", {
205
200
  className: "grid grid-cols-2 gap-3 sm:grid-cols-3",
206
- children: F.map((e) => /* @__PURE__ */ E("button", {
201
+ children: R.map((e) => /* @__PURE__ */ O("button", {
207
202
  type: "button",
208
- onClick: () => A(`/items/${e.id}`),
203
+ onClick: () => M(`/items/${e.id}`),
209
204
  className: "overflow-hidden rounded-lg border border-border-seam bg-bg-surface text-left transition-all hover:border-accent-foreground/20 hover:shadow-md",
210
- children: [/* @__PURE__ */ T(o, {
211
- icon: m(e.category, 24),
205
+ children: [/* @__PURE__ */ D(o, {
206
+ icon: g(e.category, 24),
212
207
  seed: e.id,
213
208
  fileId: e.image?.id,
214
209
  alt: e.name,
215
210
  className: "h-24 w-full"
216
- }), /* @__PURE__ */ E("div", {
211
+ }), /* @__PURE__ */ O("div", {
217
212
  className: "p-3",
218
- children: [/* @__PURE__ */ T("p", {
213
+ children: [/* @__PURE__ */ D("p", {
219
214
  className: "truncate text-sm font-medium text-text-primary",
220
215
  children: e.name
221
- }), /* @__PURE__ */ T("p", {
216
+ }), /* @__PURE__ */ D("p", {
222
217
  className: "mt-0.5 text-xs text-text-secondary",
223
- children: u(e.price, e.currency)
218
+ children: d(e.price, e.currency)
224
219
  })]
225
220
  })]
226
221
  }, e.id))
227
222
  })]
228
- }),
229
- /* @__PURE__ */ T(p, {
230
- entityType: "CooBrand",
231
- entityId: N.id
232
223
  })
233
224
  ]
234
- }), /* @__PURE__ */ E("div", {
225
+ }), /* @__PURE__ */ O("div", {
235
226
  className: "space-y-4",
236
- children: [/* @__PURE__ */ E(D, {
237
- treatment: "insight",
238
- className: "p-5",
239
- children: [
240
- /* @__PURE__ */ T("h3", {
241
- className: "mb-3 text-sm font-semibold text-text-primary",
242
- children: "Lifecycle"
243
- }),
244
- /* @__PURE__ */ E("div", {
245
- className: "mb-3 flex items-center gap-2",
246
- children: [/* @__PURE__ */ T("span", {
247
- className: "text-sm text-text-secondary",
248
- children: "Current:"
249
- }), /* @__PURE__ */ T(r, { status: N.status })]
250
- }),
251
- I.length === 0 ? /* @__PURE__ */ T("p", {
252
- className: "text-xs text-text-secondary",
253
- children: "This brand is archived (terminal state)."
254
- }) : /* @__PURE__ */ T("div", {
255
- className: "flex flex-col gap-2",
256
- children: I.map((e) => /* @__PURE__ */ E("button", {
257
- type: "button",
258
- disabled: M.isPending,
259
- onClick: () => M.mutate({
260
- id: N.id,
261
- status: e
262
- }),
263
- className: t("inline-flex items-center justify-center gap-2 rounded-lg border border-border-seam px-3 py-2 text-sm font-medium text-text-primary transition-colors hover:bg-bg-sunken disabled:opacity-50"),
264
- children: [
265
- M.isPending && /* @__PURE__ */ T(_, { className: "h-3.5 w-3.5 animate-spin" }),
266
- "Move to ",
267
- d(e)
268
- ]
269
- }, e))
270
- }),
271
- M.isError && /* @__PURE__ */ T("p", {
272
- className: "mt-2 text-xs text-status-error-text",
273
- children: M.error instanceof Error ? M.error.message : "Transition failed"
274
- })
275
- ]
276
- }), /* @__PURE__ */ E(D, {
277
- treatment: "plain",
278
- className: "p-5",
279
- children: [/* @__PURE__ */ T("h3", {
280
- className: "mb-3 text-sm font-semibold text-text-primary",
281
- children: "Details"
282
- }), /* @__PURE__ */ E("dl", {
283
- className: "space-y-2 text-sm",
227
+ children: [
228
+ /* @__PURE__ */ O(k, {
229
+ treatment: "insight",
230
+ className: "p-5",
284
231
  children: [
285
- /* @__PURE__ */ E("div", {
286
- className: "flex justify-between gap-2",
287
- children: [/* @__PURE__ */ T("dt", {
288
- className: "text-text-secondary",
289
- children: "Handle"
290
- }), /* @__PURE__ */ E("dd", {
291
- className: "text-text-primary",
292
- children: ["@", N.handle]
293
- })]
232
+ /* @__PURE__ */ D("h3", {
233
+ className: "mb-3 text-sm font-semibold text-text-primary",
234
+ children: "Lifecycle"
294
235
  }),
295
- /* @__PURE__ */ E("div", {
296
- className: "flex justify-between gap-2",
297
- children: [/* @__PURE__ */ T("dt", {
298
- className: "text-text-secondary",
299
- children: "Featured"
300
- }), /* @__PURE__ */ T("dd", {
301
- className: "text-text-primary",
302
- children: N.isFeatured ? "Yes" : "No"
303
- })]
236
+ /* @__PURE__ */ O("div", {
237
+ className: "mb-3 flex items-center gap-2",
238
+ children: [/* @__PURE__ */ D("span", {
239
+ className: "text-sm text-text-secondary",
240
+ children: "Current:"
241
+ }), /* @__PURE__ */ D(r, { status: I.status })]
304
242
  }),
305
- /* @__PURE__ */ E("div", {
306
- className: "flex justify-between gap-2",
307
- children: [/* @__PURE__ */ T("dt", {
308
- className: "text-text-secondary",
309
- children: "Created"
310
- }), /* @__PURE__ */ T("dd", {
311
- className: "text-text-primary",
312
- children: l(N.createdAt, {
313
- hour: void 0,
314
- minute: void 0
315
- })
316
- })]
243
+ z.length === 0 ? /* @__PURE__ */ D("p", {
244
+ className: "text-xs text-text-secondary",
245
+ children: "This brand is archived (terminal state)."
246
+ }) : /* @__PURE__ */ D("div", {
247
+ className: "flex flex-col gap-2",
248
+ children: z.map((e) => /* @__PURE__ */ O("button", {
249
+ type: "button",
250
+ disabled: P.isPending,
251
+ onClick: () => P.mutate({
252
+ id: I.id,
253
+ status: e
254
+ }),
255
+ className: t("inline-flex items-center justify-center gap-2 rounded-lg border border-border-seam px-3 py-2 text-sm font-medium text-text-primary transition-colors hover:bg-bg-sunken disabled:opacity-50"),
256
+ children: [
257
+ P.isPending && /* @__PURE__ */ D(y, { className: "h-3.5 w-3.5 animate-spin" }),
258
+ "Move to ",
259
+ f(e)
260
+ ]
261
+ }, e))
317
262
  }),
318
- /* @__PURE__ */ E("div", {
319
- className: "flex justify-between gap-2",
320
- children: [/* @__PURE__ */ T("dt", {
321
- className: "text-text-secondary",
322
- children: "Updated"
323
- }), /* @__PURE__ */ T("dd", {
324
- className: "text-text-primary",
325
- children: l(N.updatedAt, {
326
- hour: void 0,
327
- minute: void 0
328
- })
329
- })]
263
+ P.isError && /* @__PURE__ */ D("p", {
264
+ className: "mt-2 text-xs text-status-error-text",
265
+ children: P.error instanceof Error ? P.error.message : "Transition failed"
330
266
  })
331
267
  ]
332
- })]
333
- })]
268
+ }),
269
+ /* @__PURE__ */ O(k, {
270
+ treatment: "plain",
271
+ className: "p-5",
272
+ children: [/* @__PURE__ */ D("h3", {
273
+ className: "mb-3 text-sm font-semibold text-text-primary",
274
+ children: "Details"
275
+ }), /* @__PURE__ */ O("dl", {
276
+ className: "space-y-2 text-sm",
277
+ children: [
278
+ /* @__PURE__ */ O("div", {
279
+ className: "flex justify-between gap-2",
280
+ children: [/* @__PURE__ */ D("dt", {
281
+ className: "text-text-secondary",
282
+ children: "Handle"
283
+ }), /* @__PURE__ */ O("dd", {
284
+ className: "text-text-primary",
285
+ children: ["@", I.handle]
286
+ })]
287
+ }),
288
+ /* @__PURE__ */ O("div", {
289
+ className: "flex items-center justify-between gap-2",
290
+ children: [/* @__PURE__ */ D("dt", {
291
+ className: "text-text-secondary",
292
+ children: "Featured"
293
+ }), /* @__PURE__ */ O("dd", {
294
+ className: "flex items-center gap-2",
295
+ children: [/* @__PURE__ */ D("button", {
296
+ type: "button",
297
+ role: "switch",
298
+ "aria-checked": I.isFeatured,
299
+ "aria-label": I.isFeatured ? "Unfeature this brand" : "Feature this brand",
300
+ disabled: F.isPending,
301
+ onClick: () => F.mutate({
302
+ id: I.id,
303
+ input: { isFeatured: !I.isFeatured }
304
+ }),
305
+ className: t("relative inline-flex h-5 w-9 shrink-0 items-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)] disabled:opacity-60", I.isFeatured ? "bg-action-primary-bg" : "bg-bg-sunken"),
306
+ children: /* @__PURE__ */ D("span", { className: t("inline-block h-4 w-4 rounded-full bg-bg-surface shadow transition-transform", I.isFeatured ? "translate-x-[1.125rem]" : "translate-x-0.5") })
307
+ }), F.isPending && /* @__PURE__ */ D(y, { className: "h-3.5 w-3.5 animate-spin text-text-secondary" })]
308
+ })]
309
+ }),
310
+ /* @__PURE__ */ O("div", {
311
+ className: "flex justify-between gap-2",
312
+ children: [/* @__PURE__ */ D("dt", {
313
+ className: "text-text-secondary",
314
+ children: "Created"
315
+ }), /* @__PURE__ */ D("dd", {
316
+ className: "text-text-primary",
317
+ children: u(I.createdAt, {
318
+ hour: void 0,
319
+ minute: void 0
320
+ })
321
+ })]
322
+ }),
323
+ /* @__PURE__ */ O("div", {
324
+ className: "flex justify-between gap-2",
325
+ children: [/* @__PURE__ */ D("dt", {
326
+ className: "text-text-secondary",
327
+ children: "Updated"
328
+ }), /* @__PURE__ */ D("dd", {
329
+ className: "text-text-primary",
330
+ children: u(I.updatedAt, {
331
+ hour: void 0,
332
+ minute: void 0
333
+ })
334
+ })]
335
+ })
336
+ ]
337
+ })]
338
+ }),
339
+ /* @__PURE__ */ D(h, {
340
+ entityType: "CooBrand",
341
+ entityId: I.id,
342
+ className: "mt-0"
343
+ })
344
+ ]
334
345
  })]
335
346
  })
336
347
  });
337
348
  }
338
349
  //#endregion
339
- export { k as BrandDetailPage };
350
+ export { j as BrandDetailPage };
340
351
 
341
352
  //# sourceMappingURL=BrandDetailPage.js.map