@burdenoff/microfe-hookmovies 2026.1031.4 → 2026.1031.5

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.
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Public embed hooks (BOFF-4246)
3
+ * @module hookmovies/hooks
4
+ *
5
+ * Data layer for the embeddable player in `wspace-hookmovies-svc`
6
+ * (`schema/embed.gql`):
7
+ *
8
+ * - Owners list, create and revoke embeds for a title over the normal,
9
+ * authenticated workspace gateway (`hokListEmbeds` / `hokCreateEmbed` /
10
+ * `hokRevokeEmbed`).
11
+ * - The public player resolves an embed with {@link fetchPublicEmbed}, a bare
12
+ * credential-less `fetch` of the `@rbac(public: true)` field
13
+ * `hokPublicEmbed`. An anonymous viewer inside a third-party `<iframe>` has
14
+ * no session, so this deliberately does not go through `graphqlFetch`.
15
+ */
16
+ export type HokEmbedKind = 'TRAILER' | 'FEATURE' | 'CLIP';
17
+ export type HokEmbedStatus = 'ACTIVE' | 'REVOKED';
18
+ export interface HokEmbed {
19
+ id: string;
20
+ titleId: string;
21
+ clipId: string | null;
22
+ kind: HokEmbedKind;
23
+ status: HokEmbedStatus;
24
+ publicId: string;
25
+ label: string | null;
26
+ viewCount: number;
27
+ lastViewedAt: string | null;
28
+ revokedAt: string | null;
29
+ createdAt: string;
30
+ }
31
+ export interface HokCreateEmbedInput {
32
+ titleId: string;
33
+ kind: HokEmbedKind;
34
+ clipId?: string;
35
+ label?: string;
36
+ }
37
+ export interface HokPublicEmbed {
38
+ publicId: string;
39
+ kind: HokEmbedKind;
40
+ title: string;
41
+ synopsis: string | null;
42
+ releaseYear: number | null;
43
+ runtimeMinutes: number | null;
44
+ certification: string | null;
45
+ genres: string[];
46
+ aiDisclosure: boolean;
47
+ caption: string | null;
48
+ durationSeconds: number | null;
49
+ mediaUrl: string;
50
+ mediaMimeType: string | null;
51
+ posterUrl: string | null;
52
+ expiresAt: string;
53
+ }
54
+ interface EmbedConnection {
55
+ items: HokEmbed[];
56
+ totalCount: number;
57
+ }
58
+ /** The public player path for an embed, relative to the app shell origin. */
59
+ export declare const embedPath: (publicId: string) => string;
60
+ /** Absolute public player URL on the current app shell origin. */
61
+ export declare const embedUrl: (publicId: string, origin?: string) => string;
62
+ /** A responsive 16:9 copy-paste `<iframe>` snippet for an embed. */
63
+ export declare const embedIframeSnippet: (publicId: string, title: string, origin?: string) => string;
64
+ /** Embeds of one title, newest first (active and revoked). */
65
+ export declare const useEmbeds: (titleId?: string) => import('@tanstack/react-query').UseQueryResult<NoInfer<EmbedConnection>, Error>;
66
+ /** Opt one piece of a published title's media into public embedding. */
67
+ export declare const useCreateEmbed: () => import('@tanstack/react-query').UseMutationResult<HokEmbed, Error, HokCreateEmbedInput, unknown>;
68
+ /** Permanently stop an embed from playing anywhere. */
69
+ export declare const useRevokeEmbed: () => import('@tanstack/react-query').UseMutationResult<HokEmbed, Error, string, unknown>;
70
+ /**
71
+ * Resolve an embed for the public player. Returns `null` for anything that is
72
+ * not playable — unknown, revoked, unpublished or a transport failure — so the
73
+ * player shows one "unavailable" state and never confirms whether an id exists.
74
+ */
75
+ export declare const fetchPublicEmbed: (apiGatewayUrl: string, publicId: string, signal?: AbortSignal) => Promise<HokPublicEmbed | null>;
76
+ export {};
77
+ //# sourceMappingURL=useEmbedsApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEmbedsApi.d.ts","sourceRoot":"","sources":["../../../src/hookmovies/hooks/useEmbedsApi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,eAAe;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD,6EAA6E;AAC7E,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,KAAG,MAAkD,CAAC;AAEhG,kEAAkE;AAClE,eAAO,MAAM,QAAQ,GAAI,UAAU,MAAM,EAAE,SAAQ,MAA+B,KAAG,MAC9B,CAAC;AAExD,oEAAoE;AACpE,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,EAAE,OAAO,MAAM,EAAE,SAAS,MAAM,KAAG,MAgBrF,CAAC;AAMF,8DAA8D;AAC9D,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,oFAmBzC,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,cAAc,wGAkB1B,CAAC;AAEF,uDAAuD;AACvD,eAAO,MAAM,cAAc,2FAkB1B,CAAC;AAoBF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,eAAe,MAAM,EACrB,UAAU,MAAM,EAChB,SAAS,WAAW,KACnB,OAAO,CAAC,cAAc,GAAG,IAAI,CAmB/B,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { useHookMovies as e } from "../context/HookMoviesContext.js";
2
+ import "../context/index.js";
3
+ import { hookmoviesQuery as t } from "./useHookMoviesApi.js";
4
+ import { useMutation as n, useQuery as r, useQueryClient as i } from "@tanstack/react-query";
5
+ //#region src/hookmovies/hooks/useEmbedsApi.ts
6
+ var a = "hookmovies-embeds", o = "\n id titleId clipId kind status publicId label viewCount lastViewedAt revokedAt createdAt\n", s = (e) => `/embed/${encodeURIComponent(e)}`, c = (e, t = window.location.origin) => `${t.replace(/\/+$/, "")}${s(e)}`, l = (e, t, n) => `<div style="position:relative;width:100%;aspect-ratio:16/9">
7
+ <iframe
8
+ src="${c(e, n)}"
9
+ title="${t.replace(/[&<>"]/g, (e) => e === "&" ? "&amp;" : e === "<" ? "&lt;" : e === ">" ? "&gt;" : "&quot;")} | HookMovies"
10
+ style="position:absolute;inset:0;width:100%;height:100%;border:0"
11
+ allow="autoplay; fullscreen; picture-in-picture; encrypted-media"
12
+ allowfullscreen
13
+ loading="lazy"
14
+ referrerpolicy="strict-origin-when-cross-origin"
15
+ ></iframe>
16
+ </div>`, u = (n) => {
17
+ let { apiGatewayUrl: i } = e();
18
+ return r({
19
+ queryKey: [
20
+ a,
21
+ "list",
22
+ n ?? ""
23
+ ],
24
+ queryFn: async () => (await t(`query HokEmbeds($titleId: ID, $pagination: PaginationInput) {
25
+ hokListEmbeds(titleId: $titleId, pagination: $pagination) {
26
+ items { ${o} }
27
+ totalCount
28
+ }
29
+ }`, {
30
+ titleId: n,
31
+ pagination: {
32
+ limit: 50,
33
+ offset: 0
34
+ }
35
+ }, i)).hokListEmbeds,
36
+ enabled: !!n
37
+ });
38
+ }, d = () => {
39
+ let r = i(), { apiGatewayUrl: s } = e();
40
+ return n({
41
+ mutationFn: async (e) => (await t(`mutation HokCreateEmbed($input: HokCreateEmbedInput!) {
42
+ hokCreateEmbed(input: $input) { ${o} }
43
+ }`, { input: e }, s)).hokCreateEmbed,
44
+ onSuccess: (e) => {
45
+ r.invalidateQueries({ queryKey: [
46
+ a,
47
+ "list",
48
+ e.titleId
49
+ ] });
50
+ }
51
+ });
52
+ }, f = () => {
53
+ let r = i(), { apiGatewayUrl: s } = e();
54
+ return n({
55
+ mutationFn: async (e) => (await t(`mutation HokRevokeEmbed($id: ID!) {
56
+ hokRevokeEmbed(id: $id) { ${o} }
57
+ }`, { id: e }, s)).hokRevokeEmbed,
58
+ onSuccess: (e) => {
59
+ r.invalidateQueries({ queryKey: [
60
+ a,
61
+ "list",
62
+ e.titleId
63
+ ] });
64
+ }
65
+ });
66
+ }, p = "\n query HokPublicEmbed($publicId: String!) {\n hokPublicEmbed(publicId: $publicId) {\n publicId kind title synopsis releaseYear runtimeMinutes certification genres\n aiDisclosure caption durationSeconds mediaUrl mediaMimeType posterUrl expiresAt\n }\n }\n", m = (e) => {
67
+ let t = e.replace(/\/+$/, "");
68
+ return t.endsWith("/workspaces/graphql") ? t : `${t}/workspaces/graphql`;
69
+ }, h = async (e, t, n) => {
70
+ try {
71
+ let r = await fetch(m(e), {
72
+ method: "POST",
73
+ headers: { "Content-Type": "application/json" },
74
+ credentials: "omit",
75
+ body: JSON.stringify({
76
+ query: p,
77
+ variables: { publicId: t }
78
+ }),
79
+ signal: n
80
+ });
81
+ return r.ok ? (await r.json()).data?.hokPublicEmbed ?? null : null;
82
+ } catch {
83
+ return null;
84
+ }
85
+ };
86
+ //#endregion
87
+ export { l as embedIframeSnippet, c as embedUrl, h as fetchPublicEmbed, d as useCreateEmbed, u as useEmbeds, f as useRevokeEmbed };
88
+
89
+ //# sourceMappingURL=useEmbedsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEmbedsApi.js","names":[],"sources":["../../../src/hookmovies/hooks/useEmbedsApi.ts"],"sourcesContent":["/**\n * Public embed hooks (BOFF-4246)\n * @module hookmovies/hooks\n *\n * Data layer for the embeddable player in `wspace-hookmovies-svc`\n * (`schema/embed.gql`):\n *\n * - Owners list, create and revoke embeds for a title over the normal,\n * authenticated workspace gateway (`hokListEmbeds` / `hokCreateEmbed` /\n * `hokRevokeEmbed`).\n * - The public player resolves an embed with {@link fetchPublicEmbed}, a bare\n * credential-less `fetch` of the `@rbac(public: true)` field\n * `hokPublicEmbed`. An anonymous viewer inside a third-party `<iframe>` has\n * no session, so this deliberately does not go through `graphqlFetch`.\n */\n\nimport { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\n\nimport { useHookMovies } from '../context';\nimport { hookmoviesQuery } from './useHookMoviesApi';\n\nconst QK = 'hookmovies-embeds' as const;\n\n// ============================================================================\n// Types (mirror schema/embed.gql)\n// ============================================================================\n\nexport type HokEmbedKind = 'TRAILER' | 'FEATURE' | 'CLIP';\nexport type HokEmbedStatus = 'ACTIVE' | 'REVOKED';\n\nexport interface HokEmbed {\n id: string;\n titleId: string;\n clipId: string | null;\n kind: HokEmbedKind;\n status: HokEmbedStatus;\n publicId: string;\n label: string | null;\n viewCount: number;\n lastViewedAt: string | null;\n revokedAt: string | null;\n createdAt: string;\n}\n\nexport interface HokCreateEmbedInput {\n titleId: string;\n kind: HokEmbedKind;\n clipId?: string;\n label?: string;\n}\n\nexport interface HokPublicEmbed {\n publicId: string;\n kind: HokEmbedKind;\n title: string;\n synopsis: string | null;\n releaseYear: number | null;\n runtimeMinutes: number | null;\n certification: string | null;\n genres: string[];\n aiDisclosure: boolean;\n caption: string | null;\n durationSeconds: number | null;\n mediaUrl: string;\n mediaMimeType: string | null;\n posterUrl: string | null;\n expiresAt: string;\n}\n\ninterface EmbedConnection {\n items: HokEmbed[];\n totalCount: number;\n}\n\nconst EMBED_FIELDS = `\n id titleId clipId kind status publicId label viewCount lastViewedAt revokedAt createdAt\n`;\n\n// ============================================================================\n// URL + snippet helpers\n// ============================================================================\n\n/** The public player path for an embed, relative to the app shell origin. */\nexport const embedPath = (publicId: string): string => `/embed/${encodeURIComponent(publicId)}`;\n\n/** Absolute public player URL on the current app shell origin. */\nexport const embedUrl = (publicId: string, origin: string = window.location.origin): string =>\n `${origin.replace(/\\/+$/, '')}${embedPath(publicId)}`;\n\n/** A responsive 16:9 copy-paste `<iframe>` snippet for an embed. */\nexport const embedIframeSnippet = (publicId: string, title: string, origin?: string): string => {\n const src = embedUrl(publicId, origin);\n const safeTitle = title.replace(/[&<>\"]/g, (ch) =>\n ch === '&' ? '&amp;' : ch === '<' ? '&lt;' : ch === '>' ? '&gt;' : '&quot;'\n );\n return `<div style=\"position:relative;width:100%;aspect-ratio:16/9\">\n <iframe\n src=\"${src}\"\n title=\"${safeTitle} | HookMovies\"\n style=\"position:absolute;inset:0;width:100%;height:100%;border:0\"\n allow=\"autoplay; fullscreen; picture-in-picture; encrypted-media\"\n allowfullscreen\n loading=\"lazy\"\n referrerpolicy=\"strict-origin-when-cross-origin\"\n ></iframe>\n</div>`;\n};\n\n// ============================================================================\n// Owner hooks (authenticated workspace gateway)\n// ============================================================================\n\n/** Embeds of one title, newest first (active and revoked). */\nexport const useEmbeds = (titleId?: string) => {\n const { apiGatewayUrl } = useHookMovies();\n return useQuery({\n queryKey: [QK, 'list', titleId ?? ''],\n queryFn: async () => {\n const result = await hookmoviesQuery<{ hokListEmbeds: EmbedConnection }>(\n `query HokEmbeds($titleId: ID, $pagination: PaginationInput) {\n hokListEmbeds(titleId: $titleId, pagination: $pagination) {\n items { ${EMBED_FIELDS} }\n totalCount\n }\n }`,\n { titleId, pagination: { limit: 50, offset: 0 } },\n apiGatewayUrl\n );\n return result.hokListEmbeds;\n },\n enabled: Boolean(titleId),\n });\n};\n\n/** Opt one piece of a published title's media into public embedding. */\nexport const useCreateEmbed = () => {\n const queryClient = useQueryClient();\n const { apiGatewayUrl } = useHookMovies();\n return useMutation({\n mutationFn: async (input: HokCreateEmbedInput) => {\n const result = await hookmoviesQuery<{ hokCreateEmbed: HokEmbed }>(\n `mutation HokCreateEmbed($input: HokCreateEmbedInput!) {\n hokCreateEmbed(input: $input) { ${EMBED_FIELDS} }\n }`,\n { input },\n apiGatewayUrl\n );\n return result.hokCreateEmbed;\n },\n onSuccess: (embed) => {\n void queryClient.invalidateQueries({ queryKey: [QK, 'list', embed.titleId] });\n },\n });\n};\n\n/** Permanently stop an embed from playing anywhere. */\nexport const useRevokeEmbed = () => {\n const queryClient = useQueryClient();\n const { apiGatewayUrl } = useHookMovies();\n return useMutation({\n mutationFn: async (id: string) => {\n const result = await hookmoviesQuery<{ hokRevokeEmbed: HokEmbed }>(\n `mutation HokRevokeEmbed($id: ID!) {\n hokRevokeEmbed(id: $id) { ${EMBED_FIELDS} }\n }`,\n { id },\n apiGatewayUrl\n );\n return result.hokRevokeEmbed;\n },\n onSuccess: (embed) => {\n void queryClient.invalidateQueries({ queryKey: [QK, 'list', embed.titleId] });\n },\n });\n};\n\n// ============================================================================\n// Public player fetch (anonymous)\n// ============================================================================\n\nconst PUBLIC_EMBED_QUERY = `\n query HokPublicEmbed($publicId: String!) {\n hokPublicEmbed(publicId: $publicId) {\n publicId kind title synopsis releaseYear runtimeMinutes certification genres\n aiDisclosure caption durationSeconds mediaUrl mediaMimeType posterUrl expiresAt\n }\n }\n`;\n\nconst graphqlEndpoint = (apiGatewayUrl: string): string => {\n const base = apiGatewayUrl.replace(/\\/+$/, '');\n return base.endsWith('/workspaces/graphql') ? base : `${base}/workspaces/graphql`;\n};\n\n/**\n * Resolve an embed for the public player. Returns `null` for anything that is\n * not playable — unknown, revoked, unpublished or a transport failure — so the\n * player shows one \"unavailable\" state and never confirms whether an id exists.\n */\nexport const fetchPublicEmbed = async (\n apiGatewayUrl: string,\n publicId: string,\n signal?: AbortSignal\n): Promise<HokPublicEmbed | null> => {\n try {\n // No Authorization header, no workspace token, no cookies: the field is\n // `@rbac(public: true)`, so the gateway skips authentication for it.\n const response = await fetch(graphqlEndpoint(apiGatewayUrl), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n credentials: 'omit',\n body: JSON.stringify({ query: PUBLIC_EMBED_QUERY, variables: { publicId } }),\n signal,\n });\n if (!response.ok) return null;\n const payload = (await response.json()) as {\n data?: { hokPublicEmbed?: HokPublicEmbed | null };\n };\n return payload.data?.hokPublicEmbed ?? null;\n } catch {\n return null;\n }\n};\n"],"mappings":";;;;;AAqBA,IAAM,IAAK,qBAqDL,IAAe,iGASR,KAAa,MAA6B,UAAU,mBAAmB,EAAS,IAGhF,KAAY,GAAkB,IAAiB,OAAO,SAAS,WAC1E,GAAG,EAAO,QAAQ,QAAQ,GAAG,GAAG,EAAU,EAAS,IAGxC,KAAsB,GAAkB,GAAe,MAK3D;;WAJK,EAAS,GAAU,EAAO,CAMzB;aALK,EAAM,QAAQ,YAAY,MAC1C,MAAO,MAAM,UAAU,MAAO,MAAM,SAAS,MAAO,MAAM,SAAS,SACpE,CAIoB;;;;;;;SAeV,KAAa,MAAqB;CAC7C,IAAM,EAAE,qBAAkB,GAAe;AACzC,QAAO,EAAS;EACd,UAAU;GAAC;GAAI;GAAQ,KAAW;GAAG;EACrC,SAAS,aACQ,MAAM,EACnB;;sBAEc,EAAa;;;YAI3B;GAAE;GAAS,YAAY;IAAE,OAAO;IAAI,QAAQ;IAAG;GAAE,EACjD,EACD,EACa;EAEhB,SAAS,EAAQ;EAClB,CAAC;GAIS,UAAuB;CAClC,IAAM,IAAc,GAAgB,EAC9B,EAAE,qBAAkB,GAAe;AACzC,QAAO,EAAY;EACjB,YAAY,OAAO,OACF,MAAM,EACnB;4CACoC,EAAa;YAEjD,EAAE,UAAO,EACT,EACD,EACa;EAEhB,YAAY,MAAU;AACf,KAAY,kBAAkB,EAAE,UAAU;IAAC;IAAI;IAAQ,EAAM;IAAQ,EAAE,CAAC;;EAEhF,CAAC;GAIS,UAAuB;CAClC,IAAM,IAAc,GAAgB,EAC9B,EAAE,qBAAkB,GAAe;AACzC,QAAO,EAAY;EACjB,YAAY,OAAO,OACF,MAAM,EACnB;sCAC8B,EAAa;YAE3C,EAAE,OAAI,EACN,EACD,EACa;EAEhB,YAAY,MAAU;AACf,KAAY,kBAAkB,EAAE,UAAU;IAAC;IAAI;IAAQ,EAAM;IAAQ,EAAE,CAAC;;EAEhF,CAAC;GAOE,IAAqB,sRASrB,KAAmB,MAAkC;CACzD,IAAM,IAAO,EAAc,QAAQ,QAAQ,GAAG;AAC9C,QAAO,EAAK,SAAS,sBAAsB,GAAG,IAAO,GAAG,EAAK;GAQlD,IAAmB,OAC9B,GACA,GACA,MACmC;AACnC,KAAI;EAGF,IAAM,IAAW,MAAM,MAAM,EAAgB,EAAc,EAAE;GAC3D,QAAQ;GACR,SAAS,EAAE,gBAAgB,oBAAoB;GAC/C,aAAa;GACb,MAAM,KAAK,UAAU;IAAE,OAAO;IAAoB,WAAW,EAAE,aAAU;IAAE,CAAC;GAC5E;GACD,CAAC;AAKF,SAJK,EAAS,MACG,MAAM,EAAS,MAAM,EAGvB,MAAM,kBAAkB,OAJd;SAKnB;AACN,SAAO"}
@@ -6,6 +6,8 @@
6
6
  * (the single Root export) plus the provider/context and shared helpers.
