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.
- package/MenuBaseElement.d.mts +12 -1
- package/MenuBaseElement.d.ts +12 -1
- package/MenuBaseElement.js +11 -19
- package/MenuBaseElement.js.map +1 -1
- package/MenuBaseElement.mjs +1 -1
- package/apps.d.mts +15 -0
- package/apps.d.ts +15 -0
- package/apps.js +68 -0
- package/apps.js.map +1 -0
- package/apps.mjs +45 -0
- package/apps.mjs.map +1 -0
- package/{chunk-EAE7RJIC.mjs → chunk-5EK67DDX.mjs} +12 -16
- package/chunk-5EK67DDX.mjs.map +1 -0
- package/{chunk-EMMKRND5.mjs → chunk-DOXG3SJR.mjs} +3 -3
- package/{chunk-DEAGPWGW.mjs → chunk-F6OCIRVJ.mjs} +3 -3
- package/chunk-H6LVVTPR.mjs +27 -0
- package/chunk-H6LVVTPR.mjs.map +1 -0
- package/chunk-IGOSAWM6.mjs +29 -0
- package/chunk-IGOSAWM6.mjs.map +1 -0
- package/{chunk-FGCQFIXK.mjs → chunk-INOKCKLW.mjs} +4 -1
- package/chunk-INOKCKLW.mjs.map +1 -0
- package/{chunk-B4ZVSYUD.mjs → chunk-KSRMCUT2.mjs} +2 -2
- package/{chunk-DFNQXQZT.mjs → chunk-P7JOHMD5.mjs} +4 -4
- package/{chunk-33H52IEC.mjs → chunk-T3MVHAME.mjs} +2 -2
- package/{chunk-SAILIWRH.mjs → chunk-TB4XCWDU.mjs} +3 -3
- package/{chunk-T5BIUVZ3.mjs → chunk-V7F5BJ5W.mjs} +2 -2
- package/chunk-V7F5BJ5W.mjs.map +1 -0
- package/domains.d.mts +7 -9
- package/domains.d.ts +7 -9
- package/domains.js +21 -15
- package/domains.js.map +1 -1
- package/domains.mjs +5 -1
- package/index.d.mts +2 -1
- package/index.d.ts +2 -1
- package/index.js +40 -35
- package/index.js.map +1 -1
- package/index.mjs +10 -10
- package/initM2mComponents.js +1 -1
- package/initM2mComponents.js.map +1 -1
- package/initM2mComponents.mjs +2 -2
- package/m2m-apps-menu.d.mts +3 -2
- package/m2m-apps-menu.d.ts +3 -2
- package/m2m-apps-menu.js +30 -28
- package/m2m-apps-menu.js.map +1 -1
- package/m2m-apps-menu.mjs +3 -3
- package/m2m-releases-link.d.mts +9 -1
- package/m2m-releases-link.d.ts +9 -1
- package/m2m-releases-link.js +7 -4
- package/m2m-releases-link.js.map +1 -1
- package/m2m-releases-link.mjs +8 -5
- package/m2m-releases-link.mjs.map +1 -1
- package/m2m-user-menu.d.mts +3 -2
- package/m2m-user-menu.d.ts +3 -2
- package/m2m-user-menu.js +38 -33
- package/m2m-user-menu.js.map +1 -1
- package/m2m-user-menu.mjs +6 -6
- package/package.json +1 -4
- package/storage/clearAuth.js +8 -5
- package/storage/clearAuth.js.map +1 -1
- package/storage/clearAuth.mjs +3 -3
- package/storage/client.js +1 -1
- package/storage/client.js.map +1 -1
- package/storage/client.mjs +1 -1
- package/storage/hub.js +3 -0
- package/storage/hub.js.map +1 -1
- package/storage/hub.mjs +2 -2
- package/storage/lib/hub.js +3 -0
- package/storage/lib/hub.js.map +1 -1
- package/storage/lib/hub.mjs +1 -1
- package/storage/persistenceDatabase.d.mts +2 -2
- package/storage/persistenceDatabase.d.ts +2 -2
- package/storage/persistenceDatabase.js +8 -5
- package/storage/persistenceDatabase.js.map +1 -1
- package/storage/persistenceDatabase.mjs +1 -1
- package/storage/refreshAuth.js +8 -5
- package/storage/refreshAuth.js.map +1 -1
- package/storage/refreshAuth.mjs +3 -3
- package/storage/useM2mAuth.js +8 -5
- package/storage/useM2mAuth.js.map +1 -1
- package/storage/useM2mAuth.mjs +4 -4
- package/chunk-BRSUJNLC.mjs +0 -23
- package/chunk-BRSUJNLC.mjs.map +0 -1
- package/chunk-E5KIJ5DQ.mjs +0 -26
- package/chunk-E5KIJ5DQ.mjs.map +0 -1
- package/chunk-EAE7RJIC.mjs.map +0 -1
- package/chunk-FGCQFIXK.mjs.map +0 -1
- package/chunk-T5BIUVZ3.mjs.map +0 -1
- /package/{chunk-EMMKRND5.mjs.map → chunk-DOXG3SJR.mjs.map} +0 -0
- /package/{chunk-DEAGPWGW.mjs.map → chunk-F6OCIRVJ.mjs.map} +0 -0
- /package/{chunk-B4ZVSYUD.mjs.map → chunk-KSRMCUT2.mjs.map} +0 -0
- /package/{chunk-DFNQXQZT.mjs.map → chunk-P7JOHMD5.mjs.map} +0 -0
- /package/{chunk-33H52IEC.mjs.map → chunk-T3MVHAME.mjs.map} +0 -0
- /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
|
|
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(
|
|
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
|
-
|
|
174
|
-
|
|
172
|
+
MenuBaseElement.properties = {
|
|
173
|
+
additinalItems: {
|
|
175
174
|
type: Object,
|
|
176
175
|
attribute: "additional-items"
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
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,
|
|
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 = {
|
package/m2m-apps-menu.js.map
CHANGED
|
@@ -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-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
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
|
package/m2m-releases-link.d.mts
CHANGED
|
@@ -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
|
-
|
|
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 };
|
package/m2m-releases-link.d.ts
CHANGED
|
@@ -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
|
-
|
|
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 };
|
package/m2m-releases-link.js
CHANGED
|
@@ -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(
|
|
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
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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);
|
package/m2m-releases-link.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/m2m-releases-link.ts","../src/releases/t.ts"],"sourcesContent":["import { LitElement, css, html } from \"lit\";\nimport { customElement
|
|
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":[]}
|
package/m2m-releases-link.mjs
CHANGED
|
@@ -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
|
|
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(
|
|
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
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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
|
|
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":[]}
|
package/m2m-user-menu.d.mts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import * as
|
|
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():
|
|
9
|
+
render(): lit_html.TemplateResult<1>;
|
|
9
10
|
}
|
|
10
11
|
declare global {
|
|
11
12
|
interface HTMLElementTagNameMap {
|
package/m2m-user-menu.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import * as
|
|
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():
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
268
|
-
|
|
269
|
+
MenuBaseElement.properties = {
|
|
270
|
+
additinalItems: {
|
|
269
271
|
type: Object,
|
|
270
272
|
attribute: "additional-items"
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
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,
|
|
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 = {
|
package/m2m-user-menu.js.map
CHANGED
|
@@ -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-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
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-
|
|
9
|
-
import "./chunk-
|
|
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-
|
|
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",
|
package/storage/clearAuth.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
109
|
+
var _a;
|
|
110
|
+
return (_a = await dbPromise) == null ? void 0 : _a.delete("persistence", key);
|
|
108
111
|
};
|
|
109
112
|
var persistenceDatabase = {
|
|
110
113
|
get,
|