m2m-components 7.1.9-alpha-1762751119966-7abe527.0 → 7.1.9-alpha-1762845605139-91949a7.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 (93) 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 +15 -0
  7. package/apps.d.ts +15 -0
  8. package/apps.js +68 -0
  9. package/apps.js.map +1 -0
  10. package/apps.mjs +45 -0
  11. package/apps.mjs.map +1 -0
  12. package/{chunk-EAE7RJIC.mjs → chunk-5EK67DDX.mjs} +12 -16
  13. package/chunk-5EK67DDX.mjs.map +1 -0
  14. package/{chunk-EMMKRND5.mjs → chunk-DOXG3SJR.mjs} +3 -3
  15. package/{chunk-DEAGPWGW.mjs → chunk-F6OCIRVJ.mjs} +3 -3
  16. package/chunk-H6LVVTPR.mjs +27 -0
  17. package/chunk-H6LVVTPR.mjs.map +1 -0
  18. package/chunk-IGOSAWM6.mjs +29 -0
  19. package/chunk-IGOSAWM6.mjs.map +1 -0
  20. package/{chunk-FGCQFIXK.mjs → chunk-INOKCKLW.mjs} +4 -1
  21. package/chunk-INOKCKLW.mjs.map +1 -0
  22. package/{chunk-B4ZVSYUD.mjs → chunk-KSRMCUT2.mjs} +2 -2
  23. package/{chunk-DFNQXQZT.mjs → chunk-P7JOHMD5.mjs} +4 -4
  24. package/{chunk-33H52IEC.mjs → chunk-T3MVHAME.mjs} +2 -2
  25. package/{chunk-SAILIWRH.mjs → chunk-TB4XCWDU.mjs} +3 -3
  26. package/{chunk-T5BIUVZ3.mjs → chunk-V7F5BJ5W.mjs} +2 -2
  27. package/chunk-V7F5BJ5W.mjs.map +1 -0
  28. package/domains.d.mts +7 -9
  29. package/domains.d.ts +7 -9
  30. package/domains.js +21 -15
  31. package/domains.js.map +1 -1
  32. package/domains.mjs +5 -1
  33. package/index.d.mts +2 -1
  34. package/index.d.ts +2 -1
  35. package/index.js +40 -35
  36. package/index.js.map +1 -1
  37. package/index.mjs +10 -10
  38. package/initM2mComponents.js +1 -1
  39. package/initM2mComponents.js.map +1 -1
  40. package/initM2mComponents.mjs +2 -2
  41. package/m2m-apps-menu.d.mts +3 -2
  42. package/m2m-apps-menu.d.ts +3 -2
  43. package/m2m-apps-menu.js +30 -28
  44. package/m2m-apps-menu.js.map +1 -1
  45. package/m2m-apps-menu.mjs +3 -3
  46. package/m2m-releases-link.d.mts +9 -1
  47. package/m2m-releases-link.d.ts +9 -1
  48. package/m2m-releases-link.js +7 -4
  49. package/m2m-releases-link.js.map +1 -1
  50. package/m2m-releases-link.mjs +8 -5
  51. package/m2m-releases-link.mjs.map +1 -1
  52. package/m2m-user-menu.d.mts +3 -2
  53. package/m2m-user-menu.d.ts +3 -2
  54. package/m2m-user-menu.js +38 -33
  55. package/m2m-user-menu.js.map +1 -1
  56. package/m2m-user-menu.mjs +6 -6
  57. package/package.json +1 -4
  58. package/storage/clearAuth.js +8 -5
  59. package/storage/clearAuth.js.map +1 -1
  60. package/storage/clearAuth.mjs +3 -3
  61. package/storage/client.js +1 -1
  62. package/storage/client.js.map +1 -1
  63. package/storage/client.mjs +1 -1
  64. package/storage/hub.js +3 -0
  65. package/storage/hub.js.map +1 -1
  66. package/storage/hub.mjs +2 -2
  67. package/storage/lib/hub.js +3 -0
  68. package/storage/lib/hub.js.map +1 -1
  69. package/storage/lib/hub.mjs +1 -1
  70. package/storage/persistenceDatabase.d.mts +2 -2
  71. package/storage/persistenceDatabase.d.ts +2 -2
  72. package/storage/persistenceDatabase.js +8 -5
  73. package/storage/persistenceDatabase.js.map +1 -1
  74. package/storage/persistenceDatabase.mjs +1 -1
  75. package/storage/refreshAuth.js +8 -5
  76. package/storage/refreshAuth.js.map +1 -1
  77. package/storage/refreshAuth.mjs +3 -3
  78. package/storage/useM2mAuth.js +8 -5
  79. package/storage/useM2mAuth.js.map +1 -1
  80. package/storage/useM2mAuth.mjs +4 -4
  81. package/chunk-BRSUJNLC.mjs +0 -23
  82. package/chunk-BRSUJNLC.mjs.map +0 -1
  83. package/chunk-E5KIJ5DQ.mjs +0 -26
  84. package/chunk-E5KIJ5DQ.mjs.map +0 -1
  85. package/chunk-EAE7RJIC.mjs.map +0 -1
  86. package/chunk-FGCQFIXK.mjs.map +0 -1
  87. package/chunk-T5BIUVZ3.mjs.map +0 -1
  88. /package/{chunk-EMMKRND5.mjs.map → chunk-DOXG3SJR.mjs.map} +0 -0
  89. /package/{chunk-DEAGPWGW.mjs.map → chunk-F6OCIRVJ.mjs.map} +0 -0
  90. /package/{chunk-B4ZVSYUD.mjs.map → chunk-KSRMCUT2.mjs.map} +0 -0
  91. /package/{chunk-DFNQXQZT.mjs.map → chunk-P7JOHMD5.mjs.map} +0 -0
  92. /package/{chunk-33H52IEC.mjs.map → chunk-T3MVHAME.mjs.map} +0 -0
  93. /package/{chunk-SAILIWRH.mjs.map → chunk-TB4XCWDU.mjs.map} +0 -0
package/m2m-apps-menu.js CHANGED
@@ -31,25 +31,22 @@ __export(m2m_apps_menu_exports, {
31
31
  M2MAppsMenu: () => M2MAppsMenu
32
32
  });
33
33
  module.exports = __toCommonJS(m2m_apps_menu_exports);
34
- var import_decorators2 = require("lit/decorators.js");
34
+ var import_decorators = require("lit/decorators.js");
35
35
  var import_lit2 = require("lit");
36
36
  var import_ref2 = require("lit/directives/ref.js");
37
37
 
38
38
  // src/MenuBaseElement.ts
39
39
  var import_lit = require("lit");
40
40
  var import_ref = require("lit/directives/ref.js");
