m2m-components 7.1.9-alpha-1762751119966-7abe527.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +16 -0
- package/apps.d.ts +16 -0
- package/apps.js +94 -0
- package/apps.js.map +1 -0
- package/apps.mjs +11 -0
- package/apps.mjs.map +1 -0
- package/{chunk-SAILIWRH.mjs → chunk-3QIUILX5.mjs} +48 -18
- package/chunk-3QIUILX5.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-7AZEHVZT.mjs} +3 -3
- package/{chunk-DFNQXQZT.mjs → chunk-7VHUBWOT.mjs} +20 -6
- package/chunk-7VHUBWOT.mjs.map +1 -0
- package/{chunk-DEAGPWGW.mjs → chunk-BFCTE2XZ.mjs} +3 -3
- package/chunk-CP2PCNLU.mjs +63 -0
- package/chunk-CP2PCNLU.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-OU3IGV6H.mjs} +2 -2
- package/{chunk-T5BIUVZ3.mjs → chunk-QWW2VCZM.mjs} +5 -6
- package/chunk-QWW2VCZM.mjs.map +1 -0
- package/{chunk-33H52IEC.mjs → chunk-T3MVHAME.mjs} +2 -2
- package/chunk-W5DAWJ2F.mjs +12 -0
- package/chunk-W5DAWJ2F.mjs.map +1 -0
- package/chunk-ZBZMUI2R.mjs +42 -0
- package/chunk-ZBZMUI2R.mjs.map +1 -0
- package/domains.d.mts +14 -9
- package/domains.d.ts +14 -9
- package/domains.js +43 -16
- package/domains.js.map +1 -1
- package/domains.mjs +6 -1
- package/index.d.mts +2 -1
- package/index.d.ts +2 -1
- package/index.js +172 -53
- package/index.js.map +1 -1
- package/index.mjs +12 -10
- package/initM2mComponents.js +9 -5
- package/initM2mComponents.js.map +1 -1
- package/initM2mComponents.mjs +3 -2
- package/m2m-apps-menu.d.mts +4 -2
- package/m2m-apps-menu.d.ts +4 -2
- package/m2m-apps-menu.js +146 -44
- package/m2m-apps-menu.js.map +1 -1
- package/m2m-apps-menu.mjs +5 -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 +4 -2
- package/m2m-user-menu.d.ts +4 -2
- package/m2m-user-menu.js +74 -36
- package/m2m-user-menu.js.map +1 -1
- package/m2m-user-menu.mjs +7 -6
- package/package.json +2 -4
- package/storage/clearAuth.js +8 -5
- package/storage/clearAuth.js.map +1 -1
- package/storage/clearAuth.mjs +4 -3
- package/storage/client.js +9 -5
- package/storage/client.js.map +1 -1
- package/storage/client.mjs +2 -1
- package/storage/getM2MStorageHubDomain.d.mts +3 -0
- package/storage/getM2MStorageHubDomain.d.ts +3 -0
- package/storage/getM2MStorageHubDomain.js +36 -0
- package/storage/getM2MStorageHubDomain.js.map +1 -0
- package/storage/getM2MStorageHubDomain.mjs +8 -0
- package/storage/getM2MStorageHubDomain.mjs.map +1 -0
- 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 +4 -3
- package/storage/useM2mAuth.js +8 -5
- package/storage/useM2mAuth.js.map +1 -1
- package/storage/useM2mAuth.mjs +8 -7
- package/storage/useM2mAuth.mjs.map +1 -1
- package/chunk-BRSUJNLC.mjs +0 -23
- package/chunk-BRSUJNLC.mjs.map +0 -1
- package/chunk-DFNQXQZT.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-SAILIWRH.mjs.map +0 -1
- package/chunk-T5BIUVZ3.mjs.map +0 -1
- /package/{chunk-EMMKRND5.mjs.map → chunk-7AZEHVZT.mjs.map} +0 -0
- /package/{chunk-DEAGPWGW.mjs.map → chunk-BFCTE2XZ.mjs.map} +0 -0
- /package/{chunk-B4ZVSYUD.mjs.map → chunk-OU3IGV6H.mjs.map} +0 -0
- /package/{chunk-33H52IEC.mjs.map → chunk-T3MVHAME.mjs.map} +0 -0
package/m2m-apps-menu.d.mts
CHANGED
|
@@ -1,10 +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 M2MAppsMenuProps = MenuBaseElementProps;
|
|
6
7
|
declare class M2MAppsMenu extends MenuBaseElement {
|
|
7
|
-
|
|
8
|
+
private _dataTask;
|
|
9
|
+
render(): lit_html.TemplateResult<1>;
|
|
8
10
|
}
|
|
9
11
|
declare global {
|
|
10
12
|
interface HTMLElementTagNameMap {
|
package/m2m-apps-menu.d.ts
CHANGED
|
@@ -1,10 +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 M2MAppsMenuProps = MenuBaseElementProps;
|
|
6
7
|
declare class M2MAppsMenu extends MenuBaseElement {
|
|
7
|
-
|
|
8
|
+
private _dataTask;
|
|
9
|
+
render(): lit_html.TemplateResult<1>;
|
|
8
10
|
}
|
|
9
11
|
declare global {
|
|
10
12
|
interface HTMLElementTagNameMap {
|
package/m2m-apps-menu.js
CHANGED
|
@@ -31,25 +31,23 @@ __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
|
+
var import_task = require("@lit/task");
|
|
37
38
|
|
|
38
39
|
// src/MenuBaseElement.ts
|
|
39
40
|
var import_lit = require("lit");
|
|
40
41
|
var import_ref = require("lit/directives/ref.js");
|
|
41
|
-
var import_decorators = require("lit/decorators.js");
|
|
42
42
|
var MenuBaseElement = class extends import_lit.LitElement {
|
|
43
43
|
constructor() {
|
|
44
|
-
super(
|
|
44
|
+
super();
|
|
45
45
|
this.handleClickOutside = (event) => {
|
|
46
46
|
if (!this.listRef.value || this.listRef.value.contains(event.composedPath()[0])) {
|
|
47
47
|
return;
|
|
48
48
|
}
|
|
49
49
|
this.expanded = false;
|
|
50
50
|
};
|
|
51
|
-
this.additinalItems = [];
|
|
52
|
-
this.expanded = false;
|
|
53
51
|
this.handleToggleDrawer = (event) => {
|
|
54
52
|
event.preventDefault();
|
|
55
53
|
event.stopPropagation();
|
|
@@ -59,6 +57,8 @@ var MenuBaseElement = class extends import_lit.LitElement {
|
|
|
59
57
|
}
|
|
60
58
|
};
|
|
61
59
|
this.listRef = (0, import_ref.createRef)();
|
|
60
|
+
this.additinalItems = [];
|
|
61
|
+
this.expanded = false;
|
|
62
62
|
}
|
|
63
63
|
updated() {
|
|
64
64
|
if (this.expanded === false) {
|
|
@@ -170,40 +170,127 @@ MenuBaseElement.styles = import_lit.css`
|
|
|
170
170
|
border-bottom: 1px solid #eeeeee;
|
|
171
171
|
}
|
|
172
172
|
`;
|
|
173
|
-
|
|
174
|
-
|
|
173
|
+
MenuBaseElement.properties = {
|
|
174
|
+
additinalItems: {
|
|
175
175
|
type: Object,
|
|
176
176
|
attribute: "additional-items"
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
177
|
+
},
|
|
178
|
+
expanded: {
|
|
179
|
+
type: Boolean,
|
|
180
|
+
attribute: "expanded"
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
// src/storage/getM2MStorageHubDomain.ts
|
|
185
|
+
var getM2MStorageHubDomain = (env) => {
|
|
186
|
+
if (env === "production" || globalThis.M2M_COMPONENTS_ENV === "production") {
|
|
187
|
+
return "https://hub.m2msystems.cloud";
|
|
188
|
+
}
|
|
189
|
+
return "https://hub.dev.m2msystems.cloud";
|
|
190
|
+
};
|
|
182
191
|
|
|
183
192
|
// src/domains.ts
|
|
184
|
-
var
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
193
|
+
var developmentDomains = {
|
|
194
|
+
core: "https://core.dev.m2msystems.cloud",
|
|
195
|
+
sumyca: "https://manage.dev.sumyca.com",
|
|
196
|
+
cleaning: "https://manager-cleaning.dev.m2msystems.cloud",
|
|
197
|
+
users: "https://manage-users.dev.m2msystems.cloud",
|
|
198
|
+
checkin: "https://manage.checkin.dev.m2msystems.cloud",
|
|
199
|
+
systems: "https://dev.m2msystems.cloud"
|
|
200
|
+
};
|
|
201
|
+
var productionDomains = {
|
|
202
|
+
core: "https://core.m2msystems.cloud",
|
|
203
|
+
sumyca: "https://manage.sumyca.com",
|
|
204
|
+
cleaning: "https://manager-cleaning.m2msystems.cloud",
|
|
205
|
+
users: "https://manage-users.m2msystems.cloud",
|
|
206
|
+
checkin: "https://manage.checkin.m2msystems.cloud",
|
|
207
|
+
systems: "https://m2msystems.cloud/"
|
|
208
|
+
};
|
|
209
|
+
var useDomains = async (signal) => {
|
|
210
|
+
const env = globalThis.M2M_COMPONENTS_ENV === "production" ? "production" : "development";
|
|
211
|
+
try {
|
|
212
|
+
const domain = getM2MStorageHubDomain(env);
|
|
213
|
+
const response = await fetch(`${domain}/api/domains/${env}`, { signal });
|
|
214
|
+
if (!response.ok) {
|
|
215
|
+
throw new Error(`Failed to fetch domains: ${response.statusText}`);
|
|
216
|
+
}
|
|
217
|
+
const data = await response.json();
|
|
218
|
+
return data;
|
|
219
|
+
} catch {
|
|
220
|
+
return globalThis.M2M_COMPONENTS_ENV === "production" ? productionDomains : developmentDomains;
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
// src/apps.ts
|
|
225
|
+
var apps = [
|
|
226
|
+
{
|
|
227
|
+
label: "m2m Series",
|
|
228
|
+
type: "group",
|
|
229
|
+
children: [
|
|
230
|
+
{
|
|
231
|
+
label: "Core \u65BD\u8A2D\u7BA1\u7406",
|
|
232
|
+
type: "link",
|
|
233
|
+
key: "core"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
label: "Checkin \u30B2\u30B9\u30C8\u30C1\u30A7\u30C3\u30AF\u30A4\u30F3",
|
|
237
|
+
type: "link",
|
|
238
|
+
key: "checkin"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
label: "Systems Airbnb\u9023\u643A",
|
|
242
|
+
type: "link",
|
|
243
|
+
key: "systems"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
label: "Cleaning \u6E05\u6383\u7BA1\u7406",
|
|
247
|
+
type: "link",
|
|
248
|
+
key: "cleaning"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
label: "Users \u30A2\u30AB\u30A6\u30F3\u30C8\u7BA1\u7406",
|
|
252
|
+
type: "link",
|
|
253
|
+
key: "users"
|
|
254
|
+
}
|
|
255
|
+
]
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
label: "Sumyca \u30DE\u30F3\u30B9\u30EA\u30FC\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0",
|
|
259
|
+
key: "sumyca",
|
|
260
|
+
type: "link"
|
|
261
|
+
}
|
|
262
|
+
];
|
|
263
|
+
var useApps = async (signal) => {
|
|
264
|
+
const env = globalThis.M2M_COMPONENTS_ENV === "production" ? "production" : "development";
|
|
265
|
+
try {
|
|
266
|
+
const domain = getM2MStorageHubDomain(env);
|
|
267
|
+
const response = await fetch(`${domain}/api/apps`, { signal });
|
|
268
|
+
if (!response.ok) {
|
|
269
|
+
throw new Error(`Failed to fetch apps: ${response.statusText}`);
|
|
270
|
+
}
|
|
271
|
+
const data = await response.json();
|
|
272
|
+
return data;
|
|
273
|
+
} catch {
|
|
274
|
+
return apps;
|
|
275
|
+
}
|
|
200
276
|
};
|
|
201
277
|
|
|
202
278
|
// src/m2m-apps-menu.ts
|
|
203
279
|
var M2MAppsMenu = class extends MenuBaseElement {
|
|
280
|
+
constructor() {
|
|
281
|
+
super(...arguments);
|
|
282
|
+
this._dataTask = new import_task.Task(this, {
|
|
283
|
+
task: async (_, { signal }) => {
|
|
284
|
+
const apps2 = await useApps(signal);
|
|
285
|
+
const domains = await useDomains(signal);
|
|
286
|
+
return { apps: apps2, domains };
|
|
287
|
+
},
|
|
288
|
+
args: () => []
|
|
289
|
+
});
|
|
290
|
+
}
|
|
204
291
|
render() {
|
|
205
292
|
var _a;
|
|
206
|
-
const
|
|
293
|
+
const isHidden = this.expanded === false || this.expanded === void 0;
|
|
207
294
|
const additionalItems = (_a = this.additinalItems) == null ? void 0 : _a.map((item) => {
|
|
208
295
|
return import_lit2.html`
|
|
209
296
|
<li>
|
|
@@ -211,7 +298,6 @@ var M2MAppsMenu = class extends MenuBaseElement {
|
|
|
211
298
|
</li>
|
|
212
299
|
`;
|
|
213
300
|
});
|
|
214
|
-
const isHidden = this.expanded === false || this.expanded === void 0;
|
|
215
301
|
return import_lit2.html`<nav>
|
|
216
302
|
<button
|
|
217
303
|
type="button"
|
|
@@ -237,26 +323,42 @@ var M2MAppsMenu = class extends MenuBaseElement {
|
|
|
237
323
|
aria-hidden=${isHidden}
|
|
238
324
|
class="navigation-drawer"
|
|
239
325
|
>
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
326
|
+
${this._dataTask.render({
|
|
327
|
+
pending: () => import_lit2.html`<li><a disabled href="#">Loading...</a></li>`,
|
|
328
|
+
complete: ({ apps: apps2, domains }) => {
|
|
329
|
+
return apps2.map((app) => {
|
|
330
|
+
return app.type === "group" ? import_lit2.html`
|
|
331
|
+
<li>
|
|
332
|
+
<span>${app.label}</span>
|
|
333
|
+
<ul>
|
|
334
|
+
${app.children.map((child) => {
|
|
335
|
+
if (child.type === "link") {
|
|
336
|
+
return import_lit2.html`
|
|
337
|
+
<li>
|
|
338
|
+
<a href="${domains[child.key]}"
|
|
339
|
+
>${child.label}</a
|
|
340
|
+
>
|
|
341
|
+
</li>
|
|
342
|
+
`;
|
|
343
|
+
}
|
|
344
|
+
})}
|
|
345
|
+
</ul>
|
|
346
|
+
</li>
|
|
347
|
+
` : import_lit2.html`
|
|
348
|
+
<li>
|
|
349
|
+
<a href="${domains[app.key]}">${app.label}</a>
|
|
350
|
+
</li>
|
|
351
|
+
`;
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
})}
|
|
253
355
|
${additionalItems}
|
|
254
356
|
</ul>
|
|
255
357
|
</nav>`;
|
|
256
358
|
}
|
|
257
359
|
};
|
|
258
360
|
M2MAppsMenu = __decorateClass([
|
|
259
|
-
(0,
|
|
361
|
+
(0, import_decorators.customElement)("m2m-apps-menu")
|
|
260
362
|
], M2MAppsMenu);
|
|
261
363
|
// Annotate the CommonJS export names for ESM import in node:
|
|
262
364
|
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/storage/getM2MStorageHubDomain.ts","../src/domains.ts","../src/apps.ts"],"sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { Task } from \"@lit/task\";\nimport { MenuBaseElement, MenuBaseElementProps } from \"./MenuBaseElement\";\nimport { useDomains } from \"./domains\";\nimport { useApps } from \"./apps\";\n\nexport type M2MAppsMenuProps = MenuBaseElementProps;\n\n@customElement(\"m2m-apps-menu\")\nexport class M2MAppsMenu extends MenuBaseElement {\n private _dataTask = new Task(this, {\n task: async (_: unknown, { signal }) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const apps = await useApps(signal);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const domains = await useDomains(signal);\n return { apps, domains };\n },\n args: () => [],\n });\n\n render() {\n const isHidden = this.expanded === false || this.expanded === undefined;\n\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\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 ${this._dataTask.render({\n pending: () => html`<li><a disabled href=\"#\">Loading...</a></li>`,\n complete: ({ apps, domains }) => {\n return apps.map((app) => {\n return app.type === \"group\"\n ? html`\n <li>\n <span>${app.label}</span>\n <ul>\n ${app.children.map((child) => {\n // 2段ネストはサポートしない\n if (child.type === \"link\") {\n return html`\n <li>\n <a href=\"${domains[child.key]}\"\n >${child.label}</a\n >\n </li>\n `;\n }\n })}\n </ul>\n </li>\n `\n : html`\n <li>\n <a href=\"${domains[app.key]}\">${app.label}</a>\n </li>\n `;\n });\n },\n })}\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","export const getM2MStorageHubDomain = (env?: \"production\" | \"development\") => {\n if (env === \"production\" || globalThis.M2M_COMPONENTS_ENV === \"production\") {\n return \"https://hub.m2msystems.cloud\";\n }\n return \"https://hub.dev.m2msystems.cloud\";\n};\n","import { getM2MStorageHubDomain } from \"./storage/getM2MStorageHubDomain\";\nimport { type AppLinkKey } from \"./apps\";\n\nexport type DomainRecord = Record<AppLinkKey, string>;\n\nexport const developmentDomains: DomainRecord = {\n core: \"https://core.dev.m2msystems.cloud\",\n sumyca: \"https://manage.dev.sumyca.com\",\n cleaning: \"https://manager-cleaning.dev.m2msystems.cloud\",\n users: \"https://manage-users.dev.m2msystems.cloud\",\n checkin: \"https://manage.checkin.dev.m2msystems.cloud\",\n systems: \"https://dev.m2msystems.cloud\",\n};\n\nexport const productionDomains: DomainRecord = {\n core: \"https://core.m2msystems.cloud\",\n sumyca: \"https://manage.sumyca.com\",\n cleaning: \"https://manager-cleaning.m2msystems.cloud\",\n users: \"https://manage-users.m2msystems.cloud\",\n checkin: \"https://manage.checkin.m2msystems.cloud\",\n systems: \"https://m2msystems.cloud/\",\n};\n\n/**\n * 可能なら最新のドメインを取得し、取得出来なければリリース時のドメインを返す。\n * Q. なぜgetDomainsではなくuseDomainsなのか\n * A. M2M_COMPONENTS_ENVが設定される前に、この関数が呼び出されると常にdevelopmentになってしまうため、\n * Reactを利用するケースを考えるとコンポーネントのレンダリング時などに呼んでもらう必要がある。\n * React hookのような命名にしておくことで、Linterによってこれを強制できる。\n */\nexport const useDomains = async (\n signal?: AbortSignal,\n): Promise<DomainRecord> => {\n const env =\n globalThis.M2M_COMPONENTS_ENV === \"production\"\n ? \"production\"\n : \"development\";\n try {\n const domain = getM2MStorageHubDomain(env);\n const response = await fetch(`${domain}/api/domains/${env}`, { signal });\n if (!response.ok) {\n throw new Error(`Failed to fetch domains: ${response.statusText}`);\n }\n const data = (await response.json()) as DomainRecord;\n return data;\n } catch {\n return globalThis.M2M_COMPONENTS_ENV === \"production\"\n ? productionDomains\n : developmentDomains;\n }\n};\n","import { getM2MStorageHubDomain } from \"./storage/getM2MStorageHubDomain\";\n\ninterface AppGroup {\n label: string;\n type: \"group\";\n children: App[];\n}\n\nexport type AppLinkKey =\n | \"core\"\n | \"checkin\"\n | \"systems\"\n | \"cleaning\"\n | \"users\"\n | \"sumyca\";\n\ninterface AppLink {\n label: string;\n type: \"link\";\n key: AppLinkKey;\n}\n\nexport type App = AppGroup | AppLink;\n\nexport const apps: App[] = [\n {\n label: \"m2m Series\",\n type: \"group\",\n children: [\n {\n label: \"Core 施設管理\",\n type: \"link\",\n key: \"core\",\n },\n {\n label: \"Checkin ゲストチェックイン\",\n type: \"link\",\n key: \"checkin\",\n },\n {\n label: \"Systems Airbnb連携\",\n type: \"link\",\n key: \"systems\",\n },\n {\n label: \"Cleaning 清掃管理\",\n type: \"link\",\n key: \"cleaning\",\n },\n {\n label: \"Users アカウント管理\",\n type: \"link\",\n key: \"users\",\n },\n ],\n },\n {\n label: \"Sumyca マンスリープラットフォーム\",\n key: \"sumyca\",\n type: \"link\",\n },\n];\n\nexport const useApps = async (signal?: AbortSignal): Promise<App[]> => {\n const env =\n globalThis.M2M_COMPONENTS_ENV === \"production\"\n ? \"production\"\n : \"development\";\n try {\n const domain = getM2MStorageHubDomain(env);\n const response = await fetch(`${domain}/api/apps`, { signal });\n if (!response.ok) {\n throw new Error(`Failed to fetch apps: ${response.statusText}`);\n }\n const data = (await response.json()) as App[];\n return data;\n } catch {\n return apps;\n }\n};\n"],"mappings":"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","names":["import_lit","import_ref","apps"]}
|
package/m2m-apps-menu.mjs
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
M2MAppsMenu
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-3QIUILX5.mjs";
|
|
4
|
+
import "./chunk-5EK67DDX.mjs";
|
|
5
|
+
import "./chunk-CP2PCNLU.mjs";
|
|
6
|
+
import "./chunk-ZBZMUI2R.mjs";
|
|
7
|
+
import "./chunk-W5DAWJ2F.mjs";
|
|
6
8
|
import "./chunk-ZOXT4E27.mjs";
|
|
7
9
|
export {
|
|
8
10
|
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,13 @@
|
|
|
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
|
-
|
|
9
|
+
private _usersUrlTask;
|
|
10
|
+
render(): lit_html.TemplateResult<1>;
|
|
9
11
|
}
|
|
10
12
|
declare global {
|
|
11
13
|
interface HTMLElementTagNameMap {
|
package/m2m-user-menu.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
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
|
-
|
|
9
|
+
private _usersUrlTask;
|
|
10
|
+
render(): lit_html.TemplateResult<1>;
|
|
9
11
|
}
|
|
10
12
|
declare global {
|
|
11
13
|
interface HTMLElementTagNameMap {
|