m2m-components 7.1.9-alpha-1762751119966-7abe527.0 → 8.0.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.
Files changed (106) hide show
  1. package/MenuBaseElement.d.mts +12 -1
  2. package/MenuBaseElement.d.ts +12 -1
  3. package/MenuBaseElement.js +11 -19
  4. package/MenuBaseElement.js.map +1 -1
  5. package/MenuBaseElement.mjs +1 -1
  6. package/apps.d.mts +16 -0
  7. package/apps.d.ts +16 -0
  8. package/apps.js +94 -0
  9. package/apps.js.map +1 -0
  10. package/apps.mjs +11 -0
  11. package/apps.mjs.map +1 -0
  12. package/{chunk-SAILIWRH.mjs → chunk-3QIUILX5.mjs} +48 -18
  13. package/chunk-3QIUILX5.mjs.map +1 -0
  14. package/{chunk-EAE7RJIC.mjs → chunk-5EK67DDX.mjs} +12 -16
  15. package/chunk-5EK67DDX.mjs.map +1 -0
  16. package/{chunk-EMMKRND5.mjs → chunk-7AZEHVZT.mjs} +3 -3
  17. package/{chunk-DFNQXQZT.mjs → chunk-7VHUBWOT.mjs} +20 -6
  18. package/chunk-7VHUBWOT.mjs.map +1 -0
  19. package/{chunk-DEAGPWGW.mjs → chunk-BFCTE2XZ.mjs} +3 -3
  20. package/chunk-CP2PCNLU.mjs +63 -0
  21. package/chunk-CP2PCNLU.mjs.map +1 -0
  22. package/chunk-IGOSAWM6.mjs +29 -0
  23. package/chunk-IGOSAWM6.mjs.map +1 -0
  24. package/{chunk-FGCQFIXK.mjs → chunk-INOKCKLW.mjs} +4 -1
  25. package/chunk-INOKCKLW.mjs.map +1 -0
  26. package/{chunk-B4ZVSYUD.mjs → chunk-OU3IGV6H.mjs} +2 -2
  27. package/{chunk-T5BIUVZ3.mjs → chunk-QWW2VCZM.mjs} +5 -6
  28. package/chunk-QWW2VCZM.mjs.map +1 -0
  29. package/{chunk-33H52IEC.mjs → chunk-T3MVHAME.mjs} +2 -2
  30. package/chunk-W5DAWJ2F.mjs +12 -0
  31. package/chunk-W5DAWJ2F.mjs.map +1 -0
  32. package/chunk-ZBZMUI2R.mjs +42 -0
  33. package/chunk-ZBZMUI2R.mjs.map +1 -0
  34. package/domains.d.mts +14 -9
  35. package/domains.d.ts +14 -9
  36. package/domains.js +43 -16
  37. package/domains.js.map +1 -1
  38. package/domains.mjs +6 -1
  39. package/index.d.mts +2 -1
  40. package/index.d.ts +2 -1
  41. package/index.js +172 -53
  42. package/index.js.map +1 -1
  43. package/index.mjs +12 -10
  44. package/initM2mComponents.js +9 -5
  45. package/initM2mComponents.js.map +1 -1
  46. package/initM2mComponents.mjs +3 -2
  47. package/m2m-apps-menu.d.mts +4 -2
  48. package/m2m-apps-menu.d.ts +4 -2
  49. package/m2m-apps-menu.js +146 -44
  50. package/m2m-apps-menu.js.map +1 -1
  51. package/m2m-apps-menu.mjs +5 -3
  52. package/m2m-releases-link.d.mts +9 -1
  53. package/m2m-releases-link.d.ts +9 -1
  54. package/m2m-releases-link.js +7 -4
  55. package/m2m-releases-link.js.map +1 -1
  56. package/m2m-releases-link.mjs +8 -5
  57. package/m2m-releases-link.mjs.map +1 -1
  58. package/m2m-user-menu.d.mts +4 -2
  59. package/m2m-user-menu.d.ts +4 -2
  60. package/m2m-user-menu.js +74 -36
  61. package/m2m-user-menu.js.map +1 -1
  62. package/m2m-user-menu.mjs +7 -6
  63. package/package.json +2 -4
  64. package/storage/clearAuth.js +8 -5
  65. package/storage/clearAuth.js.map +1 -1
  66. package/storage/clearAuth.mjs +4 -3
  67. package/storage/client.js +9 -5
  68. package/storage/client.js.map +1 -1
  69. package/storage/client.mjs +2 -1
  70. package/storage/getM2MStorageHubDomain.d.mts +3 -0
  71. package/storage/getM2MStorageHubDomain.d.ts +3 -0
  72. package/storage/getM2MStorageHubDomain.js +36 -0
  73. package/storage/getM2MStorageHubDomain.js.map +1 -0
  74. package/storage/getM2MStorageHubDomain.mjs +8 -0
  75. package/storage/getM2MStorageHubDomain.mjs.map +1 -0
  76. package/storage/hub.js +3 -0
  77. package/storage/hub.js.map +1 -1
  78. package/storage/hub.mjs +2 -2
  79. package/storage/lib/hub.js +3 -0
  80. package/storage/lib/hub.js.map +1 -1
  81. package/storage/lib/hub.mjs +1 -1
  82. package/storage/persistenceDatabase.d.mts +2 -2
  83. package/storage/persistenceDatabase.d.ts +2 -2
  84. package/storage/persistenceDatabase.js +8 -5
  85. package/storage/persistenceDatabase.js.map +1 -1
  86. package/storage/persistenceDatabase.mjs +1 -1
  87. package/storage/refreshAuth.js +8 -5
  88. package/storage/refreshAuth.js.map +1 -1
  89. package/storage/refreshAuth.mjs +4 -3
  90. package/storage/useM2mAuth.js +8 -5
  91. package/storage/useM2mAuth.js.map +1 -1
  92. package/storage/useM2mAuth.mjs +8 -7
  93. package/storage/useM2mAuth.mjs.map +1 -1
  94. package/chunk-BRSUJNLC.mjs +0 -23
  95. package/chunk-BRSUJNLC.mjs.map +0 -1
  96. package/chunk-DFNQXQZT.mjs.map +0 -1
  97. package/chunk-E5KIJ5DQ.mjs +0 -26
  98. package/chunk-E5KIJ5DQ.mjs.map +0 -1
  99. package/chunk-EAE7RJIC.mjs.map +0 -1
  100. package/chunk-FGCQFIXK.mjs.map +0 -1
  101. package/chunk-SAILIWRH.mjs.map +0 -1
  102. package/chunk-T5BIUVZ3.mjs.map +0 -1
  103. /package/{chunk-EMMKRND5.mjs.map → chunk-7AZEHVZT.mjs.map} +0 -0
  104. /package/{chunk-DEAGPWGW.mjs.map → chunk-BFCTE2XZ.mjs.map} +0 -0
  105. /package/{chunk-B4ZVSYUD.mjs.map → chunk-OU3IGV6H.mjs.map} +0 -0
  106. /package/{chunk-33H52IEC.mjs.map → chunk-T3MVHAME.mjs.map} +0 -0
