@qverse-ui/lit-components 1.0.8 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/components/common/index.d.ts +3 -1
  2. package/dist/components/common/index.d.ts.map +1 -1
  3. package/dist/components/common/index.js +4 -1
  4. package/dist/components/common/index.js.map +1 -1
  5. package/dist/components/common/lit-switch-dollhouse-view/index.d.ts.map +1 -1
  6. package/dist/components/common/lit-switch-dollhouse-view/index.js +1 -3
  7. package/dist/components/common/lit-switch-dollhouse-view/index.js.map +1 -1
  8. package/dist/components/common/lit-switch-floor/constants.d.ts +12 -0
  9. package/dist/components/common/lit-switch-floor/constants.d.ts.map +1 -0
  10. package/dist/components/common/lit-switch-floor/constants.js +17 -0
  11. package/dist/components/common/lit-switch-floor/constants.js.map +1 -0
  12. package/dist/components/common/lit-switch-floor/events.d.ts +3 -0
  13. package/dist/components/common/lit-switch-floor/events.d.ts.map +1 -0
  14. package/dist/components/common/lit-switch-floor/events.js +25 -0
  15. package/dist/components/common/lit-switch-floor/events.js.map +1 -0
  16. package/dist/components/common/lit-switch-floor/index.d.ts +46 -0
  17. package/dist/components/common/lit-switch-floor/index.d.ts.map +1 -0
  18. package/dist/components/common/lit-switch-floor/index.js +134 -0
  19. package/dist/components/common/lit-switch-floor/index.js.map +1 -0
  20. package/dist/components/common/lit-switch-floor/interaction.d.ts +58 -0
  21. package/dist/components/common/lit-switch-floor/interaction.d.ts.map +1 -0
  22. package/dist/components/common/lit-switch-floor/interaction.js +302 -0
  23. package/dist/components/common/lit-switch-floor/interaction.js.map +1 -0
  24. package/dist/components/common/lit-switch-floor/logic.d.ts +27 -0
  25. package/dist/components/common/lit-switch-floor/logic.d.ts.map +1 -0
  26. package/dist/components/common/lit-switch-floor/logic.js +137 -0
  27. package/dist/components/common/lit-switch-floor/logic.js.map +1 -0
  28. package/dist/components/common/lit-switch-floor/properties.d.ts +25 -0
  29. package/dist/components/common/lit-switch-floor/properties.d.ts.map +1 -0
  30. package/dist/components/common/lit-switch-floor/properties.js +14 -0
  31. package/dist/components/common/lit-switch-floor/properties.js.map +1 -0
  32. package/dist/components/common/lit-switch-floor/styles.d.ts +2 -0
  33. package/dist/components/common/lit-switch-floor/styles.d.ts.map +1 -0
  34. package/dist/components/common/lit-switch-floor/styles.js +106 -0
  35. package/dist/components/common/lit-switch-floor/styles.js.map +1 -0
  36. package/dist/components/common/lit-switch-floor/template.d.ts +4 -0
  37. package/dist/components/common/lit-switch-floor/template.d.ts.map +1 -0
  38. package/dist/components/common/lit-switch-floor/template.js +66 -0
  39. package/dist/components/common/lit-switch-floor/template.js.map +1 -0
  40. package/dist/components/common/lit-switch-floorplan-view/index.d.ts.map +1 -1
  41. package/dist/components/common/lit-switch-floorplan-view/index.js +1 -3
  42. package/dist/components/common/lit-switch-floorplan-view/index.js.map +1 -1
  43. package/dist/components/common/lit-switch-panorama-view/index.d.ts.map +1 -1
  44. package/dist/components/common/lit-switch-panorama-view/index.js +4 -3
  45. package/dist/components/common/lit-switch-panorama-view/index.js.map +1 -1
  46. package/dist/components/index.d.ts +1 -1
  47. package/dist/components/index.d.ts.map +1 -1
  48. package/dist/components/index.js +4 -1
  49. package/dist/components/index.js.map +1 -1
  50. package/dist/index.js +2 -0
  51. package/dist/index.js.map +1 -1
  52. package/package.json +1 -1