7
7
  */
8
8
  export { HookMoviesRoot } from './HookMoviesRoot';
9
+ export { EmbedPlayerPage as HookMoviesEmbedPlayerPage } from './public/EmbedPlayerPage';
10
+ export type { EmbedPlayerPageProps as HookMoviesEmbedPlayerPageProps } from './public/EmbedPlayerPage';
9
11
  export type { HookMoviesRootProps, NavItem, FooterItem, UserRole } from './types';
10
12
  export { HookMoviesProvider, useHookMovies } from './context';
11
13
  export { cn } from './utils/cn';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hookmovies/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,YAAY,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGlF,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG9D,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EACL,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,SAAS,EACT,QAAQ,EACR,cAAc,EACd,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,eAAe,EACf,SAAS,EACT,eAAe,EACf,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,SAAS,GACV,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,QAAQ,EACR,cAAc,EACd,SAAS,EACT,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,SAAS,EACT,eAAe,EACf,cAAc,EACd,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hookmovies/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,OAAO,EAAE,eAAe,IAAI,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACxF,YAAY,EAAE,oBAAoB,IAAI,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAGvG,YAAY,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGlF,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG9D,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EACL,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,SAAS,EACT,QAAQ,EACR,cAAc,EACd,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,eAAe,EACf,SAAS,EACT,eAAe,EACf,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,SAAS,GACV,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,QAAQ,EACR,cAAc,EACd,SAAS,EACT,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,SAAS,EACT,eAAe,EACf,cAAc,EACd,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
@@ -4,4 +4,5 @@ import "./hooks/useHookMoviesApi.js";
4
4
  import "./utils/cn.js";
5
5
  import "./utils/formatters.js";
6
6
  import "./HookMoviesRoot.js";
7
+ import "./public/EmbedPlayerPage.js";
7
8
  import "./hooks/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"TitleDetailPage.d.ts","sourceRoot":"","sources":["../../../../src/hookmovies/pages/catalog/TitleDetailPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAsE,MAAM,OAAO,CAAC;AA4kBpG,eAAO,MAAM,eAAe,EAAE,EA+5C7B,CAAC"}
1
+ {"version":3,"file":"TitleDetailPage.d.ts","sourceRoot":"","sources":["../../../../src/hookmovies/pages/catalog/TitleDetailPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAsE,MAAM,OAAO,CAAC;AA6kBpG,eAAO,MAAM,eAAe,EAAE,EAk6C7B,CAAC"}