@timardex/cluemart-shared 1.5.529 → 1.5.531

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 (91) hide show
  1. package/dist/{chunk-PYMLMTOQ.mjs → chunk-G2YFRN6A.mjs} +1 -1
  2. package/dist/{chunk-PYMLMTOQ.mjs.map → chunk-G2YFRN6A.mjs.map} +1 -1
  3. package/dist/chunk-TXHYVMOH.mjs +97 -0
  4. package/dist/chunk-TXHYVMOH.mjs.map +1 -0
  5. package/dist/graphql/index.cjs.map +1 -1
  6. package/dist/graphql/index.mjs +1 -1
  7. package/dist/hooks/index.cjs +69 -5
  8. package/dist/hooks/index.cjs.map +1 -1
  9. package/dist/hooks/index.mjs +2 -2
  10. package/dist/images/apple-maps-icon.webp +0 -0
  11. package/dist/images/banner-horizontal.webp +0 -0
  12. package/dist/images/banner-vertical.webp +0 -0
  13. package/dist/images/cluiTui.webp +0 -0
  14. package/dist/images/cluiTui.webp.d.ts +2 -0
  15. package/dist/images/corporate.webp +0 -0
  16. package/dist/images/corporate.webp.d.ts +2 -0
  17. package/dist/images/facebook.webp +0 -0
  18. package/dist/images/facebook.webp.d.ts +2 -0
  19. package/dist/images/google-maps-icon.webp +0 -0
  20. package/dist/images/google-maps-icon.webp.d.ts +2 -0
  21. package/dist/images/googleMaps-logo-dark.webp +0 -0
  22. package/dist/images/googleMaps-logo-dark.webp.d.ts +2 -0
  23. package/dist/images/googleMaps-logo-light.webp +0 -0
  24. package/dist/images/googleMaps-logo-light.webp.d.ts +2 -0
  25. package/dist/images/index.cjs +103 -5
  26. package/dist/images/index.cjs.map +1 -1
  27. package/dist/images/index.d.mts +42 -10
  28. package/dist/images/index.d.ts +42 -10
  29. package/dist/images/index.mjs +35 -1
  30. package/dist/images/instagram.webp +0 -0
  31. package/dist/images/instagram.webp.d.ts +2 -0
  32. package/dist/images/logo-atr.webp +0 -0
  33. package/dist/images/logo-atr.webp.d.ts +2 -0
  34. package/dist/images/logo.webp +0 -0
  35. package/dist/images/logo.webp.d.ts +2 -0
  36. package/dist/images/meet.webp +0 -0
  37. package/dist/images/meet.webp.d.ts +2 -0
  38. package/dist/images/node.cjs +51 -22
  39. package/dist/images/node.d.ts +47 -7
  40. package/dist/images/node.mjs +54 -22
  41. package/dist/images/poll.webp +0 -0
  42. package/dist/images/poll.webp.d.ts +2 -0
  43. package/dist/images/poster1.webp +0 -0
  44. package/dist/images/poster1.webp.d.ts +2 -0
  45. package/dist/images/poster2.webp +0 -0
  46. package/dist/images/poster2.webp.d.ts +2 -0
  47. package/dist/images/poster3.webp +0 -0
  48. package/dist/images/poster3.webp.d.ts +2 -0
  49. package/dist/images/private.webp +0 -0
  50. package/dist/images/private.webp.d.ts +2 -0
  51. package/dist/images/qr-code.webp +0 -0
  52. package/dist/images/qr-code.webp.d.ts +2 -0
  53. package/dist/images/school.webp +0 -0
  54. package/dist/images/school.webp.d.ts +2 -0
  55. package/dist/images/sima.webp +0 -0
  56. package/dist/images/sima.webp.d.ts +2 -0
  57. package/dist/images/store-android.webp +0 -0
  58. package/dist/images/store-android.webp.d.ts +2 -0
  59. package/dist/images/store-ios.webp +0 -0
  60. package/dist/images/store-ios.webp.d.ts +2 -0
  61. package/dist/images/tablas.webp +0 -0
  62. package/dist/images/tablas.webp.d.ts +2 -0
  63. package/dist/images/telefonos.webp +0 -0
  64. package/dist/images/telefonos.webp.d.ts +2 -0
  65. package/dist/images/tiktok.webp +0 -0
  66. package/dist/images/tiktok.webp.d.ts +2 -0
  67. package/dist/images/tip.webp +0 -0
  68. package/dist/images/tip.webp.d.ts +2 -0
  69. package/dist/images/ugralos.webp +0 -0
  70. package/dist/images/ugralos.webp.d.ts +2 -0
  71. package/dist/images/waze-maps-icon.webp +0 -0
  72. package/dist/images/waze-maps-icon.webp.d.ts +2 -0
  73. package/dist/images/website.webp +0 -0
  74. package/dist/images/website.webp.d.ts +2 -0
  75. package/dist/images/youtube.webp +0 -0
  76. package/dist/images/youtube.webp.d.ts +2 -0
  77. package/dist/index.cjs +103 -5
  78. package/dist/index.cjs.map +1 -1
  79. package/dist/index.d.mts +42 -10
  80. package/dist/index.d.ts +42 -10
  81. package/dist/index.mjs +86 -5
  82. package/dist/index.mjs.map +1 -1
  83. package/package.json +3 -3
  84. package/dist/chunk-IBKLW65U.mjs +0 -16
  85. package/dist/chunk-IBKLW65U.mjs.map +0 -1
  86. package/dist/images/poster1.png +0 -0
  87. package/dist/images/poster2.png +0 -0
  88. package/dist/images/poster3.png +0 -0
  89. /package/dist/images/{poster1.png.d.ts → apple-maps-icon.webp.d.ts} +0 -0
  90. /package/dist/images/{poster2.png.d.ts → banner-horizontal.webp.d.ts} +0 -0
  91. /package/dist/images/{poster3.png.d.ts → banner-vertical.webp.d.ts} +0 -0
