@cellarnode/ui 0.169.3 → 0.170.0
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.
- package/dist/chat-ably/chat-room-reauth.d.ts +98 -0
- package/dist/chat-ably/chat-room-reauth.d.ts.map +1 -0
- package/dist/chat-ably/chat-room-reauth.js +356 -0
- package/dist/chat-ably/chat-room-reauth.js.map +1 -0
- package/dist/chat-ably/chat-room.d.ts +11 -1
- package/dist/chat-ably/chat-room.d.ts.map +1 -1
- package/dist/chat-ably/chat-room.js +3 -2
- package/dist/chat-ably/chat-room.js.map +1 -1
- package/dist/chat-ably/index.d.ts +2 -0
- package/dist/chat-ably/index.d.ts.map +1 -1
- package/dist/chat-ably/index.js +5 -0
- package/dist/chat-ably/index.js.map +1 -1
- package/dist/org/invite-member-dialog.js +1 -1
- package/package.json +8 -1
- package/dist/__storybook__/dark-mode.d.ts +0 -33
- package/dist/__storybook__/dark-mode.d.ts.map +0 -1
- package/dist/__storybook__/dark-mode.js +0 -63
- package/dist/__storybook__/dark-mode.js.map +0 -1
- package/dist/__storybook__/mock-data.d.ts +0 -24
- package/dist/__storybook__/mock-data.d.ts.map +0 -1
- package/dist/__storybook__/mock-data.js +0 -172
- package/dist/__storybook__/mock-data.js.map +0 -1
- package/dist/brand/brand-fixtures.d.ts +0 -15
- package/dist/brand/brand-fixtures.d.ts.map +0 -1
- package/dist/brand/brand-fixtures.js +0 -112
- package/dist/brand/brand-fixtures.js.map +0 -1
- package/dist/brand/brand-profile-display.story-copy.d.ts +0 -3
- package/dist/brand/brand-profile-display.story-copy.d.ts.map +0 -1
- package/dist/brand/brand-profile-display.story-copy.js +0 -126
- package/dist/brand/brand-profile-display.story-copy.js.map +0 -1
- package/dist/brand/brand-profile-display.story-data.d.ts +0 -12
- package/dist/brand/brand-profile-display.story-data.d.ts.map +0 -1
- package/dist/brand/brand-profile-display.story-data.js +0 -200
- package/dist/brand/brand-profile-display.story-data.js.map +0 -1
- package/dist/brand/brand-profile-review.story-data.d.ts +0 -3
- package/dist/brand/brand-profile-review.story-data.d.ts.map +0 -1
- package/dist/brand/brand-profile-review.story-data.js +0 -71
- package/dist/brand/brand-profile-review.story-data.js.map +0 -1
- package/dist/brand/brand-tagline-story-fixtures.d.ts +0 -20
- package/dist/brand/brand-tagline-story-fixtures.d.ts.map +0 -1
- package/dist/brand/brand-tagline-story-fixtures.js +0 -45
- package/dist/brand/brand-tagline-story-fixtures.js.map +0 -1
- package/dist/portfolio-import/session/test-helpers.d.ts +0 -20
- package/dist/portfolio-import/session/test-helpers.d.ts.map +0 -1
- package/dist/portfolio-import/session/test-helpers.js +0 -84
- package/dist/portfolio-import/session/test-helpers.js.map +0 -1
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CEL-1261 — assertions that a story is genuinely rendering in dark mode.
|
|
3
|
-
*
|
|
4
|
-
* Two independent things have to be true before a `dark` story is worth
|
|
5
|
-
* anything, and both were false in this package until CEL-1261:
|
|
6
|
-
*
|
|
7
|
-
* 1. A `.dark` scope has to actually reach the story. `globals: { theme:
|
|
8
|
-
* "dark" }` did not — the old `withThemeByClassName` decorator applied
|
|
9
|
-
* the class from a `storybook/preview-api` `useEffect`, which the vitest
|
|
10
|
-
* browser runner never flushes. Nine stories rendered light while
|
|
11
|
-
* reporting dark coverage.
|
|
12
|
-
* 2. The `dark:` variant has to compile to that scope. Without
|
|
13
|
-
* `@custom-variant dark` in `.storybook/storybook.css`, Tailwind's
|
|
14
|
-
* built-in `dark` variant is `@media (prefers-color-scheme: dark)`, and
|
|
15
|
-
* headless Chromium runs light — so every `dark:` utility in the library
|
|
16
|
-
* was inert inside the library's own axe gate.
|
|
17
|
-
*
|
|
18
|
-
* A dark story that silently renders light is worse than no dark story: it
|
|
19
|
-
* reports coverage it does not have. Calling `expectDarkModeActive` in the
|
|
20
|
-
* play function is what stops that from happening again — each check fails
|
|
21
|
-
* loudly if its half of the mechanism regresses.
|
|
22
|
-
*
|
|
23
|
-
* Deliberately dependency-free (plain `Error`, no `storybook/test` import) so
|
|
24
|
-
* the module stays inert if it is ever pulled into the published bundle.
|
|
25
|
-
*/
|
|
26
|
-
/**
|
|
27
|
-
* Asserts that `element` sits inside an active `.dark` scope AND that `dark:`
|
|
28
|
-
* utilities resolve against it.
|
|
29
|
-
*
|
|
30
|
-
* @param element Usually the story's `canvasElement`.
|
|
31
|
-
*/
|
|
32
|
-
export declare function expectDarkModeActive(element: HTMLElement): void;
|
|
33
|
-
//# sourceMappingURL=dark-mode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dark-mode.d.ts","sourceRoot":"","sources":["../../src/__storybook__/dark-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA+B/D"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CEL-1261 — assertions that a story is genuinely rendering in dark mode.
|
|
3
|
-
*
|
|
4
|
-
* Two independent things have to be true before a `dark` story is worth
|
|
5
|
-
* anything, and both were false in this package until CEL-1261:
|
|
6
|
-
*
|
|
7
|
-
* 1. A `.dark` scope has to actually reach the story. `globals: { theme:
|
|
8
|
-
* "dark" }` did not — the old `withThemeByClassName` decorator applied
|
|
9
|
-
* the class from a `storybook/preview-api` `useEffect`, which the vitest
|
|
10
|
-
* browser runner never flushes. Nine stories rendered light while
|
|
11
|
-
* reporting dark coverage.
|
|
12
|
-
* 2. The `dark:` variant has to compile to that scope. Without
|
|
13
|
-
* `@custom-variant dark` in `.storybook/storybook.css`, Tailwind's
|
|
14
|
-
* built-in `dark` variant is `@media (prefers-color-scheme: dark)`, and
|
|
15
|
-
* headless Chromium runs light — so every `dark:` utility in the library
|
|
16
|
-
* was inert inside the library's own axe gate.
|
|
17
|
-
*
|
|
18
|
-
* A dark story that silently renders light is worse than no dark story: it
|
|
19
|
-
* reports coverage it does not have. Calling `expectDarkModeActive` in the
|
|
20
|
-
* play function is what stops that from happening again — each check fails
|
|
21
|
-
* loudly if its half of the mechanism regresses.
|
|
22
|
-
*
|
|
23
|
-
* Deliberately dependency-free (plain `Error`, no `storybook/test` import) so
|
|
24
|
-
* the module stays inert if it is ever pulled into the published bundle.
|
|
25
|
-
*/
|
|
26
|
-
/** The literal below is also what makes Tailwind emit the probe's classes. */
|
|
27
|
-
const PROBE_CLASSNAME = "text-black dark:text-white";
|
|
28
|
-
const DARK_PROBE_COLOR = "rgb(255, 255, 255)";
|
|
29
|
-
/**
|
|
30
|
-
* Asserts that `element` sits inside an active `.dark` scope AND that `dark:`
|
|
31
|
-
* utilities resolve against it.
|
|
32
|
-
*
|
|
33
|
-
* @param element Usually the story's `canvasElement`.
|
|
34
|
-
*/
|
|
35
|
-
export function expectDarkModeActive(element) {
|
|
36
|
-
// (1) The scope exists. `<html class="dark">` (the preview decorator) and a
|
|
37
|
-
// local `<div class="dark">` wrapper both satisfy this.
|
|
38
|
-
const scope = element.closest(".dark") ?? element.querySelector(".dark");
|
|
39
|
-
if (!scope) {
|
|
40
|
-
throw new Error("Dark mode is not active: no `.dark` ancestor or descendant of the story canvas. " +
|
|
41
|
-
"The theme decorator in `.storybook/preview.tsx` is the usual suspect — see CEL-1261.");
|
|
42
|
-
}
|
|
43
|
-
// (2) The variant compiles. A probe rather than a hardcoded token value: a
|
|
44
|
-
// literal would have to be re-derived by hand every time a token moves, and
|
|
45
|
-
// the question here is only "did `dark:` fire", not "which colour is it".
|
|
46
|
-
const host = scope.contains(element) ? element : scope;
|
|
47
|
-
const probe = document.createElement("span");
|
|
48
|
-
probe.className = PROBE_CLASSNAME;
|
|
49
|
-
probe.textContent = "";
|
|
50
|
-
host.appendChild(probe);
|
|
51
|
-
try {
|
|
52
|
-
const resolved = getComputedStyle(probe).color;
|
|
53
|
-
if (resolved !== DARK_PROBE_COLOR) {
|
|
54
|
-
throw new Error(`The \`dark:\` variant did not fire inside the active .dark scope: ` +
|
|
55
|
-
`\`${PROBE_CLASSNAME}\` resolved to ${resolved}, expected ${DARK_PROBE_COLOR}. ` +
|
|
56
|
-
"`@custom-variant dark` is missing from `.storybook/storybook.css` — see CEL-1261.");
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
finally {
|
|
60
|
-
probe.remove();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=dark-mode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dark-mode.js","sourceRoot":"","sources":["../../src/__storybook__/dark-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,8EAA8E;AAC9E,MAAM,eAAe,GAAG,4BAA4B,CAAC;AACrD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAoB;IACvD,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,kFAAkF;YAChF,sFAAsF,CACzF,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,CAAC,SAAS,GAAG,eAAe,CAAC;IAClC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;QAC/C,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,oEAAoE;gBAClE,KAAK,eAAe,kBAAkB,QAAQ,cAAc,gBAAgB,IAAI;gBAChF,mFAAmF,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mock data factories for Storybook stories.
|
|
3
|
-
* Provides realistic beverage/wine industry data for component demonstrations.
|
|
4
|
-
*/
|
|
5
|
-
import type { ChatRoom, ChatMessage } from "../chat/types.js";
|
|
6
|
-
import type { OpportunityRow } from "../opportunities/opportunities-table.js";
|
|
7
|
-
import type { SidebarNavSection, SidebarUser, RenderLinkFn } from "../nav/types.js";
|
|
8
|
-
export declare function createMockChatRoom(overrides?: Partial<ChatRoom>): ChatRoom;
|
|
9
|
-
export declare function createMockChatMessage(overrides?: Partial<ChatMessage>): ChatMessage;
|
|
10
|
-
export declare function createMockChatMessages(): ChatMessage[];
|
|
11
|
-
export declare function createMockOpportunityRow(overrides?: Partial<OpportunityRow>): OpportunityRow;
|
|
12
|
-
export declare function createMockOpportunityRows(): OpportunityRow[];
|
|
13
|
-
/**
|
|
14
|
-
* Inline two-tone circle avatar as a data-URI SVG so Storybook stories stay
|
|
15
|
-
* hermetic (no network fetch). The initials fallback is still exercised by the
|
|
16
|
-
* `NoUser` / `InitialsAvatar` stories.
|
|
17
|
-
*/
|
|
18
|
-
export declare const MOCK_AVATAR_DATA_URI: string;
|
|
19
|
-
/** Inline CellarNode-ish brand mark data-URI so stories don't 404 on the app favicon path. */
|
|
20
|
-
export declare const MOCK_BRAND_LOGO_SRC: string;
|
|
21
|
-
export declare const MOCK_SIDEBAR_USER: SidebarUser;
|
|
22
|
-
export declare const MOCK_NAV_SECTIONS: SidebarNavSection[];
|
|
23
|
-
export declare const mockRenderLink: RenderLinkFn;
|
|
24
|
-
//# sourceMappingURL=mock-data.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mock-data.d.ts","sourceRoot":"","sources":["../../src/__storybook__/mock-data.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjF,wBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAiB1E;AAID,wBAAgB,qBAAqB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAanF;AAED,wBAAgB,sBAAsB,IAAI,WAAW,EAAE,CAuBtD;AAID,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAY5F;AAED,wBAAgB,yBAAyB,IAAI,cAAc,EAAE,CAwC5D;AAID;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAE9B,CAAC;AAEJ,8FAA8F;AAC9F,eAAO,MAAM,mBAAmB,QAE7B,CAAC;AAEJ,eAAO,MAAM,iBAAiB,EAAE,WAM/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,EAqChD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,YAI5B,CAAC"}
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Mock data factories for Storybook stories.
|
|
4
|
-
* Provides realistic beverage/wine industry data for component demonstrations.
|
|
5
|
-
*/
|
|
6
|
-
import { Building2, Inbox, LayoutDashboard, Target } from "lucide-react";
|
|
7
|
-
// ─── ChatRoom ─────────────────────────────────────────────────────────────────
|
|
8
|
-
export function createMockChatRoom(overrides) {
|
|
9
|
-
return {
|
|
10
|
-
id: "room-001",
|
|
11
|
-
offerId: "offer-001",
|
|
12
|
-
producerOrgId: "org-producer-001",
|
|
13
|
-
importerOrgId: "org-importer-001",
|
|
14
|
-
producerOrgName: "Château Margaux",
|
|
15
|
-
importerOrgName: "Noble Wine Imports Ltd.",
|
|
16
|
-
beverageName: "Château Margaux Grand Cru 2018",
|
|
17
|
-
beverageProducer: "Château Margaux",
|
|
18
|
-
offerStatus: "pending",
|
|
19
|
-
recipientId: "user-001",
|
|
20
|
-
status: "active",
|
|
21
|
-
lastMessageAt: new Date(Date.now() - 1000 * 60 * 15).toISOString(),
|
|
22
|
-
createdAt: new Date(Date.now() - 1000 * 60 * 60 * 24).toISOString(),
|
|
23
|
-
...overrides,
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
// ─── ChatMessage ──────────────────────────────────────────────────────────────
|
|
27
|
-
export function createMockChatMessage(overrides) {
|
|
28
|
-
return {
|
|
29
|
-
id: "msg-001",
|
|
30
|
-
roomId: "room-001",
|
|
31
|
-
senderOrgId: "org-producer-001",
|
|
32
|
-
senderUserId: "user-producer-001",
|
|
33
|
-
content: "We are pleased to offer you our Château Margaux Grand Cru 2018 at €280 per bottle, FOB Bordeaux.",
|
|
34
|
-
messageType: "text",
|
|
35
|
-
metadata: null,
|
|
36
|
-
createdAt: new Date(Date.now() - 1000 * 60 * 30).toISOString(),
|
|
37
|
-
...overrides,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
export function createMockChatMessages() {
|
|
41
|
-
return [
|
|
42
|
-
createMockChatMessage({
|
|
43
|
-
id: "msg-001",
|
|
44
|
-
senderOrgId: "org-producer-001",
|
|
45
|
-
content: "We are pleased to offer our Château Margaux Grand Cru 2018 at €280 per bottle, FOB Bordeaux.",
|
|
46
|
-
createdAt: new Date(Date.now() - 1000 * 60 * 60).toISOString(),
|
|
47
|
-
}),
|
|
48
|
-
createMockChatMessage({
|
|
49
|
-
id: "msg-002",
|
|
50
|
-
senderOrgId: "org-importer-001",
|
|
51
|
-
content: "Thank you for the offer. Would you consider €260 per bottle for an order of 600 cases?",
|
|
52
|
-
createdAt: new Date(Date.now() - 1000 * 60 * 45).toISOString(),
|
|
53
|
-
}),
|
|
54
|
-
createMockChatMessage({
|
|
55
|
-
id: "msg-003",
|
|
56
|
-
senderOrgId: "org-producer-001",
|
|
57
|
-
content: "We can accommodate €265 per bottle for 600 cases. Delivery within 6–8 weeks.",
|
|
58
|
-
createdAt: new Date(Date.now() - 1000 * 60 * 20).toISOString(),
|
|
59
|
-
}),
|
|
60
|
-
];
|
|
61
|
-
}
|
|
62
|
-
// ─── OpportunityRow ───────────────────────────────────────────────────────────
|
|
63
|
-
export function createMockOpportunityRow(overrides) {
|
|
64
|
-
return {
|
|
65
|
-
id: "opp-001",
|
|
66
|
-
name: "Premium Red Wine Tender — Nordic Distribution",
|
|
67
|
-
marketIdentifier: "TENDER-2026-NR-0047",
|
|
68
|
-
beverageType: "Red Wine",
|
|
69
|
-
countryOfOrigin: "France",
|
|
70
|
-
status: "open",
|
|
71
|
-
submissionDeadline: new Date(Date.now() + 1000 * 60 * 60 * 24 * 14).toISOString(),
|
|
72
|
-
createdAt: new Date(Date.now() - 1000 * 60 * 60 * 24 * 3).toISOString(),
|
|
73
|
-
...overrides,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
export function createMockOpportunityRows() {
|
|
77
|
-
return [
|
|
78
|
-
createMockOpportunityRow(),
|
|
79
|
-
createMockOpportunityRow({
|
|
80
|
-
id: "opp-002",
|
|
81
|
-
name: "Organic White Wine Supply — UK Retail",
|
|
82
|
-
marketIdentifier: "TENDER-2026-OW-0031",
|
|
83
|
-
beverageType: "White Wine",
|
|
84
|
-
countryOfOrigin: "Italy",
|
|
85
|
-
status: "open",
|
|
86
|
-
submissionDeadline: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(),
|
|
87
|
-
}),
|
|
88
|
-
createMockOpportunityRow({
|
|
89
|
-
id: "opp-003",
|
|
90
|
-
name: "Sparkling Wine — APAC Hotel Group",
|
|
91
|
-
marketIdentifier: "TENDER-2026-SW-0018",
|
|
92
|
-
beverageType: "Sparkling Wine",
|
|
93
|
-
countryOfOrigin: "Spain",
|
|
94
|
-
status: "draft",
|
|
95
|
-
submissionDeadline: new Date(Date.now() + 1000 * 60 * 60 * 24 * 30).toISOString(),
|
|
96
|
-
}),
|
|
97
|
-
createMockOpportunityRow({
|
|
98
|
-
id: "opp-004",
|
|
99
|
-
name: "Craft Beer Annual Supply — Scandinavia",
|
|
100
|
-
marketIdentifier: "TENDER-2026-CB-0055",
|
|
101
|
-
beverageType: "Beer",
|
|
102
|
-
countryOfOrigin: "Germany",
|
|
103
|
-
status: "closed",
|
|
104
|
-
submissionDeadline: new Date(Date.now() - 1000 * 60 * 60 * 24 * 5).toISOString(),
|
|
105
|
-
}),
|
|
106
|
-
createMockOpportunityRow({
|
|
107
|
-
id: "opp-005",
|
|
108
|
-
name: "Premium Whisky — Global Duty Free",
|
|
109
|
-
marketIdentifier: "TENDER-2026-WK-0022",
|
|
110
|
-
beverageType: "Whisky",
|
|
111
|
-
countryOfOrigin: "United Kingdom",
|
|
112
|
-
status: "open",
|
|
113
|
-
submissionDeadline: new Date(Date.now() + 1000 * 60 * 60 * 24 * 21).toISOString(),
|
|
114
|
-
}),
|
|
115
|
-
];
|
|
116
|
-
}
|
|
117
|
-
// ─── Nav mock data ─────────────────────────────────────────────────────────────
|
|
118
|
-
/**
|
|
119
|
-
* Inline two-tone circle avatar as a data-URI SVG so Storybook stories stay
|
|
120
|
-
* hermetic (no network fetch). The initials fallback is still exercised by the
|
|
121
|
-
* `NoUser` / `InitialsAvatar` stories.
|
|
122
|
-
*/
|
|
123
|
-
export const MOCK_AVATAR_DATA_URI = `data:image/svg+xml,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect width="64" height="64" fill="#e2e8f0"/><circle cx="32" cy="25" r="12" fill="#94a3b8"/><path d="M12 60c0-11 9-19 20-19s20 8 20 19z" fill="#94a3b8"/></svg>')}`;
|
|
124
|
-
/** Inline CellarNode-ish brand mark data-URI so stories don't 404 on the app favicon path. */
|
|
125
|
-
export const MOCK_BRAND_LOGO_SRC = `data:image/svg+xml,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><rect width="64" height="64" rx="16" fill="#0f766e"/><circle cx="32" cy="32" r="14" fill="none" stroke="#ffffff" stroke-width="6"/></svg>')}`;
|
|
126
|
-
export const MOCK_SIDEBAR_USER = {
|
|
127
|
-
name: "Jane Doe",
|
|
128
|
-
email: "jane.doe@noblwine.com",
|
|
129
|
-
initials: "JD",
|
|
130
|
-
avatarUrl: MOCK_AVATAR_DATA_URI,
|
|
131
|
-
profileHref: "/profile",
|
|
132
|
-
};
|
|
133
|
-
export const MOCK_NAV_SECTIONS = [
|
|
134
|
-
{
|
|
135
|
-
label: "Main",
|
|
136
|
-
items: [
|
|
137
|
-
{
|
|
138
|
-
title: "Dashboard",
|
|
139
|
-
href: "/dashboard",
|
|
140
|
-
icon: LayoutDashboard,
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
title: "Offers",
|
|
144
|
-
href: "/offers",
|
|
145
|
-
icon: Inbox,
|
|
146
|
-
badgeCount: 3,
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
title: "Opportunities",
|
|
150
|
-
href: "/opportunities",
|
|
151
|
-
icon: Target,
|
|
152
|
-
},
|
|
153
|
-
],
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
label: "Organisation",
|
|
157
|
-
items: [
|
|
158
|
-
{
|
|
159
|
-
title: "Organisation",
|
|
160
|
-
icon: Building2,
|
|
161
|
-
expandable: true,
|
|
162
|
-
children: [
|
|
163
|
-
{ title: "Team", href: "/organisation/team" },
|
|
164
|
-
{ title: "Profile", href: "/organisation/profile" },
|
|
165
|
-
{ title: "Partnerships", href: "/organisation/partnerships" },
|
|
166
|
-
],
|
|
167
|
-
},
|
|
168
|
-
],
|
|
169
|
-
},
|
|
170
|
-
];
|
|
171
|
-
export const mockRenderLink = ({ href, children, ...props }) => (_jsx("a", { href: href, ...props, children: children }));
|
|
172
|
-
//# sourceMappingURL=mock-data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mock-data.js","sourceRoot":"","sources":["../../src/__storybook__/mock-data.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { BrandAsset, BrandProfileData, BrandProfileInput } from "./types.js";
|
|
2
|
-
export declare const sampleBrandProfile: BrandProfileData;
|
|
3
|
-
export declare const canonicalBrandProfile: BrandProfileData;
|
|
4
|
-
/** Only two groups populated — exercises graceful handling of missing sections. */
|
|
5
|
-
export declare const partialBrandProfile: BrandProfileInput;
|
|
6
|
-
export declare const nestedPartialBrandProfile: BrandProfileInput;
|
|
7
|
-
export declare const nestedIdentityPartialBrandProfile: BrandProfileInput;
|
|
8
|
-
export declare const nestedVoicePartialBrandProfile: BrandProfileInput;
|
|
9
|
-
export declare const nestedValuesPartialBrandProfile: BrandProfileInput;
|
|
10
|
-
export declare const legacyWinemakingBrandProfile: BrandProfileInput;
|
|
11
|
-
export declare const invalidBrandProfile: BrandProfileInput;
|
|
12
|
-
export declare const emptyBrandProfile: BrandProfileInput;
|
|
13
|
-
export declare const sampleBrandAssets: BrandAsset[];
|
|
14
|
-
export declare const assetEdgeBrandAssets: readonly BrandAsset[];
|
|
15
|
-
//# sourceMappingURL=brand-fixtures.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brand-fixtures.d.ts","sourceRoot":"","sources":["../../src/brand/brand-fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAEV,gBAAgB,EAEhB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAejB,eAAO,MAAM,kBAAkB,EAAE,gBAmChC,CAAC;AACF,eAAO,MAAM,qBAAqB,EAAE,gBAAqC,CAAC;AAE1E,mFAAmF;AACnF,eAAO,MAAM,mBAAmB,EAAE,iBAGjC,CAAC;AACF,eAAO,MAAM,yBAAyB,EAAE,iBAEvC,CAAC;AACF,eAAO,MAAM,iCAAiC,EAAE,iBAE/C,CAAC;AACF,eAAO,MAAM,8BAA8B,EAAE,iBAE5C,CAAC;AACF,eAAO,MAAM,+BAA+B,EAAE,iBAE7C,CAAC;AACF,eAAO,MAAM,4BAA4B,EAAE,iBAE1C,CAAC;AACF,eAAO,MAAM,mBAAmB,EAAE,iBAEjC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAAsB,CAAC;AAEvD,eAAO,MAAM,iBAAiB,EAAE,UAAU,EAmBzC,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,SAAS,UAAU,EAoBrD,CAAC"}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
function f(value, extractionMethod = "firecrawl_branding") {
|
|
2
|
-
return {
|
|
3
|
-
value,
|
|
4
|
-
sourceUrl: "https://estate-verdana.test",
|
|
5
|
-
confidence: 0.9,
|
|
6
|
-
extractionMethod,
|
|
7
|
-
iteration: 1,
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
export const sampleBrandProfile = {
|
|
11
|
-
visual: {
|
|
12
|
-
logo: f("https://estate-verdana.test/logo.svg"),
|
|
13
|
-
colorScheme: f("light"),
|
|
14
|
-
primaryColor: f("#6d3b2e", "user_manual"),
|
|
15
|
-
secondaryColor: f("#e8ddcf"),
|
|
16
|
-
accentColor: f("#c9a24b"),
|
|
17
|
-
palette: f({ bark: "#6d3b2e", linen: "#e8ddcf", gold: "#c9a24b" }),
|
|
18
|
-
typography: f({ fontFamilies: { primary: "Inter", heading: "Fraunces" } }),
|
|
19
|
-
spacing: f({ baseUnit: 4, borderRadius: "0.75rem" }),
|
|
20
|
-
ogImage: f("https://estate-verdana.test/og.jpg", "html_meta"),
|
|
21
|
-
faviconUrl: f("https://estate-verdana.test/favicon.ico", "html_meta"),
|
|
22
|
-
bannerImage: f("https://estate-verdana.test/hero.jpg", "html_meta"),
|
|
23
|
-
},
|
|
24
|
-
identity: {
|
|
25
|
-
producerName: f("Estate Verdana", "user_manual"),
|
|
26
|
-
tagline: f("Old-vine wines from the coastal hills", "llm_write"),
|
|
27
|
-
foundedYear: f(1936),
|
|
28
|
-
country: f("Italy"),
|
|
29
|
-
region: f("Tuscany"),
|
|
30
|
-
parentOrganization: f({ name: "Verdana Holdings", relationship: "Parent company" }),
|
|
31
|
-
keyPeople: f([{ name: "Lucia Romano", role: "Winemaker" }]),
|
|
32
|
-
contact: f({ email: "hello@estate-verdana.test" }),
|
|
33
|
-
},
|
|
34
|
-
voice: {
|
|
35
|
-
tone: f("elegant", "llm_merge"),
|
|
36
|
-
missionStatement: f("Honest wine that tastes of its place.", "llm_write"),
|
|
37
|
-
foundingStory: f("Three generations farming the same coastal slopes.", "llm_write"),
|
|
38
|
-
keyMessages: f(["Coastal terroir", "Old-vine fruit"]),
|
|
39
|
-
},
|
|
40
|
-
values: {
|
|
41
|
-
sustainability: f({ claims: ["Dry-farmed"], certifications: ["Organic"] }),
|
|
42
|
-
production: f({ philosophy: "Low intervention", methods: ["Native yeast"] }),
|
|
43
|
-
awards: f([{ name: "Tre Bicchieri", year: 2024, source: "Gambero Rosso" }]),
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
export const canonicalBrandProfile = sampleBrandProfile;
|
|
47
|
-
/** Only two groups populated — exercises graceful handling of missing sections. */
|
|
48
|
-
export const partialBrandProfile = {
|
|
49
|
-
identity: sampleBrandProfile.identity,
|
|
50
|
-
visual: sampleBrandProfile.visual,
|
|
51
|
-
};
|
|
52
|
-
export const nestedPartialBrandProfile = {
|
|
53
|
-
visual: { primaryColor: sampleBrandProfile.visual.primaryColor },
|
|
54
|
-
};
|
|
55
|
-
export const nestedIdentityPartialBrandProfile = {
|
|
56
|
-
identity: { parentOrganization: sampleBrandProfile.identity.parentOrganization },
|
|
57
|
-
};
|
|
58
|
-
export const nestedVoicePartialBrandProfile = {
|
|
59
|
-
voice: { tone: f("heritage") },
|
|
60
|
-
};
|
|
61
|
-
export const nestedValuesPartialBrandProfile = {
|
|
62
|
-
values: { production: sampleBrandProfile.values.production },
|
|
63
|
-
};
|
|
64
|
-
export const legacyWinemakingBrandProfile = {
|
|
65
|
-
values: { winemaking: f({ philosophy: "Low intervention", methods: ["Native yeast"] }) },
|
|
66
|
-
};
|
|
67
|
-
export const invalidBrandProfile = {
|
|
68
|
-
visual: { primaryColor: { ...f("not-a-hex-color"), sourceUrl: "javascript:alert('unsafe')" } },
|
|
69
|
-
};
|
|
70
|
-
export const emptyBrandProfile = {};
|
|
71
|
-
export const sampleBrandAssets = [
|
|
72
|
-
{
|
|
73
|
-
id: "a1",
|
|
74
|
-
slot: "primary",
|
|
75
|
-
fileUrl: "https://estate-verdana.test/logo.svg",
|
|
76
|
-
fileName: "logo.svg",
|
|
77
|
-
mimeType: "image/svg+xml",
|
|
78
|
-
fileSize: 4096,
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
id: "a2",
|
|
82
|
-
slot: "favicon",
|
|
83
|
-
fileUrl: "https://estate-verdana.test/favicon.png",
|
|
84
|
-
fileName: "favicon.png",
|
|
85
|
-
mimeType: "image/png",
|
|
86
|
-
fileSize: 1024,
|
|
87
|
-
width: 64,
|
|
88
|
-
height: 64,
|
|
89
|
-
},
|
|
90
|
-
];
|
|
91
|
-
export const assetEdgeBrandAssets = [
|
|
92
|
-
...sampleBrandAssets,
|
|
93
|
-
{
|
|
94
|
-
id: "a3",
|
|
95
|
-
slot: "primary",
|
|
96
|
-
fileUrl: "https://estate-verdana.test/logo-alt.svg",
|
|
97
|
-
fileName: "logo-alt.svg",
|
|
98
|
-
mimeType: "image/svg+xml",
|
|
99
|
-
fileSize: 2048,
|
|
100
|
-
width: null,
|
|
101
|
-
height: null,
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
id: "a4",
|
|
105
|
-
slot: "monochrome_dark",
|
|
106
|
-
fileUrl: "not-a-url",
|
|
107
|
-
fileName: "dark-logo.svg",
|
|
108
|
-
mimeType: "image/svg+xml",
|
|
109
|
-
fileSize: 512,
|
|
110
|
-
},
|
|
111
|
-
];
|
|
112
|
-
//# sourceMappingURL=brand-fixtures.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brand-fixtures.js","sourceRoot":"","sources":["../../src/brand/brand-fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brand-profile-display.story-copy.d.ts","sourceRoot":"","sources":["../../src/brand/brand-profile-display.story-copy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E,eAAO,MAAM,iBAAiB,EAAE,uBA8H/B,CAAC"}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
export const longLocalizedCopy = {
|
|
2
|
-
defaultBrandName: "Nombre de marca predeterminado excesivamente largo para probar el ajuste de línea",
|
|
3
|
-
emptyTitle: "No se encontró ningún perfil de marca para este producto",
|
|
4
|
-
emptyDescription: "Por favor, añada la información de la marca utilizando el botón que se proporciona a continuación para comenzar.",
|
|
5
|
-
sectionVisual: "Sistema Visual y Directrices de Diseño",
|
|
6
|
-
sectionColors: "Paleta de Colores y Esquemas",
|
|
7
|
-
sectionTypography: "Tipografía y Familias de Fuentes",
|
|
8
|
-
sectionLogos: "Logotipos y Activos de Marca",
|
|
9
|
-
sectionIdentity: "Identidad de Marca e Información Principal",
|
|
10
|
-
sectionVoice: "Voz y Tono de la Marca",
|
|
11
|
-
sectionValues: "Valores Fundamentales y Misión de la Marca",
|
|
12
|
-
fieldLabels: {
|
|
13
|
-
logo: "Logotipo",
|
|
14
|
-
primaryColor: "Color Primario",
|
|
15
|
-
secondaryColor: "Color Secundario",
|
|
16
|
-
accentColor: "Color de Acento",
|
|
17
|
-
palette: "Paleta",
|
|
18
|
-
typography: "Tipografía",
|
|
19
|
-
producerName: "Nombre de la Organización",
|
|
20
|
-
tagline: "Lema",
|
|
21
|
-
foundedYear: "Año de Fundación",
|
|
22
|
-
country: "País",
|
|
23
|
-
region: "Región",
|
|
24
|
-
parentOrganization: "Organización Matriz",
|
|
25
|
-
keyPeople: "Personas Clave",
|
|
26
|
-
contact: "Contacto",
|
|
27
|
-
tone: "Tono",
|
|
28
|
-
missionStatement: "Misión",
|
|
29
|
-
foundingStory: "Historia de Fundación",
|
|
30
|
-
keyMessages: "Mensajes Clave",
|
|
31
|
-
sustainability: "Sostenibilidad",
|
|
32
|
-
production: "Producción",
|
|
33
|
-
awards: "Premios",
|
|
34
|
-
},
|
|
35
|
-
contactLabels: {
|
|
36
|
-
email: "Correo Electrónico",
|
|
37
|
-
phone: "Teléfono",
|
|
38
|
-
address: "Dirección",
|
|
39
|
-
},
|
|
40
|
-
narrativeLabels: {
|
|
41
|
-
claims: "Declaraciones",
|
|
42
|
-
certifications: "Certificaciones",
|
|
43
|
-
philosophy: "Filosofía",
|
|
44
|
-
methods: "Métodos",
|
|
45
|
-
keyPeople: "Personas Clave",
|
|
46
|
-
awards: "Premios",
|
|
47
|
-
},
|
|
48
|
-
toneLabels: {
|
|
49
|
-
elegant: "Elegante",
|
|
50
|
-
rustic: "Rústico",
|
|
51
|
-
modern: "Moderno",
|
|
52
|
-
traditional: "Tradicional",
|
|
53
|
-
playful: "Juguetón",
|
|
54
|
-
premium: "Premium",
|
|
55
|
-
artisanal: "Artesanal",
|
|
56
|
-
bold: "Audaz",
|
|
57
|
-
classic: "Clásico",
|
|
58
|
-
contemporary: "Contemporáneo",
|
|
59
|
-
minimalist: "Minimalista",
|
|
60
|
-
approachable: "Accesible",
|
|
61
|
-
innovative: "Innovador",
|
|
62
|
-
heritage: "Patrimonio",
|
|
63
|
-
},
|
|
64
|
-
lowConfidenceLabel: "Baja Confianza",
|
|
65
|
-
provenanceLabels: {
|
|
66
|
-
firecrawl_branding: "Escaneo Automatizado de Sitio Web",
|
|
67
|
-
llm_write: "Generación de IA",
|
|
68
|
-
llm_merge: "Consolidación de IA",
|
|
69
|
-
user_manual: "Entrada Manual del Usuario",
|
|
70
|
-
html_meta: "De Metadatos del Sitio",
|
|
71
|
-
},
|
|
72
|
-
provenanceSummaryLabel: (method, count) => {
|
|
73
|
-
if (method === "low_confidence") {
|
|
74
|
-
return count === 1 ? "1 campo de baja confianza" : `${count} campos de baja confianza`;
|
|
75
|
-
}
|
|
76
|
-
const singular = {
|
|
77
|
-
firecrawl_branding: "detectado",
|
|
78
|
-
llm_write: "generado",
|
|
79
|
-
llm_merge: "consolidado",
|
|
80
|
-
user_manual: "manual",
|
|
81
|
-
html_meta: "de metadatos",
|
|
82
|
-
};
|
|
83
|
-
const plural = {
|
|
84
|
-
firecrawl_branding: "detectados",
|
|
85
|
-
llm_write: "generados",
|
|
86
|
-
llm_merge: "consolidados",
|
|
87
|
-
user_manual: "manuales",
|
|
88
|
-
html_meta: "de metadatos",
|
|
89
|
-
};
|
|
90
|
-
return count === 1 ? `1 campo ${singular[method]}` : `${count} campos ${plural[method]}`;
|
|
91
|
-
},
|
|
92
|
-
metadataLabels: {
|
|
93
|
-
method: "Método de Extracción",
|
|
94
|
-
confidence: "Nivel de Confianza",
|
|
95
|
-
iteration: "Iteración de Perfil",
|
|
96
|
-
source: "Fuente Original",
|
|
97
|
-
},
|
|
98
|
-
confidenceLabel: (confidence) => `Confianza del ${confidence}%`,
|
|
99
|
-
unavailableValueLabel: "Valor No Disponible",
|
|
100
|
-
sourceUnavailableLabel: "Fuente No Disponible",
|
|
101
|
-
sourceLinkLabel: (host) => `Visitar ${host}`,
|
|
102
|
-
colorAriaLabel: (name, hex) => `Color ${name}: ${hex}`,
|
|
103
|
-
invalidColorLabel: "Color Inválido",
|
|
104
|
-
typographyHintLabels: {
|
|
105
|
-
families: "Familias",
|
|
106
|
-
sizes: "Tamaños",
|
|
107
|
-
weights: "Pesos",
|
|
108
|
-
lineHeights: "Alturas de Línea",
|
|
109
|
-
},
|
|
110
|
-
typographyRoleLabels: {
|
|
111
|
-
heading: "Encabezado",
|
|
112
|
-
primary: "Principal",
|
|
113
|
-
code: "Código",
|
|
114
|
-
},
|
|
115
|
-
unavailableFontLabel: (font) => `Fuente no disponible: ${font}`,
|
|
116
|
-
assetSlotLabels: {
|
|
117
|
-
primary: "Primario",
|
|
118
|
-
monochrome_light: "Monocromo Claro",
|
|
119
|
-
monochrome_dark: "Monocromo Oscuro",
|
|
120
|
-
favicon: "Favicon",
|
|
121
|
-
},
|
|
122
|
-
missingVariantsLabel: (labels) => `Faltan variantes: ${labels.join(", ")}`,
|
|
123
|
-
logoAlt: (brand, slot) => `Logo ${slot} de ${brand}`,
|
|
124
|
-
imageUnavailableLabel: "Imagen No Disponible",
|
|
125
|
-
};
|
|
126
|
-
//# sourceMappingURL=brand-profile-display.story-copy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brand-profile-display.story-copy.js","sourceRoot":"","sources":["../../src/brand/brand-profile-display.story-copy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { BrandAsset, BrandProfileInput } from "./types.js";
|
|
2
|
-
export declare const completeBrandAssets: readonly BrandAsset[];
|
|
3
|
-
export declare const completeProfileWithoutFontFamilies: BrandProfileInput;
|
|
4
|
-
export declare const partialProfileWithValidLogo: BrandProfileInput;
|
|
5
|
-
export declare const partialBrandAssets: BrandAsset[];
|
|
6
|
-
export declare const lowConfidenceProfile: BrandProfileInput;
|
|
7
|
-
export declare const missingFontsProfile: BrandProfileInput;
|
|
8
|
-
export declare const longLocalizedProfile: BrandProfileInput;
|
|
9
|
-
export declare const mobileLongSourceProfile: BrandProfileInput;
|
|
10
|
-
export declare const invalidProfile: BrandProfileInput;
|
|
11
|
-
export declare const invalidBrandAssets: readonly BrandAsset[];
|
|
12
|
-
//# sourceMappingURL=brand-profile-display.story-data.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"brand-profile-display.story-data.d.ts","sourceRoot":"","sources":["../../src/brand/brand-profile-display.story-data.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE7D,eAAO,MAAM,mBAAmB,EAAE,SAAS,UAAU,EAyCpD,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,iBAahD,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,iBAMzC,CAAC;AAEF,eAAO,MAAM,kBAAkB,cAE9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,iBA6BlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,iBAiBjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,iBA2ClC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,iBAUrC,CAAC;AAEF,eAAO,MAAM,cAAc,mBAAsB,CAAC;AAElD,eAAO,MAAM,kBAAkB,EAAE,SAAS,UAAU,EA+BnD,CAAC"}
|