41
- var import_decorators = require("lit/decorators.js");
42
41
  var MenuBaseElement = class extends import_lit.LitElement {
43
42
  constructor() {
44
- super(...arguments);
43
+ super();
45
44
  this.handleClickOutside = (event) => {
46
45
  if (!this.listRef.value || this.listRef.value.contains(event.composedPath()[0])) {
47
46
  return;
48
47
  }
49
48
  this.expanded = false;
50
49
  };
51
- this.additinalItems = [];
52
- this.expanded = false;
53
50
  this.handleToggleDrawer = (event) => {
54
51
  event.preventDefault();
55
52
  event.stopPropagation();
@@ -59,6 +56,8 @@ var MenuBaseElement = class extends import_lit.LitElement {
59
56
  }
60
57
  };
61
58
  this.listRef = (0, import_ref.createRef)();
59
+ this.additinalItems = [];
60
+ this.expanded = false;
62
61
  }
63
62
  updated() {
64
63
  if (this.expanded === false) {
@@ -170,33 +169,36 @@ MenuBaseElement.styles = import_lit.css`
170
169
  border-bottom: 1px solid #eeeeee;
171
170
  }
172
171
  `;
173
- __decorateClass([
174
- (0, import_decorators.property)({
172
+ MenuBaseElement.properties = {
173
+ additinalItems: {
175
174
  type: Object,
176
175
  attribute: "additional-items"
177
- })
178
- ], MenuBaseElement.prototype, "additinalItems", 2);
179
- __decorateClass([
180
- (0, import_decorators.property)()
181
- ], MenuBaseElement.prototype, "expanded", 2);
176
+ },
177
+ expanded: {
178
+ type: Boolean,
179
+ attribute: "expanded"
180
+ }
181
+ };
182
182
 
183
183
  // src/domains.ts
184
+ var developmentDomains = {
185
+ core: "https://core.dev.m2msystems.cloud",
186
+ sumyca: "https://manage.dev.sumyca.com",
187
+ cleaning: "https://manager-cleaning.dev.m2msystems.cloud",
188
+ users: "https://manage-users.dev.m2msystems.cloud",
189
+ checkin: "https://manage.checkin.dev.m2msystems.cloud",
190
+ systems: "https://dev.m2msystems.cloud"
191
+ };
192
+ var productionDomains = {
193
+ core: "https://core.m2msystems.cloud",
194
+ sumyca: "https://manage.sumyca.com",
195
+ cleaning: "https://manager-cleaning.m2msystems.cloud",
196
+ users: "https://manage-users.m2msystems.cloud",
197
+ checkin: "https://manage.checkin.m2msystems.cloud",
198
+ systems: "https://m2msystems.cloud/"
199
+ };
184
200
  var useDomains = () => {
185
- return globalThis.M2M_COMPONENTS_ENV === "production" ? {
186
- core: "https://core.m2msystems.cloud",
187
- sumyca: "https://manage.sumyca.com",
188
- cleaning: "https://manager-cleaning.m2msystems.cloud",
189
- users: "https://manage-users.m2msystems.cloud",
190
- checkin: "https://manage.checkin.m2msystems.cloud",
191
- systems: "https://m2msystems.cloud/"
192
- } : {
193
- core: "https://matsuri-tech-m2m-core-manager-front-dev.vercel.app",
194
- sumyca: "https://matsuri-tech-sumyca-manager-front-dev.vercel.app",
195
- cleaning: "https://matsuri-tech-m2m-cleaning-manager-front-dev.vercel.app",
196
- users: "https://matsuri-tech-m2m-users-manager-front-dev.vercel.app",
197
- checkin: "https://manage.dev.checkin.m2msystems.cloud",
198
- systems: "https://dev.m2msystems.cloud"
199
- };
201
+ return globalThis.M2M_COMPONENTS_ENV === "production" ? productionDomains : developmentDomains;
200
202
  };
201
203
 
202
204
  // src/m2m-apps-menu.ts
@@ -256,7 +258,7 @@ var M2MAppsMenu = class extends MenuBaseElement {
256
258
  }
257
259
  };
258
260
  M2MAppsMenu = __decorateClass([
259
- (0, import_decorators2.customElement)("m2m-apps-menu")
261
+ (0, import_decorators.customElement)("m2m-apps-menu")
260
262
  ], M2MAppsMenu);
261
263
  // Annotate the CommonJS export names for ESM import in node:
262
264
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/m2m-apps-menu.ts","../src/MenuBaseElement.ts","../src/domains.ts"],"sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { MenuBaseElement, MenuBaseElementProps } from \"./MenuBaseElement\";\nimport { useDomains } from \"./domains\";\n\nexport type M2MAppsMenuProps = MenuBaseElementProps;\n\n@customElement(\"m2m-apps-menu\")\nexport class M2MAppsMenu extends MenuBaseElement {\n render() {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const domains = useDomains();\n const additionalItems = this.additinalItems?.map((item) => {\n return html`\n <li>\n <a href=\"${item.href}\">${item.label}</a>\n </li>\n `;\n });\n const isHidden = this.expanded === false || this.expanded === undefined;\n return html`<nav>\n <button\n type=\"button\"\n class=\"navigation-drawer-controll-button navigation-drawer-controll-button--icon\"\n aria-controls=\"m2m-apps-menu__navigation-drawer\"\n aria-expanded=${this.expanded}\n @click=${this.handleToggleDrawer}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"38px\"\n height=\"38px\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z\"\n />\n </svg>\n </button>\n <ul\n ${ref(this.listRef)}\n id=\"m2m-apps-menu__navigation-drawer\"\n aria-hidden=${isHidden}\n class=\"navigation-drawer\"\n >\n <li>\n <span>m2m Series</span>\n <ul>\n <li><a href=\"${domains.core}\">Core 施設管理</a></li>\n <li><a href=\"${domains.checkin}\">Checkin ゲストチェックイン</a></li>\n <li><a href=\"${domains.systems}\">Systems Airbnb連携</a></li>\n <li><a href=\"${domains.cleaning}\">Cleaning 清掃管理</a></li>\n <li><a href=\"${domains.users}\">Users アカウント管理</a></li>\n </ul>\n </li>\n <li>\n <a href=\"${domains.sumyca}\">Sumyca マンスリープラットフォーム</a>\n </li>\n ${additionalItems}\n </ul>\n </nav>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"m2m-apps-menu\": M2MAppsMenu;\n }\n}\n","import { LitElement, css } from \"lit\";\nimport { Ref, createRef } from \"lit/directives/ref.js\";\nimport { property } from \"lit/decorators.js\";\n\nexport interface MenuAdditionalItem {\n label: string;\n href: string;\n}\n\nexport interface MenuBaseElementProps {\n expanded: boolean;\n additinalItems: MenuAdditionalItem[];\n}\n\nexport class MenuBaseElement extends LitElement {\n static styles = css`\n nav {\n position: relative;\n display: flex;\n }\n .navigation-drawer-controll-button {\n display: flex;\n align-items: center;\n justify-content: center;\n\n height: 42px;\n padding: 0;\n cursor: pointer;\n background-color: transparent;\n border: none;\n transition: background-color 0.2s;\n appearance: none;\n }\n .navigation-drawer-controll-button.navigation-drawer-controll-button--icon {\n width: 42px;\n }\n .navigation-drawer-controll-button:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .navigation-drawer-controll-button:active {\n background-color: rgba(0, 0, 0, 0.075);\n }\n\n .navigation-drawer {\n position: absolute;\n top: 100%;\n right: 0px;\n z-index: 1100;\n box-sizing: border-box;\n min-width: 200px;\n padding: 0px;\n margin: 0px;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.87);\n white-space: nowrap;\n list-style: none;\n background-color: #fff;\n border-radius: 5px;\n box-shadow:\n 0px 1px 3px 0px rgb(0 0 0 / 20%),\n 0px 1px 1px 0px rgb(0 0 0 / 14%),\n 0px 2px 1px -1px rgb(0 0 0 / 12%);\n }\n .navigation-drawer-controll-button[aria-expanded=\"false\"]\n ~ .navigation-drawer {\n display: none;\n }\n\n .navigation-drawer li {\n border-bottom: 1px solid #eeeeee;\n }\n .navigation-drawer li:last-of-type {\n border-bottom: none;\n }\n .navigation-drawer li > a,\n .navigation-drawer li > button {\n box-sizing: border-box;\n display: block;\n width: 100%;\n padding: 0;\n padding: 0.6em 1em;\n font: inherit;\n color: inherit;\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n cursor: pointer;\n background-color: transparent;\n border: none;\n transition: 0.2s;\n appearance: none;\n }\n .navigation-drawer li > a:hover,\n .navigation-drawer li > button:hover {\n background-color: #ededed;\n }\n .navigation-drawer li > a:active,\n .navigation-drawer li > button:active {\n background-color: #dadada;\n }\n\n .navigation-drawer li ul {\n padding: 0;\n list-style: none;\n }\n .navigation-drawer li:has(> ul) li > a {\n padding-left: 2em;\n }\n\n .navigation-drawer li:has(> ul) > span {\n display: block;\n padding: 0.6em 1em;\n border-bottom: 1px solid #eeeeee;\n }\n `;\n\n handleClickOutside = (event: MouseEvent | TouchEvent) => {\n if (\n !this.listRef.value ||\n this.listRef.value.contains(event.composedPath()[0] as Node)\n ) {\n return;\n }\n this.expanded = false;\n };\n\n @property({\n type: Object,\n attribute: \"additional-items\",\n })\n additinalItems: MenuBaseElementProps[\"additinalItems\"] = [];\n\n @property()\n expanded?: boolean = false;\n\n handleToggleDrawer = (event: Event) => {\n event.preventDefault();\n event.stopPropagation();\n\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n this.expanded = !this.expanded;\n if (this.expanded) {\n window.addEventListener(\"click\", this.handleClickOutside, false);\n }\n };\n\n protected updated() {\n if (this.expanded === false) {\n window.removeEventListener(\"click\", this.handleClickOutside, false);\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n window.removeEventListener(\"click\", this.handleClickOutside, false);\n }\n\n listRef: Ref = createRef();\n}\n","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":"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","names":["import_decorators","import_lit","import_ref"]}
1
+ {"version":3,"sources":["../src/m2m-apps-menu.ts","../src/MenuBaseElement.ts","../src/domains.ts"],"sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { MenuBaseElement, MenuBaseElementProps } from \"./MenuBaseElement\";\nimport { useDomains } from \"./domains\";\n\nexport type M2MAppsMenuProps = MenuBaseElementProps;\n\n@customElement(\"m2m-apps-menu\")\nexport class M2MAppsMenu extends MenuBaseElement {\n render() {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const domains = useDomains();\n const additionalItems = this.additinalItems?.map((item) => {\n return html`\n <li>\n <a href=\"${item.href}\">${item.label}</a>\n </li>\n `;\n });\n const isHidden = this.expanded === false || this.expanded === undefined;\n return html`<nav>\n <button\n type=\"button\"\n class=\"navigation-drawer-controll-button navigation-drawer-controll-button--icon\"\n aria-controls=\"m2m-apps-menu__navigation-drawer\"\n aria-expanded=${this.expanded}\n @click=${this.handleToggleDrawer}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"38px\"\n height=\"38px\"\n viewBox=\"0 0 24 24\"\n >\n <path\n d=\"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z\"\n />\n </svg>\n </button>\n <ul\n ${ref(this.listRef)}\n id=\"m2m-apps-menu__navigation-drawer\"\n aria-hidden=${isHidden}\n class=\"navigation-drawer\"\n >\n <li>\n <span>m2m Series</span>\n <ul>\n <li><a href=\"${domains.core}\">Core 施設管理</a></li>\n <li><a href=\"${domains.checkin}\">Checkin ゲストチェックイン</a></li>\n <li><a href=\"${domains.systems}\">Systems Airbnb連携</a></li>\n <li><a href=\"${domains.cleaning}\">Cleaning 清掃管理</a></li>\n <li><a href=\"${domains.users}\">Users アカウント管理</a></li>\n </ul>\n </li>\n <li>\n <a href=\"${domains.sumyca}\">Sumyca マンスリープラットフォーム</a>\n </li>\n ${additionalItems}\n </ul>\n </nav>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"m2m-apps-menu\": M2MAppsMenu;\n }\n}\n","import { LitElement, css } from \"lit\";\nimport { Ref, createRef } from \"lit/directives/ref.js\";\n\nexport interface MenuAdditionalItem {\n label: string;\n href: string;\n}\n\nexport interface MenuBaseElementProps {\n expanded: boolean;\n additinalItems: MenuAdditionalItem[];\n}\n\nexport class MenuBaseElement extends LitElement {\n static styles = css`\n nav {\n position: relative;\n display: flex;\n }\n .navigation-drawer-controll-button {\n display: flex;\n align-items: center;\n justify-content: center;\n\n height: 42px;\n padding: 0;\n cursor: pointer;\n background-color: transparent;\n border: none;\n transition: background-color 0.2s;\n appearance: none;\n }\n .navigation-drawer-controll-button.navigation-drawer-controll-button--icon {\n width: 42px;\n }\n .navigation-drawer-controll-button:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .navigation-drawer-controll-button:active {\n background-color: rgba(0, 0, 0, 0.075);\n }\n\n .navigation-drawer {\n position: absolute;\n top: 100%;\n right: 0px;\n z-index: 1100;\n box-sizing: border-box;\n min-width: 200px;\n padding: 0px;\n margin: 0px;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.87);\n white-space: nowrap;\n list-style: none;\n background-color: #fff;\n border-radius: 5px;\n box-shadow:\n 0px 1px 3px 0px rgb(0 0 0 / 20%),\n 0px 1px 1px 0px rgb(0 0 0 / 14%),\n 0px 2px 1px -1px rgb(0 0 0 / 12%);\n }\n .navigation-drawer-controll-button[aria-expanded=\"false\"]\n ~ .navigation-drawer {\n display: none;\n }\n\n .navigation-drawer li {\n border-bottom: 1px solid #eeeeee;\n }\n .navigation-drawer li:last-of-type {\n border-bottom: none;\n }\n .navigation-drawer li > a,\n .navigation-drawer li > button {\n box-sizing: border-box;\n display: block;\n width: 100%;\n padding: 0;\n padding: 0.6em 1em;\n font: inherit;\n color: inherit;\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n cursor: pointer;\n background-color: transparent;\n border: none;\n transition: 0.2s;\n appearance: none;\n }\n .navigation-drawer li > a:hover,\n .navigation-drawer li > button:hover {\n background-color: #ededed;\n }\n .navigation-drawer li > a:active,\n .navigation-drawer li > button:active {\n background-color: #dadada;\n }\n\n .navigation-drawer li ul {\n padding: 0;\n list-style: none;\n }\n .navigation-drawer li:has(> ul) li > a {\n padding-left: 2em;\n }\n\n .navigation-drawer li:has(> ul) > span {\n display: block;\n padding: 0.6em 1em;\n border-bottom: 1px solid #eeeeee;\n }\n `;\n\n handleClickOutside = (event: MouseEvent | TouchEvent) => {\n if (\n !this.listRef.value ||\n this.listRef.value.contains(event.composedPath()[0] as Node)\n ) {\n return;\n }\n this.expanded = false;\n };\n\n declare additinalItems: MenuBaseElementProps[\"additinalItems\"];\n declare expanded: boolean;\n static properties = {\n additinalItems: {\n type: Object,\n attribute: \"additional-items\",\n },\n expanded: {\n type: Boolean,\n attribute: \"expanded\",\n },\n };\n\n constructor() {\n super();\n this.additinalItems = [];\n this.expanded = false;\n }\n\n handleToggleDrawer = (event: Event) => {\n event.preventDefault();\n event.stopPropagation();\n\n this.expanded = !this.expanded;\n if (this.expanded) {\n window.addEventListener(\"click\", this.handleClickOutside, false);\n }\n };\n\n protected updated() {\n if (this.expanded === false) {\n window.removeEventListener(\"click\", this.handleClickOutside, false);\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n window.removeEventListener(\"click\", this.handleClickOutside, false);\n }\n\n listRef: Ref = createRef();\n}\n","import { type AppLinkKey } from \"./apps\";\n\ntype 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\nexport const useDomains = () => {\n return globalThis.M2M_COMPONENTS_ENV === \"production\"\n ? productionDomains\n : developmentDomains;\n};\n"],"mappings":"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","names":["import_lit","import_ref"]}
package/m2m-apps-menu.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  M2MAppsMenu
3
- } from "./chunk-SAILIWRH.mjs";
4
- import "./chunk-EAE7RJIC.mjs";
5
- import "./chunk-BRSUJNLC.mjs";
3
+ } from "./chunk-TB4XCWDU.mjs";
4
+ import "./chunk-5EK67DDX.mjs";
5
+ import "./chunk-H6LVVTPR.mjs";
6
6
  import "./chunk-ZOXT4E27.mjs";
