@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.
- package/dist/components/common/index.d.ts +3 -1
- package/dist/components/common/index.d.ts.map +1 -1
- package/dist/components/common/index.js +4 -1
- package/dist/components/common/index.js.map +1 -1
- package/dist/components/common/lit-switch-dollhouse-view/index.d.ts.map +1 -1
- package/dist/components/common/lit-switch-dollhouse-view/index.js +1 -3
- package/dist/components/common/lit-switch-dollhouse-view/index.js.map +1 -1
- package/dist/components/common/lit-switch-floor/constants.d.ts +12 -0
- package/dist/components/common/lit-switch-floor/constants.d.ts.map +1 -0
- package/dist/components/common/lit-switch-floor/constants.js +17 -0
- package/dist/components/common/lit-switch-floor/constants.js.map +1 -0
- package/dist/components/common/lit-switch-floor/events.d.ts +3 -0
- package/dist/components/common/lit-switch-floor/events.d.ts.map +1 -0
- package/dist/components/common/lit-switch-floor/events.js +25 -0
- package/dist/components/common/lit-switch-floor/events.js.map +1 -0
- package/dist/components/common/lit-switch-floor/index.d.ts +46 -0
- package/dist/components/common/lit-switch-floor/index.d.ts.map +1 -0
- package/dist/components/common/lit-switch-floor/index.js +134 -0
- package/dist/components/common/lit-switch-floor/index.js.map +1 -0
- package/dist/components/common/lit-switch-floor/interaction.d.ts +58 -0
- package/dist/components/common/lit-switch-floor/interaction.d.ts.map +1 -0
- package/dist/components/common/lit-switch-floor/interaction.js +302 -0
- package/dist/components/common/lit-switch-floor/interaction.js.map +1 -0
- package/dist/components/common/lit-switch-floor/logic.d.ts +27 -0
- package/dist/components/common/lit-switch-floor/logic.d.ts.map +1 -0
- package/dist/components/common/lit-switch-floor/logic.js +137 -0
- package/dist/components/common/lit-switch-floor/logic.js.map +1 -0
- package/dist/components/common/lit-switch-floor/properties.d.ts +25 -0
- package/dist/components/common/lit-switch-floor/properties.d.ts.map +1 -0
- package/dist/components/common/lit-switch-floor/properties.js +14 -0
- package/dist/components/common/lit-switch-floor/properties.js.map +1 -0
- package/dist/components/common/lit-switch-floor/styles.d.ts +2 -0
- package/dist/components/common/lit-switch-floor/styles.d.ts.map +1 -0
- package/dist/components/common/lit-switch-floor/styles.js +106 -0
- package/dist/components/common/lit-switch-floor/styles.js.map +1 -0
- package/dist/components/common/lit-switch-floor/template.d.ts +4 -0
- package/dist/components/common/lit-switch-floor/template.d.ts.map +1 -0
- package/dist/components/common/lit-switch-floor/template.js +66 -0
- package/dist/components/common/lit-switch-floor/template.js.map +1 -0
- package/dist/components/common/lit-switch-floorplan-view/index.d.ts.map +1 -1
- package/dist/components/common/lit-switch-floorplan-view/index.js +1 -3
- package/dist/components/common/lit-switch-floorplan-view/index.js.map +1 -1
- package/dist/components/common/lit-switch-panorama-view/index.d.ts.map +1 -1
- package/dist/components/common/lit-switch-panorama-view/index.js +4 -3
- package/dist/components/common/lit-switch-panorama-view/index.js.map +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +4 -1
- package/dist/components/index.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import './lit-switch-panorama-view/index.js';
|
|
2
2
|
import './lit-switch-dollhouse-view/index.js';
|
|
3
3
|
import './lit-switch-floorplan-view/index.js';
|
|
4
|
+
import './lit-switch-floor/index.js';
|
|
4
5
|
export { LitSwitchPanoramaView } from './lit-switch-panorama-view/index.js';
|
|
5
6
|
export { LitSwitchDollhouseView } from './lit-switch-dollhouse-view/index.js';
|
|
6
7
|
export { LitSwitchFloorplanView } from './lit-switch-floorplan-view/index.js';
|
|
7
|
-
export
|
|
8
|
+
export { LitSwitchFloor } from './lit-switch-floor/index.js';
|
|
9
|
+
export declare const LIT_COMMON_TAGS: readonly ["lit-switch-panorama-view", "lit-switch-dollhouse-view", "lit-switch-floorplan-view", "lit-switch-floor"];
|
|
8
10
|
export type LitSwitchViewMode = 'panorama' | 'dollhouse' | 'floorplan';
|
|
9
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/common/index.ts"],"names":[],"mappings":"AAMA,OAAO,qCAAqC,CAAA;AAC5C,OAAO,sCAAsC,CAAA;AAC7C,OAAO,sCAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/common/index.ts"],"names":[],"mappings":"AAMA,OAAO,qCAAqC,CAAA;AAC5C,OAAO,sCAAsC,CAAA;AAC7C,OAAO,sCAAsC,CAAA;AAC7C,OAAO,6BAA6B,CAAA;AAEpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE5D,eAAO,MAAM,eAAe,qHAKlB,CAAA;AAEV,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CAAA"}
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { LitSwitchPanoramaView } from "./lit-switch-panorama-view/index.js";
|
|
2
2
|
import { LitSwitchDollhouseView } from "./lit-switch-dollhouse-view/index.js";
|
|
3
3
|
import { LitSwitchFloorplanView } from "./lit-switch-floorplan-view/index.js";
|
|
4
|
+
import { LitSwitchFloor } from "./lit-switch-floor/index.js";
|
|
4
5
|
const LIT_COMMON_TAGS = [
|
|
5
6
|
"lit-switch-panorama-view",
|
|
6
7
|
"lit-switch-dollhouse-view",
|
|
7
|
-
"lit-switch-floorplan-view"
|
|
8
|
+
"lit-switch-floorplan-view",
|
|
9
|
+
"lit-switch-floor"
|
|
8
10
|
];
|
|
9
11
|
export {
|
|
10
12
|
LIT_COMMON_TAGS,
|
|
11
13
|
LitSwitchDollhouseView,
|
|
14
|
+
LitSwitchFloor,
|
|
12
15
|
LitSwitchFloorplanView,
|
|
13
16
|
LitSwitchPanoramaView
|
|
14
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/common/index.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: @qverse-ui/lit-components/common 聚合入口与导出\r\n */\r\n\r\nimport './lit-switch-panorama-view/index.js'\r\nimport './lit-switch-dollhouse-view/index.js'\r\nimport './lit-switch-floorplan-view/index.js'\r\n\r\nexport { LitSwitchPanoramaView } from './lit-switch-panorama-view/index.js'\r\nexport { LitSwitchDollhouseView } from './lit-switch-dollhouse-view/index.js'\r\nexport { LitSwitchFloorplanView } from './lit-switch-floorplan-view/index.js'\r\n\r\nexport const LIT_COMMON_TAGS = [\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 type LitSwitchViewMode = 'panorama' | 'dollhouse' | 'floorplan'\r\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/common/index.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: @qverse-ui/lit-components/common 聚合入口与导出\r\n */\r\n\r\nimport './lit-switch-panorama-view/index.js'\r\nimport './lit-switch-dollhouse-view/index.js'\r\nimport './lit-switch-floorplan-view/index.js'\r\nimport './lit-switch-floor/index.js'\r\n\r\nexport { LitSwitchPanoramaView } from './lit-switch-panorama-view/index.js'\r\nexport { LitSwitchDollhouseView } from './lit-switch-dollhouse-view/index.js'\r\nexport { LitSwitchFloorplanView } from './lit-switch-floorplan-view/index.js'\r\nexport { LitSwitchFloor } from './lit-switch-floor/index.js'\r\n\r\nexport const LIT_COMMON_TAGS = [\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 type LitSwitchViewMode = 'panorama' | 'dollhouse' | 'floorplan'\r\n"],"names":[],"mappings":";;;;AAgBO,MAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-dollhouse-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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-dollhouse-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 LitSwitchDollhouseView = class extends LitElement {
|
|
|
54
54
|
super.connectedCallback();
|
|
55
55
|
if (this.qspace) {
|
|
56
56
|
if (this.qspace.view) {
|
|
57
|
-
|
|
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-dollhouse-view/index.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-dollhouse-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 { booleanAttr } from './properties.js'\r\nimport { styles } from './styles.js'\r\nimport { renderDollhouseView } from './template.js'\r\nimport { handleDollhouseClick, handelViewModeChange, handelCoreLoaded, syncEnabledFromMode, handelWaypointStart, handelWaypointComplete } from './interaction.js'\r\n\r\n/** 切换到 dollhouse 视图;qspace 须由宿主通过 :qspace 传入 */\r\n@safeCustomElement(TAG)\r\nexport class LitSwitchDollhouseView extends LitElement {\r\n\r\n /** qspace SDK 实例;仅 JS 属性绑定,不映射 HTML attribute(对象无法序列化) */\r\n @property({ attribute: false })\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',\r\n reflect: true,\r\n converter: booleanAttr,\r\n })\r\n enabled = false\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 handleDollhouseClick(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 renderDollhouseView(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 //
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/common/lit-switch-dollhouse-view/index.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-dollhouse-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 { booleanAttr } from './properties.js'\r\nimport { styles } from './styles.js'\r\nimport { renderDollhouseView } from './template.js'\r\nimport { handleDollhouseClick, handelViewModeChange, handelCoreLoaded, syncEnabledFromMode, handelWaypointStart, handelWaypointComplete } from './interaction.js'\r\n\r\n/** 切换到 dollhouse 视图;qspace 须由宿主通过 :qspace 传入 */\r\n@safeCustomElement(TAG)\r\nexport class LitSwitchDollhouseView extends LitElement {\r\n\r\n /** qspace SDK 实例;仅 JS 属性绑定,不映射 HTML attribute(对象无法序列化) */\r\n @property({ attribute: false })\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',\r\n reflect: true,\r\n converter: booleanAttr,\r\n })\r\n enabled = false\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 handleDollhouseClick(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 renderDollhouseView(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 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 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]: LitSwitchDollhouseView\r\n\r\n }\r\n\r\n}\r\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,YAAG,SAAS,KAAK,OAAO,aAAa,WAAW,kBAAkB;AAEhE,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;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const TAG: "lit-switch-floor";
|
|
2
|
+
export declare const CLICK_EVENT: "lit-click";
|
|
3
|
+
export declare const COMPLETE_EVENT: "lit-switch-complete";
|
|
4
|
+
/** 单行高度(px),与 styles 中 .floors max-height / 3 一致 */
|
|
5
|
+
export declare const FLOOR_ITEM_HEIGHT = 36;
|
|
6
|
+
/** 超过该数量时显示上下滚动箭头 */
|
|
7
|
+
export declare const SCROLLABLE_FLOOR_COUNT = 3;
|
|
8
|
+
/** 非选中楼层默认透明度,对齐 SDK switchFloor */
|
|
9
|
+
export declare const INACTIVE_FLOOR_OPACITY = 0.2;
|
|
10
|
+
/** 「全部」选项默认文案 */
|
|
11
|
+
export declare const DEFAULT_ALL_LABEL = "\u5168\u90E8";
|
|
12
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-floor/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,GAAG,EAAG,kBAA2B,CAAA;AAE9C,eAAO,MAAM,WAAW,EAAG,WAAoB,CAAA;AAE/C,eAAO,MAAM,cAAc,EAAG,qBAA8B,CAAA;AAE5D,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,KAAK,CAAA;AAEnC,qBAAqB;AACrB,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAEvC,oCAAoC;AACpC,eAAO,MAAM,sBAAsB,MAAM,CAAA;AAEzC,iBAAiB;AACjB,eAAO,MAAM,iBAAiB,iBAAO,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const TAG = "lit-switch-floor";
|
|
2
|
+
const CLICK_EVENT = "lit-click";
|
|
3
|
+
const COMPLETE_EVENT = "lit-switch-complete";
|
|
4
|
+
const FLOOR_ITEM_HEIGHT = 36;
|
|
5
|
+
const SCROLLABLE_FLOOR_COUNT = 3;
|
|
6
|
+
const INACTIVE_FLOOR_OPACITY = 0.2;
|
|
7
|
+
const DEFAULT_ALL_LABEL = "全部";
|
|
8
|
+
export {
|
|
9
|
+
CLICK_EVENT,
|
|
10
|
+
COMPLETE_EVENT,
|
|
11
|
+
DEFAULT_ALL_LABEL,
|
|
12
|
+
FLOOR_ITEM_HEIGHT,
|
|
13
|
+
INACTIVE_FLOOR_OPACITY,
|
|
14
|
+
SCROLLABLE_FLOOR_COUNT,
|
|
15
|
+
TAG
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../src/components/common/lit-switch-floor/constants.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-floor 常量(标签、事件名、布局)\r\n */\r\n\r\nexport const TAG = 'lit-switch-floor' as const\r\n\r\nexport const CLICK_EVENT = 'lit-click' as const\r\n\r\nexport const COMPLETE_EVENT = 'lit-switch-complete' as const\r\n\r\n/** 单行高度(px),与 styles 中 .floors max-height / 3 一致 */\r\nexport const FLOOR_ITEM_HEIGHT = 36\r\n\r\n/** 超过该数量时显示上下滚动箭头 */\r\nexport const SCROLLABLE_FLOOR_COUNT = 3\r\n\r\n/** 非选中楼层默认透明度,对齐 SDK switchFloor */\r\nexport const INACTIVE_FLOOR_OPACITY = 0.2\r\n\r\n/** 「全部」选项默认文案 */\r\nexport const DEFAULT_ALL_LABEL = '全部'\r\n"],"names":[],"mappings":"AAMO,MAAM,MAAM;AAEZ,MAAM,cAAc;AAEpB,MAAM,iBAAiB;AAGvB,MAAM,oBAAoB;AAG1B,MAAM,yBAAyB;AAG/B,MAAM,yBAAyB;AAG/B,MAAM,oBAAoB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-floor/events.ts"],"names":[],"mappings":"AAQA,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,GAAG,KAAK,EACrB,aAAa,CAAC,EAAE,KAAK,QAYtB;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,GAAG,KAAK,QAWtB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CLICK_EVENT, COMPLETE_EVENT } from "./constants.js";
|
|
2
|
+
function dispatchClick(host, floor, originalEvent) {
|
|
3
|
+
host.dispatchEvent(new CustomEvent(CLICK_EVENT, {
|
|
4
|
+
bubbles: true,
|
|
5
|
+
composed: true,
|
|
6
|
+
detail: {
|
|
7
|
+
floor,
|
|
8
|
+
originalEvent
|
|
9
|
+
}
|
|
10
|
+
}));
|
|
11
|
+
}
|
|
12
|
+
function dispatchComplete(host, floor) {
|
|
13
|
+
host.dispatchEvent(new CustomEvent(COMPLETE_EVENT, {
|
|
14
|
+
bubbles: true,
|
|
15
|
+
composed: true,
|
|
16
|
+
detail: {
|
|
17
|
+
floor
|
|
18
|
+
}
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
dispatchClick,
|
|
23
|
+
dispatchComplete
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sources":["../../../../src/components/common/lit-switch-floor/events.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-floor 自定义事件派发\r\n */\r\n\r\nimport { CLICK_EVENT, COMPLETE_EVENT } from './constants.js'\r\n\r\nexport function dispatchClick(\r\n host: HTMLElement,\r\n floor: number | 'all',\r\n originalEvent?: Event,\r\n) {\r\n\r\n host.dispatchEvent(new CustomEvent(CLICK_EVENT, {\r\n bubbles: true,\r\n composed: true,\r\n detail: {\r\n floor,\r\n originalEvent,\r\n },\r\n }))\r\n\r\n}\r\n\r\nexport function dispatchComplete(\r\n host: HTMLElement,\r\n floor: number | 'all',\r\n) {\r\n\r\n host.dispatchEvent(new CustomEvent(COMPLETE_EVENT, {\r\n bubbles: true,\r\n composed: true,\r\n detail: {\r\n floor,\r\n },\r\n }))\r\n\r\n}\r\n"],"names":[],"mappings":";AAQO,SAAS,cACd,MACA,OACA,eACA;AAEA,OAAK,cAAc,IAAI,YAAY,aAAa;AAAA,IAC9C,SAAS;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,IAAA;AAAA,EACF,CACD,CAAC;AAEJ;AAEO,SAAS,iBACd,MACA,OACA;AAEA,OAAK,cAAc,IAAI,YAAY,gBAAgB;AAAA,IACjD,SAAS;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,MACN;AAAA,IAAA;AAAA,EACF,CACD,CAAC;AAEJ;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import { TAG } from './constants.js';
|
|
3
|
+
import { type FloorSwitchHost } from './interaction.js';
|
|
4
|
+
import type { FloorSwitchOption } from './properties.js';
|
|
5
|
+
/**
|
|
6
|
+
* 楼层切换
|
|
7
|
+
* - 楼层列表、选中层由宿主通过 :option 传入;选中高亮由组件写 option.currentFloor 维护
|
|
8
|
+
* - :qspace 可选,点击后按 view.mode 调用 SDK;亦可完全由宿主监听 lit-click 处理
|
|
9
|
+
*/
|
|
10
|
+
export declare class LitSwitchFloor extends LitElement implements FloorSwitchHost {
|
|
11
|
+
/** qspace SDK 实例;可选,用于按视图模式调用 SDK */
|
|
12
|
+
qspace: any;
|
|
13
|
+
/** 楼层配置;Vue: :option="{ floors: [{ idx, name }], currentFloor, allLabel }" */
|
|
14
|
+
option: FloorSwitchOption;
|
|
15
|
+
/**
|
|
16
|
+
* 是否可点击;视图过渡(transitioning)、全景楼层/点位切换进行中为 false
|
|
17
|
+
* HTML: enabled / Vue: :enabled
|
|
18
|
+
*/
|
|
19
|
+
enabled: boolean;
|
|
20
|
+
scrollOffset: number;
|
|
21
|
+
upActive: boolean;
|
|
22
|
+
downActive: boolean;
|
|
23
|
+
static styles: import("lit").CSSResult;
|
|
24
|
+
setEnabled(value: boolean): void;
|
|
25
|
+
onSelectFloor: (floorIndex: number | "all", e: Event) => void;
|
|
26
|
+
onScrollUp: () => void;
|
|
27
|
+
onScrollDown: () => void;
|
|
28
|
+
private _onCoreLoaded;
|
|
29
|
+
private _onViewModeChange;
|
|
30
|
+
private _onSwitchWaypointStart;
|
|
31
|
+
private _onSwitchWaypointComplete;
|
|
32
|
+
render(): import("lit-html").TemplateResult<1> | typeof import("lit-html").nothing;
|
|
33
|
+
connectedCallback(): void;
|
|
34
|
+
disconnectedCallback(): void;
|
|
35
|
+
updated(changed: Map<string, unknown>): void;
|
|
36
|
+
private _bindQspaceEvents;
|
|
37
|
+
/** core 已 loaded 时组件才挂载,补跑 core.loaded 逻辑 */
|
|
38
|
+
private _syncIfCoreAlreadyLoaded;
|
|
39
|
+
private _unbindQspaceEvents;
|
|
40
|
+
}
|
|
41
|
+
declare global {
|
|
42
|
+
interface HTMLElementTagNameMap {
|
|
43
|
+
[TAG]: LitSwitchFloor;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-floor/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAGhC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,EASL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAKxD;;;;GAIG;AACH,qBACa,cAAe,SAAQ,UAAW,YAAW,eAAe;IAEvE,qCAAqC;IAErC,MAAM,EAAE,GAAG,CAAO;IAElB,8EAA8E;IAE9E,MAAM,EAAE,iBAAiB,CAA0B;IAEnD;;;OAGG;IAOH,OAAO,UAAO;IAGd,YAAY,SAAI;IAGhB,QAAQ,UAAQ;IAGhB,UAAU,UAAQ;IAElB,MAAM,CAAC,MAAM,0BAAS;IAEtB,UAAU,CAAC,KAAK,EAAE,OAAO;IAQzB,aAAa,GAAI,YAAY,MAAM,GAAG,KAAK,EAAE,GAAG,KAAK,UAIpD;IAED,UAAU,aAIT;IAED,YAAY,aAIX;IAED,OAAO,CAAC,aAAa,CAIpB;IAED,OAAO,CAAC,iBAAiB,CAIxB;IAED,OAAO,CAAC,sBAAsB,CAI7B;IAED,OAAO,CAAC,yBAAyB,CAIhC;IAED,MAAM;IAMN,iBAAiB;IAkBjB,oBAAoB;IAcpB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAUrC,OAAO,CAAC,iBAAiB;IAczB,6CAA6C;IAC7C,OAAO,CAAC,wBAAwB;IAkBhC,OAAO,CAAC,mBAAmB;CAY5B;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,qBAAqB;QAE7B,CAAC,GAAG,CAAC,EAAE,cAAc,CAAA;KAEtB;CAEF"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
import { property, state } from "lit/decorators.js";
|
|
3
|
+
import { safeCustomElement } from "../../../utils/define-lit-element.js";
|
|
4
|
+
import { TAG } from "./constants.js";
|
|
5
|
+
import { handleSelectFloor, handleScrollUp, handleScrollDown, handleCoreLoaded, handleViewModeChange, handleWaypointStart, handleWaypointComplete, syncVisibility } from "./interaction.js";
|
|
6
|
+
import { booleanAttr } from "./properties.js";
|
|
7
|
+
import { styles } from "./styles.js";
|
|
8
|
+
import { renderFloorSwitch } from "./template.js";
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
11
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
12
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
13
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
14
|
+
if (decorator = decorators[i])
|
|
15
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
16
|
+
if (kind && result) __defProp(target, key, result);
|
|
17
|
+
return result;
|
|
18
|
+
};
|
|
19
|
+
let LitSwitchFloor = class extends LitElement {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
this.qspace = null;
|
|
23
|
+
this.option = { currentFloor: "all" };
|
|
24
|
+
this.enabled = true;
|
|
25
|
+
this.scrollOffset = 0;
|
|
26
|
+
this.upActive = false;
|
|
27
|
+
this.downActive = false;
|
|
28
|
+
this.onSelectFloor = (floorIndex, e) => {
|
|
29
|
+
handleSelectFloor(this, floorIndex, e);
|
|
30
|
+
};
|
|
31
|
+
this.onScrollUp = () => {
|
|
32
|
+
handleScrollUp(this);
|
|
33
|
+
};
|
|
34
|
+
this.onScrollDown = () => {
|
|
35
|
+
handleScrollDown(this);
|
|
36
|
+
};
|
|
37
|
+
this._onCoreLoaded = () => {
|
|
38
|
+
handleCoreLoaded(this);
|
|
39
|
+
};
|
|
40
|
+
this._onViewModeChange = (payload) => {
|
|
41
|
+
handleViewModeChange(this, payload);
|
|
42
|
+
};
|
|
43
|
+
this._onSwitchWaypointStart = () => {
|
|
44
|
+
handleWaypointStart(this);
|
|
45
|
+
};
|
|
46
|
+
this._onSwitchWaypointComplete = (data) => {
|
|
47
|
+
handleWaypointComplete(this, data);
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
setEnabled(value) {
|
|
51
|
+
this.enabled = value;
|
|
52
|
+
this.toggleAttribute("enabled", value);
|
|
53
|
+
}
|
|
54
|
+
render() {
|
|
55
|
+
return renderFloorSwitch(this);
|
|
56
|
+
}
|
|
57
|
+
connectedCallback() {
|
|
58
|
+
console.log("switch floor comp connected");
|
|
59
|
+
super.connectedCallback();
|
|
60
|
+
this.toggleAttribute("hidden", true);
|
|
61
|
+
syncVisibility(this);
|
|
62
|
+
if (this.qspace) {
|
|
63
|
+
this._bindQspaceEvents();
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
disconnectedCallback() {
|
|
67
|
+
console.log("switch floor comp disconnected");
|
|
68
|
+
if (this.qspace) {
|
|
69
|
+
this._unbindQspaceEvents();
|
|
70
|
+
}
|
|
71
|
+
super.disconnectedCallback();
|
|
72
|
+
}
|
|
73
|
+
updated(changed) {
|
|
74
|
+
if (changed.has("option")) {
|
|
75
|
+
syncVisibility(this);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
_bindQspaceEvents() {
|
|
79
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
80
|
+
(_b = (_a = this.qspace.core) == null ? void 0 : _a.addEventListener) == null ? void 0 : _b.call(_a, "loaded", this._onCoreLoaded);
|
|
81
|
+
(_d = (_c = this.qspace.view) == null ? void 0 : _c.addEventListener) == null ? void 0 : _d.call(_c, "mode.change", this._onViewModeChange);
|
|
82
|
+
(_f = (_e = this.qspace.model) == null ? void 0 : _e.addEventListener) == null ? void 0 : _f.call(_e, "switch.waypoint.start", this._onSwitchWaypointStart);
|
|
83
|
+
(_h = (_g = this.qspace.model) == null ? void 0 : _g.addEventListener) == null ? void 0 : _h.call(_g, "switch.waypoint.complete", this._onSwitchWaypointComplete);
|
|
84
|
+
this._syncIfCoreAlreadyLoaded();
|
|
85
|
+
}
|
|
86
|
+
/** core 已 loaded 时组件才挂载,补跑 core.loaded 逻辑 */
|
|
87
|
+
_syncIfCoreAlreadyLoaded() {
|
|
88
|
+
var _a, _b;
|
|
89
|
+
try {
|
|
90
|
+
if ((_b = (_a = this.qspace) == null ? void 0 : _a.view) == null ? void 0 : _b.mode) {
|
|
91
|
+
handleCoreLoaded(this);
|
|
92
|
+
}
|
|
93
|
+
} catch {
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
_unbindQspaceEvents() {
|
|
97
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
98
|
+
(_b = (_a = this.qspace.core) == null ? void 0 : _a.removeEventListener) == null ? void 0 : _b.call(_a, "loaded", this._onCoreLoaded);
|
|
99
|
+
(_d = (_c = this.qspace.view) == null ? void 0 : _c.removeEventListener) == null ? void 0 : _d.call(_c, "mode.change", this._onViewModeChange);
|
|
100
|
+
(_f = (_e = this.qspace.model) == null ? void 0 : _e.removeEventListener) == null ? void 0 : _f.call(_e, "switch.waypoint.start", this._onSwitchWaypointStart);
|
|
101
|
+
(_h = (_g = this.qspace.model) == null ? void 0 : _g.removeEventListener) == null ? void 0 : _h.call(_g, "switch.waypoint.complete", this._onSwitchWaypointComplete);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
LitSwitchFloor.styles = styles;
|
|
105
|
+
__decorateClass([
|
|
106
|
+
property({ attribute: false })
|
|
107
|
+
], LitSwitchFloor.prototype, "qspace", 2);
|
|
108
|
+
__decorateClass([
|
|
109
|
+
property({ attribute: false })
|
|
110
|
+
], LitSwitchFloor.prototype, "option", 2);
|
|
111
|
+
__decorateClass([
|
|
112
|
+
property({
|
|
113
|
+
type: Boolean,
|
|
114
|
+
attribute: "enabled",
|
|
115
|
+
reflect: true,
|
|
116
|
+
converter: booleanAttr
|
|
117
|
+
})
|
|
118
|
+
], LitSwitchFloor.prototype, "enabled", 2);
|
|
119
|
+
__decorateClass([
|
|
120
|
+
state()
|
|
121
|
+
], LitSwitchFloor.prototype, "scrollOffset", 2);
|
|
122
|
+
__decorateClass([
|
|
123
|
+
state()
|
|
124
|
+
], LitSwitchFloor.prototype, "upActive", 2);
|
|
125
|
+
__decorateClass([
|
|
126
|
+
state()
|
|
127
|
+
], LitSwitchFloor.prototype, "downActive", 2);
|
|
128
|
+
LitSwitchFloor = __decorateClass([
|
|
129
|
+
safeCustomElement(TAG)
|
|
130
|
+
], LitSwitchFloor);
|
|
131
|
+
export {
|
|
132
|
+
LitSwitchFloor
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/common/lit-switch-floor/index.ts"],"sourcesContent":["/*\r\n * @Author: ncz\r\n * @Date: 2026-05-30\r\n * @Description: lit-switch-floor 组件注册与属性声明\r\n */\r\n\r\nimport { LitElement } from 'lit'\r\nimport { property, state } from 'lit/decorators.js'\r\nimport { safeCustomElement } from '../../../utils/define-lit-element.js'\r\nimport { TAG } from './constants.js'\r\nimport {\r\n handleCoreLoaded,\r\n handleScrollDown,\r\n handleScrollUp,\r\n handleSelectFloor,\r\n handleViewModeChange,\r\n handleWaypointComplete,\r\n handleWaypointStart,\r\n syncVisibility,\r\n type FloorSwitchHost,\r\n} from './interaction.js'\r\nimport type { FloorSwitchOption } from './properties.js'\r\nimport { booleanAttr } from './properties.js'\r\nimport { styles } from './styles.js'\r\nimport { renderFloorSwitch } from './template.js'\r\n\r\n/**\r\n * 楼层切换\r\n * - 楼层列表、选中层由宿主通过 :option 传入;选中高亮由组件写 option.currentFloor 维护\r\n * - :qspace 可选,点击后按 view.mode 调用 SDK;亦可完全由宿主监听 lit-click 处理\r\n */\r\n@safeCustomElement(TAG)\r\nexport class LitSwitchFloor extends LitElement implements FloorSwitchHost {\r\n\r\n /** qspace SDK 实例;可选,用于按视图模式调用 SDK */\r\n @property({ attribute: false })\r\n qspace: any = null\r\n\r\n /** 楼层配置;Vue: :option=\"{ floors: [{ idx, name }], currentFloor, allLabel }\" */\r\n @property({ attribute: false })\r\n option: FloorSwitchOption = { currentFloor: 'all' }\r\n\r\n /**\r\n * 是否可点击;视图过渡(transitioning)、全景楼层/点位切换进行中为 false\r\n * HTML: enabled / Vue: :enabled\r\n */\r\n @property({\r\n type: Boolean,\r\n attribute: 'enabled',\r\n reflect: true,\r\n converter: booleanAttr,\r\n })\r\n enabled = true\r\n\r\n @state()\r\n scrollOffset = 0\r\n\r\n @state()\r\n upActive = false\r\n\r\n @state()\r\n downActive = false\r\n\r\n static styles = styles\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 onSelectFloor = (floorIndex: number | 'all', e: Event) => {\r\n\r\n handleSelectFloor(this, floorIndex, e)\r\n\r\n }\r\n\r\n onScrollUp = () => {\r\n\r\n handleScrollUp(this)\r\n\r\n }\r\n\r\n onScrollDown = () => {\r\n\r\n handleScrollDown(this)\r\n\r\n }\r\n\r\n private _onCoreLoaded = () => {\r\n\r\n handleCoreLoaded(this)\r\n\r\n }\r\n\r\n private _onViewModeChange = (payload: string) => {\r\n\r\n handleViewModeChange(this, payload)\r\n\r\n }\r\n\r\n private _onSwitchWaypointStart = () => {\r\n\r\n handleWaypointStart(this)\r\n\r\n }\r\n\r\n private _onSwitchWaypointComplete = (data?: { current_pano_id?: string }) => {\r\n\r\n handleWaypointComplete(this, data)\r\n\r\n }\r\n\r\n render() {\r\n\r\n return renderFloorSwitch(this)\r\n\r\n }\r\n\r\n connectedCallback() {\r\n\r\n console.log('switch floor comp connected')\r\n\r\n super.connectedCallback()\r\n\r\n this.toggleAttribute('hidden', true)\r\n\r\n syncVisibility(this)\r\n\r\n if (this.qspace) {\r\n\r\n this._bindQspaceEvents()\r\n\r\n }\r\n\r\n }\r\n\r\n disconnectedCallback() {\r\n\r\n console.log('switch floor comp disconnected')\r\n\r\n if (this.qspace) {\r\n\r\n this._unbindQspaceEvents()\r\n\r\n }\r\n\r\n super.disconnectedCallback()\r\n\r\n }\r\n\r\n updated(changed: Map<string, unknown>) {\r\n\r\n if (changed.has('option')) {\r\n\r\n syncVisibility(this)\r\n\r\n }\r\n\r\n }\r\n\r\n private _bindQspaceEvents() {\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 this._syncIfCoreAlreadyLoaded()\r\n\r\n }\r\n\r\n /** core 已 loaded 时组件才挂载,补跑 core.loaded 逻辑 */\r\n private _syncIfCoreAlreadyLoaded() {\r\n\r\n try {\r\n\r\n if (this.qspace?.view?.mode) {\r\n\r\n handleCoreLoaded(this)\r\n\r\n }\r\n\r\n } catch {\r\n\r\n // qspace 未就绪时忽略\r\n\r\n }\r\n\r\n }\r\n\r\n private _unbindQspaceEvents() {\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}\r\n\r\ndeclare global {\r\n\r\n interface HTMLElementTagNameMap {\r\n\r\n [TAG]: LitSwitchFloor\r\n\r\n }\r\n\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { FloorItem, FloorSwitchOption } from './properties.js';
|
|
2
|
+
/** 当前选中层(唯一数据源:option.currentFloor) */
|
|
3
|
+
export declare function getCurrentFloor(host: FloorSwitchHost): number | 'all';
|
|
4
|
+
/** 更新选中层并触发重绘 */
|
|
5
|
+
export declare function setCurrentFloor(host: FloorSwitchHost, floor: number | 'all'): void;
|
|
6
|
+
export type FloorSwitchHost = HTMLElement & {
|
|
7
|
+
qspace: any;
|
|
8
|
+
option: FloorSwitchOption;
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
scrollOffset: number;
|
|
11
|
+
upActive: boolean;
|
|
12
|
+
downActive: boolean;
|
|
13
|
+
requestUpdate: () => void;
|
|
14
|
+
toggleAttribute: (name: string, force?: boolean) => void;
|
|
15
|
+
setEnabled: (value: boolean) => void;
|
|
16
|
+
onSelectFloor?: (floorIndex: number | 'all', e: Event) => void;
|
|
17
|
+
onScrollUp?: () => void;
|
|
18
|
+
onScrollDown?: () => void;
|
|
19
|
+
};
|
|
20
|
+
export declare function setFloorSwitchEnabled(host: FloorSwitchHost, value: boolean): void;
|
|
21
|
+
/** 按 view.mode 同步 enabled:视图过渡中禁用,稳定视图下可点 */
|
|
22
|
+
export declare function syncEnabledFromViewMode(host: FloorSwitchHost, mode?: string): void;
|
|
23
|
+
/** 有楼层数据即显示(含单层) */
|
|
24
|
+
export declare function isFloorSwitchVisible(host: FloorSwitchHost): boolean;
|
|
25
|
+
/** 楼层显示名:优先 floors[].name,否则 F{n} / B{n} */
|
|
26
|
+
export declare function getFloorLabel(host: FloorSwitchHost, idx: number): string;
|
|
27
|
+
export declare function getAllLabel(host: FloorSwitchHost): string;
|
|
28
|
+
/** 倒序楼层列表,对齐作品编辑端 floorListReverse */
|
|
29
|
+
export declare function getFloorListReverse(host: FloorSwitchHost): FloorItem[];
|
|
30
|
+
export declare function syncVisibility(host: FloorSwitchHost): void;
|
|
31
|
+
/** 全景视图:按当前点位 / model.floor.idx 同步选中层 */
|
|
32
|
+
export declare function applyPanoramaCurrentFloorFromModel(host: FloorSwitchHost, options?: {
|
|
33
|
+
force?: boolean;
|
|
34
|
+
}): void;
|
|
35
|
+
/** 平面视图:默认选中第一层并同步 SDK 楼层透明度与启用状态 */
|
|
36
|
+
export declare function applyFloorplanDefaultFloor(host: FloorSwitchHost, mode?: string, options?: {
|
|
37
|
+
force?: boolean;
|
|
38
|
+
}): void;
|
|
39
|
+
/** core.loaded:同步 enabled;平面视图首入默认第一层 */
|
|
40
|
+
export declare function handleCoreLoaded(host: FloorSwitchHost): void;
|
|
41
|
+
/** 视图模式变化:过渡中禁用并恢复全部楼层;切到全景 / 平面时同步默认楼层 */
|
|
42
|
+
export declare function handleViewModeChange(host: FloorSwitchHost, mode: string): void;
|
|
43
|
+
/** 点位切换开始:全景下禁用按钮 */
|
|
44
|
+
export declare function handleWaypointStart(host: FloorSwitchHost): void;
|
|
45
|
+
/** 点位切换完成:同步选中层;楼层与选中态不一致或用户点击楼层切换完成后派发 complete */
|
|
46
|
+
export declare function handleWaypointComplete(host: FloorSwitchHost, data?: {
|
|
47
|
+
current_pano_id?: string;
|
|
48
|
+
}): void;
|
|
49
|
+
/** 点击某一楼层(或全部) */
|
|
50
|
+
export declare function handleSelectFloor(host: FloorSwitchHost, floorIndex: number | 'all', e: Event): void;
|
|
51
|
+
export declare function handleScrollUp(host: FloorSwitchHost): void;
|
|
52
|
+
export declare function handleScrollDown(host: FloorSwitchHost): void;
|
|
53
|
+
export declare function getTranslateStyle(host: FloorSwitchHost): string;
|
|
54
|
+
export declare function isAllFloorActive(host: FloorSwitchHost): boolean;
|
|
55
|
+
export declare function isFloorActive(host: FloorSwitchHost, idx: number): boolean;
|
|
56
|
+
export declare function showScrollArrows(host: FloorSwitchHost): boolean;
|
|
57
|
+
export declare function isUpArrowActive(host: FloorSwitchHost): boolean;
|
|
58
|
+
//# sourceMappingURL=interaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../../../src/components/common/lit-switch-floor/interaction.ts"],"names":[],"mappings":"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"}
|