@@ -0,0 +1,63 @@
1
+ import {
2
+ getM2MStorageHubDomain
3
+ } from "./chunk-W5DAWJ2F.mjs";
4
+
5
+ // src/apps.ts
6
+ var apps = [
7
+ {
8
+ label: "m2m Series",
9
+ type: "group",
10
+ children: [
11
+ {
12
+ label: "Core \u65BD\u8A2D\u7BA1\u7406",
13
+ type: "link",
14
+ key: "core"
15
+ },
16
+ {
17
+ label: "Checkin \u30B2\u30B9\u30C8\u30C1\u30A7\u30C3\u30AF\u30A4\u30F3",
18
+ type: "link",
19
+ key: "checkin"
20
+ },
21
+ {
22
+ label: "Systems Airbnb\u9023\u643A",
23
+ type: "link",
24
+ key: "systems"
25
+ },
26
+ {
27
+ label: "Cleaning \u6E05\u6383\u7BA1\u7406",
28
+ type: "link",
29
+ key: "cleaning"
30
+ },
31
+ {
32
+ label: "Users \u30A2\u30AB\u30A6\u30F3\u30C8\u7BA1\u7406",
33
+ type: "link",
34
+ key: "users"
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ label: "Sumyca \u30DE\u30F3\u30B9\u30EA\u30FC\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0",
40
+ key: "sumyca",
41
+ type: "link"
42
+ }
43
+ ];
44
+ var useApps = async (signal) => {
45
+ const env = globalThis.M2M_COMPONENTS_ENV === "production" ? "production" : "development";
46
+ try {
47
+ const domain = getM2MStorageHubDomain(env);
48
+ const response = await fetch(`${domain}/api/apps`, { signal });
49
+ if (!response.ok) {
50
+ throw new Error(`Failed to fetch apps: ${response.statusText}`);
51
+ }
52
+ const data = await response.json();
53
+ return data;
54
+ } catch {
55
+ return apps;
56
+ }
57
+ };
58
+
59
+ export {
60
+ apps,
61
+ useApps
62
+ };
63
+ //# sourceMappingURL=chunk-CP2PCNLU.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/apps.ts"],"sourcesContent":["import { getM2MStorageHubDomain } from \"./storage/getM2MStorageHubDomain\";\n\ninterface AppGroup {\n label: string;\n type: \"group\";\n children: App[];\n}\n\nexport type AppLinkKey =\n | \"core\"\n | \"checkin\"\n | \"systems\"\n | \"cleaning\"\n | \"users\"\n | \"sumyca\";\n\ninterface AppLink {\n label: string;\n type: \"link\";\n key: AppLinkKey;\n}\n\nexport type App = AppGroup | AppLink;\n\nexport const apps: App[] = [\n {\n label: \"m2m Series\",\n type: \"group\",\n children: [\n {\n label: \"Core 施設管理\",\n type: \"link\",\n key: \"core\",\n },\n {\n label: \"Checkin ゲストチェックイン\",\n type: \"link\",\n key: \"checkin\",\n },\n {\n label: \"Systems Airbnb連携\",\n type: \"link\",\n key: \"systems\",\n },\n {\n label: \"Cleaning 清掃管理\",\n type: \"link\",\n key: \"cleaning\",\n },\n {\n label: \"Users アカウント管理\",\n type: \"link\",\n key: \"users\",\n },\n ],\n },\n {\n label: \"Sumyca マンスリープラットフォーム\",\n key: \"sumyca\",\n type: \"link\",\n },\n];\n\nexport const useApps = async (signal?: AbortSignal): Promise<App[]> => {\n const env =\n globalThis.M2M_COMPONENTS_ENV === \"production\"\n ? \"production\"\n : \"development\";\n try {\n const domain = getM2MStorageHubDomain(env);\n const response = await fetch(`${domain}/api/apps`, { signal });\n if (!response.ok) {\n throw new Error(`Failed to fetch apps: ${response.statusText}`);\n }\n const data = (await response.json()) as App[];\n return data;\n } catch {\n return apps;\n }\n};\n"],"mappings":";;;;;AAwBO,IAAM,OAAc;AAAA,EACzB;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,IACN,UAAU;AAAA,MACR;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,KAAK;AAAA,MACP;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,KAAK;AAAA,MACP;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,KAAK;AAAA,MACP;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,KAAK;AAAA,MACP;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,KAAK;AAAA,MACP;AAAA,IACF;AAAA,EACF;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,KAAK;AAAA,IACL,MAAM;AAAA,EACR;AACF;AAEO,IAAM,UAAU,OAAO,WAAyC;AACrE,QAAM,MACJ,WAAW,uBAAuB,eAC9B,eACA;AACN,MAAI;AACF,UAAM,SAAS,uBAAuB,GAAG;AACzC,UAAM,WAAW,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,OAAO,CAAC;AAC7D,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI,MAAM,yBAAyB,SAAS,UAAU,EAAE;AAAA,IAChE;AACA,UAAM,OAAQ,MAAM,SAAS,KAAK;AAClC,WAAO;AAAA,EACT,QAAQ;AACN,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1,29 @@
1
+ // src/storage/persistenceDatabase.ts
2
+ import { openDB } from "idb";
3
+ var dbPromise = typeof window !== "undefined" || process.env.VITEST === "true" ? openDB("persistence-store", 1, {
4
+ upgrade(db) {
5
+ db.createObjectStore("persistence");
6
+ }
7
+ }) : Promise.resolve(null);
8
+ var get = async (key) => {
9
+ var _a;
10
+ return (_a = await dbPromise) == null ? void 0 : _a.get("persistence", key);
11
+ };
12
+ var set = async (key, val) => {
13
+ var _a;
14
+ return (_a = await dbPromise) == null ? void 0 : _a.put("persistence", val, key);
15
+ };
16
+ var clear = async (key) => {
17
+ var _a;
18
+ return (_a = await dbPromise) == null ? void 0 : _a.delete("persistence", key);
19
+ };
20
+ var persistenceDatabase = {
21
+ get,
22
+ set,
23
+ clear
24
+ };
25
+
26
+ export {
27
+ persistenceDatabase
28
+ };
29
+ //# sourceMappingURL=chunk-IGOSAWM6.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/storage/persistenceDatabase.ts"],"sourcesContent":["import { DBSchema, openDB } from \"idb\";\nimport { LoginResponse } from \"./api/login\";\n\ninterface PersistenceDatabase extends DBSchema {\n persistence: {\n value: LoginResponse;\n key: \"auth\";\n };\n}\n\n// Only create connectors on client-side or in test environments to avoid SSR issues\nconst dbPromise =\n typeof window !== \"undefined\" || process.env.VITEST === \"true\"\n ? openDB<PersistenceDatabase>(\"persistence-store\", 1, {\n upgrade(db) {\n db.createObjectStore(\"persistence\");\n },\n })\n : Promise.resolve(null);\n\nconst get = async (key: \"auth\") => {\n return (await dbPromise)?.get(\"persistence\", key);\n};\nconst set = async (key: \"auth\", val: LoginResponse) => {\n return (await dbPromise)?.put(\"persistence\", val, key);\n};\nconst clear = async (key: \"auth\") => {\n return (await dbPromise)?.delete(\"persistence\", key);\n};\n\nexport const persistenceDatabase = {\n get,\n set,\n clear,\n};\n"],"mappings":";AAAA,SAAmB,cAAc;AAWjC,IAAM,YACJ,OAAO,WAAW,eAAe,QAAQ,IAAI,WAAW,SACpD,OAA4B,qBAAqB,GAAG;AAAA,EAClD,QAAQ,IAAI;AACV,OAAG,kBAAkB,aAAa;AAAA,EACpC;AACF,CAAC,IACD,QAAQ,QAAQ,IAAI;AAE1B,IAAM,MAAM,OAAO,QAAgB;AApBnC;AAqBE,UAAQ,WAAM,cAAN,mBAAkB,IAAI,eAAe;AAC/C;AACA,IAAM,MAAM,OAAO,KAAa,QAAuB;AAvBvD;AAwBE,UAAQ,WAAM,cAAN,mBAAkB,IAAI,eAAe,KAAK;AACpD;AACA,IAAM,QAAQ,OAAO,QAAgB;AA1BrC;AA2BE,UAAQ,WAAM,cAAN,mBAAkB,OAAO,eAAe;AAClD;AAEO,IAAM,sBAAsB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
@@ -53,6 +53,9 @@ var methods = {
53
53
  }
54
54
  };
55
55
  var listener = (message) => {
56
+ if (typeof message.data !== "string") {
57
+ return;
58
+ }
56
59
  const origin = message.origin === "null" ? "file://" : message.origin;
57
60
  if (message.data === "cross-storage:poll") {
58
61
  return window.parent.postMessage("cross-storage:ready", message.origin);
@@ -88,4 +91,4 @@ var listener = (message) => {
88
91
  export {
89
92
  init
90
93
  };
91
- //# sourceMappingURL=chunk-FGCQFIXK.mjs.map
94
+ //# sourceMappingURL=chunk-INOKCKLW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/storage/lib/hub.ts"],"sourcesContent":["/**\n * この実装はcross-storageほぼそのままです。\n */\ntype Method = \"get\" | \"set\" | \"del\" | \"getKeys\" | \"clear\";\n\nexport interface Permission {\n origin: RegExp;\n allow: Method[];\n}\n\nconst context: {\n permissions?: Permission[];\n} = {};\n\n/**\n * Do not use this directly. This specifications are subject to significant change.\n * @internal\n */\nexport const init = (permissions: Permission[]) => {\n context.permissions = permissions;\n window.addEventListener(\"message\", listener, false);\n window.parent.postMessage(\"cross-storage:ready\", \"*\");\n};\n\nconst permitted = (origin: string, method: Method) => {\n const available = [\"get\", \"set\", \"del\", \"clear\", \"getKeys\"];\n if (!available.includes(method)) {\n return false;\n }\n\n if (context.permissions === undefined) {\n return false;\n }\n\n for (let i = 0; i < context.permissions.length; i++) {\n const entry = context.permissions[i];\n const match = entry.origin.test(origin);\n if (match && entry.allow.includes(method)) {\n return true;\n }\n }\n return false;\n};\n\nconst methods: {\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key in Method]: Function;\n} = {\n get: (params: { keys: string[] }) => {\n const storage = window.localStorage;\n const result = [];\n for (let i = 0; i < params.keys.length; i++) {\n const value = storage.getItem(params.keys[i]) || null;\n result.push(value);\n }\n // Todo: このパターン好きじゃない\n return result.length > 1 ? result : result[0];\n },\n set: (params: { key: string; value: string }) => {\n window.localStorage.setItem(params.key, params.value);\n },\n del: (params: { keys: string[] }) => {\n for (var i = 0; i < params.keys.length; i++) {\n window.localStorage.removeItem(params.keys[i]);\n }\n },\n getKeys: () => {\n const keys = [];\n const length = window.localStorage.length;\n\n for (let i = 0; i < length; i++) {\n keys.push(window.localStorage.key(i));\n }\n\n return keys;\n },\n clear: () => {\n window.localStorage.clear();\n },\n};\n\ninterface Message {\n origin: string;\n data: string;\n}\n\nconst listener = (message: Message) => {\n // Messages can be sent in various formats, so limit it to string\n if (typeof message.data !== \"string\") {\n return;\n }\n // postMessage returns the string \"null\" as the origin for \"file://\"\n const origin = message.origin === \"null\" ? \"file://\" : message.origin;\n\n // Handle polling for a ready message\n if (message.data === \"cross-storage:poll\") {\n return window.parent.postMessage(\"cross-storage:ready\", message.origin);\n }\n\n // Ignore the ready message when viewing the hub directly\n if (message.data === \"cross-storage:ready\") return;\n\n const request: {\n id: string;\n method?: string;\n // eslint-disable-next-line @typescript-eslint/ban-types\n params: Object;\n } = JSON.parse(message.data);\n\n // Check whether request.method is a string\n if (!request || typeof request.method !== \"string\") {\n return;\n }\n\n const method = request.method.split(\"cross-storage:\")[1] as Method;\n\n let error = \"\";\n let result: string | undefined = undefined;\n\n if (!method) {\n return;\n } else if (!permitted(origin, method)) {\n error = \"Invalid permissions for \" + method;\n } else {\n try {\n result = methods[method](request.params);\n } catch (err) {\n error = (err as Error).message;\n }\n }\n\n const response = JSON.stringify({\n id: request.id,\n error: error,\n result: result,\n });\n\n // postMessage requires that the target origin be set to \"*\" for \"file://\"\n const targetOrigin = origin === \"file://\" ? \"*\" : origin;\n\n window.parent.postMessage(response, targetOrigin);\n};\n"],"mappings":";AAUA,IAAM,UAEF,CAAC;AAME,IAAM,OAAO,CAAC,gBAA8B;AACjD,UAAQ,cAAc;AACtB,SAAO,iBAAiB,WAAW,UAAU,KAAK;AAClD,SAAO,OAAO,YAAY,uBAAuB,GAAG;AACtD;AAEA,IAAM,YAAY,CAAC,QAAgB,WAAmB;AACpD,QAAM,YAAY,CAAC,OAAO,OAAO,OAAO,SAAS,SAAS;AAC1D,MAAI,CAAC,UAAU,SAAS,MAAM,GAAG;AAC/B,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ,gBAAgB,QAAW;AACrC,WAAO;AAAA,EACT;AAEA,WAAS,IAAI,GAAG,IAAI,QAAQ,YAAY,QAAQ,KAAK;AACnD,UAAM,QAAQ,QAAQ,YAAY,CAAC;AACnC,UAAM,QAAQ,MAAM,OAAO,KAAK,MAAM;AACtC,QAAI,SAAS,MAAM,MAAM,SAAS,MAAM,GAAG;AACzC,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,UAGF;AAAA,EACF,KAAK,CAAC,WAA+B;AACnC,UAAM,UAAU,OAAO;AACvB,UAAM,SAAS,CAAC;AAChB,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK,QAAQ,KAAK;AAC3C,YAAM,QAAQ,QAAQ,QAAQ,OAAO,KAAK,CAAC,CAAC,KAAK;AACjD,aAAO,KAAK,KAAK;AAAA,IACnB;AAEA,WAAO,OAAO,SAAS,IAAI,SAAS,OAAO,CAAC;AAAA,EAC9C;AAAA,EACA,KAAK,CAAC,WAA2C;AAC/C,WAAO,aAAa,QAAQ,OAAO,KAAK,OAAO,KAAK;AAAA,EACtD;AAAA,EACA,KAAK,CAAC,WAA+B;AACnC,aAAS,IAAI,GAAG,IAAI,OAAO,KAAK,QAAQ,KAAK;AAC3C,aAAO,aAAa,WAAW,OAAO,KAAK,CAAC,CAAC;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,SAAS,MAAM;AACb,UAAM,OAAO,CAAC;AACd,UAAM,SAAS,OAAO,aAAa;AAEnC,aAAS,IAAI,GAAG,IAAI,QAAQ,KAAK;AAC/B,WAAK,KAAK,OAAO,aAAa,IAAI,CAAC,CAAC;AAAA,IACtC;AAEA,WAAO;AAAA,EACT;AAAA,EACA,OAAO,MAAM;AACX,WAAO,aAAa,MAAM;AAAA,EAC5B;AACF;AAOA,IAAM,WAAW,CAAC,YAAqB;AAErC,MAAI,OAAO,QAAQ,SAAS,UAAU;AACpC;AAAA,EACF;AAEA,QAAM,SAAS,QAAQ,WAAW,SAAS,YAAY,QAAQ;AAG/D,MAAI,QAAQ,SAAS,sBAAsB;AACzC,WAAO,OAAO,OAAO,YAAY,uBAAuB,QAAQ,MAAM;AAAA,EACxE;AAGA,MAAI,QAAQ,SAAS,sBAAuB;AAE5C,QAAM,UAKF,KAAK,MAAM,QAAQ,IAAI;AAG3B,MAAI,CAAC,WAAW,OAAO,QAAQ,WAAW,UAAU;AAClD;AAAA,EACF;AAEA,QAAM,SAAS,QAAQ,OAAO,MAAM,gBAAgB,EAAE,CAAC;AAEvD,MAAI,QAAQ;AACZ,MAAI,SAA6B;AAEjC,MAAI,CAAC,QAAQ;AACX;AAAA,EACF,WAAW,CAAC,UAAU,QAAQ,MAAM,GAAG;AACrC,YAAQ,6BAA6B;AAAA,EACvC,OAAO;AACL,QAAI;AACF,eAAS,QAAQ,MAAM,EAAE,QAAQ,MAAM;AAAA,IACzC,SAAS,KAAK;AACZ,cAAS,IAAc;AAAA,IACzB;AAAA,EACF;AAEA,QAAM,WAAW,KAAK,UAAU;AAAA,IAC9B,IAAI,QAAQ;AAAA,IACZ;AAAA,IACA;AAAA,EACF,CAAC;AAGD,QAAM,eAAe,WAAW,YAAY,MAAM;AAElD,SAAO,OAAO,YAAY,UAAU,YAAY;AAClD;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  m2mStorageClient
3
- } from "./chunk-T5BIUVZ3.mjs";
3
+ } from "./chunk-QWW2VCZM.mjs";
4
4
 
5
5
  // src/initM2mComponents.ts
6
6
  var initM2mComponents = (args) => {
@@ -14,4 +14,4 @@ var initM2mComponents = (args) => {
14
14
  export {
15
15
  initM2mComponents
16
16
  };
17
- //# sourceMappingURL=chunk-B4ZVSYUD.mjs.map
17
+ //# sourceMappingURL=chunk-OU3IGV6H.mjs.map
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  StorageClient
3
3
  } from "./chunk-R73ITKF5.mjs";
4
+ import {
5
+ getM2MStorageHubDomain
6
+ } from "./chunk-W5DAWJ2F.mjs";
4
7
 
5
8
  // src/storage/client.ts
6
9
  var M2mStorageClient = class extends StorageClient {
@@ -31,17 +34,13 @@ var getStorage = async (timeout = 5e3) => {
31
34
  await storage.onConnect();
32
35
  return storage;
33
36
  };
34
- var M2M_STORAGE_HUB_URL = "https://hub.m2msystems.cloud/";
35
- var M2M_STORAGE_HUB_URL_DEV = "https://m2m-components-storage-hub-dev.netlify.app/";
36
37
  var initStorageClient = (options) => {
37
38
  if (globalThis.M2M_STORAGE) {
38
39
  throw new Error(
39
40
  "M2mStorageClient already initialized. Do not call m2mStorageClient.init multiple times."
40
41
  );
41
42
  }
42
- const storage = new M2mStorageClient(
43
- (options == null ? void 0 : options.env) === "production" ? M2M_STORAGE_HUB_URL : M2M_STORAGE_HUB_URL_DEV
44
- );
43
+ const storage = new M2mStorageClient(getM2MStorageHubDomain(options == null ? void 0 : options.env));
45
44
  globalThis.M2M_STORAGE = storage;
46
45
  };
47
46
  var m2mStorageClient = {
@@ -92,4 +91,4 @@ export {
92
91
  M2M_AUTH_TOKEN_KEY,
93
92
  m2mAuthTokenApi
94
93
  };
95
- //# sourceMappingURL=chunk-T5BIUVZ3.mjs.map
94
+ //# sourceMappingURL=chunk-QWW2VCZM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/storage/client.ts"],"sourcesContent":["import { getM2MStorageHubDomain } from \"./getM2MStorageHubDomain\";\nimport { StorageClient } from \"./lib/client\";\n\nclass M2mStorageClient extends StorageClient {}\n\nexport type { M2mStorageClient };\n\n/**\n * Get the connected storage client.\n * @param timeout\n * @default 5000\n */\nconst getStorage = async (timeout = 5000) => {\n const storage = await new Promise<M2mStorageClient>((resolve, reject) => {\n const rejectTimer = globalThis.setTimeout(function () {\n reject(\n new Error(\n \"Timeout: M2mStorageClient could not connect. Please call m2mStorageClient.init() before using m2mStorageClient.\",\n ),\n );\n }, timeout);\n\n const storage = globalThis.M2M_STORAGE;\n if (storage) {\n globalThis.clearTimeout(rejectTimer);\n resolve(storage);\n }\n\n const timer = globalThis.setInterval(() => {\n const storage = globalThis.M2M_STORAGE;\n if (storage) {\n globalThis.clearTimeout(rejectTimer);\n globalThis.clearInterval(timer);\n resolve(storage);\n }\n }, 200);\n });\n\n await storage.onConnect();\n\n return storage;\n};\n\nconst initStorageClient = (options?: {\n env?: \"development\" | \"production\";\n}) => {\n if (globalThis.M2M_STORAGE) {\n throw new Error(\n \"M2mStorageClient already initialized. Do not call m2mStorageClient.init multiple times.\",\n );\n }\n const storage = new M2mStorageClient(getM2MStorageHubDomain(options?.env));\n globalThis.M2M_STORAGE = storage;\n};\n\nexport const m2mStorageClient = {\n init: initStorageClient,\n getStorage: getStorage,\n};\n\nexport const M2M_AUTH_TOKEN_KEY = \"M2M_APP_AUTH_TOKEN\";\n\nconst getAuthTokenCache = () => {\n return globalThis.localStorage.getItem(M2M_AUTH_TOKEN_KEY);\n};\n\nconst getAuthToken = async () => {\n try {\n const storage = await getStorage();\n const autuToken = (await storage.get(M2M_AUTH_TOKEN_KEY)) as string;\n return autuToken !== null && autuToken !== undefined && autuToken.length > 0\n ? autuToken\n : getAuthTokenCache();\n } catch (error) {\n console.warn(error);\n return getAuthTokenCache();\n }\n};\n\nconst setAuthToken = async (token: string) => {\n globalThis.localStorage.setItem(M2M_AUTH_TOKEN_KEY, token);\n try {\n const storage = await getStorage();\n await storage.set(M2M_AUTH_TOKEN_KEY, token);\n } catch (error) {\n console.warn(error);\n }\n};\n\nconst clearAuthToken = async () => {\n globalThis.localStorage.removeItem(M2M_AUTH_TOKEN_KEY);\n try {\n const storage = await getStorage();\n await storage.del(M2M_AUTH_TOKEN_KEY);\n } catch (error) {\n console.warn(error);\n }\n};\n\nexport const m2mAuthTokenApi = {\n get: getAuthToken,\n getCache: getAuthTokenCache,\n set: setAuthToken,\n clear: clearAuthToken,\n};\n"],"mappings":";;;;;;;;AAGA,IAAM,mBAAN,cAA+B,cAAc;AAAC;AAS9C,IAAM,aAAa,OAAO,UAAU,QAAS;AAC3C,QAAM,UAAU,MAAM,IAAI,QAA0B,CAAC,SAAS,WAAW;AACvE,UAAM,cAAc,WAAW,WAAW,WAAY;AACpD;AAAA,QACE,IAAI;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,GAAG,OAAO;AAEV,UAAMA,WAAU,WAAW;AAC3B,QAAIA,UAAS;AACX,iBAAW,aAAa,WAAW;AACnC,cAAQA,QAAO;AAAA,IACjB;AAEA,UAAM,QAAQ,WAAW,YAAY,MAAM;AACzC,YAAMA,WAAU,WAAW;AAC3B,UAAIA,UAAS;AACX,mBAAW,aAAa,WAAW;AACnC,mBAAW,cAAc,KAAK;AAC9B,gBAAQA,QAAO;AAAA,MACjB;AAAA,IACF,GAAG,GAAG;AAAA,EACR,CAAC;AAED,QAAM,QAAQ,UAAU;AAExB,SAAO;AACT;AAEA,IAAM,oBAAoB,CAAC,YAErB;AACJ,MAAI,WAAW,aAAa;AAC1B,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,QAAM,UAAU,IAAI,iBAAiB,uBAAuB,mCAAS,GAAG,CAAC;AACzE,aAAW,cAAc;AAC3B;AAEO,IAAM,mBAAmB;AAAA,EAC9B,MAAM;AAAA,EACN;AACF;AAEO,IAAM,qBAAqB;AAElC,IAAM,oBAAoB,MAAM;AAC9B,SAAO,WAAW,aAAa,QAAQ,kBAAkB;AAC3D;AAEA,IAAM,eAAe,YAAY;AAC/B,MAAI;AACF,UAAM,UAAU,MAAM,WAAW;AACjC,UAAM,YAAa,MAAM,QAAQ,IAAI,kBAAkB;AACvD,WAAO,cAAc,QAAQ,cAAc,UAAa,UAAU,SAAS,IACvE,YACA,kBAAkB;AAAA,EACxB,SAAS,OAAO;AACd,YAAQ,KAAK,KAAK;AAClB,WAAO,kBAAkB;AAAA,EAC3B;AACF;AAEA,IAAM,eAAe,OAAO,UAAkB;AAC5C,aAAW,aAAa,QAAQ,oBAAoB,KAAK;AACzD,MAAI;AACF,UAAM,UAAU,MAAM,WAAW;AACjC,UAAM,QAAQ,IAAI,oBAAoB,KAAK;AAAA,EAC7C,SAAS,OAAO;AACd,YAAQ,KAAK,KAAK;AAAA,EACpB;AACF;AAEA,IAAM,iBAAiB,YAAY;AACjC,aAAW,aAAa,WAAW,kBAAkB;AACrD,MAAI;AACF,UAAM,UAAU,MAAM,WAAW;AACjC,UAAM,QAAQ,IAAI,kBAAkB;AAAA,EACtC,SAAS,OAAO;AACd,YAAQ,KAAK,KAAK;AAAA,EACpB;AACF;AAEO,IAAM,kBAAkB;AAAA,EAC7B,KAAK;AAAA,EACL,UAAU;AAAA,EACV,KAAK;AAAA,EACL,OAAO;AACT;","names":["storage"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init
3
- } from "./chunk-FGCQFIXK.mjs";
3
+ } from "./chunk-INOKCKLW.mjs";
4
4
 
5
5
  // src/storage/hub.ts
6
6
  var initM2mStorageHub = (permissions) => {
@@ -13,4 +13,4 @@ var m2mStorageHub = {
13
13
  export {
14
14
  m2mStorageHub
15
15
  };
16
- //# sourceMappingURL=chunk-33H52IEC.mjs.map
16
+ //# sourceMappingURL=chunk-T3MVHAME.mjs.map
@@ -0,0 +1,12 @@
1
+ // src/storage/getM2MStorageHubDomain.ts
2
+ var getM2MStorageHubDomain = (env) => {
3
+ if (env === "production" || globalThis.M2M_COMPONENTS_ENV === "production") {
4
+ return "https://hub.m2msystems.cloud";
5
+ }
6
+ return "https://hub.dev.m2msystems.cloud";
7
+ };
8
+
9
+ export {
10
+ getM2MStorageHubDomain
11
+ };
12
+ //# sourceMappingURL=chunk-W5DAWJ2F.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/storage/getM2MStorageHubDomain.ts"],"sourcesContent":["export const getM2MStorageHubDomain = (env?: \"production\" | \"development\") => {\n if (env === \"production\" || globalThis.M2M_COMPONENTS_ENV === \"production\") {\n return \"https://hub.m2msystems.cloud\";\n }\n return \"https://hub.dev.m2msystems.cloud\";\n};\n"],"mappings":";AAAO,IAAM,yBAAyB,CAAC,QAAuC;AAC5E,MAAI,QAAQ,gBAAgB,WAAW,uBAAuB,cAAc;AAC1E,WAAO;AAAA,EACT;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1,42 @@
1
+ import {
2
+ getM2MStorageHubDomain
3
+ } from "./chunk-W5DAWJ2F.mjs";
4
+
5
+ // src/domains.ts
6
+ var developmentDomains = {
7
+ core: "https://core.dev.m2msystems.cloud",
8
+ sumyca: "https://manage.dev.sumyca.com",
9
+ cleaning: "https://manager-cleaning.dev.m2msystems.cloud",
10
+ users: "https://manage-users.dev.m2msystems.cloud",
11
+ checkin: "https://manage.checkin.dev.m2msystems.cloud",
12
+ systems: "https://dev.m2msystems.cloud"
13
+ };
14
+ var productionDomains = {
15
+ core: "https://core.m2msystems.cloud",
16
+ sumyca: "https://manage.sumyca.com",
17
+ cleaning: "https://manager-cleaning.m2msystems.cloud",
18
+ users: "https://manage-users.m2msystems.cloud",
19
+ checkin: "https://manage.checkin.m2msystems.cloud",
20
+ systems: "https://m2msystems.cloud/"
21
+ };
22
+ var useDomains = async (signal) => {
23
+ const env = globalThis.M2M_COMPONENTS_ENV === "production" ? "production" : "development";
24
+ try {
25
+ const domain = getM2MStorageHubDomain(env);
26
+ const response = await fetch(`${domain}/api/domains/${env}`, { signal });
27
+ if (!response.ok) {
28
+ throw new Error(`Failed to fetch domains: ${response.statusText}`);
29
+ }
30
+ const data = await response.json();
31
+ return data;
32
+ } catch {
33
+ return globalThis.M2M_COMPONENTS_ENV === "production" ? productionDomains : developmentDomains;
34
+ }
35
+ };
36
+
37
+ export {
38
+ developmentDomains,
39
+ productionDomains,
40
+ useDomains
41
+ };
42
+ //# sourceMappingURL=chunk-ZBZMUI2R.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domains.ts"],"sourcesContent":["import { getM2MStorageHubDomain } from \"./storage/getM2MStorageHubDomain\";\nimport { type AppLinkKey } from \"./apps\";\n\nexport type DomainRecord = Record<AppLinkKey, string>;\n\nexport const developmentDomains: DomainRecord = {\n core: \"https://core.dev.m2msystems.cloud\",\n sumyca: \"https://manage.dev.sumyca.com\",\n cleaning: \"https://manager-cleaning.dev.m2msystems.cloud\",\n users: \"https://manage-users.dev.m2msystems.cloud\",\n checkin: \"https://manage.checkin.dev.m2msystems.cloud\",\n systems: \"https://dev.m2msystems.cloud\",\n};\n\nexport const productionDomains: DomainRecord = {\n core: \"https://core.m2msystems.cloud\",\n sumyca: \"https://manage.sumyca.com\",\n cleaning: \"https://manager-cleaning.m2msystems.cloud\",\n users: \"https://manage-users.m2msystems.cloud\",\n checkin: \"https://manage.checkin.m2msystems.cloud\",\n systems: \"https://m2msystems.cloud/\",\n};\n\n/**\n * 可能なら最新のドメインを取得し、取得出来なければリリース時のドメインを返す。\n * Q. なぜgetDomainsではなくuseDomainsなのか\n * A. M2M_COMPONENTS_ENVが設定される前に、この関数が呼び出されると常にdevelopmentになってしまうため、\n * Reactを利用するケースを考えるとコンポーネントのレンダリング時などに呼んでもらう必要がある。\n * React hookのような命名にしておくことで、Linterによってこれを強制できる。\n */\nexport const useDomains = async (\n signal?: AbortSignal,\n): Promise<DomainRecord> => {\n const env =\n globalThis.M2M_COMPONENTS_ENV === \"production\"\n ? \"production\"\n : \"development\";\n try {\n const domain = getM2MStorageHubDomain(env);\n const response = await fetch(`${domain}/api/domains/${env}`, { signal });\n if (!response.ok) {\n throw new Error(`Failed to fetch domains: ${response.statusText}`);\n }\n const data = (await response.json()) as DomainRecord;\n return data;\n } catch {\n return globalThis.M2M_COMPONENTS_ENV === \"production\"\n ? productionDomains\n : developmentDomains;\n }\n};\n"],"mappings":";;;;;AAKO,IAAM,qBAAmC;AAAA,EAC9C,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX;AAEO,IAAM,oBAAkC;AAAA,EAC7C,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX;AASO,IAAM,aAAa,OACxB,WAC0B;AAC1B,QAAM,MACJ,WAAW,uBAAuB,eAC9B,eACA;AACN,MAAI;AACF,UAAM,SAAS,uBAAuB,GAAG;AACzC,UAAM,WAAW,MAAM,MAAM,GAAG,MAAM,gBAAgB,GAAG,IAAI,EAAE,OAAO,CAAC;AACvE,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI,MAAM,4BAA4B,SAAS,UAAU,EAAE;AAAA,IACnE;AACA,UAAM,OAAQ,MAAM,SAAS,KAAK;AAClC,WAAO;AAAA,EACT,QAAQ;AACN,WAAO,WAAW,uBAAuB,eACrC,oBACA;AAAA,EACN;AACF;","names":[]}
package/domains.d.mts CHANGED
@@ -1,10 +1,15 @@
1
- declare const useDomains: () => {
2
- core: string;
3
- sumyca: string;
4
- cleaning: string;
5
- users: string;
6
- checkin: string;
7
- systems: string;
8
- };
1
+ import { AppLinkKey } from './apps.mjs';
9
2
 
10
- export { useDomains };
3
+ type DomainRecord = Record<AppLinkKey, string>;
4
+ declare const developmentDomains: DomainRecord;
5
+ declare const productionDomains: DomainRecord;
6
+ /**
7
+ * 可能なら最新のドメインを取得し、取得出来なければリリース時のドメインを返す。
8
+ * Q. なぜgetDomainsではなくuseDomainsなのか
9
+ * A. M2M_COMPONENTS_ENVが設定される前に、この関数が呼び出されると常にdevelopmentになってしまうため、
10
+ * Reactを利用するケースを考えるとコンポーネントのレンダリング時などに呼んでもらう必要がある。
11
+ * React hookのような命名にしておくことで、Linterによってこれを強制できる。
12
+ */
13
+ declare const useDomains: (signal?: AbortSignal) => Promise<DomainRecord>;
14
+
15
+ export { type DomainRecord, developmentDomains, productionDomains, useDomains };
package/domains.d.ts CHANGED
@@ -1,10 +1,15 @@
1
- declare const useDomains: () => {
2
- core: string;
3
- sumyca: string;
4
- cleaning: string;
5
- users: string;
6
- checkin: string;
7
- systems: string;
8
- };
1
+ import { AppLinkKey } from './apps.js';
9
2
 
10
- export { useDomains };
3
+ type DomainRecord = Record<AppLinkKey, string>;
4
+ declare const developmentDomains: DomainRecord;
5
+ declare const productionDomains: DomainRecord;
6
+ /**
7
+ * 可能なら最新のドメインを取得し、取得出来なければリリース時のドメインを返す。
8
+ * Q. なぜgetDomainsではなくuseDomainsなのか
9
+ * A. M2M_COMPONENTS_ENVが設定される前に、この関数が呼び出されると常にdevelopmentになってしまうため、
10
+ * Reactを利用するケースを考えるとコンポーネントのレンダリング時などに呼んでもらう必要がある。
11
+ * React hookのような命名にしておくことで、Linterによってこれを強制できる。
12
+ */
13
+ declare const useDomains: (signal?: AbortSignal) => Promise<DomainRecord>;
14
+
15
+ export { type DomainRecord, developmentDomains, productionDomains, useDomains };
package/domains.js CHANGED
@@ -20,28 +20,55 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/domains.ts
21
21
  var domains_exports = {};
22
22
  __export(domains_exports, {
23
+ developmentDomains: () => developmentDomains,
24
+ productionDomains: () => productionDomains,
23
25
  useDomains: () => useDomains
24
26
  });
25
27
  module.exports = __toCommonJS(domains_exports);
26
- var useDomains = () => {
27
- return globalThis.M2M_COMPONENTS_ENV === "production" ? {
28
- core: "https://core.m2msystems.cloud",
29
- sumyca: "https://manage.sumyca.com",
30
- cleaning: "https://manager-cleaning.m2msystems.cloud",
31
- users: "https://manage-users.m2msystems.cloud",
32
- checkin: "https://manage.checkin.m2msystems.cloud",
33
- systems: "https://m2msystems.cloud/"
34
- } : {
35
- core: "https://matsuri-tech-m2m-core-manager-front-dev.vercel.app",
36
- sumyca: "https://matsuri-tech-sumyca-manager-front-dev.vercel.app",
37
- cleaning: "https://matsuri-tech-m2m-cleaning-manager-front-dev.vercel.app",
38
- users: "https://matsuri-tech-m2m-users-manager-front-dev.vercel.app",
39
- checkin: "https://manage.dev.checkin.m2msystems.cloud",
40
- systems: "https://dev.m2msystems.cloud"
41
- };
28
+
29
+ // src/storage/getM2MStorageHubDomain.ts
30
+ var getM2MStorageHubDomain = (env) => {
31
+ if (env === "production" || globalThis.M2M_COMPONENTS_ENV === "production") {
32
+ return "https://hub.m2msystems.cloud";
33
+ }
34
+ return "https://hub.dev.m2msystems.cloud";
35
+ };
36
+
37
+ // src/domains.ts
38
+ var developmentDomains = {
39
+ core: "https://core.dev.m2msystems.cloud",
40
+ sumyca: "https://manage.dev.sumyca.com",
41
+ cleaning: "https://manager-cleaning.dev.m2msystems.cloud",
42
+ users: "https://manage-users.dev.m2msystems.cloud",
43
+ checkin: "https://manage.checkin.dev.m2msystems.cloud",
44
+ systems: "https://dev.m2msystems.cloud"
45
+ };
46
+ var productionDomains = {
47
+ core: "https://core.m2msystems.cloud",
48
+ sumyca: "https://manage.sumyca.com",
49
+ cleaning: "https://manager-cleaning.m2msystems.cloud",
50
+ users: "https://manage-users.m2msystems.cloud",
51
+ checkin: "https://manage.checkin.m2msystems.cloud",
52
+ systems: "https://m2msystems.cloud/"
53
+ };
54
+ var useDomains = async (signal) => {
55
+ const env = globalThis.M2M_COMPONENTS_ENV === "production" ? "production" : "development";
56
+ try {
57
+ const domain = getM2MStorageHubDomain(env);
58
+ const response = await fetch(`${domain}/api/domains/${env}`, { signal });
59
+ if (!response.ok) {
60
+ throw new Error(`Failed to fetch domains: ${response.statusText}`);
61
+ }
62
+ const data = await response.json();
63
+ return data;
64
+ } catch {
65
+ return globalThis.M2M_COMPONENTS_ENV === "production" ? productionDomains : developmentDomains;
66
+ }
42
67
  };
43
68
  // Annotate the CommonJS export names for ESM import in node:
44
69
  0 && (module.exports = {
70
+ developmentDomains,
71
+ productionDomains,
45
72
  useDomains
46
73
  });
47
74
  //# sourceMappingURL=domains.js.map
package/domains.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/domains.ts"],"sourcesContent":["export const useDomains = () => {\n return globalThis.M2M_COMPONENTS_ENV === \"production\"\n ? {\n core: \"https://core.m2msystems.cloud\",\n sumyca: \"https://manage.sumyca.com\",\n cleaning: \"https://manager-cleaning.m2msystems.cloud\",\n users: \"https://manage-users.m2msystems.cloud\",\n checkin: \"https://manage.checkin.m2msystems.cloud\",\n systems: \"https://m2msystems.cloud/\",\n }\n : {\n core: \"https://matsuri-tech-m2m-core-manager-front-dev.vercel.app\",\n sumyca: \"https://matsuri-tech-sumyca-manager-front-dev.vercel.app\",\n cleaning:\n \"https://matsuri-tech-m2m-cleaning-manager-front-dev.vercel.app\",\n users: \"https://matsuri-tech-m2m-users-manager-front-dev.vercel.app\",\n checkin: \"https://manage.dev.checkin.m2msystems.cloud\",\n systems: \"https://dev.m2msystems.cloud\",\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,aAAa,MAAM;AAC9B,SAAO,WAAW,uBAAuB,eACrC;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,IACP,SAAS;AAAA,IACT,SAAS;AAAA,EACX,IACA;AAAA,IACE,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,UACE;AAAA,IACF,OAAO;AAAA,IACP,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AACN;","names":[]}
1
+ {"version":3,"sources":["../src/domains.ts","../src/storage/getM2MStorageHubDomain.ts"],"sourcesContent":["import { getM2MStorageHubDomain } from \"./storage/getM2MStorageHubDomain\";\nimport { type AppLinkKey } from \"./apps\";\n\nexport type DomainRecord = Record<AppLinkKey, string>;\n\nexport const developmentDomains: DomainRecord = {\n core: \"https://core.dev.m2msystems.cloud\",\n sumyca: \"https://manage.dev.sumyca.com\",\n cleaning: \"https://manager-cleaning.dev.m2msystems.cloud\",\n users: \"https://manage-users.dev.m2msystems.cloud\",\n checkin: \"https://manage.checkin.dev.m2msystems.cloud\",\n systems: \"https://dev.m2msystems.cloud\",\n};\n\nexport const productionDomains: DomainRecord = {\n core: \"https://core.m2msystems.cloud\",\n sumyca: \"https://manage.sumyca.com\",\n cleaning: \"https://manager-cleaning.m2msystems.cloud\",\n users: \"https://manage-users.m2msystems.cloud\",\n checkin: \"https://manage.checkin.m2msystems.cloud\",\n systems: \"https://m2msystems.cloud/\",\n};\n\n/**\n * 可能なら最新のドメインを取得し、取得出来なければリリース時のドメインを返す。\n * Q. なぜgetDomainsではなくuseDomainsなのか\n * A. M2M_COMPONENTS_ENVが設定される前に、この関数が呼び出されると常にdevelopmentになってしまうため、\n * Reactを利用するケースを考えるとコンポーネントのレンダリング時などに呼んでもらう必要がある。\n * React hookのような命名にしておくことで、Linterによってこれを強制できる。\n */\nexport const useDomains = async (\n signal?: AbortSignal,\n): Promise<DomainRecord> => {\n const env =\n globalThis.M2M_COMPONENTS_ENV === \"production\"\n ? \"production\"\n : \"development\";\n try {\n const domain = getM2MStorageHubDomain(env);\n const response = await fetch(`${domain}/api/domains/${env}`, { signal });\n if (!response.ok) {\n throw new Error(`Failed to fetch domains: ${response.statusText}`);\n }\n const data = (await response.json()) as DomainRecord;\n return data;\n } catch {\n return globalThis.M2M_COMPONENTS_ENV === \"production\"\n ? productionDomains\n : developmentDomains;\n }\n};\n","export const getM2MStorageHubDomain = (env?: \"production\" | \"development\") => {\n if (env === \"production\" || globalThis.M2M_COMPONENTS_ENV === \"production\") {\n return \"https://hub.m2msystems.cloud\";\n }\n return \"https://hub.dev.m2msystems.cloud\";\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,yBAAyB,CAAC,QAAuC;AAC5E,MAAI,QAAQ,gBAAgB,WAAW,uBAAuB,cAAc;AAC1E,WAAO;AAAA,EACT;AACA,SAAO;AACT;;;ADAO,IAAM,qBAAmC;AAAA,EAC9C,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX;AAEO,IAAM,oBAAkC;AAAA,EAC7C,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS;AACX;AASO,IAAM,aAAa,OACxB,WAC0B;AAC1B,QAAM,MACJ,WAAW,uBAAuB,eAC9B,eACA;AACN,MAAI;AACF,UAAM,SAAS,uBAAuB,GAAG;AACzC,UAAM,WAAW,MAAM,MAAM,GAAG,MAAM,gBAAgB,GAAG,IAAI,EAAE,OAAO,CAAC;AACvE,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI,MAAM,4BAA4B,SAAS,UAAU,EAAE;AAAA,IACnE;AACA,UAAM,OAAQ,MAAM,SAAS,KAAK;AAClC,WAAO;AAAA,EACT,QAAQ;AACN,WAAO,WAAW,uBAAuB,eACrC,oBACA;AAAA,EACN;AACF;","names":[]}
package/domains.mjs CHANGED
@@ -1,8 +1,13 @@
1
1
  import {
2
+ developmentDomains,
3
+ productionDomains,
2
4
  useDomains
3
- } from "./chunk-BRSUJNLC.mjs";
5
+ } from "./chunk-ZBZMUI2R.mjs";
6
+ import "./chunk-W5DAWJ2F.mjs";
4
7
  import "./chunk-ZOXT4E27.mjs";
5
8
  export {
9
+ developmentDomains,
10
+ productionDomains,
6
11
  useDomains
7
12
  };
8
13
  //# sourceMappingURL=domains.mjs.map
package/index.d.mts CHANGED
@@ -1,5 +1,6 @@
1
1
  import './m2m-apps-menu.mjs';
2
2
  import './m2m-user-menu.mjs';
3
- import 'lit';
3
+ import 'lit-html';
4
4
  import './MenuBaseElement.mjs';
5
+ import 'lit';
5
6
  import 'lit/directives/ref.js';
package/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import './m2m-apps-menu.js';
2
2
  import './m2m-user-menu.js';
3
- import 'lit';
3
+ import 'lit-html';
4
4
  import './MenuBaseElement.js';
5
+ import 'lit';
5
6
  import 'lit/directives/ref.js';