@@ -4,7 +4,7 @@ import {
4
4
  normalizeUrl,
5
5
  timeFormat
6
6
  } from "../chunk-LZ2KFVBV.mjs";
7
- import "../chunk-PYMLMTOQ.mjs";
7
+ import "../chunk-G2YFRN6A.mjs";
8
8
  import {
9
9
  EnumEventDateStatus,
10
10
  EnumEventType,
@@ -17,7 +17,7 @@ import {
17
17
  EnumUserRole,
18
18
  EnumVendorType
19
19
  } from "../chunk-534WN2SR.mjs";
20
- import "../chunk-IBKLW65U.mjs";
20
+ import "../chunk-TXHYVMOH.mjs";
21
21
  import "../chunk-DWO35OY4.mjs";
22
22
  import "../chunk-I7WE3EBR.mjs";
23
23
  import {
Binary file
Binary file
Binary file
@@ -0,0 +1,2 @@
1
+ declare const src: string | number;
2
+ export default src;
Binary file
@@ -0,0 +1,2 @@
1
+ declare const src: string | number;
2
+ export default src;
Binary file
@@ -0,0 +1,2 @@
1
+ declare const src: string | number;
2
+ export default src;
@@ -0,0 +1,2 @@
1
+ declare const src: string | number;
2
+ export default src;
@@ -0,0 +1,2 @@
1
+ declare const src: string | number;
2
+ export default src;
@@ -0,0 +1,2 @@
1
+ declare const src: string | number;
2
+ export default src;
@@ -20,22 +20,120 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/images/index.ts
21
21
  var images_exports = {};
22
22
  __export(images_exports, {
23
+ IMAGE_EXTENSION: () => IMAGE_EXTENSION,
24
+ badgeFiles: () => badgeFiles,
25
+ badgeIds: () => badgeIds,
26
+ badges: () => badges,
27
+ cluiFiles: () => cluiFiles,
28
+ cluiIds: () => cluiIds,
29
+ cluiImages: () => cluiImages,
30
+ iconFiles: () => iconFiles,
31
+ iconIds: () => iconIds,
32
+ icons: () => icons,
33
+ logoFiles: () => logoFiles,
34
+ logoIds: () => logoIds,
35
+ logos: () => logos,
36
+ otherImages: () => otherImages,
37
+ otherImagesFiles: () => otherImagesFiles,
38
+ otherImagesIds: () => otherImagesIds,
23
39
  posterFiles: () => posterFiles,
40
+ posterIds: () => posterIds,
24
41
  posters: () => posters
25
42
  });
26
43
  module.exports = __toCommonJS(images_exports);
27
44
  var PKG = "@timardex/cluemart-shared";
28
- var posterFiles = {
29
- poster1: "poster1.png",
30
- poster2: "poster2.png",
31
- poster3: "poster3.png"
32
- };
45
+ var IMAGE_EXTENSION = ".webp";
46
+ var posterIds = ["poster1", "poster2", "poster3"];
47
+ var posterFiles = Object.fromEntries(
48
+ posterIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`])
49
+ );
50
+ var cluiIds = [
51
+ "cluiTui",
52
+ "sima",
53
+ "tablas",
54
+ "telefonos",
55
+ "ugralos"
56
+ ];
57
+ var cluiFiles = Object.fromEntries(
58
+ cluiIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`])
59
+ );
60
+ var iconIds = [
61
+ "apple-maps-icon",
62
+ "facebook",
63
+ "google-maps-icon",
64
+ "instagram",
65
+ "meet",
66
+ "poll",
67
+ "tiktok",
68
+ "tip",
69
+ "waze-maps-icon",
70
+ "website",
71
+ "youtube"
72
+ ];
73
+ var iconFiles = Object.fromEntries(
74
+ iconIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`])
75
+ );
76
+ var badgeIds = ["corporate", "private", "school"];
77
+ var badgeFiles = Object.fromEntries(
78
+ badgeIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`])
79
+ );
80
+ var logoIds = [
81
+ "googleMaps-logo-dark",
82
+ "googleMaps-logo-light",
83
+ "logo",
84
+ "logo-atr"
85
+ ];
86
+ var logoFiles = Object.fromEntries(
87
+ logoIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`])
88
+ );
89
+ var otherImagesIds = [
90
+ "banner-horizontal",
91
+ "banner-vertical",
92
+ "qr-code",
93
+ "store-android",
94
+ "store-ios"
95
+ ];
96
+ var otherImagesFiles = Object.fromEntries(
97
+ otherImagesIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`])
98
+ );
33
99
  var posters = Object.fromEntries(
34
100
  Object.entries(posterFiles).map(([key, file]) => [key, `${PKG}/images/${file}`])
35
101
  );