@@ -0,0 +1,106 @@
1
+ import { css } from "lit";
2
+ const styles = css`
3
+ :host {
4
+ display: inline-block;
5
+ }
6
+
7
+ :host([hidden]) {
8
+ display: none;
9
+ }
10
+
11
+ :host(:not([enabled])) {
12
+ pointer-events: none;
13
+ opacity: 0.5;
14
+ }
15
+
16
+ :host(:not([enabled])) .floor-list-wrap li,
17
+ :host(:not([enabled])) .scroll-arrow {
18
+ cursor: not-allowed;
19
+ }
20
+
21
+ .switch-floor-wrap {
22
+ width: 56px;
23
+ /* background: rgba(41, 41, 41, 0.77); */
24
+ background: rgba(255, 0, 0, 0.4);
25
+ box-shadow: 0 4px 8px 1px rgba(255, 255, 255, 0.1);
26
+ border-radius: 29px;
27
+ padding: 2px 0;
28
+ }
29
+
30
+ .floor-list-wrap {
31
+ display: flex;
32
+ flex-direction: column;
33
+ align-items: center;
34
+ justify-content: center;
35
+ width: 100%;
36
+ margin: 0;
37
+ padding: 0;
38
+ list-style: none;
39
+ }
40
+
41
+ .floor-list-wrap li {
42
+ list-style: none;
43
+ cursor: pointer;
44
+ margin: 7px 0;
45
+ width: 56px;
46
+ }
47
+
48
+ .floor-label {
49
+ display: block;
50
+ margin: 0 auto;
51
+ width: 80%;
52
+ font-size: 14px;
53
+ font-weight: bold;
54
+ line-height: 22px;
55
+ text-align: center;
56
+ white-space: nowrap;
57
+ overflow: hidden;
58
+ text-overflow: ellipsis;
59
+ color: rgba(255, 255, 255, 0.3);
60
+ }
61
+
62
+ .floor-label.active {
63
+ color: rgba(255, 255, 255, 1);
64
+ }
65
+
66
+ .floors {
67
+ max-height: 108px;
68
+ overflow: hidden;
69
+ }
70
+
71
+ .translate {
72
+ display: flex;
73
+ flex-direction: column;
74
+ transition: transform 0.3s;
75
+ }
76
+
77
+ .translate li {
78
+ height: 22px;
79
+ }
80
+
81
+ .scroll-arrow {
82
+ width: 0;
83
+ height: 0;
84
+ margin: 0 auto;
85
+ border-left: 6px solid transparent;
86
+ border-right: 6px solid transparent;
87
+ opacity: 0.7;
88
+ cursor: pointer;
89
+ }
90
+
91
+ .scroll-arrow.up {
92
+ border-bottom: 8px solid rgba(255, 255, 255, 0.7);
93
+ }
94
+
95
+ .scroll-arrow.down {
96
+ border-top: 8px solid rgba(255, 255, 255, 0.7);
97
+ }
98
+
99
+ .scroll-arrow.active {
100
+ opacity: 1;
101
+ }
102
+ `;
103
+ export {
104
+ styles
105
+ };
106
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/common/lit-switch-floor/styles.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-floor 样式\r\n */\r\n\r\nimport { css } from 'lit'\r\n\r\nexport const styles = css`\r\n :host {\r\n display: inline-block;\r\n }\r\n\r\n :host([hidden]) {\r\n display: none;\r\n }\r\n\r\n :host(:not([enabled])) {\r\n pointer-events: none;\r\n opacity: 0.5;\r\n }\r\n\r\n :host(:not([enabled])) .floor-list-wrap li,\r\n :host(:not([enabled])) .scroll-arrow {\r\n cursor: not-allowed;\r\n }\r\n\r\n .switch-floor-wrap {\r\n width: 56px;\r\n /* background: rgba(41, 41, 41, 0.77); */\r\n background: rgba(255, 0, 0, 0.4);\r\n box-shadow: 0 4px 8px 1px rgba(255, 255, 255, 0.1);\r\n border-radius: 29px;\r\n padding: 2px 0;\r\n }\r\n\r\n .floor-list-wrap {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n }\r\n\r\n .floor-list-wrap li {\r\n list-style: none;\r\n cursor: pointer;\r\n margin: 7px 0;\r\n width: 56px;\r\n }\r\n\r\n .floor-label {\r\n display: block;\r\n margin: 0 auto;\r\n width: 80%;\r\n font-size: 14px;\r\n font-weight: bold;\r\n line-height: 22px;\r\n text-align: center;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n color: rgba(255, 255, 255, 0.3);\r\n }\r\n\r\n .floor-label.active {\r\n color: rgba(255, 255, 255, 1);\r\n }\r\n\r\n .floors {\r\n max-height: 108px;\r\n overflow: hidden;\r\n }\r\n\r\n .translate {\r\n display: flex;\r\n flex-direction: column;\r\n transition: transform 0.3s;\r\n }\r\n\r\n .translate li {\r\n height: 22px;\r\n }\r\n\r\n .scroll-arrow {\r\n width: 0;\r\n height: 0;\r\n margin: 0 auto;\r\n border-left: 6px solid transparent;\r\n border-right: 6px solid transparent;\r\n opacity: 0.7;\r\n cursor: pointer;\r\n }\r\n\r\n .scroll-arrow.up {\r\n border-bottom: 8px solid rgba(255, 255, 255, 0.7);\r\n }\r\n\r\n .scroll-arrow.down {\r\n border-top: 8px solid rgba(255, 255, 255, 0.7);\r\n }\r\n\r\n .scroll-arrow.active {\r\n opacity: 1;\r\n }\r\n`\r\n"],"names":[],"mappings":";AAQO,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,4 @@
1
+ import { nothing } from 'lit';
2
+ import { type FloorSwitchHost } from './interaction.js';
3
+ export declare function renderFloorSwitch(host: FloorSwitchHost): import("lit-html").TemplateResult<1> | typeof nothing;
4
+ //# sourceMappingURL=template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-floor/template.ts"],"names":[],"mappings":"AAMA,OAAO,EAAQ,OAAO,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,EAUL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAA;AAEzB,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,yDAqDtD"}
@@ -0,0 +1,66 @@
1
+ import { nothing, html } from "lit";
2
+ import { isFloorSwitchVisible, getFloorListReverse, showScrollArrows, isUpArrowActive, isAllFloorActive, getAllLabel, getTranslateStyle, isFloorActive, getFloorLabel } from "./interaction.js";
3
+ function renderFloorSwitch(host) {
4
+ if (!isFloorSwitchVisible(host)) {
5
+ return nothing;
6
+ }
7
+ const floorListReverse = getFloorListReverse(host);
8
+ const scrollable = showScrollArrows(host);
9
+ return html`
10
+ <div class="switch-floor-wrap">
11
+ <ul class="floor-list-wrap">
12
+ ${scrollable ? html`
13
+ <li>
14
+ <div
15
+ class="scroll-arrow up ${isUpArrowActive(host) ? "active" : ""}"
16
+ @click=${() => {
17
+ var _a;
18
+ return (_a = host.onScrollUp) == null ? void 0 : _a.call(host);
19
+ }}
20
+ ></div>
21
+ </li>
22
+ ` : nothing}
23
+
24
+ <li @click=${(e) => {
25
+ var _a;
26
+ return (_a = host.onSelectFloor) == null ? void 0 : _a.call(host, "all", e);
27
+ }}>
28
+ <span class="floor-label ${isAllFloorActive(host) ? "active" : ""}">
29
+ ${getAllLabel(host)}
30
+ </span>
31
+ </li>
32
+
33
+ <div class="floors">
34
+ <div class="translate" style=${getTranslateStyle(host)}>
35
+ ${floorListReverse.map((item) => html`
36
+ <li @click=${(e) => {
37
+ var _a;
38
+ return (_a = host.onSelectFloor) == null ? void 0 : _a.call(host, item.idx, e);
39
+ }}>
40
+ <span class="floor-label ${isFloorActive(host, item.idx) ? "active" : ""}">
41
+ ${getFloorLabel(host, item.idx)}
42
+ </span>
43
+ </li>
44
+ `)}
45
+ </div>
46
+ </div>
47
+
48
+ ${scrollable ? html`
49
+ <li>
50
+ <div
51
+ class="scroll-arrow down ${host.downActive ? "active" : ""}"
52
+ @click=${() => {
53
+ var _a;
54
+ return (_a = host.onScrollDown) == null ? void 0 : _a.call(host);
55
+ }}
56
+ ></div>
57
+ </li>
58
+ ` : nothing}
59
+ </ul>
60
+ </div>
61
+ `;
62
+ }
63
+ export {
64
+ renderFloorSwitch
65
+ };
66
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sources":["../../../../src/components/common/lit-switch-floor/template.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-floor 渲染模板\r\n */\r\n\r\nimport { html, nothing } from 'lit'\r\nimport {\r\n getAllLabel,\r\n getFloorLabel,\r\n getFloorListReverse,\r\n getTranslateStyle,\r\n isAllFloorActive,\r\n isFloorActive,\r\n isFloorSwitchVisible,\r\n isUpArrowActive,\r\n showScrollArrows,\r\n type FloorSwitchHost,\r\n} from './interaction.js'\r\n\r\nexport function renderFloorSwitch(host: FloorSwitchHost) {\r\n\r\n if (!isFloorSwitchVisible(host)) {\r\n\r\n return nothing\r\n\r\n }\r\n\r\n const floorListReverse = getFloorListReverse(host)\r\n const scrollable = showScrollArrows(host)\r\n\r\n return html`\r\n <div class=\"switch-floor-wrap\">\r\n <ul class=\"floor-list-wrap\">\r\n ${scrollable ? html`\r\n <li>\r\n <div\r\n class=\"scroll-arrow up ${isUpArrowActive(host) ? 'active' : ''}\"\r\n @click=${() => host.onScrollUp?.()}\r\n ></div>\r\n </li>\r\n ` : nothing}\r\n\r\n <li @click=${(e: Event) => host.onSelectFloor?.('all', e)}>\r\n <span class=\"floor-label ${isAllFloorActive(host) ? 'active' : ''}\">\r\n ${getAllLabel(host)}\r\n </span>\r\n </li>\r\n\r\n <div class=\"floors\">\r\n <div class=\"translate\" style=${getTranslateStyle(host)}>\r\n ${floorListReverse.map((item) => html`\r\n <li @click=${(e: Event) => host.onSelectFloor?.(item.idx, e)}>\r\n <span class=\"floor-label ${isFloorActive(host, item.idx) ? 'active' : ''}\">\r\n ${getFloorLabel(host, item.idx)}\r\n </span>\r\n </li>\r\n `)}\r\n </div>\r\n </div>\r\n\r\n ${scrollable ? html`\r\n <li>\r\n <div\r\n class=\"scroll-arrow down ${host.downActive ? 'active' : ''}\"\r\n @click=${() => host.onScrollDown?.()}\r\n ></div>\r\n </li>\r\n ` : nothing}\r\n </ul>\r\n </div>\r\n `\r\n\r\n}\r\n"],"names":[],"mappings":";;AAoBO,SAAS,kBAAkB,MAAuB;AAEvD,MAAI,CAAC,qBAAqB,IAAI,GAAG;AAE/B,WAAO;AAAA,EAET;AAEA,QAAM,mBAAmB,oBAAoB,IAAI;AACjD,QAAM,aAAa,iBAAiB,IAAI;AAExC,SAAO;AAAA;AAAA;AAAA,UAGC,aAAa;AAAA;AAAA;AAAA,uCAGgB,gBAAgB,IAAI,IAAI,WAAW,EAAE;AAAA,uBACrD,MAAA;;AAAM,sBAAK,eAAL;AAAA,GAAmB;AAAA;AAAA;AAAA,YAGpC,OAAO;AAAA;AAAA,qBAEE,CAAC,MAAA;;AAAa,sBAAK,kBAAL,8BAAqB,OAAO;AAAA,GAAE;AAAA,qCAC5B,iBAAiB,IAAI,IAAI,WAAW,EAAE;AAAA,cAC7D,YAAY,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,yCAKU,kBAAkB,IAAI,CAAC;AAAA,cAClD,iBAAiB,IAAI,CAAC,SAAS;AAAA,2BAClB,CAAC,MAAA;;AAAa,sBAAK,kBAAL,8BAAqB,KAAK,KAAK;AAAA,GAAE;AAAA,2CAC/B,cAAc,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE;AAAA,oBACpE,cAAc,MAAM,KAAK,GAAG,CAAC;AAAA;AAAA;AAAA,aAGpC,CAAC;AAAA;AAAA;AAAA;AAAA,UAIJ,aAAa;AAAA;AAAA;AAAA,yCAGkB,KAAK,aAAa,WAAW,EAAE;AAAA,uBACjD,MAAA;;AAAM,sBAAK,iBAAL;AAAA,GAAqB;AAAA;AAAA;AAAA,YAGtC,OAAO;AAAA;AAAA;AAAA;AAKnB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-floorplan-view/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAGhD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAMpC,gDAAgD;AAChD,qBACa,sBAAuB,SAAQ,UAAU;IAEpD,0DAA0D;IAE1D,MAAM,EAAE,GAAG,CAAO;IAElB;;;OAGG;IAOH,OAAO,UAAQ;IAEf,UAAU,CAAC,KAAK,EAAE,OAAO;IAQzB,MAAM,CAAC,MAAM,0BAAS;IAEtB,OAAO,CAAC,QAAQ,CAIf;IAED,OAAO,CAAC,aAAa,CAIpB;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED,OAAO,CAAC,sBAAsB,CAI7B;IAED,OAAO,CAAC,yBAAyB,CAIhC;IAED;;OAEG;IACH,MAAM;IAMN;;OAEG;IACH,iBAAiB;IAiCjB;;OAEG;IACH,oBAAoB;IAkBpB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAM1C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;CAI/D;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAA;KAE9B;CAEF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-floorplan-view/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAGhD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAMpC,gDAAgD;AAChD,qBACa,sBAAuB,SAAQ,UAAU;IAEpD,0DAA0D;IAE1D,MAAM,EAAE,GAAG,CAAO;IAElB;;;OAGG;IAOH,OAAO,UAAQ;IAEf,UAAU,CAAC,KAAK,EAAE,OAAO;IAQzB,MAAM,CAAC,MAAM,0BAAS;IAEtB,OAAO,CAAC,QAAQ,CAIf;IAED,OAAO,CAAC,aAAa,CAIpB;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED,OAAO,CAAC,sBAAsB,CAI7B;IAED,OAAO,CAAC,yBAAyB,CAIhC;IAED;;OAEG;IACH,MAAM;IAMN;;OAEG;IACH,iBAAiB;IA6BjB;;OAEG;IACH,oBAAoB;IAkBpB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAM1C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;CAI/D;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAA;KAE9B;CAEF"}
@@ -54,10 +54,8 @@ let LitSwitchFloorplanView = class extends LitElement {
54
54
  super.connectedCallback();
55
55
  if (this.qspace) {
56
56
  if (this.qspace.view) {
57
- try {
57
+ if (null !== this.qspace.commonEvents.coreEvents.getCurrentMode()) {
58
58
  syncEnabledFromMode(this, this.qspace.view.mode);
59
- } catch (error) {
60
- console.error(error);
61
59
  }
62
60
  }
63
61
  this.qspace.core.addEventListener("loaded", this._onCoreLoaded);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/common/lit-switch-floorplan-view/index.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-floorplan-view 组件注册与属性声明\n */\n\nimport { LitElement, PropertyValues } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\nimport { TAG } from './constants.js'\nimport { handleFloorplanClick, handelViewModeChange, handelCoreLoaded, syncEnabledFromMode, handelWaypointStart, handelWaypointComplete } from './interaction.js'\nimport { booleanAttr } from './properties.js'\nimport { styles } from './styles.js'\nimport { renderFloorplanView } from './template.js'\n\n/** 切换到 floorplan 视图;qspace 须由宿主通过 :qspace 传入 */\n@safeCustomElement(TAG)\nexport class LitSwitchFloorplanView extends LitElement {\n\n /** qspace SDK 实例;仅 JS 属性绑定,不映射 HTML attribute(对象无法序列化) */\n @property({ attribute: false })\n qspace: any = null\n\n /**\n * 是否可点击;由 core.loaded / mode.change 自动同步,宿主亦可覆盖\n * HTML: enabled / Vue: :enabled\n */\n @property({\n type: Boolean,\n attribute: 'enabled',\n reflect: true,\n converter: booleanAttr,\n })\n enabled = false\n\n setEnabled(value: boolean) {\n\n this.enabled = value\n\n this.toggleAttribute('enabled', value)\n\n }\n\n static styles = styles\n\n private _onClick = (e: Event) => {\n\n handleFloorplanClick(this, e)\n\n }\n\n private _onCoreLoaded = () => {\n\n handelCoreLoaded(this);\n\n }\n\n private _onViewModeChange = (mode: string) => {\n\n handelViewModeChange(this, mode);\n\n }\n\n private _onSwitchWaypointStart = () => {\n\n handelWaypointStart(this);\n\n }\n\n private _onSwitchWaypointComplete = () => {\n\n handelWaypointComplete(this);\n\n }\n\n /**\n * 渲染模板\n */\n render() {\n\n return renderFloorplanView(this._onClick)\n\n }\n\n /**\n * 组件连接生命周期\n */\n connectedCallback() {\n\n super.connectedCallback()\n\n if (this.qspace) {\n\n if (this.qspace.view) {\n\n // 待优化\n try {\n\n syncEnabledFromMode(this, this.qspace.view.mode);\n\n } catch (error) {\n\n console.error(error);\n\n }\n\n }\n\n this.qspace.core.addEventListener('loaded', this._onCoreLoaded);\n\n this.qspace.view.addEventListener('mode.change', this._onViewModeChange);\n\n this.qspace.model.addEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\n\n this.qspace.model.addEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\n\n }\n\n }\n\n /**\n * 组件断开生命周期\n */\n disconnectedCallback() {\n\n if (this.qspace) {\n\n this.qspace.core.removeEventListener('loaded', this._onCoreLoaded);\n\n this.qspace.view.removeEventListener('mode.change', this._onViewModeChange);\n\n this.qspace.model.removeEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\n\n this.qspace.model.removeEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\n\n }\n\n super.disconnectedCallback()\n\n }\n\n /**\n * 第一次更新\n */\n firstUpdated(changed: Map<string, unknown>) {\n\n super.firstUpdated(changed)\n\n }\n\n /**\n * 组件更新\n */\n updated(changed: Map<string, unknown>) {\n\n super.updated(changed)\n\n }\n\n /**\n * 将要更新\n */\n protected willUpdate(_changedProperties: PropertyValues): void {\n\n }\n\n}\n\ndeclare global {\n\n interface HTMLElementTagNameMap {\n\n [TAG]: LitSwitchFloorplanView\n\n }\n\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAiBO,IAAM,yBAAN,cAAqC,WAAW;AAAA,EAAhD,cAAA;AAAA,UAAA,GAAA,SAAA;AAIL,SAAA,SAAc;AAYd,SAAA,UAAU;AAYV,SAAQ,WAAW,CAAC,MAAa;AAE/B,2BAAqB,MAAM,CAAC;AAAA,IAE9B;AAEA,SAAQ,gBAAgB,MAAM;AAE5B,uBAAiB,IAAI;AAAA,IAEvB;AAEA,SAAQ,oBAAoB,CAAC,SAAiB;AAE5C,2BAAqB,MAAM,IAAI;AAAA,IAEjC;AAEA,SAAQ,yBAAyB,MAAM;AAErC,0BAAoB,IAAI;AAAA,IAE1B;AAEA,SAAQ,4BAA4B,MAAM;AAExC,6BAAuB,IAAI;AAAA,IAE7B;AAAA,EAAA;AAAA,EAtCA,WAAW,OAAgB;AAEzB,SAAK,UAAU;AAEf,SAAK,gBAAgB,WAAW,KAAK;AAAA,EAEvC;AAAA;AAAA;AAAA;AAAA,EAqCA,SAAS;AAEP,WAAO,oBAAoB,KAAK,QAAQ;AAAA,EAE1C;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAElB,UAAM,kBAAA;AAEN,QAAI,KAAK,QAAQ;AAEf,UAAI,KAAK,OAAO,MAAM;AAGpB,YAAI;AAEF,8BAAoB,MAAM,KAAK,OAAO,KAAK,IAAI;AAAA,QAEjD,SAAS,OAAO;AAEd,kBAAQ,MAAM,KAAK;AAAA,QAErB;AAAA,MAEF;AAEA,WAAK,OAAO,KAAK,iBAAiB,UAAU,KAAK,aAAa;AAE9D,WAAK,OAAO,KAAK,iBAAiB,eAAe,KAAK,iBAAiB;AAEvE,WAAK,OAAO,MAAM,iBAAiB,yBAAyB,KAAK,sBAAsB;AAEvF,WAAK,OAAO,MAAM,iBAAiB,4BAA4B,KAAK,yBAAyB;AAAA,IAE/F;AAAA,EAEF;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAErB,QAAI,KAAK,QAAQ;AAEf,WAAK,OAAO,KAAK,oBAAoB,UAAU,KAAK,aAAa;AAEjE,WAAK,OAAO,KAAK,oBAAoB,eAAe,KAAK,iBAAiB;AAE1E,WAAK,OAAO,MAAM,oBAAoB,yBAAyB,KAAK,sBAAsB;AAE1F,WAAK,OAAO,MAAM,oBAAoB,4BAA4B,KAAK,yBAAyB;AAAA,IAElG;AAEA,UAAM,qBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA+B;AAE1C,UAAM,aAAa,OAAO;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAA+B;AAErC,UAAM,QAAQ,OAAO;AAAA,EAEvB;AAAA;AAAA;AAAA;AAAA,EAKU,WAAW,oBAA0C;AAAA,EAE/D;AAEF;AArJa,uBA0BJ,SAAS;AAtBhB,gBAAA;AAAA,EADC,SAAS,EAAE,WAAW,MAAA,CAAO;AAAA,GAHnB,uBAIX,WAAA,UAAA,CAAA;AAYA,gBAAA;AAAA,EANC,SAAS;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,IACX,SAAS;AAAA,IACT,WAAW;AAAA,EAAA,CACZ;AAAA,GAfU,uBAgBX,WAAA,WAAA,CAAA;AAhBW,yBAAN,gBAAA;AAAA,EADN,kBAAkB,GAAG;AAAA,GACT,sBAAA;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/common/lit-switch-floorplan-view/index.ts"],"sourcesContent":["/*\n * @Author: ncz\n * @Date: 2026-05-30\n * @Description: lit-switch-floorplan-view 组件注册与属性声明\n */\n\nimport { LitElement, PropertyValues } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\nimport { TAG } from './constants.js'\nimport { handleFloorplanClick, handelViewModeChange, handelCoreLoaded, syncEnabledFromMode, handelWaypointStart, handelWaypointComplete } from './interaction.js'\nimport { booleanAttr } from './properties.js'\nimport { styles } from './styles.js'\nimport { renderFloorplanView } from './template.js'\n\n/** 切换到 floorplan 视图;qspace 须由宿主通过 :qspace 传入 */\n@safeCustomElement(TAG)\nexport class LitSwitchFloorplanView extends LitElement {\n\n /** qspace SDK 实例;仅 JS 属性绑定,不映射 HTML attribute(对象无法序列化) */\n @property({ attribute: false })\n qspace: any = null\n\n /**\n * 是否可点击;由 core.loaded / mode.change 自动同步,宿主亦可覆盖\n * HTML: enabled / Vue: :enabled\n */\n @property({\n type: Boolean,\n attribute: 'enabled',\n reflect: true,\n converter: booleanAttr,\n })\n enabled = false\n\n setEnabled(value: boolean) {\n\n this.enabled = value\n\n this.toggleAttribute('enabled', value)\n\n }\n\n static styles = styles\n\n private _onClick = (e: Event) => {\n\n handleFloorplanClick(this, e)\n\n }\n\n private _onCoreLoaded = () => {\n\n handelCoreLoaded(this);\n\n }\n\n private _onViewModeChange = (mode: string) => {\n\n handelViewModeChange(this, mode);\n\n }\n\n private _onSwitchWaypointStart = () => {\n\n handelWaypointStart(this);\n\n }\n\n private _onSwitchWaypointComplete = () => {\n\n handelWaypointComplete(this);\n\n }\n\n /**\n * 渲染模板\n */\n render() {\n\n return renderFloorplanView(this._onClick)\n\n }\n\n /**\n * 组件连接生命周期\n */\n connectedCallback() {\n\n super.connectedCallback()\n\n if (this.qspace) {\n\n if (this.qspace.view) {\n\n // 待优化, 不错判断会报错\n if (null !== this.qspace.commonEvents.coreEvents.getCurrentMode()) {\n\n syncEnabledFromMode(this, this.qspace.view.mode);\n\n }\n\n }\n\n this.qspace.core.addEventListener('loaded', this._onCoreLoaded);\n\n this.qspace.view.addEventListener('mode.change', this._onViewModeChange);\n\n this.qspace.model.addEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\n\n this.qspace.model.addEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\n\n }\n\n }\n\n /**\n * 组件断开生命周期\n */\n disconnectedCallback() {\n\n if (this.qspace) {\n\n this.qspace.core.removeEventListener('loaded', this._onCoreLoaded);\n\n this.qspace.view.removeEventListener('mode.change', this._onViewModeChange);\n\n this.qspace.model.removeEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\n\n this.qspace.model.removeEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\n\n }\n\n super.disconnectedCallback()\n\n }\n\n /**\n * 第一次更新\n */\n firstUpdated(changed: Map<string, unknown>) {\n\n super.firstUpdated(changed)\n\n }\n\n /**\n * 组件更新\n */\n updated(changed: Map<string, unknown>) {\n\n super.updated(changed)\n\n }\n\n /**\n * 将要更新\n */\n protected willUpdate(_changedProperties: PropertyValues): void {\n\n }\n\n}\n\ndeclare global {\n\n interface HTMLElementTagNameMap {\n\n [TAG]: LitSwitchFloorplanView\n\n }\n\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAiBO,IAAM,yBAAN,cAAqC,WAAW;AAAA,EAAhD,cAAA;AAAA,UAAA,GAAA,SAAA;AAIL,SAAA,SAAc;AAYd,SAAA,UAAU;AAYV,SAAQ,WAAW,CAAC,MAAa;AAE/B,2BAAqB,MAAM,CAAC;AAAA,IAE9B;AAEA,SAAQ,gBAAgB,MAAM;AAE5B,uBAAiB,IAAI;AAAA,IAEvB;AAEA,SAAQ,oBAAoB,CAAC,SAAiB;AAE5C,2BAAqB,MAAM,IAAI;AAAA,IAEjC;AAEA,SAAQ,yBAAyB,MAAM;AAErC,0BAAoB,IAAI;AAAA,IAE1B;AAEA,SAAQ,4BAA4B,MAAM;AAExC,6BAAuB,IAAI;AAAA,IAE7B;AAAA,EAAA;AAAA,EAtCA,WAAW,OAAgB;AAEzB,SAAK,UAAU;AAEf,SAAK,gBAAgB,WAAW,KAAK;AAAA,EAEvC;AAAA;AAAA;AAAA;AAAA,EAqCA,SAAS;AAEP,WAAO,oBAAoB,KAAK,QAAQ;AAAA,EAE1C;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAElB,UAAM,kBAAA;AAEN,QAAI,KAAK,QAAQ;AAEf,UAAI,KAAK,OAAO,MAAM;AAGpB,YAAI,SAAS,KAAK,OAAO,aAAa,WAAW,kBAAkB;AAEjE,8BAAoB,MAAM,KAAK,OAAO,KAAK,IAAI;AAAA,QAEjD;AAAA,MAEF;AAEA,WAAK,OAAO,KAAK,iBAAiB,UAAU,KAAK,aAAa;AAE9D,WAAK,OAAO,KAAK,iBAAiB,eAAe,KAAK,iBAAiB;AAEvE,WAAK,OAAO,MAAM,iBAAiB,yBAAyB,KAAK,sBAAsB;AAEvF,WAAK,OAAO,MAAM,iBAAiB,4BAA4B,KAAK,yBAAyB;AAAA,IAE/F;AAAA,EAEF;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAErB,QAAI,KAAK,QAAQ;AAEf,WAAK,OAAO,KAAK,oBAAoB,UAAU,KAAK,aAAa;AAEjE,WAAK,OAAO,KAAK,oBAAoB,eAAe,KAAK,iBAAiB;AAE1E,WAAK,OAAO,MAAM,oBAAoB,yBAAyB,KAAK,sBAAsB;AAE1F,WAAK,OAAO,MAAM,oBAAoB,4BAA4B,KAAK,yBAAyB;AAAA,IAElG;AAEA,UAAM,qBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA+B;AAE1C,UAAM,aAAa,OAAO;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAA+B;AAErC,UAAM,QAAQ,OAAO;AAAA,EAEvB;AAAA;AAAA;AAAA;AAAA,EAKU,WAAW,oBAA0C;AAAA,EAE/D;AAEF;AAjJa,uBA0BJ,SAAS;AAtBhB,gBAAA;AAAA,EADC,SAAS,EAAE,WAAW,MAAA,CAAO;AAAA,GAHnB,uBAIX,WAAA,UAAA,CAAA;AAYA,gBAAA;AAAA,EANC,SAAS;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,IACX,SAAS;AAAA,IACT,WAAW;AAAA,EAAA,CACZ;AAAA,GAfU,uBAgBX,WAAA,WAAA,CAAA;AAhBW,yBAAN,gBAAA;AAAA,EADN,kBAAkB,GAAG;AAAA,GACT,sBAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-panorama-view/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAGhD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEpC,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAIxE,+CAA+C;AAC/C,qBACa,qBAAsB,SAAQ,UAAU;IAEnD,0DAA0D;IAK1D,MAAM,EAAE,GAAG,CAAO;IAElB;;;OAGG;IAOH,OAAO,UAAQ;IAEf;;;OAGG;IAKH,MAAM,EAAE,oBAAoB,CAAK;IAEjC,UAAU,CAAC,KAAK,EAAE,OAAO;IAQzB,MAAM,CAAC,MAAM,0BAAS;IAEtB,OAAO,CAAC,QAAQ,CAIf;IAED,OAAO,CAAC,aAAa,CAIpB;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED,OAAO,CAAC,sBAAsB,CAI7B;IAED,OAAO,CAAC,yBAAyB,CAIhC;IAED;;OAEG;IACH,MAAM;IAMN;;OAEG;IACH,iBAAiB;IAiCjB;;OAEG;IACH,oBAAoB;IAkBpB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAM1C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;CAI/D;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,qBAAqB,CAAA;KAE7B;CAEF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-panorama-view/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAGhD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEpC,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAKxE,+CAA+C;AAC/C,qBACa,qBAAsB,SAAQ,UAAU;IAEnD,0DAA0D;IAK1D,MAAM,EAAE,GAAG,CAAO;IAElB;;;OAGG;IAOH,OAAO,UAAQ;IAEf;;;OAGG;IAKH,MAAM,EAAE,oBAAoB,CAAK;IAEjC,UAAU,CAAC,KAAK,EAAE,OAAO;IAQzB,MAAM,CAAC,MAAM,0BAAS;IAEtB,OAAO,CAAC,QAAQ,CAIf;IAED,OAAO,CAAC,aAAa,CAIpB;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED,OAAO,CAAC,sBAAsB,CAI7B;IAED,OAAO,CAAC,yBAAyB,CAIhC;IAED;;OAEG;IACH,MAAM;IAMN;;OAEG;IACH,iBAAiB;IA+BjB;;OAEG;IACH,oBAAoB;IAoBpB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAM1C;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAMrC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;CAI/D;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,qBAAqB,CAAA;KAE7B;CAEF"}
@@ -6,6 +6,7 @@ import { handlePanoramaClick, handelCoreLoaded, handelViewModeChange, handelWayp
6
6
  import { booleanAttr } from "./properties.js";
7
7
  import { styles } from "./styles.js";
8
8
  import { renderPanoramaView } from "./template.js";
9
+ import { ViewMode } from "../../../enum/view.mode.js";
9
10
  var __defProp = Object.defineProperty;
10
11
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
12
  var __decorateClass = (decorators, target, key, kind) => {
@@ -52,13 +53,12 @@ let LitSwitchPanoramaView = class extends LitElement {
52
53
  * 组件连接生命周期
53
54
  */
54
55
  connectedCallback() {
56
+ console.log(`${ViewMode.Panorama} connectedCallback`);
55
57
  super.connectedCallback();
56
58
  if (this.qspace) {
57
59
  if (this.qspace.view) {
58
- try {
60
+ if (null !== this.qspace.commonEvents.coreEvents.getCurrentMode()) {
59
61
  syncEnabledFromMode(this, this.qspace.view.mode);
60
- } catch (error) {
61
- console.error(error);
62
62
  }
63
63
  }
64
64
  this.qspace.core.addEventListener("loaded", this._onCoreLoaded);
@@ -71,6 +71,7 @@ let LitSwitchPanoramaView = class extends LitElement {
71
71
  * 组件断开生命周期
72
72
  */
73
73
  disconnectedCallback() {
74
+ console.log(`${ViewMode.Panorama} disconnectedCallback`);
74
75
  if (this.qspace) {
75
76
  this.qspace.core.removeEventListener("loaded", this._onCoreLoaded);
76
77
  this.qspace.view.removeEventListener("mode.change", this._onViewModeChange);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/common/lit-switch-panorama-view/index.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-panorama-view 组件注册与属性声明\r\n */\r\n\r\nimport { LitElement, PropertyValues } from 'lit'\r\nimport { property } from 'lit/decorators.js'\r\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\r\nimport { TAG } from './constants.js'\r\nimport { handlePanoramaClick, handelViewModeChange, handelCoreLoaded, syncEnabledFromMode, handelWaypointStart, handelWaypointComplete } from './interaction.js'\r\nimport { booleanAttr, type PanoramaSwitchOption } from './properties.js'\r\nimport { styles } from './styles.js'\r\nimport { renderPanoramaView } from './template.js'\r\n\r\n/** 切换到 panorama 视图;qspace 须由宿主通过 :qspace 传入 */\r\n@safeCustomElement(TAG)\r\nexport class LitSwitchPanoramaView extends LitElement {\r\n\r\n /** qspace SDK 实例;仅 JS 属性绑定,不映射 HTML attribute(对象无法序列化) */\r\n @property({\r\n type: Object,\r\n attribute: false\r\n })\r\n qspace: any = null\r\n\r\n /**\r\n * 是否可点击;由 core.loaded / mode.change 自动同步,宿主亦可覆盖\r\n * HTML: enabled / Vue: :enabled\r\n */\r\n @property({\r\n type: Boolean, // 属性类型\r\n attribute: 'enabled', // HTML attribute\r\n reflect: true, // 反射属性到 HTML attribute\r\n converter: booleanAttr, // 布尔属性转换器\r\n })\r\n enabled = false\r\n\r\n /**\r\n * 切换全景视图参数;仅 JS 属性绑定\r\n * Vue: :option=\"{ locationId, quaternion }\"\r\n */\r\n @property({\r\n type: Object,\r\n attribute: false\r\n })\r\n option: PanoramaSwitchOption = {}\r\n\r\n setEnabled(value: boolean) {\r\n\r\n this.enabled = value\r\n\r\n this.toggleAttribute('enabled', value)\r\n\r\n }\r\n\r\n static styles = styles\r\n\r\n private _onClick = (e: Event) => {\r\n\r\n handlePanoramaClick(this, e)\r\n\r\n }\r\n\r\n private _onCoreLoaded = () => {\r\n\r\n handelCoreLoaded(this);\r\n\r\n }\r\n\r\n private _onViewModeChange = (mode: string) => {\r\n\r\n handelViewModeChange(this, mode);\r\n\r\n }\r\n\r\n private _onSwitchWaypointStart = () => {\r\n\r\n handelWaypointStart(this);\r\n\r\n }\r\n\r\n private _onSwitchWaypointComplete = () => {\r\n\r\n handelWaypointComplete(this);\r\n\r\n }\r\n\r\n /**\r\n * 渲染模板\r\n */\r\n render() {\r\n\r\n return renderPanoramaView(this._onClick)\r\n\r\n }\r\n\r\n /**\r\n * 组件连接生命周期\r\n */\r\n connectedCallback() {\r\n\r\n super.connectedCallback()\r\n\r\n if (this.qspace) {\r\n\r\n if (this.qspace.view) {\r\n\r\n // 待优化\r\n try {\r\n\r\n syncEnabledFromMode(this, this.qspace.view.mode);\r\n\r\n } catch (error) {\r\n\r\n console.error(error);\r\n\r\n }\r\n\r\n }\r\n\r\n this.qspace.core.addEventListener('loaded', this._onCoreLoaded);\r\n\r\n this.qspace.view.addEventListener('mode.change', this._onViewModeChange);\r\n\r\n this.qspace.model.addEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\r\n\r\n this.qspace.model.addEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * 组件断开生命周期\r\n */\r\n disconnectedCallback() {\r\n\r\n if (this.qspace) {\r\n\r\n this.qspace.core.removeEventListener('loaded', this._onCoreLoaded);\r\n\r\n this.qspace.view.removeEventListener('mode.change', this._onViewModeChange);\r\n\r\n this.qspace.model.removeEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\r\n\r\n this.qspace.model.removeEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\r\n\r\n }\r\n\r\n super.disconnectedCallback()\r\n\r\n }\r\n\r\n /**\r\n * 第一次更新\r\n */\r\n firstUpdated(changed: Map<string, unknown>) {\r\n\r\n super.firstUpdated(changed)\r\n\r\n }\r\n\r\n /**\r\n * 组件更新\r\n */\r\n updated(changed: Map<string, unknown>) {\r\n\r\n super.updated(changed)\r\n\r\n }\r\n\r\n /**\r\n * 将要更新\r\n */\r\n protected willUpdate(_changedProperties: PropertyValues): void {\r\n\r\n }\r\n\r\n}\r\n\r\ndeclare global {\r\n\r\n interface HTMLElementTagNameMap {\r\n\r\n [TAG]: LitSwitchPanoramaView\r\n\r\n }\r\n\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAiBO,IAAM,wBAAN,cAAoC,WAAW;AAAA,EAA/C,cAAA;AAAA,UAAA,GAAA,SAAA;AAOL,SAAA,SAAc;AAYd,SAAA,UAAU;AAUV,SAAA,SAA+B,CAAA;AAY/B,SAAQ,WAAW,CAAC,MAAa;AAE/B,0BAAoB,MAAM,CAAC;AAAA,IAE7B;AAEA,SAAQ,gBAAgB,MAAM;AAE5B,uBAAiB,IAAI;AAAA,IAEvB;AAEA,SAAQ,oBAAoB,CAAC,SAAiB;AAE5C,2BAAqB,MAAM,IAAI;AAAA,IAEjC;AAEA,SAAQ,yBAAyB,MAAM;AAErC,0BAAoB,IAAI;AAAA,IAE1B;AAEA,SAAQ,4BAA4B,MAAM;AAExC,6BAAuB,IAAI;AAAA,IAE7B;AAAA,EAAA;AAAA,EAtCA,WAAW,OAAgB;AAEzB,SAAK,UAAU;AAEf,SAAK,gBAAgB,WAAW,KAAK;AAAA,EAEvC;AAAA;AAAA;AAAA;AAAA,EAqCA,SAAS;AAEP,WAAO,mBAAmB,KAAK,QAAQ;AAAA,EAEzC;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAElB,UAAM,kBAAA;AAEN,QAAI,KAAK,QAAQ;AAEf,UAAI,KAAK,OAAO,MAAM;AAGpB,YAAI;AAEF,8BAAoB,MAAM,KAAK,OAAO,KAAK,IAAI;AAAA,QAEjD,SAAS,OAAO;AAEd,kBAAQ,MAAM,KAAK;AAAA,QAErB;AAAA,MAEF;AAEA,WAAK,OAAO,KAAK,iBAAiB,UAAU,KAAK,aAAa;AAE9D,WAAK,OAAO,KAAK,iBAAiB,eAAe,KAAK,iBAAiB;AAEvE,WAAK,OAAO,MAAM,iBAAiB,yBAAyB,KAAK,sBAAsB;AAEvF,WAAK,OAAO,MAAM,iBAAiB,4BAA4B,KAAK,yBAAyB;AAAA,IAE/F;AAAA,EAEF;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAErB,QAAI,KAAK,QAAQ;AAEf,WAAK,OAAO,KAAK,oBAAoB,UAAU,KAAK,aAAa;AAEjE,WAAK,OAAO,KAAK,oBAAoB,eAAe,KAAK,iBAAiB;AAE1E,WAAK,OAAO,MAAM,oBAAoB,yBAAyB,KAAK,sBAAsB;AAE1F,WAAK,OAAO,MAAM,oBAAoB,4BAA4B,KAAK,yBAAyB;AAAA,IAElG;AAEA,UAAM,qBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA+B;AAE1C,UAAM,aAAa,OAAO;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAA+B;AAErC,UAAM,QAAQ,OAAO;AAAA,EAEvB;AAAA;AAAA;AAAA;AAAA,EAKU,WAAW,oBAA0C;AAAA,EAE/D;AAEF;AAlKa,sBAuCJ,SAAS;AAhChB,gBAAA;AAAA,EAJC,SAAS;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,EAAA,CACZ;AAAA,GANU,sBAOX,WAAA,UAAA,CAAA;AAYA,gBAAA;AAAA,EANC,SAAS;AAAA,IACR,MAAM;AAAA;AAAA,IACN,WAAW;AAAA;AAAA,IACX,SAAS;AAAA;AAAA,IACT,WAAW;AAAA;AAAA,EAAA,CACZ;AAAA,GAlBU,sBAmBX,WAAA,WAAA,CAAA;AAUA,gBAAA;AAAA,EAJC,SAAS;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,EAAA,CACZ;AAAA,GA5BU,sBA6BX,WAAA,UAAA,CAAA;AA7BW,wBAAN,gBAAA;AAAA,EADN,kBAAkB,GAAG;AAAA,GACT,qBAAA;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/common/lit-switch-panorama-view/index.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-panorama-view 组件注册与属性声明\r\n */\r\n\r\nimport { LitElement, PropertyValues } from 'lit'\r\nimport { property } from 'lit/decorators.js'\r\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\r\nimport { TAG } from './constants.js'\r\nimport { handlePanoramaClick, handelViewModeChange, handelCoreLoaded, syncEnabledFromMode, handelWaypointStart, handelWaypointComplete } from './interaction.js'\r\nimport { booleanAttr, type PanoramaSwitchOption } from './properties.js'\r\nimport { styles } from './styles.js'\r\nimport { renderPanoramaView } from './template.js'\r\nimport { ViewMode } from '@/enum/view.mode.js'\r\n\r\n/** 切换到 panorama 视图;qspace 须由宿主通过 :qspace 传入 */\r\n@safeCustomElement(TAG)\r\nexport class LitSwitchPanoramaView extends LitElement {\r\n\r\n /** qspace SDK 实例;仅 JS 属性绑定,不映射 HTML attribute(对象无法序列化) */\r\n @property({\r\n type: Object,\r\n attribute: false\r\n })\r\n qspace: any = null\r\n\r\n /**\r\n * 是否可点击;由 core.loaded / mode.change 自动同步,宿主亦可覆盖\r\n * HTML: enabled / Vue: :enabled\r\n */\r\n @property({\r\n type: Boolean, // 属性类型\r\n attribute: 'enabled', // HTML attribute\r\n reflect: true, // 反射属性到 HTML attribute\r\n converter: booleanAttr, // 布尔属性转换器\r\n })\r\n enabled = false\r\n\r\n /**\r\n * 切换全景视图参数;仅 JS 属性绑定\r\n * Vue: :option=\"{ locationId, quaternion }\"\r\n */\r\n @property({\r\n type: Object,\r\n attribute: false\r\n })\r\n option: PanoramaSwitchOption = {}\r\n\r\n setEnabled(value: boolean) {\r\n\r\n this.enabled = value\r\n\r\n this.toggleAttribute('enabled', value)\r\n\r\n }\r\n\r\n static styles = styles\r\n\r\n private _onClick = (e: Event) => {\r\n\r\n handlePanoramaClick(this, e)\r\n\r\n }\r\n\r\n private _onCoreLoaded = () => {\r\n\r\n handelCoreLoaded(this);\r\n\r\n }\r\n\r\n private _onViewModeChange = (mode: string) => {\r\n\r\n handelViewModeChange(this, mode);\r\n\r\n }\r\n\r\n private _onSwitchWaypointStart = () => {\r\n\r\n handelWaypointStart(this);\r\n\r\n }\r\n\r\n private _onSwitchWaypointComplete = () => {\r\n\r\n handelWaypointComplete(this);\r\n\r\n }\r\n\r\n /**\r\n * 渲染模板\r\n */\r\n render() {\r\n\r\n return renderPanoramaView(this._onClick)\r\n\r\n }\r\n\r\n /**\r\n * 组件连接生命周期\r\n */\r\n connectedCallback() {\r\n\r\n console.log(`${ViewMode.Panorama} connectedCallback`)\r\n\r\n super.connectedCallback()\r\n\r\n if (this.qspace) {\r\n\r\n if (this.qspace.view) {\r\n\r\n // 待优化, 不错判断会报错\r\n if (null !== this.qspace.commonEvents.coreEvents.getCurrentMode()) {\r\n\r\n syncEnabledFromMode(this, this.qspace.view.mode);\r\n\r\n }\r\n\r\n }\r\n\r\n this.qspace.core.addEventListener('loaded', this._onCoreLoaded);\r\n\r\n this.qspace.view.addEventListener('mode.change', this._onViewModeChange);\r\n\r\n this.qspace.model.addEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\r\n\r\n this.qspace.model.addEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * 组件断开生命周期\r\n */\r\n disconnectedCallback() {\r\n\r\n console.log(`${ViewMode.Panorama} disconnectedCallback`)\r\n\r\n if (this.qspace) {\r\n\r\n this.qspace.core.removeEventListener('loaded', this._onCoreLoaded);\r\n\r\n this.qspace.view.removeEventListener('mode.change', this._onViewModeChange);\r\n\r\n this.qspace.model.removeEventListener('switch.waypoint.start', this._onSwitchWaypointStart);\r\n\r\n this.qspace.model.removeEventListener('switch.waypoint.complete', this._onSwitchWaypointComplete);\r\n\r\n }\r\n\r\n super.disconnectedCallback()\r\n\r\n }\r\n\r\n /**\r\n * 第一次更新\r\n */\r\n firstUpdated(changed: Map<string, unknown>) {\r\n\r\n super.firstUpdated(changed)\r\n\r\n }\r\n\r\n /**\r\n * 组件更新\r\n */\r\n updated(changed: Map<string, unknown>) {\r\n\r\n super.updated(changed)\r\n\r\n }\r\n\r\n /**\r\n * 将要更新\r\n */\r\n protected willUpdate(_changedProperties: PropertyValues): void {\r\n\r\n }\r\n\r\n}\r\n\r\ndeclare global {\r\n\r\n interface HTMLElementTagNameMap {\r\n\r\n [TAG]: LitSwitchPanoramaView\r\n\r\n }\r\n\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAkBO,IAAM,wBAAN,cAAoC,WAAW;AAAA,EAA/C,cAAA;AAAA,UAAA,GAAA,SAAA;AAOL,SAAA,SAAc;AAYd,SAAA,UAAU;AAUV,SAAA,SAA+B,CAAA;AAY/B,SAAQ,WAAW,CAAC,MAAa;AAE/B,0BAAoB,MAAM,CAAC;AAAA,IAE7B;AAEA,SAAQ,gBAAgB,MAAM;AAE5B,uBAAiB,IAAI;AAAA,IAEvB;AAEA,SAAQ,oBAAoB,CAAC,SAAiB;AAE5C,2BAAqB,MAAM,IAAI;AAAA,IAEjC;AAEA,SAAQ,yBAAyB,MAAM;AAErC,0BAAoB,IAAI;AAAA,IAE1B;AAEA,SAAQ,4BAA4B,MAAM;AAExC,6BAAuB,IAAI;AAAA,IAE7B;AAAA,EAAA;AAAA,EAtCA,WAAW,OAAgB;AAEzB,SAAK,UAAU;AAEf,SAAK,gBAAgB,WAAW,KAAK;AAAA,EAEvC;AAAA;AAAA;AAAA;AAAA,EAqCA,SAAS;AAEP,WAAO,mBAAmB,KAAK,QAAQ;AAAA,EAEzC;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAElB,YAAQ,IAAI,GAAG,SAAS,QAAQ,oBAAoB;AAEpD,UAAM,kBAAA;AAEN,QAAI,KAAK,QAAQ;AAEf,UAAI,KAAK,OAAO,MAAM;AAGpB,YAAI,SAAS,KAAK,OAAO,aAAa,WAAW,kBAAkB;AAEjE,8BAAoB,MAAM,KAAK,OAAO,KAAK,IAAI;AAAA,QAEjD;AAAA,MAEF;AAEA,WAAK,OAAO,KAAK,iBAAiB,UAAU,KAAK,aAAa;AAE9D,WAAK,OAAO,KAAK,iBAAiB,eAAe,KAAK,iBAAiB;AAEvE,WAAK,OAAO,MAAM,iBAAiB,yBAAyB,KAAK,sBAAsB;AAEvF,WAAK,OAAO,MAAM,iBAAiB,4BAA4B,KAAK,yBAAyB;AAAA,IAE/F;AAAA,EAEF;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAErB,YAAQ,IAAI,GAAG,SAAS,QAAQ,uBAAuB;AAEvD,QAAI,KAAK,QAAQ;AAEf,WAAK,OAAO,KAAK,oBAAoB,UAAU,KAAK,aAAa;AAEjE,WAAK,OAAO,KAAK,oBAAoB,eAAe,KAAK,iBAAiB;AAE1E,WAAK,OAAO,MAAM,oBAAoB,yBAAyB,KAAK,sBAAsB;AAE1F,WAAK,OAAO,MAAM,oBAAoB,4BAA4B,KAAK,yBAAyB;AAAA,IAElG;AAEA,UAAM,qBAAA;AAAA,EAER;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA+B;AAE1C,UAAM,aAAa,OAAO;AAAA,EAE5B;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAA+B;AAErC,UAAM,QAAQ,OAAO;AAAA,EAEvB;AAAA;AAAA;AAAA;AAAA,EAKU,WAAW,oBAA0C;AAAA,EAE/D;AAEF;AAlKa,sBAuCJ,SAAS;AAhChB,gBAAA;AAAA,EAJC,SAAS;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,EAAA,CACZ;AAAA,GANU,sBAOX,WAAA,UAAA,CAAA;AAYA,gBAAA;AAAA,EANC,SAAS;AAAA,IACR,MAAM;AAAA;AAAA,IACN,WAAW;AAAA;AAAA,IACX,SAAS;AAAA;AAAA,IACT,WAAW;AAAA;AAAA,EAAA,CACZ;AAAA,GAlBU,sBAmBX,WAAA,WAAA,CAAA;AAUA,gBAAA;AAAA,EAJC,SAAS;AAAA,IACR,MAAM;AAAA,IACN,WAAW;AAAA,EAAA,CACZ;AAAA,GA5BU,sBA6BX,WAAA,UAAA,CAAA;AA7BW,wBAAN,gBAAA;AAAA,EADN,kBAAkB,GAAG;AAAA,GACT,qBAAA;"}
@@ -5,6 +5,6 @@ import './base/index.js';
5
5
  import './common/index.js';
6
6
  export * from './base/index.js';
7
7
  export * from './common/index.js';
8
- export declare const LIT_ALL_TAGS: readonly ["lit-button", "lit-switch-panorama-view", "lit-switch-dollhouse-view", "lit-switch-floorplan-view"];
8
+ export declare const LIT_ALL_TAGS: readonly ["lit-button", "lit-switch-panorama-view", "lit-switch-dollhouse-view", "lit-switch-floorplan-view", "lit-switch-floor"];
9
9
  export declare function isLitCommonElement(tag: string): boolean;
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,iBAAiB,CAAA;AACxB,OAAO,mBAAmB,CAAA;AAE1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AAEjC,eAAO,MAAM,YAAY,+GAKf,CAAA;AAEV,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,iBAAiB,CAAA;AACxB,OAAO,mBAAmB,CAAA;AAE1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AAEjC,eAAO,MAAM,YAAY,mIAMf,CAAA;AAEV,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIvD"}
@@ -2,13 +2,15 @@ import { LIT_BASE_TAGS } from "./base/index.js";
2
2
  import { LIT_COMMON_TAGS } from "./common/index.js";
3
3
  import { LitButton } from "./base/lit-button.js";
4
4
  import { LitSwitchDollhouseView } from "./common/lit-switch-dollhouse-view/index.js";
5
+ import { LitSwitchFloor } from "./common/lit-switch-floor/index.js";
5
6
  import { LitSwitchFloorplanView } from "./common/lit-switch-floorplan-view/index.js";
6
7
  import { LitSwitchPanoramaView } from "./common/lit-switch-panorama-view/index.js";
7
8
  const LIT_ALL_TAGS = [
8
9
  "lit-button",
9
10
  "lit-switch-panorama-view",
10
11
  "lit-switch-dollhouse-view",
11
- "lit-switch-floorplan-view"
12
+ "lit-switch-floorplan-view",
13
+ "lit-switch-floor"
12
14
  ];
13
15
  function isLitCommonElement(tag) {
14
16
  return /^lit-[\w-]+$/.test(tag);
@@ -19,6 +21,7 @@ export {
19
21
  LIT_COMMON_TAGS,
20
22
  LitButton,
21
23
  LitSwitchDollhouseView,
24
+ LitSwitchFloor,
22
25
  LitSwitchFloorplanView,
23
26
  LitSwitchPanoramaView,
24
27
  isLitCommonElement
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/components/index.ts"],"sourcesContent":["/**\r\n * @qverse-ui/lit-components — 组件聚合入口\r\n */\r\nimport './base/index.js'\r\nimport './common/index.js'\r\n\r\nexport * from './base/index.js'\r\nexport * from './common/index.js'\r\n\r\nexport const LIT_ALL_TAGS = [\r\n 'lit-button',\r\n 'lit-switch-panorama-view',\r\n 'lit-switch-dollhouse-view',\r\n 'lit-switch-floorplan-view',\r\n] as const\r\n\r\nexport function isLitCommonElement(tag: string): boolean {\r\n\r\n return /^lit-[\\w-]+$/.test(tag)\r\n\r\n}\r\n"],"names":[],"mappings":";;;;;;AASO,MAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,mBAAmB,KAAsB;AAEvD,SAAO,eAAe,KAAK,GAAG;AAEhC;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/components/index.ts"],"sourcesContent":["/**\r\n * @qverse-ui/lit-components — 组件聚合入口\r\n */\r\nimport './base/index.js'\r\nimport './common/index.js'\r\n\r\nexport * from './base/index.js'\r\nexport * from './common/index.js'\r\n\r\nexport const LIT_ALL_TAGS = [\r\n 'lit-button',\r\n 'lit-switch-panorama-view',\r\n 'lit-switch-dollhouse-view',\r\n 'lit-switch-floorplan-view',\r\n 'lit-switch-floor',\r\n] as const\r\n\r\nexport function isLitCommonElement(tag: string): boolean {\r\n\r\n return /^lit-[\\w-]+$/.test(tag)\r\n\r\n}\r\n"],"names":[],"mappings":";;;;;;;AASO,MAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,mBAAmB,KAAsB;AAEvD,SAAO,eAAe,KAAK,GAAG;AAEhC;"}
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import { LIT_BASE_TAGS } from "./components/base/index.js";
3
3
  import { LIT_COMMON_TAGS } from "./components/common/index.js";
4
4
  import { LitButton } from "./components/base/lit-button.js";
5
5
  import { LitSwitchDollhouseView } from "./components/common/lit-switch-dollhouse-view/index.js";
6
+ import { LitSwitchFloor } from "./components/common/lit-switch-floor/index.js";
6
7
  import { LitSwitchFloorplanView } from "./components/common/lit-switch-floorplan-view/index.js";
7
8
  import { LitSwitchPanoramaView } from "./components/common/lit-switch-panorama-view/index.js";
8
9
  export {
@@ -11,6 +12,7 @@ export {
11
12
  LIT_COMMON_TAGS,
12
13
  LitButton,
13
14
  LitSwitchDollhouseView,
15
+ LitSwitchFloor,
14
16
  LitSwitchFloorplanView,
15
17
  LitSwitchPanoramaView,
16
18
  isLitCommonElement
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qverse-ui/lit-components",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"