7
7
  export {
8
8
  M2MAppsMenu
@@ -1,10 +1,18 @@
1
+ import * as lit_html from 'lit-html';
1
2
  import * as lit from 'lit';
2
3
  import { LitElement } from 'lit';
3
4
 
4
5
  declare class M2mReleaseLink extends LitElement {
5
6
  static readonly styles: lit.CSSResult;
6
7
  product: string;
7
- render(): lit.TemplateResult<1>;
8
+ static properties: {
9
+ product: {
10
+ type: StringConstructor;
11
+ attribute: string;
12
+ };
13
+ };
14
+ constructor();
15
+ render(): lit_html.TemplateResult<1>;
8
16
  }
9
17
 
10
18
  export { M2mReleaseLink };
@@ -1,10 +1,18 @@
1
+ import * as lit_html from 'lit-html';
1
2
  import * as lit from 'lit';
2
3
  import { LitElement } from 'lit';
3
4
 
4
5
  declare class M2mReleaseLink extends LitElement {
5
6
  static readonly styles: lit.CSSResult;
6
7
  product: string;
7
- render(): lit.TemplateResult<1>;
8
+ static properties: {
9
+ product: {
10
+ type: StringConstructor;
11
+ attribute: string;
12
+ };
13
+ };
14
+ constructor();
15
+ render(): lit_html.TemplateResult<1>;
8
16
  }
9
17
 
10
18
  export { M2mReleaseLink };
@@ -41,7 +41,7 @@ var t = "01K8YCK05T32WBF8B3KBQCQSVH";
41
41
  var RELEASE_URL = "https://matsuri-releases-api.vercel.app/product";
42
42
  var M2mReleaseLink = class extends import_lit.LitElement {
43
43
  constructor() {
44
- super(...arguments);
44
+ super();
45
45
  this.product = "";
46
46
  }
47
47
  render() {
@@ -86,9 +86,12 @@ M2mReleaseLink.styles = import_lit.css`
86
86
  }
87
87
  }
88
88
  `;
89
- __decorateClass([
90
- (0, import_decorators.property)({ type: String, attribute: "product" })
91
- ], M2mReleaseLink.prototype, "product", 2);
89
+ M2mReleaseLink.properties = {
90
+ product: {
91
+ type: String,
92
+ attribute: "product"
93
+ }
94
+ };
92
95
  M2mReleaseLink = __decorateClass([
93
96
  (0, import_decorators.customElement)("m2m-releases-link")
94
97
  ], M2mReleaseLink);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/m2m-releases-link.ts","../src/releases/t.ts"],"sourcesContent":["import { LitElement, css, html } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { t } from \"./releases/t\";\n\nconst RELEASE_URL = \"https://matsuri-releases-api.vercel.app/product\";\n\n@customElement(\"m2m-releases-link\")\nexport class M2mReleaseLink extends LitElement {\n static readonly styles = css`\n :host a {\n display: block;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 42px;\n height: 42px;\n padding: 0px;\n color: rgba(0, 0, 0, 0.87);\n cursor: pointer;\n background-color: transparent;\n border: none;\n transition: background-color 0.2s ease 0s;\n appearance: none;\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n }\n `;\n\n @property({ type: String, attribute: \"product\" })\n product = \"\";\n\n render() {\n return html`<a\n href=\"${RELEASE_URL}/${this.product}?t=${t}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n title=\"リリース情報\"\n >\n <span></span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"32px\"\n height=\"32px\"\n viewBox=\"0 0 24 24\"\n >\n <path\n fill=\"currentColor\"\n d=\"M7 20h4c0 1.1-.9 2-2 2s-2-.9-2-2zm-2-1h8v-2H5v2zm11.5-9.5c0 3.82-2.66 5.86-3.77 6.5H5.27c-1.11-.64-3.77-2.68-3.77-6.5C1.5 5.36 4.86 2 9 2s7.5 3.36 7.5 7.5zm-2 0C14.5 6.47 12.03 4 9 4S3.5 6.47 3.5 9.5c0 2.47 1.49 3.89 2.35 4.5h6.3c.86-.61 2.35-2.03 2.35-4.5zm6.87-2.13L20 8l1.37.63L22 10l.63-1.37L24 8l-1.37-.63L22 6l-.63 1.37zM19 6l.94-2.06L22 3l-2.06-.94L19 0l-.94 2.06L16 3l2.06.94L19 6z\"\n />\n </svg>\n </a>`;\n }\n}\n","export const t = \"01K8YCK05T32WBF8B3KBQCQSVH\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAsC;AACtC,wBAAwC;;;ACDjC,IAAM,IAAI;;;ADIjB,IAAM,cAAc;AAGb,IAAM,iBAAN,cAA6B,sBAAW;AAAA,EAAxC;AAAA;AAuBL,mBAAU;AAAA;AAAA,EAEV,SAAS;AACP,WAAO;AAAA,cACG,WAAW,IAAI,KAAK,OAAO,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkB9C;AACF;AA9Ca,eACK,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBzB;AAAA,MADC,4BAAS,EAAE,MAAM,QAAQ,WAAW,UAAU,CAAC;AAAA,GAtBrC,eAuBX;AAvBW,iBAAN;AAAA,MADN,iCAAc,mBAAmB;AAAA,GACrB;","names":[]}
1
+ {"version":3,"sources":["../src/m2m-releases-link.ts","../src/releases/t.ts"],"sourcesContent":["import { LitElement, css, html } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport { t } from \"./releases/t\";\n\nconst RELEASE_URL = \"https://matsuri-releases-api.vercel.app/product\";\n\n@customElement(\"m2m-releases-link\")\nexport class M2mReleaseLink extends LitElement {\n static readonly styles = css`\n :host a {\n display: block;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 42px;\n height: 42px;\n padding: 0px;\n color: rgba(0, 0, 0, 0.87);\n cursor: pointer;\n background-color: transparent;\n border: none;\n transition: background-color 0.2s ease 0s;\n appearance: none;\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n }\n `;\n\n declare product: string;\n static properties = {\n product: {\n type: String,\n attribute: \"product\",\n },\n };\n\n constructor() {\n super();\n this.product = \"\";\n }\n\n render() {\n return html`<a\n href=\"${RELEASE_URL}/${this.product}?t=${t}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n title=\"リリース情報\"\n >\n <span></span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"32px\"\n height=\"32px\"\n viewBox=\"0 0 24 24\"\n >\n <path\n fill=\"currentColor\"\n d=\"M7 20h4c0 1.1-.9 2-2 2s-2-.9-2-2zm-2-1h8v-2H5v2zm11.5-9.5c0 3.82-2.66 5.86-3.77 6.5H5.27c-1.11-.64-3.77-2.68-3.77-6.5C1.5 5.36 4.86 2 9 2s7.5 3.36 7.5 7.5zm-2 0C14.5 6.47 12.03 4 9 4S3.5 6.47 3.5 9.5c0 2.47 1.49 3.89 2.35 4.5h6.3c.86-.61 2.35-2.03 2.35-4.5zm6.87-2.13L20 8l1.37.63L22 10l.63-1.37L24 8l-1.37-.63L22 6l-.63 1.37zM19 6l.94-2.06L22 3l-2.06-.94L19 0l-.94 2.06L16 3l2.06.94L19 6z\"\n />\n </svg>\n </a>`;\n }\n}\n","export const t = \"01K8YCK05T32WBF8B3KBQCQSVH\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAsC;AACtC,wBAA8B;;;ACDvB,IAAM,IAAI;;;ADIjB,IAAM,cAAc;AAGb,IAAM,iBAAN,cAA6B,sBAAW;AAAA,EA8B7C,cAAc;AACZ,UAAM;AACN,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,cACG,WAAW,IAAI,KAAK,OAAO,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkB9C;AACF;AAxDa,eACK,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADd,eAuBJ,aAAa;AAAA,EAClB,SAAS;AAAA,IACP,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AACF;AA5BW,iBAAN;AAAA,MADN,iCAAc,mBAAmB;AAAA,GACrB;","names":[]}
@@ -7,11 +7,11 @@ import {
7
7
 
8
8
  // src/m2m-releases-link.ts
9
9
  import { LitElement, css, html } from "lit";
10
- import { customElement, property } from "lit/decorators.js";
10
+ import { customElement } from "lit/decorators.js";
11
11
  var RELEASE_URL = "https://matsuri-releases-api.vercel.app/product";
12
12
  var M2mReleaseLink = class extends LitElement {
13
13
  constructor() {
14
- super(...arguments);
14
+ super();
15
15
  this.product = "";
16
16
  }
17
17
  render() {
@@ -56,9 +56,12 @@ M2mReleaseLink.styles = css`
56
56
  }
57
57
  }
58
58
  `;
59
- __decorateClass([
60
- property({ type: String, attribute: "product" })
61
- ], M2mReleaseLink.prototype, "product", 2);
59
+ M2mReleaseLink.properties = {
60
+ product: {
61
+ type: String,
62
+ attribute: "product"
63
+ }
64
+ };
62
65
  M2mReleaseLink = __decorateClass([
63
66
  customElement("m2m-releases-link")
64
67
  ], M2mReleaseLink);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/m2m-releases-link.ts"],"sourcesContent":["import { LitElement, css, html } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { t } from \"./releases/t\";\n\nconst RELEASE_URL = \"https://matsuri-releases-api.vercel.app/product\";\n\n@customElement(\"m2m-releases-link\")\nexport class M2mReleaseLink extends LitElement {\n static readonly styles = css`\n :host a {\n display: block;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 42px;\n height: 42px;\n padding: 0px;\n color: rgba(0, 0, 0, 0.87);\n cursor: pointer;\n background-color: transparent;\n border: none;\n transition: background-color 0.2s ease 0s;\n appearance: none;\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n }\n `;\n\n @property({ type: String, attribute: \"product\" })\n product = \"\";\n\n render() {\n return html`<a\n href=\"${RELEASE_URL}/${this.product}?t=${t}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n title=\"リリース情報\"\n >\n <span></span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"32px\"\n height=\"32px\"\n viewBox=\"0 0 24 24\"\n >\n <path\n fill=\"currentColor\"\n d=\"M7 20h4c0 1.1-.9 2-2 2s-2-.9-2-2zm-2-1h8v-2H5v2zm11.5-9.5c0 3.82-2.66 5.86-3.77 6.5H5.27c-1.11-.64-3.77-2.68-3.77-6.5C1.5 5.36 4.86 2 9 2s7.5 3.36 7.5 7.5zm-2 0C14.5 6.47 12.03 4 9 4S3.5 6.47 3.5 9.5c0 2.47 1.49 3.89 2.35 4.5h6.3c.86-.61 2.35-2.03 2.35-4.5zm6.87-2.13L20 8l1.37.63L22 10l.63-1.37L24 8l-1.37-.63L22 6l-.63 1.37zM19 6l.94-2.06L22 3l-2.06-.94L19 0l-.94 2.06L16 3l2.06.94L19 6z\"\n />\n </svg>\n </a>`;\n }\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,YAAY,KAAK,YAAY;AACtC,SAAS,eAAe,gBAAgB;AAGxC,IAAM,cAAc;AAGb,IAAM,iBAAN,cAA6B,WAAW;AAAA,EAAxC;AAAA;AAuBL,mBAAU;AAAA;AAAA,EAEV,SAAS;AACP,WAAO;AAAA,cACG,WAAW,IAAI,KAAK,OAAO,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkB9C;AACF;AA9Ca,eACK,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBzB;AAAA,EADC,SAAS,EAAE,MAAM,QAAQ,WAAW,UAAU,CAAC;AAAA,GAtBrC,eAuBX;AAvBW,iBAAN;AAAA,EADN,cAAc,mBAAmB;AAAA,GACrB;","names":[]}
1
+ {"version":3,"sources":["../src/m2m-releases-link.ts"],"sourcesContent":["import { LitElement, css, html } from \"lit\";\nimport { customElement } from \"lit/decorators.js\";\nimport { t } from \"./releases/t\";\n\nconst RELEASE_URL = \"https://matsuri-releases-api.vercel.app/product\";\n\n@customElement(\"m2m-releases-link\")\nexport class M2mReleaseLink extends LitElement {\n static readonly styles = css`\n :host a {\n display: block;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 42px;\n height: 42px;\n padding: 0px;\n color: rgba(0, 0, 0, 0.87);\n cursor: pointer;\n background-color: transparent;\n border: none;\n transition: background-color 0.2s ease 0s;\n appearance: none;\n &:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n }\n `;\n\n declare product: string;\n static properties = {\n product: {\n type: String,\n attribute: \"product\",\n },\n };\n\n constructor() {\n super();\n this.product = \"\";\n }\n\n render() {\n return html`<a\n href=\"${RELEASE_URL}/${this.product}?t=${t}\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n title=\"リリース情報\"\n >\n <span></span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"32px\"\n height=\"32px\"\n viewBox=\"0 0 24 24\"\n >\n <path\n fill=\"currentColor\"\n d=\"M7 20h4c0 1.1-.9 2-2 2s-2-.9-2-2zm-2-1h8v-2H5v2zm11.5-9.5c0 3.82-2.66 5.86-3.77 6.5H5.27c-1.11-.64-3.77-2.68-3.77-6.5C1.5 5.36 4.86 2 9 2s7.5 3.36 7.5 7.5zm-2 0C14.5 6.47 12.03 4 9 4S3.5 6.47 3.5 9.5c0 2.47 1.49 3.89 2.35 4.5h6.3c.86-.61 2.35-2.03 2.35-4.5zm6.87-2.13L20 8l1.37.63L22 10l.63-1.37L24 8l-1.37-.63L22 6l-.63 1.37zM19 6l.94-2.06L22 3l-2.06-.94L19 0l-.94 2.06L16 3l2.06.94L19 6z\"\n />\n </svg>\n </a>`;\n }\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,YAAY,KAAK,YAAY;AACtC,SAAS,qBAAqB;AAG9B,IAAM,cAAc;AAGb,IAAM,iBAAN,cAA6B,WAAW;AAAA,EA8B7C,cAAc;AACZ,UAAM;AACN,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,cACG,WAAW,IAAI,KAAK,OAAO,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkB9C;AACF;AAxDa,eACK,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADd,eAuBJ,aAAa;AAAA,EAClB,SAAS;AAAA,IACP,MAAM;AAAA,IACN,WAAW;AAAA,EACb;AACF;AA5BW,iBAAN;AAAA,EADN,cAAc,mBAAmB;AAAA,GACrB;","names":[]}
@@ -1,11 +1,12 @@
1
- import * as lit from 'lit';
1
+ import * as lit_html from 'lit-html';
2
2
  import { MenuBaseElement, MenuBaseElementProps } from './MenuBaseElement.mjs';
3
+ import 'lit';
3
4
  import 'lit/directives/ref.js';
4
5
 
5
6
  type M2MUserMenuProps = MenuBaseElementProps;
6
7
  declare class M2MUserMenu extends MenuBaseElement {
7
8
  handleLogout: () => Promise<void>;
8
- render(): lit.TemplateResult<1>;
9
+ render(): lit_html.TemplateResult<1>;
9
10
  }
10
11
  declare global {
11
12
  interface HTMLElementTagNameMap {
@@ -1,11 +1,12 @@
1
- import * as lit from 'lit';
1
+ import * as lit_html from 'lit-html';
2
2
  import { MenuBaseElement, MenuBaseElementProps } from './MenuBaseElement.js';
3
+ import 'lit';
3
4
  import 'lit/directives/ref.js';
4
5
 
5
6
  type M2MUserMenuProps = MenuBaseElementProps;
6
7
  declare class M2MUserMenu extends MenuBaseElement {
7
8
  handleLogout: () => Promise<void>;
8
- render(): lit.TemplateResult<1>;
9
+ render(): lit_html.TemplateResult<1>;
9
10
  }
10
11
  declare global {
11
12
  interface HTMLElementTagNameMap {
package/m2m-user-menu.js CHANGED
@@ -31,7 +31,7 @@ __export(m2m_user_menu_exports, {
31
31
  M2MUserMenu: () => M2MUserMenu
32
32
  });
33
33
  module.exports = __toCommonJS(m2m_user_menu_exports);
34
- var import_decorators2 = require("lit/decorators.js");
34
+ var import_decorators = require("lit/decorators.js");
35
35
  var import_lit2 = require("lit");
36
36
  var import_ref2 = require("lit/directives/ref.js");
37
37
 
@@ -103,19 +103,22 @@ var m2mAuthTokenApi = {
103
103
 
104
104
  // src/storage/persistenceDatabase.ts
105
105
  var import_idb = require("idb");
106
- var dbPromise = (0, import_idb.openDB)("persistence-store", 1, {
106
+ var dbPromise = typeof window !== "undefined" || process.env.VITEST === "true" ? (0, import_idb.openDB)("persistence-store", 1, {
107
107
  upgrade(db) {
108
108
  db.createObjectStore("persistence");
109
109
  }
110
- });
110
+ }) : Promise.resolve(null);
111
111
  var get = async (key) => {
112
- return (await dbPromise).get("persistence", key);
112
+ var _a;
113
+ return (_a = await dbPromise) == null ? void 0 : _a.get("persistence", key);
113
114
  };
114
115
  var set = async (key, val) => {
115
- return (await dbPromise).put("persistence", val, key);
116
+ var _a;
117
+ return (_a = await dbPromise) == null ? void 0 : _a.put("persistence", val, key);
116
118
  };
117
119
  var clear = async (key) => {
118
- return (await dbPromise).delete("persistence", key);
120
+ var _a;
121
+ return (_a = await dbPromise) == null ? void 0 : _a.delete("persistence", key);
119
122
  };
120
123
  var persistenceDatabase = {
121
124
  get,
@@ -132,18 +135,15 @@ var clearAuth = async () => {
132
135
  // src/MenuBaseElement.ts
133
136
  var import_lit = require("lit");
134
137
  var import_ref = require("lit/directives/ref.js");
135
- var import_decorators = require("lit/decorators.js");
136
138
  var MenuBaseElement = class extends import_lit.LitElement {
137
139
  constructor() {
138
- super(...arguments);
140
+ super();
139
141
  this.handleClickOutside = (event) => {
140
142
  if (!this.listRef.value || this.listRef.value.contains(event.composedPath()[0])) {
141
143
  return;
142
144
  }
143
145
  this.expanded = false;
144
146
  };
145
- this.additinalItems = [];
146
- this.expanded = false;
147
147
  this.handleToggleDrawer = (event) => {
148
148
  event.preventDefault();
149
149
  event.stopPropagation();
@@ -153,6 +153,8 @@ var MenuBaseElement = class extends import_lit.LitElement {
153
153
  }
154
154
  };
155
155
  this.listRef = (0, import_ref.createRef)();
156
+ this.additinalItems = [];
157
+ this.expanded = false;
156
158
  }
157
159
  updated() {
158
160
  if (this.expanded === false) {
@@ -264,33 +266,36 @@ MenuBaseElement.styles = import_lit.css`
264
266
  border-bottom: 1px solid #eeeeee;
265
267
  }
266
268
  `;
267
- __decorateClass([
268
- (0, import_decorators.property)({
269
+ MenuBaseElement.properties = {
270
+ additinalItems: {
269
271
  type: Object,
270
272
  attribute: "additional-items"
271
- })
272
- ], MenuBaseElement.prototype, "additinalItems", 2);
273
- __decorateClass([
274
- (0, import_decorators.property)()
275
- ], MenuBaseElement.prototype, "expanded", 2);
273
+ },
274
+ expanded: {
275
+ type: Boolean,
276
+ attribute: "expanded"
277
+ }
278
+ };
276
279
 
277
280
  // src/domains.ts
281
+ var developmentDomains = {
282
+ core: "https://core.dev.m2msystems.cloud",
283
+ sumyca: "https://manage.dev.sumyca.com",
284
+ cleaning: "https://manager-cleaning.dev.m2msystems.cloud",
285
+ users: "https://manage-users.dev.m2msystems.cloud",
286
+ checkin: "https://manage.checkin.dev.m2msystems.cloud",
287
+ systems: "https://dev.m2msystems.cloud"
288
+ };
289
+ var productionDomains = {
290
+ core: "https://core.m2msystems.cloud",
291
+ sumyca: "https://manage.sumyca.com",
292
+ cleaning: "https://manager-cleaning.m2msystems.cloud",
293
+ users: "https://manage-users.m2msystems.cloud",
294
+ checkin: "https://manage.checkin.m2msystems.cloud",
295
+ systems: "https://m2msystems.cloud/"
296
+ };
278
297
  var useDomains = () => {
279
- return globalThis.M2M_COMPONENTS_ENV === "production" ? {
280
- core: "https://core.m2msystems.cloud",
281
- sumyca: "https://manage.sumyca.com",
282
- cleaning: "https://manager-cleaning.m2msystems.cloud",
283
- users: "https://manage-users.m2msystems.cloud",
284
- checkin: "https://manage.checkin.m2msystems.cloud",
285
- systems: "https://m2msystems.cloud/"
286
- } : {
287
- core: "https://matsuri-tech-m2m-core-manager-front-dev.vercel.app",
288
- sumyca: "https://matsuri-tech-sumyca-manager-front-dev.vercel.app",
289
- cleaning: "https://matsuri-tech-m2m-cleaning-manager-front-dev.vercel.app",
290
- users: "https://matsuri-tech-m2m-users-manager-front-dev.vercel.app",
291
- checkin: "https://manage.dev.checkin.m2msystems.cloud",
292
- systems: "https://dev.m2msystems.cloud"
293
- };
298
+ return globalThis.M2M_COMPONENTS_ENV === "production" ? productionDomains : developmentDomains;
294
299
  };
295
300
 
296
301
  // src/m2m-user-menu.ts
@@ -344,7 +349,7 @@ var M2MUserMenu = class extends MenuBaseElement {
344
349
  }
345
350
  };
346
351
  M2MUserMenu = __decorateClass([
347
- (0, import_decorators2.customElement)("m2m-user-menu")
352
+ (0, import_decorators.customElement)("m2m-user-menu")
348
353
  ], M2MUserMenu);
349
354
  // Annotate the CommonJS export names for ESM import in node:
350
355
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/m2m-user-menu.ts","../src/storage/client.ts","../src/storage/persistenceDatabase.ts","../src/storage/clearAuth.tsx","../src/MenuBaseElement.ts","../src/domains.ts"],"sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { clearAuth } from \"./storage/clearAuth\";\nimport { MenuBaseElement, MenuBaseElementProps } from \"./MenuBaseElement\";\nimport { useDomains } from \"./domains\";\n\nexport type M2MUserMenuProps = MenuBaseElementProps;\n\n@customElement(\"m2m-user-menu\")\nexport class M2MUserMenu extends MenuBaseElement {\n handleLogout = async () => {\n await clearAuth();\n window.location.reload();\n };\n\n render() {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const domains = useDomains();\n const additionalItems = this.additinalItems?.map((item) => {\n return html`\n <li>\n <a href=\"${item.href}\">${item.label}</a>\n </li>\n `;\n });\n const isHidden = this.expanded === false || this.expanded === undefined;\n return html`<nav>\n <button\n type=\"button\"\n class=\"navigation-drawer-controll-button navigation-drawer-controll-button--icon\"\n aria-controls=\"m2m-user-menu__navigation-drawer\"\n aria-expanded=${this.expanded}\n @click=${this.handleToggleDrawer}\n >\n <svg viewBox=\"0 0 24 24\" width=\"38px\" height=\"38px\" fill=\"#000000\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z\"\n />\n </svg>\n </button>\n <ul\n ${ref(this.listRef)}\n id=\"m2m-user-menu__navigation-drawer\"\n aria-hidden=${isHidden}\n class=\"navigation-drawer\"\n >\n <li><a href=\"${domains.users}\">アカウント情報</a></li>\n <li @click=${this.handleLogout}>\n <button type=\"button\">ログアウト</button>\n </li>\n ${additionalItems}\n </ul>\n </nav>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"m2m-user-menu\": M2MUserMenu;\n }\n}\n","import { 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 M2M_STORAGE_HUB_URL = \"https://hub.m2msystems.cloud/\";\n\nconst M2M_STORAGE_HUB_URL_DEV =\n \"https://m2m-components-storage-hub-dev.netlify.app/\";\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(\n options?.env === \"production\"\n ? M2M_STORAGE_HUB_URL\n : M2M_STORAGE_HUB_URL_DEV,\n );\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","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\nconst dbPromise = openDB<PersistenceDatabase>(\"persistence-store\", 1, {\n upgrade(db) {\n db.createObjectStore(\"persistence\");\n },\n});\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","import { m2mAuthTokenApi } from \"./client\";\nimport { persistenceDatabase } from \"./persistenceDatabase\";\n\nexport const clearAuth = async () => {\n await persistenceDatabase.clear(\"auth\");\n await m2mAuthTokenApi.clear();\n};\n","import { LitElement, css } from \"lit\";\nimport { Ref, createRef } from \"lit/directives/ref.js\";\nimport { property } from \"lit/decorators.js\";\n\nexport interface MenuAdditionalItem {\n label: string;\n href: string;\n}\n\nexport interface MenuBaseElementProps {\n expanded: boolean;\n additinalItems: MenuAdditionalItem[];\n}\n\nexport class MenuBaseElement extends LitElement {\n static styles = css`\n nav {\n position: relative;\n display: flex;\n }\n .navigation-drawer-controll-button {\n display: flex;\n align-items: center;\n justify-content: center;\n\n height: 42px;\n padding: 0;\n cursor: pointer;\n background-color: transparent;\n border: none;\n transition: background-color 0.2s;\n appearance: none;\n }\n .navigation-drawer-controll-button.navigation-drawer-controll-button--icon {\n width: 42px;\n }\n .navigation-drawer-controll-button:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .navigation-drawer-controll-button:active {\n background-color: rgba(0, 0, 0, 0.075);\n }\n\n .navigation-drawer {\n position: absolute;\n top: 100%;\n right: 0px;\n z-index: 1100;\n box-sizing: border-box;\n min-width: 200px;\n padding: 0px;\n margin: 0px;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.87);\n white-space: nowrap;\n list-style: none;\n background-color: #fff;\n border-radius: 5px;\n box-shadow:\n 0px 1px 3px 0px rgb(0 0 0 / 20%),\n 0px 1px 1px 0px rgb(0 0 0 / 14%),\n 0px 2px 1px -1px rgb(0 0 0 / 12%);\n }\n .navigation-drawer-controll-button[aria-expanded=\"false\"]\n ~ .navigation-drawer {\n display: none;\n }\n\n .navigation-drawer li {\n border-bottom: 1px solid #eeeeee;\n }\n .navigation-drawer li:last-of-type {\n border-bottom: none;\n }\n .navigation-drawer li > a,\n .navigation-drawer li > button {\n box-sizing: border-box;\n display: block;\n width: 100%;\n padding: 0;\n padding: 0.6em 1em;\n font: inherit;\n color: inherit;\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n cursor: pointer;\n background-color: transparent;\n border: none;\n transition: 0.2s;\n appearance: none;\n }\n .navigation-drawer li > a:hover,\n .navigation-drawer li > button:hover {\n background-color: #ededed;\n }\n .navigation-drawer li > a:active,\n .navigation-drawer li > button:active {\n background-color: #dadada;\n }\n\n .navigation-drawer li ul {\n padding: 0;\n list-style: none;\n }\n .navigation-drawer li:has(> ul) li > a {\n padding-left: 2em;\n }\n\n .navigation-drawer li:has(> ul) > span {\n display: block;\n padding: 0.6em 1em;\n border-bottom: 1px solid #eeeeee;\n }\n `;\n\n handleClickOutside = (event: MouseEvent | TouchEvent) => {\n if (\n !this.listRef.value ||\n this.listRef.value.contains(event.composedPath()[0] as Node)\n ) {\n return;\n }\n this.expanded = false;\n };\n\n @property({\n type: Object,\n attribute: \"additional-items\",\n })\n additinalItems: MenuBaseElementProps[\"additinalItems\"] = [];\n\n @property()\n expanded?: boolean = false;\n\n handleToggleDrawer = (event: Event) => {\n event.preventDefault();\n event.stopPropagation();\n\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n this.expanded = !this.expanded;\n if (this.expanded) {\n window.addEventListener(\"click\", this.handleClickOutside, false);\n }\n };\n\n protected updated() {\n if (this.expanded === false) {\n window.removeEventListener(\"click\", this.handleClickOutside, false);\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n window.removeEventListener(\"click\", this.handleClickOutside, false);\n }\n\n listRef: Ref = createRef();\n}\n","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":"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","names":["import_decorators","import_lit","import_ref","storage"]}
1
+ {"version":3,"sources":["../src/m2m-user-menu.ts","../src/storage/client.ts","../src/storage/persistenceDatabase.ts","../src/storage/clearAuth.tsx","../src/MenuBaseElement.ts","../src/domains.ts"],"sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { clearAuth } from \"./storage/clearAuth\";\nimport { MenuBaseElement, MenuBaseElementProps } from \"./MenuBaseElement\";\nimport { useDomains } from \"./domains\";\n\nexport type M2MUserMenuProps = MenuBaseElementProps;\n\n@customElement(\"m2m-user-menu\")\nexport class M2MUserMenu extends MenuBaseElement {\n handleLogout = async () => {\n await clearAuth();\n window.location.reload();\n };\n\n render() {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const domains = useDomains();\n const additionalItems = this.additinalItems?.map((item) => {\n return html`\n <li>\n <a href=\"${item.href}\">${item.label}</a>\n </li>\n `;\n });\n const isHidden = this.expanded === false || this.expanded === undefined;\n return html`<nav>\n <button\n type=\"button\"\n class=\"navigation-drawer-controll-button navigation-drawer-controll-button--icon\"\n aria-controls=\"m2m-user-menu__navigation-drawer\"\n aria-expanded=${this.expanded}\n @click=${this.handleToggleDrawer}\n >\n <svg viewBox=\"0 0 24 24\" width=\"38px\" height=\"38px\" fill=\"#000000\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z\"\n />\n </svg>\n </button>\n <ul\n ${ref(this.listRef)}\n id=\"m2m-user-menu__navigation-drawer\"\n aria-hidden=${isHidden}\n class=\"navigation-drawer\"\n >\n <li><a href=\"${domains.users}\">アカウント情報</a></li>\n <li @click=${this.handleLogout}>\n <button type=\"button\">ログアウト</button>\n </li>\n ${additionalItems}\n </ul>\n </nav>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"m2m-user-menu\": M2MUserMenu;\n }\n}\n","import { 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 M2M_STORAGE_HUB_URL = \"https://hub.m2msystems.cloud/\";\n\n// FIXME: マージされたらhub.dev.m2msystems.cloudに書き換える\nconst M2M_STORAGE_HUB_URL_DEV =\n \"https://m2m-components-git-feat-1296-matsuri-technologies.vercel.app/\";\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(\n options?.env === \"production\"\n ? M2M_STORAGE_HUB_URL\n : M2M_STORAGE_HUB_URL_DEV,\n );\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","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","import { m2mAuthTokenApi } from \"./client\";\nimport { persistenceDatabase } from \"./persistenceDatabase\";\n\nexport const clearAuth = async () => {\n await persistenceDatabase.clear(\"auth\");\n await m2mAuthTokenApi.clear();\n};\n","import { LitElement, css } from \"lit\";\nimport { Ref, createRef } from \"lit/directives/ref.js\";\n\nexport interface MenuAdditionalItem {\n label: string;\n href: string;\n}\n\nexport interface MenuBaseElementProps {\n expanded: boolean;\n additinalItems: MenuAdditionalItem[];\n}\n\nexport class MenuBaseElement extends LitElement {\n static styles = css`\n nav {\n position: relative;\n display: flex;\n }\n .navigation-drawer-controll-button {\n display: flex;\n align-items: center;\n justify-content: center;\n\n height: 42px;\n padding: 0;\n cursor: pointer;\n background-color: transparent;\n border: none;\n transition: background-color 0.2s;\n appearance: none;\n }\n .navigation-drawer-controll-button.navigation-drawer-controll-button--icon {\n width: 42px;\n }\n .navigation-drawer-controll-button:hover {\n background-color: rgba(0, 0, 0, 0.05);\n }\n .navigation-drawer-controll-button:active {\n background-color: rgba(0, 0, 0, 0.075);\n }\n\n .navigation-drawer {\n position: absolute;\n top: 100%;\n right: 0px;\n z-index: 1100;\n box-sizing: border-box;\n min-width: 200px;\n padding: 0px;\n margin: 0px;\n overflow: hidden;\n color: rgba(0, 0, 0, 0.87);\n white-space: nowrap;\n list-style: none;\n background-color: #fff;\n border-radius: 5px;\n box-shadow:\n 0px 1px 3px 0px rgb(0 0 0 / 20%),\n 0px 1px 1px 0px rgb(0 0 0 / 14%),\n 0px 2px 1px -1px rgb(0 0 0 / 12%);\n }\n .navigation-drawer-controll-button[aria-expanded=\"false\"]\n ~ .navigation-drawer {\n display: none;\n }\n\n .navigation-drawer li {\n border-bottom: 1px solid #eeeeee;\n }\n .navigation-drawer li:last-of-type {\n border-bottom: none;\n }\n .navigation-drawer li > a,\n .navigation-drawer li > button {\n box-sizing: border-box;\n display: block;\n width: 100%;\n padding: 0;\n padding: 0.6em 1em;\n font: inherit;\n color: inherit;\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n cursor: pointer;\n background-color: transparent;\n border: none;\n transition: 0.2s;\n appearance: none;\n }\n .navigation-drawer li > a:hover,\n .navigation-drawer li > button:hover {\n background-color: #ededed;\n }\n .navigation-drawer li > a:active,\n .navigation-drawer li > button:active {\n background-color: #dadada;\n }\n\n .navigation-drawer li ul {\n padding: 0;\n list-style: none;\n }\n .navigation-drawer li:has(> ul) li > a {\n padding-left: 2em;\n }\n\n .navigation-drawer li:has(> ul) > span {\n display: block;\n padding: 0.6em 1em;\n border-bottom: 1px solid #eeeeee;\n }\n `;\n\n handleClickOutside = (event: MouseEvent | TouchEvent) => {\n if (\n !this.listRef.value ||\n this.listRef.value.contains(event.composedPath()[0] as Node)\n ) {\n return;\n }\n this.expanded = false;\n };\n\n declare additinalItems: MenuBaseElementProps[\"additinalItems\"];\n declare expanded: boolean;\n static properties = {\n additinalItems: {\n type: Object,\n attribute: \"additional-items\",\n },\n expanded: {\n type: Boolean,\n attribute: \"expanded\",\n },\n };\n\n constructor() {\n super();\n this.additinalItems = [];\n this.expanded = false;\n }\n\n handleToggleDrawer = (event: Event) => {\n event.preventDefault();\n event.stopPropagation();\n\n this.expanded = !this.expanded;\n if (this.expanded) {\n window.addEventListener(\"click\", this.handleClickOutside, false);\n }\n };\n\n protected updated() {\n if (this.expanded === false) {\n window.removeEventListener(\"click\", this.handleClickOutside, false);\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n window.removeEventListener(\"click\", this.handleClickOutside, false);\n }\n\n listRef: Ref = createRef();\n}\n","import { type AppLinkKey } from \"./apps\";\n\ntype 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\nexport const useDomains = () => {\n return globalThis.M2M_COMPONENTS_ENV === \"production\"\n ? productionDomains\n : developmentDomains;\n};\n"],"mappings":"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","names":["import_lit","import_ref","storage"]}
package/m2m-user-menu.mjs CHANGED
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  M2MUserMenu
3
- } from "./chunk-DFNQXQZT.mjs";
4
- import "./chunk-DEAGPWGW.mjs";
5
- import "./chunk-E5KIJ5DQ.mjs";
6
- import "./chunk-T5BIUVZ3.mjs";
3
+ } from "./chunk-P7JOHMD5.mjs";
4
+ import "./chunk-F6OCIRVJ.mjs";
5
+ import "./chunk-IGOSAWM6.mjs";
6
+ import "./chunk-V7F5BJ5W.mjs";
7
7
  import "./chunk-R73ITKF5.mjs";
8
- import "./chunk-EAE7RJIC.mjs";
9
- import "./chunk-BRSUJNLC.mjs";
8
+ import "./chunk-5EK67DDX.mjs";
9
+ import "./chunk-H6LVVTPR.mjs";
10
10
  import "./chunk-ZOXT4E27.mjs";
11
11
  export {
12
12
  M2MUserMenu
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "m2m-components",
3
- "version": "7.1.9-alpha-1762751119966-7abe527.0",
3
+ "version": "7.1.9-alpha-1762845605139-91949a7.0",
4
4
  "main": "index.js",
5
5
  "module": "index.mjs",
6
6
  "typings": "index.d.ts",
@@ -9,9 +9,6 @@
9
9
  "!.npmrc"
10
10
  ],
11
11
  "scripts": {
12
- "build-app:clients": "vite build website/clients/ --out-dir ../../build -c vite.config.clients.ts -m development",
13
- "build-app:hub": "vite build website/hub/ --out-dir ../../build",
14
- "build-app:hub:dev": "vite build website/hub/ --out-dir ../../build -m development",
15
12
  "build": "tsup --dts",
16
13
  "build:fast": "tsup",
17
14
  "dev": "pnpm build:fast -- --watch",
@@ -92,19 +92,22 @@ var m2mAuthTokenApi = {
92
92
 
93
93
  // src/storage/persistenceDatabase.ts
94
94
  var import_idb = require("idb");
95
- var dbPromise = (0, import_idb.openDB)("persistence-store", 1, {
95
+ var dbPromise = typeof window !== "undefined" || process.env.VITEST === "true" ? (0, import_idb.openDB)("persistence-store", 1, {
96
96
  upgrade(db) {
97
97
  db.createObjectStore("persistence");
98
98
  }
99
- });
99
+ }) : Promise.resolve(null);
100
100
  var get = async (key) => {
101
- return (await dbPromise).get("persistence", key);
101
+ var _a;
102
+ return (_a = await dbPromise) == null ? void 0 : _a.get("persistence", key);
102
103
  };
103
104
  var set = async (key, val) => {
104
- return (await dbPromise).put("persistence", val, key);
105
+ var _a;
106
+ return (_a = await dbPromise) == null ? void 0 : _a.put("persistence", val, key);
105
107
  };
106
108
  var clear = async (key) => {
107
- return (await dbPromise).delete("persistence", key);
109
+ var _a;
110
+ return (_a = await dbPromise) == null ? void 0 : _a.delete("persistence", key);
108
111
  };
109
112
  var persistenceDatabase = {
110
113
  get,