102
+ var cluiImages = Object.fromEntries(
103
+ Object.entries(cluiFiles).map(([key, file]) => [key, `${PKG}/images/${file}`])
104
+ );
105
+ var icons = Object.fromEntries(
106
+ Object.entries(iconFiles).map(([key, file]) => [key, `${PKG}/images/${file}`])
107
+ );
108
+ var badges = Object.fromEntries(
109
+ Object.entries(badgeFiles).map(([key, file]) => [key, `${PKG}/images/${file}`])
110
+ );
111
+ var logos = Object.fromEntries(
112
+ Object.entries(logoFiles).map(([key, file]) => [key, `${PKG}/images/${file}`])
113
+ );
114
+ var otherImages = Object.fromEntries(
115
+ Object.entries(otherImagesFiles).map(([key, file]) => [key, `${PKG}/images/${file}`])
116
+ );
36
117
  // Annotate the CommonJS export names for ESM import in node:
37
118
  0 && (module.exports = {
119
+ IMAGE_EXTENSION,
120
+ badgeFiles,
121
+ badgeIds,
122
+ badges,
123
+ cluiFiles,
124
+ cluiIds,
125
+ cluiImages,
126
+ iconFiles,
127
+ iconIds,
128
+ icons,
129
+ logoFiles,
130
+ logoIds,
131
+ logos,
132
+ otherImages,
133
+ otherImagesFiles,
134
+ otherImagesIds,
38
135
  posterFiles,
136
+ posterIds,
39
137
  posters
40
138
  });
41
139
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/images/index.ts"],"sourcesContent":["const PKG = \"@timardex/cluemart-shared\" as const;\n\n/**\n * Basenames under the shared images directory — use with `getSharedImagePath` from `@timardex/cluemart-shared/images/node` (Express / Node).\n * This object is the single source of poster keys; `posters` is derived from it. Add a PNG under `src/images/posters/` when adding an entry.\n * Keep `POSTER_FILE_BY_ID` in `src/images/node.cjs` / `node.mjs` in sync when you change this map.\n */\nexport const posterFiles = {\n poster1: \"poster1.png\",\n poster2: \"poster2.png\",\n poster3: \"poster3.png\",\n} as const;\n\n/**\n * Module specifiers for each poster (not resolved file URLs). Use a static import or require with these paths\n * so your bundler resolves the file, e.g.\n * `import poster1 from \"@timardex/cluemart-shared/images/poster1.png\"`\n * or `require(\"@timardex/cluemart-shared/images/poster1.png\")` (React Native / Metro).\n *\n * Derived from `posterFiles` so keys and filenames stay aligned.\n */\nexport const posters = Object.fromEntries(\n (\n Object.entries(posterFiles) as [\n keyof typeof posterFiles,\n (typeof posterFiles)[keyof typeof posterFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof posterFiles]: `${typeof PKG}/images/${(typeof posterFiles)[K]}`;\n};\n\nexport type PosterAssetId = keyof typeof posters;\n\n/** A single filename under the shared images directory (values of `posterFiles`). */\nexport type PosterImageBasename = (typeof posterFiles)[PosterAssetId];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAM,MAAM;AAOL,IAAM,cAAc;AAAA,EACzB,SAAS;AAAA,EACT,SAAS;AAAA,EACT,SAAS;AACX;AAUO,IAAM,UAAU,OAAO;AAAA,EAE1B,OAAO,QAAQ,WAAW,EAI1B,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AACvD;","names":[]}
1
+ {"version":3,"sources":["../../src/images/index.ts"],"sourcesContent":["const PKG = \"@timardex/cluemart-shared\" as const;\nexport const IMAGE_EXTENSION = \".webp\" as const;\n\n/**\n * Basenames under the shared images directory — use with `getSharedImagePath` from `@timardex/cluemart-shared/images/node` (Express / Node).\n * This object is the single source of poster keys; `posters` is derived from it. Add an image with `IMAGE_EXTENSION` under `src/images/posters/` when adding an entry.\n * `images/node` reads this at runtime for `getSharedImagePath` allow-listing.\n */\nexport const posterIds = [\"poster1\", \"poster2\", \"poster3\"] as const;\n\nexport const posterFiles = Object.fromEntries(\n posterIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof posterIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\n/**\n * Basenames for assets under `src/images/clui/` in source; they are copied flat into `dist/images/` (same as posters).\n * `images/node` reads this at runtime for `getSharedImagePath` allow-listing.\n */\nexport const cluiIds = [\n \"cluiTui\",\n \"sima\",\n \"tablas\",\n \"telefonos\",\n \"ugralos\",\n] as const;\n\nexport const cluiFiles = Object.fromEntries(\n cluiIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof cluiIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\nexport const iconIds = [\n \"apple-maps-icon\",\n \"facebook\",\n \"google-maps-icon\",\n \"instagram\",\n \"meet\",\n \"poll\",\n \"tiktok\",\n \"tip\",\n \"waze-maps-icon\",\n \"website\",\n \"youtube\",\n] as const;\n\nexport const iconFiles = Object.fromEntries(\n iconIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof iconIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\nexport const badgeIds = [\"corporate\", \"private\", \"school\"] as const;\n\nexport const badgeFiles = Object.fromEntries(\n badgeIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof badgeIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\nexport const logoIds = [\n \"googleMaps-logo-dark\",\n \"googleMaps-logo-light\",\n \"logo\",\n \"logo-atr\",\n] as const;\n\nexport const logoFiles = Object.fromEntries(\n logoIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof logoIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\nexport const otherImagesIds = [\n \"banner-horizontal\",\n \"banner-vertical\",\n \"qr-code\",\n \"store-android\",\n \"store-ios\",\n] as const;\n\nexport const otherImagesFiles = Object.fromEntries(\n otherImagesIds.map((id) => [id, `${id}${IMAGE_EXTENSION}`]),\n) as {\n readonly [K in (typeof otherImagesIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`;\n};\n\n/**\n * Module specifiers for each poster (not resolved file URLs). Use a static import or require with these paths\n * so your bundler resolves the file, e.g.\n * `import poster1 from \"@timardex/cluemart-shared/images/poster1.webp\"`\n * or `require(\"@timardex/cluemart-shared/images/poster1.webp\")` (React Native / Metro).\n *\n * Derived from `posterFiles` so keys and filenames stay aligned.\n */\nexport const posters = Object.fromEntries(\n (\n Object.entries(posterFiles) as [\n keyof typeof posterFiles,\n (typeof posterFiles)[keyof typeof posterFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof posterFiles]: `${typeof PKG}/images/${(typeof posterFiles)[K]}`;\n};\n\n/**\n * Module specifiers for Clui assets (same flat `@…/images/<file>.webp` pattern as posters), e.g.\n * `import clui from \"@timardex/cluemart-shared/images/cluiTui.webp\"`.\n */\nexport const cluiImages = Object.fromEntries(\n (\n Object.entries(cluiFiles) as [\n keyof typeof cluiFiles,\n (typeof cluiFiles)[keyof typeof cluiFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof cluiFiles]: `${typeof PKG}/images/${(typeof cluiFiles)[K]}`;\n};\n\nexport const icons = Object.fromEntries(\n (\n Object.entries(iconFiles) as [\n keyof typeof iconFiles,\n (typeof iconFiles)[keyof typeof iconFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof iconFiles]: `${typeof PKG}/images/${(typeof iconFiles)[K]}`;\n};\n\nexport const badges = Object.fromEntries(\n (\n Object.entries(badgeFiles) as [\n keyof typeof badgeFiles,\n (typeof badgeFiles)[keyof typeof badgeFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof badgeFiles]: `${typeof PKG}/images/${(typeof badgeFiles)[K]}`;\n};\n\nexport const logos = Object.fromEntries(\n (\n Object.entries(logoFiles) as [\n keyof typeof logoFiles,\n (typeof logoFiles)[keyof typeof logoFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof logoFiles]: `${typeof PKG}/images/${(typeof logoFiles)[K]}`;\n};\n\nexport const otherImages = Object.fromEntries(\n (\n Object.entries(otherImagesFiles) as [\n keyof typeof otherImagesFiles,\n (typeof otherImagesFiles)[keyof typeof otherImagesFiles],\n ][]\n ).map(([key, file]) => [key, `${PKG}/images/${file}`]),\n) as {\n readonly [K in keyof typeof otherImagesFiles]: `${typeof PKG}/images/${(typeof otherImagesFiles)[K]}`;\n};\n\nexport type PosterAssetId = keyof typeof posters;\n\n/** A single filename under the shared images directory (values of `posterFiles`). */\nexport type PosterImageBasename = (typeof posterFiles)[PosterAssetId];\n\nexport type CluiImageId = keyof typeof cluiImages;\n\n/** Basename under the shared images directory (values of `cluiFiles`). */\nexport type CluiImageBasename = (typeof cluiFiles)[CluiImageId];\n\nexport type IconId = keyof typeof icons;\nexport type IconBasename = (typeof iconFiles)[IconId];\n\nexport type BadgeId = keyof typeof badges;\nexport type BadgeBasename = (typeof badgeFiles)[BadgeId];\n\nexport type LogoId = keyof typeof logos;\nexport type LogoBasename = (typeof logoFiles)[LogoId];\n\nexport type OtherImagesId = keyof typeof otherImages;\nexport type OtherImagesBasename = (typeof otherImagesFiles)[OtherImagesId];\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAM,MAAM;AACL,IAAM,kBAAkB;AAOxB,IAAM,YAAY,CAAC,WAAW,WAAW,SAAS;AAElD,IAAM,cAAc,OAAO;AAAA,EAChC,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;AACvD;AAQO,IAAM,UAAU;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,YAAY,OAAO;AAAA,EAC9B,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;AACrD;AAIO,IAAM,UAAU;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,YAAY,OAAO;AAAA,EAC9B,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;AACrD;AAIO,IAAM,WAAW,CAAC,aAAa,WAAW,QAAQ;AAElD,IAAM,aAAa,OAAO;AAAA,EAC/B,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;AACtD;AAIO,IAAM,UAAU;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,YAAY,OAAO;AAAA,EAC9B,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;AACrD;AAIO,IAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,mBAAmB,OAAO;AAAA,EACrC,eAAe,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,CAAC;AAC5D;AAYO,IAAM,UAAU,OAAO;AAAA,EAE1B,OAAO,QAAQ,WAAW,EAI1B,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AACvD;AAQO,IAAM,aAAa,OAAO;AAAA,EAE7B,OAAO,QAAQ,SAAS,EAIxB,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AACvD;AAIO,IAAM,QAAQ,OAAO;AAAA,EAExB,OAAO,QAAQ,SAAS,EAIxB,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AACvD;AAIO,IAAM,SAAS,OAAO;AAAA,EAEzB,OAAO,QAAQ,UAAU,EAIzB,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AACvD;AAIO,IAAM,QAAQ,OAAO;AAAA,EAExB,OAAO,QAAQ,SAAS,EAIxB,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AACvD;AAIO,IAAM,cAAc,OAAO;AAAA,EAE9B,OAAO,QAAQ,gBAAgB,EAI/B,IAAI,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,WAAW,IAAI,EAAE,CAAC;AACvD;","names":[]}
@@ -1,25 +1,57 @@
1
1
  declare const PKG: "@timardex/cluemart-shared";
2
+ declare const IMAGE_EXTENSION: ".webp";
2
3
  /**
3
4
  * Basenames under the shared images directory — use with `getSharedImagePath` from `@timardex/cluemart-shared/images/node` (Express / Node).
4
- * This object is the single source of poster keys; `posters` is derived from it. Add a PNG under `src/images/posters/` when adding an entry.
5
- * Keep `POSTER_FILE_BY_ID` in `src/images/node.cjs` / `node.mjs` in sync when you change this map.
5
+ * This object is the single source of poster keys; `posters` is derived from it. Add an image with `IMAGE_EXTENSION` under `src/images/posters/` when adding an entry.
6
+ * `images/node` reads this at runtime for `getSharedImagePath` allow-listing.
6
7
  */
7
- declare const posterFiles: {
8
- readonly poster1: "poster1.png";
9
- readonly poster2: "poster2.png";
10
- readonly poster3: "poster3.png";
11
- };
8
+ declare const posterIds: readonly ["poster1", "poster2", "poster3"];
9
+ declare const posterFiles: { readonly [K in (typeof posterIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`; };
10
+ /**
11
+ * Basenames for assets under `src/images/clui/` in source; they are copied flat into `dist/images/` (same as posters).
12
+ * `images/node` reads this at runtime for `getSharedImagePath` allow-listing.
13
+ */
14
+ declare const cluiIds: readonly ["cluiTui", "sima", "tablas", "telefonos", "ugralos"];
15
+ declare const cluiFiles: { readonly [K in (typeof cluiIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`; };
16
+ declare const iconIds: readonly ["apple-maps-icon", "facebook", "google-maps-icon", "instagram", "meet", "poll", "tiktok", "tip", "waze-maps-icon", "website", "youtube"];
17
+ declare const iconFiles: { readonly [K in (typeof iconIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`; };
18
+ declare const badgeIds: readonly ["corporate", "private", "school"];
19
+ declare const badgeFiles: { readonly [K in (typeof badgeIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`; };
20
+ declare const logoIds: readonly ["googleMaps-logo-dark", "googleMaps-logo-light", "logo", "logo-atr"];
21
+ declare const logoFiles: { readonly [K in (typeof logoIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`; };
22
+ declare const otherImagesIds: readonly ["banner-horizontal", "banner-vertical", "qr-code", "store-android", "store-ios"];
23
+ declare const otherImagesFiles: { readonly [K in (typeof otherImagesIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`; };
12
24
  /**
13
25
  * Module specifiers for each poster (not resolved file URLs). Use a static import or require with these paths
14
26
  * so your bundler resolves the file, e.g.
15
- * `import poster1 from "@timardex/cluemart-shared/images/poster1.png"`
16
- * or `require("@timardex/cluemart-shared/images/poster1.png")` (React Native / Metro).
27
+ * `import poster1 from "@timardex/cluemart-shared/images/poster1.webp"`
28
+ * or `require("@timardex/cluemart-shared/images/poster1.webp")` (React Native / Metro).
17
29
  *
18
30
  * Derived from `posterFiles` so keys and filenames stay aligned.
19
31
  */
20
32
  declare const posters: { readonly [K in keyof typeof posterFiles]: `${typeof PKG}/images/${(typeof posterFiles)[K]}`; };
33
+ /**
34
+ * Module specifiers for Clui assets (same flat `@…/images/<file>.webp` pattern as posters), e.g.
35
+ * `import clui from "@timardex/cluemart-shared/images/cluiTui.webp"`.
36
+ */
37
+ declare const cluiImages: { readonly [K in keyof typeof cluiFiles]: `${typeof PKG}/images/${(typeof cluiFiles)[K]}`; };
38
+ declare const icons: { readonly [K in keyof typeof iconFiles]: `${typeof PKG}/images/${(typeof iconFiles)[K]}`; };
39
+ declare const badges: { readonly [K in keyof typeof badgeFiles]: `${typeof PKG}/images/${(typeof badgeFiles)[K]}`; };
40
+ declare const logos: { readonly [K in keyof typeof logoFiles]: `${typeof PKG}/images/${(typeof logoFiles)[K]}`; };
41
+ declare const otherImages: { readonly [K in keyof typeof otherImagesFiles]: `${typeof PKG}/images/${(typeof otherImagesFiles)[K]}`; };
21
42
  type PosterAssetId = keyof typeof posters;
22
43
  /** A single filename under the shared images directory (values of `posterFiles`). */
23
44
  type PosterImageBasename = (typeof posterFiles)[PosterAssetId];
45
+ type CluiImageId = keyof typeof cluiImages;
46
+ /** Basename under the shared images directory (values of `cluiFiles`). */
47
+ type CluiImageBasename = (typeof cluiFiles)[CluiImageId];
48
+ type IconId = keyof typeof icons;
49
+ type IconBasename = (typeof iconFiles)[IconId];
50
+ type BadgeId = keyof typeof badges;
51
+ type BadgeBasename = (typeof badgeFiles)[BadgeId];
52
+ type LogoId = keyof typeof logos;
53
+ type LogoBasename = (typeof logoFiles)[LogoId];
54
+ type OtherImagesId = keyof typeof otherImages;
55
+ type OtherImagesBasename = (typeof otherImagesFiles)[OtherImagesId];
24
56
 
25
- export { type PosterAssetId, type PosterImageBasename, posterFiles, posters };
57
+ export { type BadgeBasename, type BadgeId, type CluiImageBasename, type CluiImageId, IMAGE_EXTENSION, type IconBasename, type IconId, type LogoBasename, type LogoId, type OtherImagesBasename, type OtherImagesId, type PosterAssetId, type PosterImageBasename, badgeFiles, badgeIds, badges, cluiFiles, cluiIds, cluiImages, iconFiles, iconIds, icons, logoFiles, logoIds, logos, otherImages, otherImagesFiles, otherImagesIds, posterFiles, posterIds, posters };
@@ -1,25 +1,57 @@
1
1
  declare const PKG: "@timardex/cluemart-shared";
2
+ declare const IMAGE_EXTENSION: ".webp";
2
3
  /**
3
4
  * Basenames under the shared images directory — use with `getSharedImagePath` from `@timardex/cluemart-shared/images/node` (Express / Node).
4
- * This object is the single source of poster keys; `posters` is derived from it. Add a PNG under `src/images/posters/` when adding an entry.
5
- * Keep `POSTER_FILE_BY_ID` in `src/images/node.cjs` / `node.mjs` in sync when you change this map.
5
+ * This object is the single source of poster keys; `posters` is derived from it. Add an image with `IMAGE_EXTENSION` under `src/images/posters/` when adding an entry.
6
+ * `images/node` reads this at runtime for `getSharedImagePath` allow-listing.
6
7
  */
7
- declare const posterFiles: {
8
- readonly poster1: "poster1.png";
9
- readonly poster2: "poster2.png";
10
- readonly poster3: "poster3.png";
11
- };
8
+ declare const posterIds: readonly ["poster1", "poster2", "poster3"];
9
+ declare const posterFiles: { readonly [K in (typeof posterIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`; };
10
+ /**
11
+ * Basenames for assets under `src/images/clui/` in source; they are copied flat into `dist/images/` (same as posters).
12
+ * `images/node` reads this at runtime for `getSharedImagePath` allow-listing.
13
+ */
14
+ declare const cluiIds: readonly ["cluiTui", "sima", "tablas", "telefonos", "ugralos"];
15
+ declare const cluiFiles: { readonly [K in (typeof cluiIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`; };
16
+ declare const iconIds: readonly ["apple-maps-icon", "facebook", "google-maps-icon", "instagram", "meet", "poll", "tiktok", "tip", "waze-maps-icon", "website", "youtube"];
17
+ declare const iconFiles: { readonly [K in (typeof iconIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`; };
18
+ declare const badgeIds: readonly ["corporate", "private", "school"];
19
+ declare const badgeFiles: { readonly [K in (typeof badgeIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`; };
20
+ declare const logoIds: readonly ["googleMaps-logo-dark", "googleMaps-logo-light", "logo", "logo-atr"];
21
+ declare const logoFiles: { readonly [K in (typeof logoIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`; };
22
+ declare const otherImagesIds: readonly ["banner-horizontal", "banner-vertical", "qr-code", "store-android", "store-ios"];
23
+ declare const otherImagesFiles: { readonly [K in (typeof otherImagesIds)[number]]: `${K}${typeof IMAGE_EXTENSION}`; };
12
24
  /**
13
25
  * Module specifiers for each poster (not resolved file URLs). Use a static import or require with these paths
14
26
  * so your bundler resolves the file, e.g.
15
- * `import poster1 from "@timardex/cluemart-shared/images/poster1.png"`
16
- * or `require("@timardex/cluemart-shared/images/poster1.png")` (React Native / Metro).
27
+ * `import poster1 from "@timardex/cluemart-shared/images/poster1.webp"`
28
+ * or `require("@timardex/cluemart-shared/images/poster1.webp")` (React Native / Metro).
17
29
  *
18
30
  * Derived from `posterFiles` so keys and filenames stay aligned.
19
31
  */
20
32
  declare const posters: { readonly [K in keyof typeof posterFiles]: `${typeof PKG}/images/${(typeof posterFiles)[K]}`; };
33
+ /**
34
+ * Module specifiers for Clui assets (same flat `@…/images/<file>.webp` pattern as posters), e.g.
35
+ * `import clui from "@timardex/cluemart-shared/images/cluiTui.webp"`.
36
+ */
37
+ declare const cluiImages: { readonly [K in keyof typeof cluiFiles]: `${typeof PKG}/images/${(typeof cluiFiles)[K]}`; };
38
+ declare const icons: { readonly [K in keyof typeof iconFiles]: `${typeof PKG}/images/${(typeof iconFiles)[K]}`; };
39
+ declare const badges: { readonly [K in keyof typeof badgeFiles]: `${typeof PKG}/images/${(typeof badgeFiles)[K]}`; };
40
+ declare const logos: { readonly [K in keyof typeof logoFiles]: `${typeof PKG}/images/${(typeof logoFiles)[K]}`; };
41
+ declare const otherImages: { readonly [K in keyof typeof otherImagesFiles]: `${typeof PKG}/images/${(typeof otherImagesFiles)[K]}`; };
21
42
  type PosterAssetId = keyof typeof posters;
22
43
  /** A single filename under the shared images directory (values of `posterFiles`). */
23
44
  type PosterImageBasename = (typeof posterFiles)[PosterAssetId];
45
+ type CluiImageId = keyof typeof cluiImages;
46
+ /** Basename under the shared images directory (values of `cluiFiles`). */
47
+ type CluiImageBasename = (typeof cluiFiles)[CluiImageId];
48
+ type IconId = keyof typeof icons;
49
+ type IconBasename = (typeof iconFiles)[IconId];
50
+ type BadgeId = keyof typeof badges;
51
+ type BadgeBasename = (typeof badgeFiles)[BadgeId];
52
+ type LogoId = keyof typeof logos;
53
+ type LogoBasename = (typeof logoFiles)[LogoId];
54
+ type OtherImagesId = keyof typeof otherImages;
55
+ type OtherImagesBasename = (typeof otherImagesFiles)[OtherImagesId];
24
56
 
25
- export { type PosterAssetId, type PosterImageBasename, posterFiles, posters };
57
+ export { type BadgeBasename, type BadgeId, type CluiImageBasename, type CluiImageId, IMAGE_EXTENSION, type IconBasename, type IconId, type LogoBasename, type LogoId, type OtherImagesBasename, type OtherImagesId, type PosterAssetId, type PosterImageBasename, badgeFiles, badgeIds, badges, cluiFiles, cluiIds, cluiImages, iconFiles, iconIds, icons, logoFiles, logoIds, logos, otherImages, otherImagesFiles, otherImagesIds, posterFiles, posterIds, posters };
@@ -1,9 +1,43 @@
1
1
  import {
2
+ IMAGE_EXTENSION,
3
+ badgeFiles,
4
+ badgeIds,
5
+ badges,
6
+ cluiFiles,
7
+ cluiIds,
8
+ cluiImages,
9
+ iconFiles,
10
+ iconIds,
11
+ icons,
12
+ logoFiles,
13
+ logoIds,
14
+ logos,
15
+ otherImages,
16
+ otherImagesFiles,
17
+ otherImagesIds,
2
18
  posterFiles,
19
+ posterIds,
3
20
  posters
4
- } from "../chunk-IBKLW65U.mjs";
21
+ } from "../chunk-TXHYVMOH.mjs";
5
22
  export {
23
+ IMAGE_EXTENSION,
24
+ badgeFiles,
25
+ badgeIds,
26
+ badges,
27
+ cluiFiles,
28
+ cluiIds,
29
+ cluiImages,
30
+ iconFiles,
31
+ iconIds,
32
+ icons,
33
+ logoFiles,
34
+ logoIds,
35
+ logos,
36
+ otherImages,
37
+ otherImagesFiles,
38
+ otherImagesIds,
6
39
  posterFiles,
40
+ posterIds,
7
41
  posters
8
42
  };
9
43
  //# sourceMappingURL=index.mjs.map
Binary file
@@ -0,0 +1,2 @@
1
+ declare const src: string | number;
2
+ export default src;
Binary file
@@ -0,0 +1,2 @@
1
+ declare const src: string | number;
2
+ export default src;
Binary file
@@ -0,0 +1,2 @@
1
+ declare const src: string | number;
2
+ export default src;
Binary file
@@ -0,0 +1,2 @@
1
+ declare const src: string | number;
2
+ export default src;
@@ -1,25 +1,30 @@
1
1
  "use strict";
2
2
 
3
- const { createRequire } = require("node:module");
4
3
  const path = require("node:path");
5
4
 
6
- const { basename, dirname, resolve, sep } = path;
5
+ const { basename, isAbsolute, relative, resolve, sep } = path;
7
6
 
8
- const nodeRequire = createRequire(__filename);
9
- const PKG = "@timardex/cluemart-shared";
10
- const IMAGES_RESOLVE_ANCHOR = `${PKG}/images/poster1.png`;
7
+ const {
8
+ badgeFiles,
9
+ cluiFiles,
10
+ iconFiles,
11
+ otherImagesFiles,
12
+ logoFiles,
13
+ posterFiles,
14
+ } = require("./index.cjs");
11
15
 
12
- /** Keep in sync with `posterFiles` in `src/images/index.ts`. */
13
- const POSTER_FILE_BY_ID = {
14
- poster1: "poster1.png",
15
- poster2: "poster2.png",
16
- poster3: "poster3.png",
17
- };
18
-
19
- const ALLOWED_BASENAMES = new Set(Object.values(POSTER_FILE_BY_ID));
16
+ const ALLOWED_BASENAMES = new Set([
17
+ ...Object.values(posterFiles),
18
+ ...Object.values(cluiFiles),
19
+ ...Object.values(iconFiles),
20
+ ...Object.values(badgeFiles),
21
+ ...Object.values(logoFiles),
22
+ ...Object.values(otherImagesFiles),
23
+ ]);
20
24
 
25
+ /** Directory containing this module and the shipped images (`dist/images/` in the published package). */
21
26
  function getSharedImagesDir() {
22
- return dirname(nodeRequire.resolve(IMAGES_RESOLVE_ANCHOR));
27
+ return __dirname;
23
28
  }
24
29
 
25
30
  /**
@@ -44,6 +49,32 @@ function assertSafeImageBasename(fileName) {
44
49
  return fileName;
45
50
  }
46
51
 
52
+ /**
53
+ * @param {string} ref
54
+ * @returns {string}
55
+ */
56
+ function resolveToBasename(ref) {
57
+ if (Object.prototype.hasOwnProperty.call(posterFiles, ref)) {
58
+ return posterFiles[ref];
59
+ }
60
+ if (Object.prototype.hasOwnProperty.call(cluiFiles, ref)) {
61
+ return cluiFiles[ref];
62
+ }
63
+ if (Object.prototype.hasOwnProperty.call(iconFiles, ref)) {
64
+ return iconFiles[ref];
65
+ }
66
+ if (Object.prototype.hasOwnProperty.call(badgeFiles, ref)) {
67
+ return badgeFiles[ref];
68
+ }
69
+ if (Object.prototype.hasOwnProperty.call(logoFiles, ref)) {
70
+ return logoFiles[ref];
71
+ }
72
+ if (Object.prototype.hasOwnProperty.call(otherImagesFiles, ref)) {
73
+ return otherImagesFiles[ref];
74
+ }
75
+ return assertSafeImageBasename(ref);
76
+ }
77
+
47
78
  /**
48
79
  * @param {string} rootDir
49
80
  * @param {string} baseName
@@ -52,8 +83,8 @@ function assertSafeImageBasename(fileName) {
52
83
  function resolvedPathUnderRoot(rootDir, baseName) {
53
84
  const rootResolved = resolve(rootDir);
54
85
  const resolved = resolve(rootResolved, baseName);
55
- const prefix = rootResolved.endsWith(sep) ? rootResolved : rootResolved + sep;
56
- if (resolved !== rootResolved && !resolved.startsWith(prefix)) {
86
+ const rel = relative(rootResolved, resolved);
87
+ if (rel === ".." || rel.startsWith(`..${sep}`) || isAbsolute(rel)) {
57
88
  throw new TypeError(
58
89
  "resolved path must stay under the shared images directory",
59
90
  );
@@ -62,13 +93,11 @@ function resolvedPathUnderRoot(rootDir, baseName) {
62
93
  }
63
94
 
64
95
  function getSharedImagePath(ref) {
65
- const segment = Object.hasOwn(POSTER_FILE_BY_ID, ref)
66
- ? POSTER_FILE_BY_ID[ref]
67
- : assertSafeImageBasename(ref);
68
- if (!ALLOWED_BASENAMES.has(segment)) {
69
- throw new TypeError(`unknown poster image: ${ref}`);
96
+ const baseName = resolveToBasename(ref);
97
+ if (!ALLOWED_BASENAMES.has(baseName)) {
98
+ throw new TypeError(`unknown shared image: ${ref}`);
70
99
  }
71
- return resolvedPathUnderRoot(getSharedImagesDir(), segment);
100
+ return resolvedPathUnderRoot(getSharedImagesDir(), baseName);
72
101
  }
73
102
 
74
103
  module.exports = { getSharedImagePath, getSharedImagesDir };
@@ -1,13 +1,53 @@
1
- import type { PosterAssetId, PosterImageBasename } from "./index.js";
1
+ import type {
2
+ BadgeBasename,
3
+ BadgeId,
4
+ CluiImageBasename,
5
+ CluiImageId,
6
+ IconBasename,
7
+ IconId,
8
+ LogoBasename,
9
+ LogoId,
10
+ OtherImagesBasename,
11
+ OtherImagesId,
12
+ PosterAssetId,
13
+ PosterImageBasename,
14
+ } from "./index.js";
2
15
 
3
- export type { PosterAssetId, PosterImageBasename } from "./index.js";
16
+ export type {
17
+ BadgeBasename,
18
+ BadgeId,
19
+ CluiImageBasename,
20
+ CluiImageId,
21
+ IconBasename,
22
+ IconId,
23
+ LogoBasename,
24
+ LogoId,
25
+ OtherImagesBasename,
26
+ OtherImagesId,
27
+ PosterAssetId,
28
+ PosterImageBasename,
29
+ } from "./index.js";
4
30
 
5
- /** Absolute path to the directory containing shipped PNGs (`poster1.png`, ). */
31
+ /** Absolute path to `dist/images/` (directory of the shipped `node` entry and PNGs). */
6
32
  export function getSharedImagesDir(): string;
7
33
 
8
34
  /**
9
- * Absolute path to one shipped poster image.
10
- * Pass a `PosterAssetId` (e.g. `poster1`) or the matching `PosterImageBasename` (e.g. `poster1.png`).
11
- * Unknown values, path segments, and `..` are rejected at runtime.
35
+ * Absolute path to one shipped image (poster or Clui asset).
36
+ * Pass an id (`poster1`, `cluiTui`) or the flat basename (`poster1.webp`, `cluiTui.webp`).
37
+ * Unknown values and path segments are rejected at runtime.
12
38
  */
13
- export function getSharedImagePath(fileName: PosterAssetId | PosterImageBasename): string;
39
+ export function getSharedImagePath(
40
+ ref:
41
+ | PosterAssetId
42
+ | PosterImageBasename
43
+ | CluiImageId
44
+ | CluiImageBasename
45
+ | IconId
46
+ | IconBasename
47
+ | BadgeId
48
+ | BadgeBasename
49
+ | LogoId
50
+ | LogoBasename
51
+ | OtherImagesId
52
+ | OtherImagesBasename,
53
+ ): string;