@dssp/dkpi 1.0.0-alpha.41 → 1.0.0-alpha.48

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 (54) hide show
  1. package/dist-client/components/{pagenation.d.ts → sv-pagenation-control.d.ts} +1 -1
  2. package/dist-client/components/{pagenation.js → sv-pagenation-control.js} +10 -10
  3. package/dist-client/components/sv-pagenation-control.js.map +1 -0
  4. package/dist-client/icons/menu-icons.d.ts +6 -0
  5. package/dist-client/icons/menu-icons.js +42 -0
  6. package/dist-client/icons/menu-icons.js.map +1 -1
  7. package/dist-client/pages/project-complete-tabs/pc-tab1-plan.d.ts +12 -0
  8. package/dist-client/pages/project-complete-tabs/pc-tab1-plan.js +274 -0
  9. package/dist-client/pages/project-complete-tabs/pc-tab1-plan.js.map +1 -0
  10. package/dist-client/pages/project-complete-tabs/pc-tab2-final.d.ts +11 -0
  11. package/dist-client/pages/project-complete-tabs/pc-tab2-final.js +277 -0
  12. package/dist-client/pages/project-complete-tabs/pc-tab2-final.js.map +1 -0
  13. package/dist-client/pages/project-complete-tabs/pc-tab3-rating.d.ts +10 -0
  14. package/dist-client/pages/project-complete-tabs/pc-tab3-rating.js +230 -0
  15. package/dist-client/pages/project-complete-tabs/pc-tab3-rating.js.map +1 -0
  16. package/dist-client/pages/project-complete-tabs/pc-tab4-upload.d.ts +13 -0
  17. package/dist-client/pages/project-complete-tabs/pc-tab4-upload.js +217 -0
  18. package/dist-client/pages/project-complete-tabs/pc-tab4-upload.js.map +1 -0
  19. package/dist-client/pages/sv-project-complete.d.ts +26 -0
  20. package/dist-client/pages/sv-project-complete.js +307 -0
  21. package/dist-client/pages/sv-project-complete.js.map +1 -0
  22. package/dist-client/pages/sv-project-completed-list.d.ts +1 -1
  23. package/dist-client/pages/sv-project-completed-list.js +191 -170
  24. package/dist-client/pages/sv-project-completed-list.js.map +1 -1
  25. package/dist-client/pages/sv-project-detail.d.ts +13 -0
  26. package/dist-client/pages/sv-project-detail.js +490 -0
  27. package/dist-client/pages/sv-project-detail.js.map +1 -0
  28. package/dist-client/pages/sv-project-list.d.ts +6 -1
  29. package/dist-client/pages/sv-project-list.js +201 -186
  30. package/dist-client/pages/sv-project-list.js.map +1 -1
  31. package/dist-client/route.d.ts +1 -1
  32. package/dist-client/route.js +6 -0
  33. package/dist-client/route.js.map +1 -1
  34. package/dist-client/shared/complete-api.d.ts +3 -0
  35. package/dist-client/shared/complete-api.js +84 -0
  36. package/dist-client/shared/complete-api.js.map +1 -0
  37. package/dist-client/shared/func.d.ts +2 -0
  38. package/dist-client/shared/func.js +22 -0
  39. package/dist-client/shared/func.js.map +1 -0
  40. package/dist-client/tsconfig.tsbuildinfo +1 -1
  41. package/dist-client/viewparts/menu-tools.js +1 -0
  42. package/dist-client/viewparts/menu-tools.js.map +1 -1
  43. package/dist-server/service/index.d.ts +1 -1
  44. package/dist-server/service/kpi-metric-value/index.d.ts +2 -1
  45. package/dist-server/service/kpi-metric-value/index.js +2 -1
  46. package/dist-server/service/kpi-metric-value/index.js.map +1 -1
  47. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.d.ts +7 -0
  48. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js +104 -0
  49. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js.map +1 -0
  50. package/dist-server/tsconfig.tsbuildinfo +1 -1
  51. package/package.json +4 -3
  52. package/schema.graphql +88 -3
  53. package/things-factory.config.js +3 -1
  54. package/dist-client/components/pagenation.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import '@material/web/button/outlined-button.js';
2
2
  import '@material/web/icon/icon.js';
3
3
  import { LitElement } from 'lit';
4
- export declare class PagenationControl extends LitElement {
4
+ export declare class SvPagenationControl extends LitElement {
5
5
  static styles: import("lit").CSSResult[];
6
6
  currentPage: number;
7
7
  totalItems: number;
@@ -3,7 +3,7 @@ import '@material/web/button/outlined-button.js';
3
3
  import '@material/web/icon/icon.js';
4
4
  import { css, html, LitElement } from 'lit';
5
5
  import { customElement, property } from 'lit/decorators.js';
6
- let PagenationControl = class PagenationControl extends LitElement {
6
+ let SvPagenationControl = class SvPagenationControl extends LitElement {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  this.currentPage = 1;
@@ -76,7 +76,7 @@ let PagenationControl = class PagenationControl extends LitElement {
76
76
  this._emitPageChange(this.totalPages);
77
77
  }
78
78
  };
79
- PagenationControl.styles = [
79
+ SvPagenationControl.styles = [
80
80
  css `
81
81
  div[pagination] {
82
82
  display: flex;
@@ -126,17 +126,17 @@ PagenationControl.styles = [
126
126
  __decorate([
127
127
  property({ type: Number }),
128
128
  __metadata("design:type", Number)
129
- ], PagenationControl.prototype, "currentPage", void 0);
129
+ ], SvPagenationControl.prototype, "currentPage", void 0);
130
130
  __decorate([
131
131
  property({ type: Number }),
132
132
  __metadata("design:type", Number)
133
- ], PagenationControl.prototype, "totalItems", void 0);
133
+ ], SvPagenationControl.prototype, "totalItems", void 0);
134
134
  __decorate([
135
135
  property({ type: Number }),
136
136
  __metadata("design:type", Number)
137
- ], PagenationControl.prototype, "pageLimit", void 0);
138
- PagenationControl = __decorate([
139
- customElement('pagenation-control')
140
- ], PagenationControl);
141
- export { PagenationControl };
142
- //# sourceMappingURL=pagenation.js.map
137
+ ], SvPagenationControl.prototype, "pageLimit", void 0);
138
+ SvPagenationControl = __decorate([
139
+ customElement('sv-pagenation-control')
140
+ ], SvPagenationControl);
141
+ export { SvPagenationControl };
142
+ //# sourceMappingURL=sv-pagenation-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sv-pagenation-control.js","sourceRoot":"","sources":["../../client/components/sv-pagenation-control.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/button/outlined-button.js'\nimport '@material/web/icon/icon.js'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('sv-pagenation-control')\nexport class SvPagenationControl extends LitElement {\n static styles = [\n css`\n div[pagination] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-medium, 8px);\n margin: var(--spacing-large, 12px);\n\n div[numbers] {\n display: inline-flex;\n gap: var(--spacing-tiny, 2px);\n }\n\n md-icon {\n --md-icon-size: 18px;\n }\n\n md-outlined-button {\n --md-outlined-button-container-height: 30px;\n --md-outlined-button-label-text-size: 13px;\n padding: 0 10px;\n }\n\n md-outlined-button[selected] {\n --md-outlined-button-label-text-color: #ffffff;\n --md-sys-color-outline: #0595e5;\n background-color: #0595e5;\n }\n\n md-outlined-button[icon] {\n min-width: 30px;\n width: 30px;\n padding: 0;\n }\n\n md-outlined-button[icon] md-icon {\n margin-top: 5px;\n }\n\n md-outlined-button[data-page] {\n min-width: 34px;\n padding: 0 8px;\n }\n }\n `\n ]\n\n @property({ type: Number }) currentPage: number = 1\n @property({ type: Number }) totalItems: number = 0\n @property({ type: Number }) pageLimit: number = 20\n\n private get totalPages(): number {\n const totalPages = Math.ceil((this.totalItems || 0) / (this.pageLimit || 1))\n return Math.max(1, totalPages)\n }\n\n private get pageBlock(): { start: number; end: number } {\n const blockSize = 10\n const blockIndex = Math.floor((this.currentPage - 1) / blockSize)\n const start = blockIndex * blockSize + 1\n const end = Math.min(start + blockSize - 1, this.totalPages)\n return { start, end }\n }\n\n render() {\n return html`\n <div pagination>\n <md-outlined-button icon ?disabled=${this.currentPage <= 1} @click=${this._onFirst}>\n <md-icon>first_page</md-icon>\n </md-outlined-button>\n <md-outlined-button icon ?disabled=${this.currentPage <= 1} @click=${this._onPrev}>\n <md-icon>chevron_left</md-icon>\n </md-outlined-button>\n\n <div numbers>${this._numberButtons()}</div>\n\n <md-outlined-button icon ?disabled=${this.currentPage >= this.totalPages} @click=${this._onNext}>\n <md-icon>chevron_right</md-icon>\n </md-outlined-button>\n <md-outlined-button icon ?disabled=${this.currentPage >= this.totalPages} @click=${this._onLast}>\n <md-icon>last_page</md-icon>\n </md-outlined-button>\n </div>\n `\n }\n\n private _emitPageChange(nextPage: number) {\n const bounded = Math.min(Math.max(1, nextPage), this.totalPages)\n if (bounded !== this.currentPage) {\n this.dispatchEvent(\n new CustomEvent('page-change', {\n detail: { page: bounded },\n bubbles: true,\n composed: true\n })\n )\n }\n }\n\n private _numberButtons() {\n const { start, end } = this.pageBlock\n const buttons = [] as any[]\n for (let page = start; page <= end; page++) {\n const selected = page === this.currentPage\n buttons.push(\n html`<md-outlined-button data-page ?selected=${selected} @click=${() => this._emitPageChange(page)}\n >${page}</md-outlined-button\n >`\n )\n }\n return buttons\n }\n\n private _onFirst() {\n this._emitPageChange(1)\n }\n\n private _onPrev() {\n this._emitPageChange(this.currentPage - 1)\n }\n\n private _onNext() {\n this._emitPageChange(this.currentPage + 1)\n }\n\n private _onLast() {\n this._emitPageChange(this.totalPages)\n }\n}\n"]}
@@ -1,3 +1,9 @@
1
+ export declare const ICON_SETTING_SCHEDULE = "\n<svg width=\"18\" height=\"20\" viewBox=\"0 0 18 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.95 15.9845L4.74625 12.7808L5.83075 11.6963L7.95 13.8155L12.1693 9.59627L13.2538 10.6808L7.95 15.9845ZM2.30775 19.5C1.80258 19.5 1.375 19.325 1.025 18.975C0.675 18.625 0.5 18.1974 0.5 17.6923V4.30777C0.5 3.8026 0.675 3.37502 1.025 3.02502C1.375 2.67502 1.80258 2.50002 2.30775 2.50002H3.69225V0.384766H5.23075V2.50002H12.8077V0.384766H14.3077V2.50002H15.6923C16.1974 2.50002 16.625 2.67502 16.975 3.02502C17.325 3.37502 17.5 3.8026 17.5 4.30777V17.6923C17.5 18.1974 17.325 18.625 16.975 18.975C16.625 19.325 16.1974 19.5 15.6923 19.5H2.30775ZM2.30775 18H15.6923C15.7692 18 15.8398 17.9679 15.9038 17.9038C15.9679 17.8398 16 17.7693 16 17.6923V8.30777H2V17.6923C2 17.7693 2.03208 17.8398 2.09625 17.9038C2.16025 17.9679 2.23075 18 2.30775 18ZM2 6.80777H16V4.30777C16 4.23077 15.9679 4.16026 15.9038 4.09626C15.8398 4.0321 15.7692 4.00002 15.6923 4.00002H2.30775C2.23075 4.00002 2.16025 4.0321 2.09625 4.09626C2.03208 4.16026 2 4.23077 2 4.30777V6.80777Z\"\n fill=\"#02A8A2\"\n />\n</svg>";
2
+ export declare const ICON_SETTING_COST = "\n<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M14.323 17.0385L17.4807 13.9155L16.6423 13.077L14.323 15.3558L13.3577 14.3807L12.5193 15.2345L14.323 17.0385ZM3.38475 5.86525H14.6152V4.3655H3.38475V5.86525ZM15 19.5578C13.7513 19.5578 12.6892 19.1199 11.8135 18.2443C10.9378 17.3686 10.5 16.3064 10.5 15.0577C10.5 13.8091 10.9378 12.7469 11.8135 11.8713C12.6892 10.9956 13.7513 10.5577 15 10.5577C16.2487 10.5577 17.3108 10.9956 18.1865 11.8713C19.0622 12.7469 19.5 13.8091 19.5 15.0577C19.5 16.3064 19.0622 17.3686 18.1865 18.2443C17.3108 19.1199 16.2487 19.5578 15 19.5578ZM0.5 18.3845V2.30775C0.5 1.80908 0.676583 1.38308 1.02975 1.02975C1.38308 0.676583 1.80908 0.5 2.30775 0.5H15.6923C16.1909 0.5 16.6169 0.676583 16.9703 1.02975C17.3234 1.38308 17.5 1.80908 17.5 2.30775V8.61725C17.2602 8.51208 17.0169 8.424 16.7703 8.353C16.5234 8.28183 16.2667 8.22767 16 8.1905V2.30775C16 2.23075 15.9679 2.16025 15.9038 2.09625C15.8398 2.03208 15.7692 2 15.6923 2H2.30775C2.23075 2 2.16025 2.03208 2.09625 2.09625C2.03208 2.16025 2 2.23075 2 2.30775V16.05H8.20975C8.27375 16.4448 8.36758 16.8243 8.49125 17.1885C8.61508 17.5525 8.78017 17.898 8.9865 18.225L8.89425 18.3173L7.577 17.1538L6.15375 18.3845L4.73075 17.1538L3.30775 18.3845L1.88475 17.1538L0.5 18.3845ZM3.38475 13.6345H8.277C8.3205 13.3678 8.38108 13.1112 8.45875 12.8645C8.53625 12.6177 8.63075 12.3744 8.74225 12.1348H3.38475V13.6345ZM3.38475 9.75H10.5905C11.07 9.31283 11.6136 8.96158 12.2212 8.69625C12.8289 8.43075 13.4763 8.282 14.1635 8.25H3.38475V9.75Z\"\n fill=\"#02A8A2\"\n />\n</svg>";
3
+ export declare const ICON_SETTING_QUALITY = "\n<svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.2557 15.4999L11.2115 14.4557L13.8115 11.8557L11.2115 9.25565L12.2557 8.2114L14.8558 10.8114L17.4557 8.2114L18.5 9.25565L15.9 11.8557L18.5 14.4557L17.4557 15.4999L14.8558 12.8999L12.2557 15.4999ZM14.2402 6.8364L11.0462 3.64215L12.0903 2.5979L14.2153 4.7229L18.4653 0.4729L19.5095 1.54215L14.2402 6.8364ZM0.5 12.5577V11.0577H9V12.5577H0.5ZM0.5 4.94215V3.44215H9V4.94215H0.5Z\"\n fill=\"#02A8A2\"\n />\n</svg>";
4
+ export declare const ICON_SETTING_SAFETY = "\n<svg width=\"16\" height=\"20\" viewBox=\"0 0 16 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M6.95 13.2041L12.2538 7.90032L11.1845 6.83107L6.95 11.0658L4.83075 8.94657L3.7615 10.0158L6.95 13.2041ZM8 19.4811C5.83717 18.8912 4.0465 17.6182 2.628 15.6618C1.20933 13.7055 0.5 11.5183 0.5 9.10032V3.34657L8 0.538818L15.5 3.34657V9.10032C15.5 11.5183 14.7907 13.7055 13.372 15.6618C11.9535 17.6182 10.1628 18.8912 8 19.4811ZM8 17.9003C9.73333 17.3503 11.1667 16.2503 12.3 14.6003C13.4333 12.9503 14 11.117 14 9.10032V4.37532L8 2.13482L2 4.37532V9.10032C2 11.117 2.56667 12.9503 3.7 14.6003C4.83333 16.2503 6.26667 17.3503 8 17.9003Z\"\n fill=\"#02A8A2\"\n />\n</svg>";
5
+ export declare const ICON_SETTING_ENVIRONMENT = "\n<svg width=\"17\" height=\"17\" viewBox=\"0 0 17 17\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M2.74625 14.2493C2.04108 13.541 1.49042 12.7265 1.09425 11.8058C0.698083 10.8852 0.5 9.93334 0.5 8.95034C0.5 7.9645 0.688833 6.98633 1.0665 6.01583C1.444 5.04533 2.05392 4.13892 2.89625 3.29658C3.50525 2.68758 4.26775 2.18592 5.18375 1.79159C6.09975 1.39742 7.13725 1.09717 8.29625 0.890835C9.45525 0.684335 10.7183 0.564085 12.0855 0.530085C13.4528 0.496252 14.8872 0.540169 16.3885 0.661835C16.4962 2.09517 16.533 3.48784 16.499 4.83984C16.465 6.19167 16.3468 7.45217 16.1443 8.62134C15.9416 9.79067 15.6458 10.8436 15.2568 11.7801C14.8676 12.7166 14.3666 13.4913 13.7538 14.1041C12.9281 14.9363 12.0451 15.5437 11.1048 15.9263C10.1644 16.309 9.212 16.5003 8.2475 16.5003C7.23633 16.5003 6.24292 16.3023 5.26725 15.9061C4.29158 15.5099 3.45125 14.9577 2.74625 14.2493ZM4.9885 14.0848C5.491 14.4003 6.02208 14.6318 6.58175 14.7791C7.14142 14.9266 7.6975 15.0003 8.25 15.0003C9.021 15.0003 9.78358 14.8478 10.5378 14.5426C11.2921 14.2374 12.0077 13.74 12.6845 13.0503C12.9833 12.7503 13.2863 12.3295 13.5935 11.7878C13.9005 11.2462 14.1661 10.5378 14.3903 9.66284C14.6144 8.78784 14.7846 7.7295 14.9008 6.48783C15.0169 5.24617 15.0398 3.767 14.9693 2.05033C14.1526 2.017 13.2285 2.00767 12.197 2.02234C11.1657 2.03717 10.1368 2.12117 9.1105 2.27434C8.08433 2.4275 7.1145 2.66759 6.201 2.99459C5.2875 3.32142 4.54867 3.76692 3.9845 4.33108C3.241 5.07475 2.72433 5.82767 2.4345 6.58983C2.14483 7.352 2 8.07475 2 8.75809C2 9.70292 2.18433 10.5574 2.553 11.3216C2.9215 12.0856 3.30508 12.6528 3.70375 13.0233C4.26275 11.767 5.04833 10.5616 6.0605 9.40708C7.07267 8.25258 8.35508 7.24525 9.90775 6.38509C8.73325 7.40942 7.72742 8.53442 6.89025 9.76009C6.05308 10.9856 5.41917 12.4272 4.9885 14.0848Z\"\n fill=\"#02A8A2\"\n />\n</svg>";
6
+ export declare const ICON_SETTING_PRODUCTIVITY = "\n<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M14.8845 19.5002C13.6102 19.5002 12.5224 19.0496 11.6213 18.1482C10.7199 17.2471 10.2693 16.1592 10.2693 14.8847C10.2693 13.6104 10.7199 12.5227 11.6213 11.6215C12.5224 10.7202 13.6102 10.2695 14.8845 10.2695C16.159 10.2695 17.2468 10.7202 18.148 11.6215C19.0493 12.5227 19.5 13.6104 19.5 14.8847C19.5 16.1592 19.0493 17.2471 18.148 18.1482C17.2468 19.0496 16.159 19.5002 14.8845 19.5002ZM16.9115 16.8715C16.9885 16.7882 17.0078 16.6945 16.9693 16.5905C16.9308 16.4867 16.8596 16.4264 16.7558 16.4097C16.3544 16.3392 15.9807 16.1912 15.6345 15.9655C15.2883 15.74 15.0083 15.44 14.7943 15.0655C14.5801 14.6912 14.4589 14.2982 14.4308 13.8867C14.4026 13.4752 14.4603 13.0772 14.6038 12.6925C14.6371 12.5887 14.6179 12.4942 14.5463 12.409C14.4744 12.3237 14.3866 12.2945 14.2828 12.3215C13.2494 12.5087 12.5462 13.0939 12.173 14.0772C11.8 15.0606 11.9513 15.9753 12.627 16.8215C13.1653 17.497 13.8727 17.8431 14.749 17.8597C15.6253 17.8764 16.3462 17.547 16.9115 16.8715ZM7.69225 19.5002L7.3115 16.454C7.04367 16.3643 6.769 16.2387 6.4875 16.0772C6.20617 15.9156 5.95459 15.7425 5.73275 15.558L2.9115 16.7502L0.604004 12.7502L3.04425 10.906C3.02125 10.7573 3.00492 10.608 2.99525 10.458C2.98559 10.308 2.98075 10.1586 2.98075 10.0097C2.98075 9.86758 2.98559 9.72308 2.99525 9.57624C3.00492 9.42941 3.02125 9.26883 3.04425 9.09449L0.604004 7.25024L2.9115 3.26949L5.723 4.45224C5.96417 4.26124 6.22159 4.08658 6.49525 3.92824C6.76892 3.76991 7.03784 3.64266 7.302 3.54649L7.69225 0.500244H12.3078L12.6885 3.55599C12.9885 3.66499 13.2599 3.79224 13.5028 3.93774C13.7458 4.08324 13.991 4.25474 14.2385 4.45224L17.0885 3.26949L19.396 7.25024L17.546 8.65024C17.2627 8.52458 16.9727 8.41691 16.676 8.32724C16.3792 8.23741 16.0686 8.17074 15.7443 8.12724L17.4345 6.85024L16.45 5.15024L13.9365 6.20974C13.6018 5.85208 13.2009 5.53608 12.7338 5.26174C12.2664 4.98741 11.7937 4.79316 11.3155 4.67899L11 2.00024H9.0155L8.6845 4.66949C8.17434 4.78999 7.70325 4.97458 7.27125 5.22324C6.83909 5.47208 6.42684 5.79258 6.0345 6.18474L3.55 5.15024L2.5655 6.85024L4.725 8.45974C4.64167 8.69708 4.58334 8.94391 4.55 9.20024C4.51667 9.45658 4.5 9.72641 4.5 10.0097C4.5 10.2701 4.51667 10.5252 4.55 10.7752C4.58334 11.0252 4.6385 11.2721 4.7155 11.5157L2.5655 13.1502L3.55 14.8502L6.025 13.8002C6.3275 14.1027 6.64767 14.3665 6.9855 14.5915C7.32334 14.8165 7.69034 15.0008 8.0865 15.1445C8.116 15.9855 8.291 16.7778 8.6115 17.5215C8.932 18.265 9.36084 18.9246 9.898 19.5002H7.69225ZM8.4865 12.5925C8.56734 12.3425 8.66259 12.1034 8.77225 11.8752C8.88175 11.6471 9.00575 11.4266 9.14425 11.2137C8.94809 11.0804 8.79359 10.908 8.68075 10.6965C8.56792 10.4848 8.5115 10.2527 8.5115 10.0002C8.5115 9.58358 8.65734 9.22941 8.949 8.93774C9.24067 8.64608 9.59484 8.50024 10.0115 8.50024C10.2577 8.50024 10.4907 8.55758 10.7105 8.67224C10.9305 8.78708 11.1072 8.94258 11.2405 9.13874C11.4532 9.00024 11.6727 8.87783 11.899 8.77149C12.1253 8.66499 12.3603 8.57649 12.6038 8.50599C12.3486 8.04966 11.9913 7.68458 11.5318 7.41074C11.0721 7.13708 10.5653 7.00024 10.0115 7.00024C9.16917 7.00024 8.45859 7.29224 7.87975 7.87624C7.30092 8.46024 7.0115 9.16824 7.0115 10.0002C7.0115 10.5502 7.14325 11.056 7.40675 11.5175C7.67025 11.979 8.03017 12.3373 8.4865 12.5925Z\"\n fill=\"#02A8A2\"\n />\n</svg>";
1
7
  export declare const ICONS_HOME: string[];
2
8
  export declare const ICONS_KPIS: string[];
3
9
  export declare const ICONS_STATUS: string[];
@@ -73,6 +73,48 @@ const ICON_SETTING = `
73
73
  <path class="menu-svg" d="M13.1,24.2h2v-5.7h-2v1.9h-2.4v2h2.4v1.9h0ZM16.7,22.3h12.8v-2h-12.8v2ZM25,18.1h2v-1.9h2.4v-2h-2.4v-1.9h-2v5.7h0ZM10.6,16.2h12.8v-2h-12.8v2ZM14.3,34v-3.3h-6.9c-.8,0-1.5-.3-2.1-.8s-.8-1.3-.8-2.1V8.9c0-.8.3-1.6.8-2.1.6-.5,1.3-.8,2.1-.8h25.2c.8,0,1.5.3,2.1.8s.8,1.3.8,2.1v18.8c0,.8-.3,1.6-.8,2.1-.6.5-1.3.8-2.1.8h-6.9v3.3h-11.5,0ZM7.5,28.2h25.2c0,0,.3,0,.4-.2,0,0,.2-.2.2-.4V8.9c0,0,0-.3-.2-.4,0,0-.2-.2-.4-.2H7.5c0,0-.3,0-.4.2,0,0-.2.2-.2.4v18.8c0,0,0,.3.2.4,0,0,.2.2.4.2h0ZM6.9,28.2V8.4v19.8Z"/>
74
74
  </svg>
75
75
  `;
76
+ export const ICON_SETTING_SCHEDULE = `
77
+ <svg width="18" height="20" viewBox="0 0 18 20" fill="none" xmlns="http://www.w3.org/2000/svg">
78
+ <path
79
+ d="M7.95 15.9845L4.74625 12.7808L5.83075 11.6963L7.95 13.8155L12.1693 9.59627L13.2538 10.6808L7.95 15.9845ZM2.30775 19.5C1.80258 19.5 1.375 19.325 1.025 18.975C0.675 18.625 0.5 18.1974 0.5 17.6923V4.30777C0.5 3.8026 0.675 3.37502 1.025 3.02502C1.375 2.67502 1.80258 2.50002 2.30775 2.50002H3.69225V0.384766H5.23075V2.50002H12.8077V0.384766H14.3077V2.50002H15.6923C16.1974 2.50002 16.625 2.67502 16.975 3.02502C17.325 3.37502 17.5 3.8026 17.5 4.30777V17.6923C17.5 18.1974 17.325 18.625 16.975 18.975C16.625 19.325 16.1974 19.5 15.6923 19.5H2.30775ZM2.30775 18H15.6923C15.7692 18 15.8398 17.9679 15.9038 17.9038C15.9679 17.8398 16 17.7693 16 17.6923V8.30777H2V17.6923C2 17.7693 2.03208 17.8398 2.09625 17.9038C2.16025 17.9679 2.23075 18 2.30775 18ZM2 6.80777H16V4.30777C16 4.23077 15.9679 4.16026 15.9038 4.09626C15.8398 4.0321 15.7692 4.00002 15.6923 4.00002H2.30775C2.23075 4.00002 2.16025 4.0321 2.09625 4.09626C2.03208 4.16026 2 4.23077 2 4.30777V6.80777Z"
80
+ fill="#02A8A2"
81
+ />
82
+ </svg>`;
83
+ export const ICON_SETTING_COST = `
84
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
85
+ <path
86
+ d="M14.323 17.0385L17.4807 13.9155L16.6423 13.077L14.323 15.3558L13.3577 14.3807L12.5193 15.2345L14.323 17.0385ZM3.38475 5.86525H14.6152V4.3655H3.38475V5.86525ZM15 19.5578C13.7513 19.5578 12.6892 19.1199 11.8135 18.2443C10.9378 17.3686 10.5 16.3064 10.5 15.0577C10.5 13.8091 10.9378 12.7469 11.8135 11.8713C12.6892 10.9956 13.7513 10.5577 15 10.5577C16.2487 10.5577 17.3108 10.9956 18.1865 11.8713C19.0622 12.7469 19.5 13.8091 19.5 15.0577C19.5 16.3064 19.0622 17.3686 18.1865 18.2443C17.3108 19.1199 16.2487 19.5578 15 19.5578ZM0.5 18.3845V2.30775C0.5 1.80908 0.676583 1.38308 1.02975 1.02975C1.38308 0.676583 1.80908 0.5 2.30775 0.5H15.6923C16.1909 0.5 16.6169 0.676583 16.9703 1.02975C17.3234 1.38308 17.5 1.80908 17.5 2.30775V8.61725C17.2602 8.51208 17.0169 8.424 16.7703 8.353C16.5234 8.28183 16.2667 8.22767 16 8.1905V2.30775C16 2.23075 15.9679 2.16025 15.9038 2.09625C15.8398 2.03208 15.7692 2 15.6923 2H2.30775C2.23075 2 2.16025 2.03208 2.09625 2.09625C2.03208 2.16025 2 2.23075 2 2.30775V16.05H8.20975C8.27375 16.4448 8.36758 16.8243 8.49125 17.1885C8.61508 17.5525 8.78017 17.898 8.9865 18.225L8.89425 18.3173L7.577 17.1538L6.15375 18.3845L4.73075 17.1538L3.30775 18.3845L1.88475 17.1538L0.5 18.3845ZM3.38475 13.6345H8.277C8.3205 13.3678 8.38108 13.1112 8.45875 12.8645C8.53625 12.6177 8.63075 12.3744 8.74225 12.1348H3.38475V13.6345ZM3.38475 9.75H10.5905C11.07 9.31283 11.6136 8.96158 12.2212 8.69625C12.8289 8.43075 13.4763 8.282 14.1635 8.25H3.38475V9.75Z"
87
+ fill="#02A8A2"
88
+ />
89
+ </svg>`;
90
+ export const ICON_SETTING_QUALITY = `
91
+ <svg width="20" height="16" viewBox="0 0 20 16" fill="none" xmlns="http://www.w3.org/2000/svg">
92
+ <path
93
+ d="M12.2557 15.4999L11.2115 14.4557L13.8115 11.8557L11.2115 9.25565L12.2557 8.2114L14.8558 10.8114L17.4557 8.2114L18.5 9.25565L15.9 11.8557L18.5 14.4557L17.4557 15.4999L14.8558 12.8999L12.2557 15.4999ZM14.2402 6.8364L11.0462 3.64215L12.0903 2.5979L14.2153 4.7229L18.4653 0.4729L19.5095 1.54215L14.2402 6.8364ZM0.5 12.5577V11.0577H9V12.5577H0.5ZM0.5 4.94215V3.44215H9V4.94215H0.5Z"
94
+ fill="#02A8A2"
95
+ />
96
+ </svg>`;
97
+ export const ICON_SETTING_SAFETY = `
98
+ <svg width="16" height="20" viewBox="0 0 16 20" fill="none" xmlns="http://www.w3.org/2000/svg">
99
+ <path
100
+ d="M6.95 13.2041L12.2538 7.90032L11.1845 6.83107L6.95 11.0658L4.83075 8.94657L3.7615 10.0158L6.95 13.2041ZM8 19.4811C5.83717 18.8912 4.0465 17.6182 2.628 15.6618C1.20933 13.7055 0.5 11.5183 0.5 9.10032V3.34657L8 0.538818L15.5 3.34657V9.10032C15.5 11.5183 14.7907 13.7055 13.372 15.6618C11.9535 17.6182 10.1628 18.8912 8 19.4811ZM8 17.9003C9.73333 17.3503 11.1667 16.2503 12.3 14.6003C13.4333 12.9503 14 11.117 14 9.10032V4.37532L8 2.13482L2 4.37532V9.10032C2 11.117 2.56667 12.9503 3.7 14.6003C4.83333 16.2503 6.26667 17.3503 8 17.9003Z"
101
+ fill="#02A8A2"
102
+ />
103
+ </svg>`;
104
+ export const ICON_SETTING_ENVIRONMENT = `
105
+ <svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">
106
+ <path
107
+ d="M2.74625 14.2493C2.04108 13.541 1.49042 12.7265 1.09425 11.8058C0.698083 10.8852 0.5 9.93334 0.5 8.95034C0.5 7.9645 0.688833 6.98633 1.0665 6.01583C1.444 5.04533 2.05392 4.13892 2.89625 3.29658C3.50525 2.68758 4.26775 2.18592 5.18375 1.79159C6.09975 1.39742 7.13725 1.09717 8.29625 0.890835C9.45525 0.684335 10.7183 0.564085 12.0855 0.530085C13.4528 0.496252 14.8872 0.540169 16.3885 0.661835C16.4962 2.09517 16.533 3.48784 16.499 4.83984C16.465 6.19167 16.3468 7.45217 16.1443 8.62134C15.9416 9.79067 15.6458 10.8436 15.2568 11.7801C14.8676 12.7166 14.3666 13.4913 13.7538 14.1041C12.9281 14.9363 12.0451 15.5437 11.1048 15.9263C10.1644 16.309 9.212 16.5003 8.2475 16.5003C7.23633 16.5003 6.24292 16.3023 5.26725 15.9061C4.29158 15.5099 3.45125 14.9577 2.74625 14.2493ZM4.9885 14.0848C5.491 14.4003 6.02208 14.6318 6.58175 14.7791C7.14142 14.9266 7.6975 15.0003 8.25 15.0003C9.021 15.0003 9.78358 14.8478 10.5378 14.5426C11.2921 14.2374 12.0077 13.74 12.6845 13.0503C12.9833 12.7503 13.2863 12.3295 13.5935 11.7878C13.9005 11.2462 14.1661 10.5378 14.3903 9.66284C14.6144 8.78784 14.7846 7.7295 14.9008 6.48783C15.0169 5.24617 15.0398 3.767 14.9693 2.05033C14.1526 2.017 13.2285 2.00767 12.197 2.02234C11.1657 2.03717 10.1368 2.12117 9.1105 2.27434C8.08433 2.4275 7.1145 2.66759 6.201 2.99459C5.2875 3.32142 4.54867 3.76692 3.9845 4.33108C3.241 5.07475 2.72433 5.82767 2.4345 6.58983C2.14483 7.352 2 8.07475 2 8.75809C2 9.70292 2.18433 10.5574 2.553 11.3216C2.9215 12.0856 3.30508 12.6528 3.70375 13.0233C4.26275 11.767 5.04833 10.5616 6.0605 9.40708C7.07267 8.25258 8.35508 7.24525 9.90775 6.38509C8.73325 7.40942 7.72742 8.53442 6.89025 9.76009C6.05308 10.9856 5.41917 12.4272 4.9885 14.0848Z"
108
+ fill="#02A8A2"
109
+ />
110
+ </svg>`;
111
+ export const ICON_SETTING_PRODUCTIVITY = `
112
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
113
+ <path
114
+ d="M14.8845 19.5002C13.6102 19.5002 12.5224 19.0496 11.6213 18.1482C10.7199 17.2471 10.2693 16.1592 10.2693 14.8847C10.2693 13.6104 10.7199 12.5227 11.6213 11.6215C12.5224 10.7202 13.6102 10.2695 14.8845 10.2695C16.159 10.2695 17.2468 10.7202 18.148 11.6215C19.0493 12.5227 19.5 13.6104 19.5 14.8847C19.5 16.1592 19.0493 17.2471 18.148 18.1482C17.2468 19.0496 16.159 19.5002 14.8845 19.5002ZM16.9115 16.8715C16.9885 16.7882 17.0078 16.6945 16.9693 16.5905C16.9308 16.4867 16.8596 16.4264 16.7558 16.4097C16.3544 16.3392 15.9807 16.1912 15.6345 15.9655C15.2883 15.74 15.0083 15.44 14.7943 15.0655C14.5801 14.6912 14.4589 14.2982 14.4308 13.8867C14.4026 13.4752 14.4603 13.0772 14.6038 12.6925C14.6371 12.5887 14.6179 12.4942 14.5463 12.409C14.4744 12.3237 14.3866 12.2945 14.2828 12.3215C13.2494 12.5087 12.5462 13.0939 12.173 14.0772C11.8 15.0606 11.9513 15.9753 12.627 16.8215C13.1653 17.497 13.8727 17.8431 14.749 17.8597C15.6253 17.8764 16.3462 17.547 16.9115 16.8715ZM7.69225 19.5002L7.3115 16.454C7.04367 16.3643 6.769 16.2387 6.4875 16.0772C6.20617 15.9156 5.95459 15.7425 5.73275 15.558L2.9115 16.7502L0.604004 12.7502L3.04425 10.906C3.02125 10.7573 3.00492 10.608 2.99525 10.458C2.98559 10.308 2.98075 10.1586 2.98075 10.0097C2.98075 9.86758 2.98559 9.72308 2.99525 9.57624C3.00492 9.42941 3.02125 9.26883 3.04425 9.09449L0.604004 7.25024L2.9115 3.26949L5.723 4.45224C5.96417 4.26124 6.22159 4.08658 6.49525 3.92824C6.76892 3.76991 7.03784 3.64266 7.302 3.54649L7.69225 0.500244H12.3078L12.6885 3.55599C12.9885 3.66499 13.2599 3.79224 13.5028 3.93774C13.7458 4.08324 13.991 4.25474 14.2385 4.45224L17.0885 3.26949L19.396 7.25024L17.546 8.65024C17.2627 8.52458 16.9727 8.41691 16.676 8.32724C16.3792 8.23741 16.0686 8.17074 15.7443 8.12724L17.4345 6.85024L16.45 5.15024L13.9365 6.20974C13.6018 5.85208 13.2009 5.53608 12.7338 5.26174C12.2664 4.98741 11.7937 4.79316 11.3155 4.67899L11 2.00024H9.0155L8.6845 4.66949C8.17434 4.78999 7.70325 4.97458 7.27125 5.22324C6.83909 5.47208 6.42684 5.79258 6.0345 6.18474L3.55 5.15024L2.5655 6.85024L4.725 8.45974C4.64167 8.69708 4.58334 8.94391 4.55 9.20024C4.51667 9.45658 4.5 9.72641 4.5 10.0097C4.5 10.2701 4.51667 10.5252 4.55 10.7752C4.58334 11.0252 4.6385 11.2721 4.7155 11.5157L2.5655 13.1502L3.55 14.8502L6.025 13.8002C6.3275 14.1027 6.64767 14.3665 6.9855 14.5915C7.32334 14.8165 7.69034 15.0008 8.0865 15.1445C8.116 15.9855 8.291 16.7778 8.6115 17.5215C8.932 18.265 9.36084 18.9246 9.898 19.5002H7.69225ZM8.4865 12.5925C8.56734 12.3425 8.66259 12.1034 8.77225 11.8752C8.88175 11.6471 9.00575 11.4266 9.14425 11.2137C8.94809 11.0804 8.79359 10.908 8.68075 10.6965C8.56792 10.4848 8.5115 10.2527 8.5115 10.0002C8.5115 9.58358 8.65734 9.22941 8.949 8.93774C9.24067 8.64608 9.59484 8.50024 10.0115 8.50024C10.2577 8.50024 10.4907 8.55758 10.7105 8.67224C10.9305 8.78708 11.1072 8.94258 11.2405 9.13874C11.4532 9.00024 11.6727 8.87783 11.899 8.77149C12.1253 8.66499 12.3603 8.57649 12.6038 8.50599C12.3486 8.04966 11.9913 7.68458 11.5318 7.41074C11.0721 7.13708 10.5653 7.00024 10.0115 7.00024C9.16917 7.00024 8.45859 7.29224 7.87975 7.87624C7.30092 8.46024 7.0115 9.16824 7.0115 10.0002C7.0115 10.5502 7.14325 11.056 7.40675 11.5175C7.67025 11.979 8.03017 12.3373 8.4865 12.5925Z"
115
+ fill="#02A8A2"
116
+ />
117
+ </svg>`;
76
118
  function icons(template) {
77
119
  return ['#ffffff', '#64A3D9'].map(color => 'data:image/svg+xml;charset=UTF-8;base64,' + btoa(template.replace(/{{strokecolor}}/g, color)));
78
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"menu-icons.js","sourceRoot":"","sources":["../../client/icons/menu-icons.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG;;;;;;;;;;;;;;CAcjB,CAAA;AAED,MAAM,SAAS,GAAG;;;;;;;;;;;;;;CAcjB,CAAA;AAED,MAAM,WAAW,GAAG;;;;;;;;;;;;;;CAcnB,CAAA;AAED,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;CAcxB,CAAA;AAED,MAAM,YAAY,GAAG;;;;;;;;;;;;;;CAcpB,CAAA;AAED,SAAS,KAAK,CAAC,QAAQ;IACrB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,CAC/B,KAAK,CAAC,EAAE,CAAC,0CAA0C,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CACxG,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAA;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAA;AACxD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,CAAA","sourcesContent":["const ICON_HOME = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 40 40\">\n <defs>\n <style>\n .menu-svg {\n fill: #fff;\n\t\t\t\tstroke: {{strokecolor}};\n stroke-width: 0px;\n }\n </style>\n </defs>\n \n <path class=\"menu-svg\" d=\"M31,36.5c-.2,0-.4,0-.6,0-.2,0-.3-.2-.5-.3l-8.3-8.3c-.2-.2-.3-.3-.3-.5,0-.2,0-.4,0-.6s0-.4,0-.6c0-.2.2-.3.3-.5l3.1-3.1c.2-.2.3-.3.5-.3.2,0,.4,0,.6,0s.4,0,.6,0c.2,0,.3.2.5.3l8.3,8.3c.2.2.3.3.3.5,0,.2,0,.4,0,.6s0,.4,0,.6c0,.2-.2.3-.3.5l-3.1,3.1c-.2.2-.3.3-.5.3-.2,0-.4,0-.6,0ZM31,33.6l1.8-1.8-6.9-6.9-1.8,1.8,6.9,6.9ZM8.9,36.5c-.2,0-.4,0-.6-.1-.2,0-.3-.2-.5-.3l-3.1-3.1c-.2-.2-.3-.3-.3-.5,0-.2-.1-.4-.1-.6s0-.4.1-.6c0-.2.2-.3.3-.5l8.6-8.6h3.5l1.3-1.3-6.9-6.9h-2.4l-4.6-4.6,4.1-4.1,4.6,4.6v2.4l6.9,6.9,4.9-4.9-2.4-2.4,2.1-2.1h-4.2l-.9-.9,5.3-5.3.9.9v4.2l2.1-2.1,6.2,6.2c.4.4.8.9,1,1.5.2.5.3,1.1.3,1.7s0,1-.3,1.5c-.2.5-.5.9-.8,1.4l-3.5-3.5-2.3,2.3-1.8-1.8-8,8v3.5l-8.6,8.6c-.2.2-.3.3-.5.3-.2,0-.4.1-.6.1ZM8.9,33.6l7.6-7.6v-1.8h-1.8l-7.6,7.6,1.8,1.8ZM8.9,33.6l-1.8-1.8.9.9.9.9ZM31,33.6l1.8-1.8-1.8,1.8Z\"/>\n</svg>\n`\n\nconst ICON_KPIS = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 40 40\">\n <defs>\n <style>\n .menu-svg {\n fill: #fff;\n\t\t\t\tstroke: {{strokecolor}};\n stroke-width: 0px;\n }\n </style>\n </defs>\n \n <path class=\"menu-svg\" d=\"M27.9,15.1h2.7v-2.8h-2.7v2.8ZM27.9,21.4h2.7v-2.8h-2.7v2.8ZM27.9,27.7h2.7v-2.8h-2.7v2.8ZM26.9,33.3v-2.4h6.9V9h-14.2v2.8l-2.3-1.7v-3.5h18.7v26.7s-9.1,0-9.1,0ZM4,33.3v-14.5l9.9-7.3,9.9,7.3v14.5h-8.1v-7.5h-3.5v7.5H4ZM6.3,31h3.6v-7.5h8v7.5h3.6v-11l-7.7-5.5-7.7,5.5v11h0ZM18,31v-7.5h-8v7.5-7.5h8v7.5Z\"/>\n</svg>\n`\n\nconst ICON_STATUS = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 40 40\">\n <defs>\n <style>\n .menu-svg {\n fill: #fff;\n\t\t\t\tstroke: {{strokecolor}};\n stroke-width: 0px;\n }\n </style>\n </defs>\n\n <path class=\"menu-svg\" d=\"M7.4,33.9c-.8,0-1.5-.3-2.1-.8-.6-.6-.8-1.3-.8-2.1V9c0-.8.3-1.5.8-2.1.6-.6,1.3-.8,2.1-.8h25.2c.8,0,1.5.3,2.1.8s.8,1.3.8,2.1v21.9c0,.8-.3,1.5-.8,2.1s-1.3.8-2.1.8H7.4ZM7.4,31.4h25.2c0,0,.3,0,.4-.2,0,0,.2-.2.2-.4V9c0,0,0-.3-.2-.4,0,0-.2-.2-.4-.2H7.4c0,0-.3,0-.4.2,0,0-.2.2-.2.4v21.9c0,0,0,.3.2.4,0,0,.2.2.4.2h0ZM8.9,27.7h7.3v-2.4h-7.3v2.4ZM24.2,24.3l7.5-7.5-1.8-1.8-5.7,5.8-2.4-2.4-1.7,1.8s4.1,4.1,4.1,4.1ZM8.9,21.2h7.3v-2.4h-7.3v2.4ZM8.9,14.6h7.3v-2.4h-7.3s0,2.4,0,2.4ZM6.9,31.4V8.5v22.9Z\"/>\n</svg>\n`\n\nconst ICON_INTEGRATION = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 40 40\">\n <defs>\n <style>\n .menu-svg {\n fill: #fff;\n\t\t\t\tstroke: {{strokecolor}};\n stroke-width: 0px;\n }\n </style>\n </defs>\n \n <path class=\"menu-svg\" d=\"M9.1,35.5c-.8,0-1.5-.3-2.1-.8-.6-.6-.8-1.2-.8-2.1V10.9c0-.8.3-1.5.8-2.1.6-.6,1.2-.8,2.1-.8h2.3v-3.5h2.5v3.5h12.3v-3.5h2.4v3.5h2.3c.8,0,1.5.3,2.1.8.6.6.8,1.2.8,2.1v21.7c0,.8-.3,1.5-.8,2.1s-1.2.8-2.1.8c0,0-21.8,0-21.8,0ZM9.1,33.1h21.7c0,0,.3,0,.4-.2,0,0,.2-.2.2-.4v-15.2H8.5v15.2c0,0,0,.3.2.4,0,0,.2.2.4.2ZM8.5,14.9h22.7v-4c0,0,0-.3-.2-.4,0,0-.2-.2-.4-.2H9.1c0,0-.3,0-.4.2,0,0-.2.2-.2.4,0,0,0,4,0,4ZM8.5,14.9v-4.5,4.5ZM12.2,22.9v-2.4h15.4v2.4s-15.4,0-15.4,0ZM12.2,29.4v-2.4h10.5v2.4h-10.5Z\"/>\n</svg>\n`\n\nconst ICON_SETTING = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 40 40\">\n <defs>\n <style>\n .menu-svg {\n fill: #fff;\n\t\t\t\tstroke: {{strokecolor}};\n stroke-width: 0px;\n }\n </style>\n </defs>\n \n <path class=\"menu-svg\" d=\"M13.1,24.2h2v-5.7h-2v1.9h-2.4v2h2.4v1.9h0ZM16.7,22.3h12.8v-2h-12.8v2ZM25,18.1h2v-1.9h2.4v-2h-2.4v-1.9h-2v5.7h0ZM10.6,16.2h12.8v-2h-12.8v2ZM14.3,34v-3.3h-6.9c-.8,0-1.5-.3-2.1-.8s-.8-1.3-.8-2.1V8.9c0-.8.3-1.6.8-2.1.6-.5,1.3-.8,2.1-.8h25.2c.8,0,1.5.3,2.1.8s.8,1.3.8,2.1v18.8c0,.8-.3,1.6-.8,2.1-.6.5-1.3.8-2.1.8h-6.9v3.3h-11.5,0ZM7.5,28.2h25.2c0,0,.3,0,.4-.2,0,0,.2-.2.2-.4V8.9c0,0,0-.3-.2-.4,0,0-.2-.2-.4-.2H7.5c0,0-.3,0-.4.2,0,0-.2.2-.2.4v18.8c0,0,0,.3.2.4,0,0,.2.2.4.2h0ZM6.9,28.2V8.4v19.8Z\"/>\n</svg>\n`\n\nfunction icons(template) {\n return ['#ffffff', '#64A3D9'].map(\n color => 'data:image/svg+xml;charset=UTF-8;base64,' + btoa(template.replace(/{{strokecolor}}/g, color))\n )\n}\n\nexport const ICONS_HOME = icons(ICON_HOME)\nexport const ICONS_KPIS = icons(ICON_KPIS)\nexport const ICONS_STATUS = icons(ICON_STATUS)\nexport const ICONS_INTEGRATION = icons(ICON_INTEGRATION)\nexport const ICONS_SETTING = icons(ICON_SETTING)\n"]}
1
+ {"version":3,"file":"menu-icons.js","sourceRoot":"","sources":["../../client/icons/menu-icons.ts"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG;;;;;;;;;;;;;;CAcjB,CAAA;AAED,MAAM,SAAS,GAAG;;;;;;;;;;;;;;CAcjB,CAAA;AAED,MAAM,WAAW,GAAG;;;;;;;;;;;;;;CAcnB,CAAA;AAED,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;CAcxB,CAAA;AAED,MAAM,YAAY,GAAG;;;;;;;;;;;;;;CAcpB,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;OAM9B,CAAA;AAEP,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;OAM1B,CAAA;AAEP,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;OAM7B,CAAA;AAEP,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;OAM5B,CAAA;AAEP,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;OAMjC,CAAA;AAEP,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;OAMlC,CAAA;AAEP,SAAS,KAAK,CAAC,QAAQ;IACrB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,CAC/B,KAAK,CAAC,EAAE,CAAC,0CAA0C,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CACxG,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAA;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAA;AACxD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,CAAA","sourcesContent":["const ICON_HOME = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 40 40\">\n <defs>\n <style>\n .menu-svg {\n fill: #fff;\n\t\t\t\tstroke: {{strokecolor}};\n stroke-width: 0px;\n }\n </style>\n </defs>\n \n <path class=\"menu-svg\" d=\"M31,36.5c-.2,0-.4,0-.6,0-.2,0-.3-.2-.5-.3l-8.3-8.3c-.2-.2-.3-.3-.3-.5,0-.2,0-.4,0-.6s0-.4,0-.6c0-.2.2-.3.3-.5l3.1-3.1c.2-.2.3-.3.5-.3.2,0,.4,0,.6,0s.4,0,.6,0c.2,0,.3.2.5.3l8.3,8.3c.2.2.3.3.3.5,0,.2,0,.4,0,.6s0,.4,0,.6c0,.2-.2.3-.3.5l-3.1,3.1c-.2.2-.3.3-.5.3-.2,0-.4,0-.6,0ZM31,33.6l1.8-1.8-6.9-6.9-1.8,1.8,6.9,6.9ZM8.9,36.5c-.2,0-.4,0-.6-.1-.2,0-.3-.2-.5-.3l-3.1-3.1c-.2-.2-.3-.3-.3-.5,0-.2-.1-.4-.1-.6s0-.4.1-.6c0-.2.2-.3.3-.5l8.6-8.6h3.5l1.3-1.3-6.9-6.9h-2.4l-4.6-4.6,4.1-4.1,4.6,4.6v2.4l6.9,6.9,4.9-4.9-2.4-2.4,2.1-2.1h-4.2l-.9-.9,5.3-5.3.9.9v4.2l2.1-2.1,6.2,6.2c.4.4.8.9,1,1.5.2.5.3,1.1.3,1.7s0,1-.3,1.5c-.2.5-.5.9-.8,1.4l-3.5-3.5-2.3,2.3-1.8-1.8-8,8v3.5l-8.6,8.6c-.2.2-.3.3-.5.3-.2,0-.4.1-.6.1ZM8.9,33.6l7.6-7.6v-1.8h-1.8l-7.6,7.6,1.8,1.8ZM8.9,33.6l-1.8-1.8.9.9.9.9ZM31,33.6l1.8-1.8-1.8,1.8Z\"/>\n</svg>\n`\n\nconst ICON_KPIS = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 40 40\">\n <defs>\n <style>\n .menu-svg {\n fill: #fff;\n\t\t\t\tstroke: {{strokecolor}};\n stroke-width: 0px;\n }\n </style>\n </defs>\n \n <path class=\"menu-svg\" d=\"M27.9,15.1h2.7v-2.8h-2.7v2.8ZM27.9,21.4h2.7v-2.8h-2.7v2.8ZM27.9,27.7h2.7v-2.8h-2.7v2.8ZM26.9,33.3v-2.4h6.9V9h-14.2v2.8l-2.3-1.7v-3.5h18.7v26.7s-9.1,0-9.1,0ZM4,33.3v-14.5l9.9-7.3,9.9,7.3v14.5h-8.1v-7.5h-3.5v7.5H4ZM6.3,31h3.6v-7.5h8v7.5h3.6v-11l-7.7-5.5-7.7,5.5v11h0ZM18,31v-7.5h-8v7.5-7.5h8v7.5Z\"/>\n</svg>\n`\n\nconst ICON_STATUS = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 40 40\">\n <defs>\n <style>\n .menu-svg {\n fill: #fff;\n\t\t\t\tstroke: {{strokecolor}};\n stroke-width: 0px;\n }\n </style>\n </defs>\n\n <path class=\"menu-svg\" d=\"M7.4,33.9c-.8,0-1.5-.3-2.1-.8-.6-.6-.8-1.3-.8-2.1V9c0-.8.3-1.5.8-2.1.6-.6,1.3-.8,2.1-.8h25.2c.8,0,1.5.3,2.1.8s.8,1.3.8,2.1v21.9c0,.8-.3,1.5-.8,2.1s-1.3.8-2.1.8H7.4ZM7.4,31.4h25.2c0,0,.3,0,.4-.2,0,0,.2-.2.2-.4V9c0,0,0-.3-.2-.4,0,0-.2-.2-.4-.2H7.4c0,0-.3,0-.4.2,0,0-.2.2-.2.4v21.9c0,0,0,.3.2.4,0,0,.2.2.4.2h0ZM8.9,27.7h7.3v-2.4h-7.3v2.4ZM24.2,24.3l7.5-7.5-1.8-1.8-5.7,5.8-2.4-2.4-1.7,1.8s4.1,4.1,4.1,4.1ZM8.9,21.2h7.3v-2.4h-7.3v2.4ZM8.9,14.6h7.3v-2.4h-7.3s0,2.4,0,2.4ZM6.9,31.4V8.5v22.9Z\"/>\n</svg>\n`\n\nconst ICON_INTEGRATION = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 40 40\">\n <defs>\n <style>\n .menu-svg {\n fill: #fff;\n\t\t\t\tstroke: {{strokecolor}};\n stroke-width: 0px;\n }\n </style>\n </defs>\n \n <path class=\"menu-svg\" d=\"M9.1,35.5c-.8,0-1.5-.3-2.1-.8-.6-.6-.8-1.2-.8-2.1V10.9c0-.8.3-1.5.8-2.1.6-.6,1.2-.8,2.1-.8h2.3v-3.5h2.5v3.5h12.3v-3.5h2.4v3.5h2.3c.8,0,1.5.3,2.1.8.6.6.8,1.2.8,2.1v21.7c0,.8-.3,1.5-.8,2.1s-1.2.8-2.1.8c0,0-21.8,0-21.8,0ZM9.1,33.1h21.7c0,0,.3,0,.4-.2,0,0,.2-.2.2-.4v-15.2H8.5v15.2c0,0,0,.3.2.4,0,0,.2.2.4.2ZM8.5,14.9h22.7v-4c0,0,0-.3-.2-.4,0,0-.2-.2-.4-.2H9.1c0,0-.3,0-.4.2,0,0-.2.2-.2.4,0,0,0,4,0,4ZM8.5,14.9v-4.5,4.5ZM12.2,22.9v-2.4h15.4v2.4s-15.4,0-15.4,0ZM12.2,29.4v-2.4h10.5v2.4h-10.5Z\"/>\n</svg>\n`\n\nconst ICON_SETTING = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 40 40\">\n <defs>\n <style>\n .menu-svg {\n fill: #fff;\n\t\t\t\tstroke: {{strokecolor}};\n stroke-width: 0px;\n }\n </style>\n </defs>\n \n <path class=\"menu-svg\" d=\"M13.1,24.2h2v-5.7h-2v1.9h-2.4v2h2.4v1.9h0ZM16.7,22.3h12.8v-2h-12.8v2ZM25,18.1h2v-1.9h2.4v-2h-2.4v-1.9h-2v5.7h0ZM10.6,16.2h12.8v-2h-12.8v2ZM14.3,34v-3.3h-6.9c-.8,0-1.5-.3-2.1-.8s-.8-1.3-.8-2.1V8.9c0-.8.3-1.6.8-2.1.6-.5,1.3-.8,2.1-.8h25.2c.8,0,1.5.3,2.1.8s.8,1.3.8,2.1v18.8c0,.8-.3,1.6-.8,2.1-.6.5-1.3.8-2.1.8h-6.9v3.3h-11.5,0ZM7.5,28.2h25.2c0,0,.3,0,.4-.2,0,0,.2-.2.2-.4V8.9c0,0,0-.3-.2-.4,0,0-.2-.2-.4-.2H7.5c0,0-.3,0-.4.2,0,0-.2.2-.2.4v18.8c0,0,0,.3.2.4,0,0,.2.2.4.2h0ZM6.9,28.2V8.4v19.8Z\"/>\n</svg>\n`\n\nexport const ICON_SETTING_SCHEDULE = `\n<svg width=\"18\" height=\"20\" viewBox=\"0 0 18 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.95 15.9845L4.74625 12.7808L5.83075 11.6963L7.95 13.8155L12.1693 9.59627L13.2538 10.6808L7.95 15.9845ZM2.30775 19.5C1.80258 19.5 1.375 19.325 1.025 18.975C0.675 18.625 0.5 18.1974 0.5 17.6923V4.30777C0.5 3.8026 0.675 3.37502 1.025 3.02502C1.375 2.67502 1.80258 2.50002 2.30775 2.50002H3.69225V0.384766H5.23075V2.50002H12.8077V0.384766H14.3077V2.50002H15.6923C16.1974 2.50002 16.625 2.67502 16.975 3.02502C17.325 3.37502 17.5 3.8026 17.5 4.30777V17.6923C17.5 18.1974 17.325 18.625 16.975 18.975C16.625 19.325 16.1974 19.5 15.6923 19.5H2.30775ZM2.30775 18H15.6923C15.7692 18 15.8398 17.9679 15.9038 17.9038C15.9679 17.8398 16 17.7693 16 17.6923V8.30777H2V17.6923C2 17.7693 2.03208 17.8398 2.09625 17.9038C2.16025 17.9679 2.23075 18 2.30775 18ZM2 6.80777H16V4.30777C16 4.23077 15.9679 4.16026 15.9038 4.09626C15.8398 4.0321 15.7692 4.00002 15.6923 4.00002H2.30775C2.23075 4.00002 2.16025 4.0321 2.09625 4.09626C2.03208 4.16026 2 4.23077 2 4.30777V6.80777Z\"\n fill=\"#02A8A2\"\n />\n</svg>`\n\nexport const ICON_SETTING_COST = `\n<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M14.323 17.0385L17.4807 13.9155L16.6423 13.077L14.323 15.3558L13.3577 14.3807L12.5193 15.2345L14.323 17.0385ZM3.38475 5.86525H14.6152V4.3655H3.38475V5.86525ZM15 19.5578C13.7513 19.5578 12.6892 19.1199 11.8135 18.2443C10.9378 17.3686 10.5 16.3064 10.5 15.0577C10.5 13.8091 10.9378 12.7469 11.8135 11.8713C12.6892 10.9956 13.7513 10.5577 15 10.5577C16.2487 10.5577 17.3108 10.9956 18.1865 11.8713C19.0622 12.7469 19.5 13.8091 19.5 15.0577C19.5 16.3064 19.0622 17.3686 18.1865 18.2443C17.3108 19.1199 16.2487 19.5578 15 19.5578ZM0.5 18.3845V2.30775C0.5 1.80908 0.676583 1.38308 1.02975 1.02975C1.38308 0.676583 1.80908 0.5 2.30775 0.5H15.6923C16.1909 0.5 16.6169 0.676583 16.9703 1.02975C17.3234 1.38308 17.5 1.80908 17.5 2.30775V8.61725C17.2602 8.51208 17.0169 8.424 16.7703 8.353C16.5234 8.28183 16.2667 8.22767 16 8.1905V2.30775C16 2.23075 15.9679 2.16025 15.9038 2.09625C15.8398 2.03208 15.7692 2 15.6923 2H2.30775C2.23075 2 2.16025 2.03208 2.09625 2.09625C2.03208 2.16025 2 2.23075 2 2.30775V16.05H8.20975C8.27375 16.4448 8.36758 16.8243 8.49125 17.1885C8.61508 17.5525 8.78017 17.898 8.9865 18.225L8.89425 18.3173L7.577 17.1538L6.15375 18.3845L4.73075 17.1538L3.30775 18.3845L1.88475 17.1538L0.5 18.3845ZM3.38475 13.6345H8.277C8.3205 13.3678 8.38108 13.1112 8.45875 12.8645C8.53625 12.6177 8.63075 12.3744 8.74225 12.1348H3.38475V13.6345ZM3.38475 9.75H10.5905C11.07 9.31283 11.6136 8.96158 12.2212 8.69625C12.8289 8.43075 13.4763 8.282 14.1635 8.25H3.38475V9.75Z\"\n fill=\"#02A8A2\"\n />\n</svg>`\n\nexport const ICON_SETTING_QUALITY = `\n<svg width=\"20\" height=\"16\" viewBox=\"0 0 20 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.2557 15.4999L11.2115 14.4557L13.8115 11.8557L11.2115 9.25565L12.2557 8.2114L14.8558 10.8114L17.4557 8.2114L18.5 9.25565L15.9 11.8557L18.5 14.4557L17.4557 15.4999L14.8558 12.8999L12.2557 15.4999ZM14.2402 6.8364L11.0462 3.64215L12.0903 2.5979L14.2153 4.7229L18.4653 0.4729L19.5095 1.54215L14.2402 6.8364ZM0.5 12.5577V11.0577H9V12.5577H0.5ZM0.5 4.94215V3.44215H9V4.94215H0.5Z\"\n fill=\"#02A8A2\"\n />\n</svg>`\n\nexport const ICON_SETTING_SAFETY = `\n<svg width=\"16\" height=\"20\" viewBox=\"0 0 16 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M6.95 13.2041L12.2538 7.90032L11.1845 6.83107L6.95 11.0658L4.83075 8.94657L3.7615 10.0158L6.95 13.2041ZM8 19.4811C5.83717 18.8912 4.0465 17.6182 2.628 15.6618C1.20933 13.7055 0.5 11.5183 0.5 9.10032V3.34657L8 0.538818L15.5 3.34657V9.10032C15.5 11.5183 14.7907 13.7055 13.372 15.6618C11.9535 17.6182 10.1628 18.8912 8 19.4811ZM8 17.9003C9.73333 17.3503 11.1667 16.2503 12.3 14.6003C13.4333 12.9503 14 11.117 14 9.10032V4.37532L8 2.13482L2 4.37532V9.10032C2 11.117 2.56667 12.9503 3.7 14.6003C4.83333 16.2503 6.26667 17.3503 8 17.9003Z\"\n fill=\"#02A8A2\"\n />\n</svg>`\n\nexport const ICON_SETTING_ENVIRONMENT = `\n<svg width=\"17\" height=\"17\" viewBox=\"0 0 17 17\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M2.74625 14.2493C2.04108 13.541 1.49042 12.7265 1.09425 11.8058C0.698083 10.8852 0.5 9.93334 0.5 8.95034C0.5 7.9645 0.688833 6.98633 1.0665 6.01583C1.444 5.04533 2.05392 4.13892 2.89625 3.29658C3.50525 2.68758 4.26775 2.18592 5.18375 1.79159C6.09975 1.39742 7.13725 1.09717 8.29625 0.890835C9.45525 0.684335 10.7183 0.564085 12.0855 0.530085C13.4528 0.496252 14.8872 0.540169 16.3885 0.661835C16.4962 2.09517 16.533 3.48784 16.499 4.83984C16.465 6.19167 16.3468 7.45217 16.1443 8.62134C15.9416 9.79067 15.6458 10.8436 15.2568 11.7801C14.8676 12.7166 14.3666 13.4913 13.7538 14.1041C12.9281 14.9363 12.0451 15.5437 11.1048 15.9263C10.1644 16.309 9.212 16.5003 8.2475 16.5003C7.23633 16.5003 6.24292 16.3023 5.26725 15.9061C4.29158 15.5099 3.45125 14.9577 2.74625 14.2493ZM4.9885 14.0848C5.491 14.4003 6.02208 14.6318 6.58175 14.7791C7.14142 14.9266 7.6975 15.0003 8.25 15.0003C9.021 15.0003 9.78358 14.8478 10.5378 14.5426C11.2921 14.2374 12.0077 13.74 12.6845 13.0503C12.9833 12.7503 13.2863 12.3295 13.5935 11.7878C13.9005 11.2462 14.1661 10.5378 14.3903 9.66284C14.6144 8.78784 14.7846 7.7295 14.9008 6.48783C15.0169 5.24617 15.0398 3.767 14.9693 2.05033C14.1526 2.017 13.2285 2.00767 12.197 2.02234C11.1657 2.03717 10.1368 2.12117 9.1105 2.27434C8.08433 2.4275 7.1145 2.66759 6.201 2.99459C5.2875 3.32142 4.54867 3.76692 3.9845 4.33108C3.241 5.07475 2.72433 5.82767 2.4345 6.58983C2.14483 7.352 2 8.07475 2 8.75809C2 9.70292 2.18433 10.5574 2.553 11.3216C2.9215 12.0856 3.30508 12.6528 3.70375 13.0233C4.26275 11.767 5.04833 10.5616 6.0605 9.40708C7.07267 8.25258 8.35508 7.24525 9.90775 6.38509C8.73325 7.40942 7.72742 8.53442 6.89025 9.76009C6.05308 10.9856 5.41917 12.4272 4.9885 14.0848Z\"\n fill=\"#02A8A2\"\n />\n</svg>`\n\nexport const ICON_SETTING_PRODUCTIVITY = `\n<svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M14.8845 19.5002C13.6102 19.5002 12.5224 19.0496 11.6213 18.1482C10.7199 17.2471 10.2693 16.1592 10.2693 14.8847C10.2693 13.6104 10.7199 12.5227 11.6213 11.6215C12.5224 10.7202 13.6102 10.2695 14.8845 10.2695C16.159 10.2695 17.2468 10.7202 18.148 11.6215C19.0493 12.5227 19.5 13.6104 19.5 14.8847C19.5 16.1592 19.0493 17.2471 18.148 18.1482C17.2468 19.0496 16.159 19.5002 14.8845 19.5002ZM16.9115 16.8715C16.9885 16.7882 17.0078 16.6945 16.9693 16.5905C16.9308 16.4867 16.8596 16.4264 16.7558 16.4097C16.3544 16.3392 15.9807 16.1912 15.6345 15.9655C15.2883 15.74 15.0083 15.44 14.7943 15.0655C14.5801 14.6912 14.4589 14.2982 14.4308 13.8867C14.4026 13.4752 14.4603 13.0772 14.6038 12.6925C14.6371 12.5887 14.6179 12.4942 14.5463 12.409C14.4744 12.3237 14.3866 12.2945 14.2828 12.3215C13.2494 12.5087 12.5462 13.0939 12.173 14.0772C11.8 15.0606 11.9513 15.9753 12.627 16.8215C13.1653 17.497 13.8727 17.8431 14.749 17.8597C15.6253 17.8764 16.3462 17.547 16.9115 16.8715ZM7.69225 19.5002L7.3115 16.454C7.04367 16.3643 6.769 16.2387 6.4875 16.0772C6.20617 15.9156 5.95459 15.7425 5.73275 15.558L2.9115 16.7502L0.604004 12.7502L3.04425 10.906C3.02125 10.7573 3.00492 10.608 2.99525 10.458C2.98559 10.308 2.98075 10.1586 2.98075 10.0097C2.98075 9.86758 2.98559 9.72308 2.99525 9.57624C3.00492 9.42941 3.02125 9.26883 3.04425 9.09449L0.604004 7.25024L2.9115 3.26949L5.723 4.45224C5.96417 4.26124 6.22159 4.08658 6.49525 3.92824C6.76892 3.76991 7.03784 3.64266 7.302 3.54649L7.69225 0.500244H12.3078L12.6885 3.55599C12.9885 3.66499 13.2599 3.79224 13.5028 3.93774C13.7458 4.08324 13.991 4.25474 14.2385 4.45224L17.0885 3.26949L19.396 7.25024L17.546 8.65024C17.2627 8.52458 16.9727 8.41691 16.676 8.32724C16.3792 8.23741 16.0686 8.17074 15.7443 8.12724L17.4345 6.85024L16.45 5.15024L13.9365 6.20974C13.6018 5.85208 13.2009 5.53608 12.7338 5.26174C12.2664 4.98741 11.7937 4.79316 11.3155 4.67899L11 2.00024H9.0155L8.6845 4.66949C8.17434 4.78999 7.70325 4.97458 7.27125 5.22324C6.83909 5.47208 6.42684 5.79258 6.0345 6.18474L3.55 5.15024L2.5655 6.85024L4.725 8.45974C4.64167 8.69708 4.58334 8.94391 4.55 9.20024C4.51667 9.45658 4.5 9.72641 4.5 10.0097C4.5 10.2701 4.51667 10.5252 4.55 10.7752C4.58334 11.0252 4.6385 11.2721 4.7155 11.5157L2.5655 13.1502L3.55 14.8502L6.025 13.8002C6.3275 14.1027 6.64767 14.3665 6.9855 14.5915C7.32334 14.8165 7.69034 15.0008 8.0865 15.1445C8.116 15.9855 8.291 16.7778 8.6115 17.5215C8.932 18.265 9.36084 18.9246 9.898 19.5002H7.69225ZM8.4865 12.5925C8.56734 12.3425 8.66259 12.1034 8.77225 11.8752C8.88175 11.6471 9.00575 11.4266 9.14425 11.2137C8.94809 11.0804 8.79359 10.908 8.68075 10.6965C8.56792 10.4848 8.5115 10.2527 8.5115 10.0002C8.5115 9.58358 8.65734 9.22941 8.949 8.93774C9.24067 8.64608 9.59484 8.50024 10.0115 8.50024C10.2577 8.50024 10.4907 8.55758 10.7105 8.67224C10.9305 8.78708 11.1072 8.94258 11.2405 9.13874C11.4532 9.00024 11.6727 8.87783 11.899 8.77149C12.1253 8.66499 12.3603 8.57649 12.6038 8.50599C12.3486 8.04966 11.9913 7.68458 11.5318 7.41074C11.0721 7.13708 10.5653 7.00024 10.0115 7.00024C9.16917 7.00024 8.45859 7.29224 7.87975 7.87624C7.30092 8.46024 7.0115 9.16824 7.0115 10.0002C7.0115 10.5502 7.14325 11.056 7.40675 11.5175C7.67025 11.979 8.03017 12.3373 8.4865 12.5925Z\"\n fill=\"#02A8A2\"\n />\n</svg>`\n\nfunction icons(template) {\n return ['#ffffff', '#64A3D9'].map(\n color => 'data:image/svg+xml;charset=UTF-8;base64,' + btoa(template.replace(/{{strokecolor}}/g, color))\n )\n}\n\nexport const ICONS_HOME = icons(ICON_HOME)\nexport const ICONS_KPIS = icons(ICON_KPIS)\nexport const ICONS_STATUS = icons(ICON_STATUS)\nexport const ICONS_INTEGRATION = icons(ICON_INTEGRATION)\nexport const ICONS_SETTING = icons(ICON_SETTING)\n"]}
@@ -0,0 +1,12 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class SvProjectCompleteTab1Plan extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ data: any;
5
+ project: any;
6
+ render(): import("lit-html").TemplateResult<1>;
7
+ private _onInputChange;
8
+ private _getDiffClass;
9
+ private _getDisplay;
10
+ private _saveAndMove;
11
+ private _reset;
12
+ }
@@ -0,0 +1,274 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { css, html, LitElement } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import { calcDiff, calcDateDiff } from '../../shared/func';
5
+ let SvProjectCompleteTab1Plan = class SvProjectCompleteTab1Plan extends LitElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.data = {};
9
+ this.project = {};
10
+ }
11
+ render() {
12
+ var _a;
13
+ const project = this.project;
14
+ const buildingComplex = (_a = this.project) === null || _a === void 0 ? void 0 : _a.buildingComplex;
15
+ const data = this.data;
16
+ const startDateDiff = calcDateDiff(project.startDate, this.data.actualStartDate);
17
+ const endDateDiff = calcDateDiff(project.endDate, this.data.actualEndDate);
18
+ const coverageRatioDiff = calcDiff(buildingComplex === null || buildingComplex === void 0 ? void 0 : buildingComplex.coverageRatio, this.data.actualCoverageRatio);
19
+ const floorAreaRatioDiff = calcDiff(buildingComplex === null || buildingComplex === void 0 ? void 0 : buildingComplex.floorAreaRatio, this.data.actualFloorAreaRatio);
20
+ const workerCountDiff = calcDiff(buildingComplex === null || buildingComplex === void 0 ? void 0 : buildingComplex.workerCount, this.data.actualWorkerCount);
21
+ const designChangeCountDiff = calcDiff(buildingComplex === null || buildingComplex === void 0 ? void 0 : buildingComplex.designChangeCount, this.data.actualDesignChangeCount);
22
+ const constructionCostDiff = calcDiff(buildingComplex === null || buildingComplex === void 0 ? void 0 : buildingComplex.constructionCost, this.data.actualConstructionCost);
23
+ const areaDiff = calcDiff(buildingComplex === null || buildingComplex === void 0 ? void 0 : buildingComplex.area, this.data.actualArea);
24
+ return html `
25
+ <div class="title">
26
+ <div>
27
+ 당초 계획 대비 실제 진행 과정에서 변동된 공사비, 공기(공사기간), 면적, 기타 주요 항목을 현실에 맞게 수정·입력합니다.
28
+ <br />이 정보는 성과 분석, KPI 평가, 통계 산출 등에 기준값으로 사용되므로, 가능한 한 실제 값 기준으로 정확히
29
+ 입력해주시기 바랍니다.
30
+ </div>
31
+ </div>
32
+
33
+ <div class="rows">
34
+ <div class="row header">
35
+ <div class="header-label">기본정보</div>
36
+ <div class="header-label">계획</div>
37
+ <div class="header-label">실제</div>
38
+ <div class="header-label">편차</div>
39
+ </div>
40
+
41
+ <div class="row">
42
+ <div class="label">• 공사 시작일</div>
43
+ <div class="cell"><input .value=${project.startDate} disabled /> 일</div>
44
+ <div class="cell">
45
+ <input type="date" name="actualStartDate" .value=${data.actualStartDate} @input=${this._onInputChange} />
46
+
47
+ </div>
48
+ <div class="unit ${this._getDiffClass(startDateDiff)}">${this._getDisplay(startDateDiff)} 일</div>
49
+ </div>
50
+
51
+ <div class="row">
52
+ <div class="label">• 공사 종료일</div>
53
+ <div class="cell"><input .value=${project.endDate} disabled /> 일</div>
54
+ <div class="cell">
55
+ <input type="date" name="actualEndDate" .value=${data.actualEndDate} @input=${this._onInputChange} />
56
+
57
+ </div>
58
+ <div class="unit ${this._getDiffClass(endDateDiff)}">${this._getDisplay(endDateDiff)} 일</div>
59
+ </div>
60
+
61
+ <div class="row">
62
+ <div class="label">• 건폐율</div>
63
+ <div class="cell"><input .value=${(buildingComplex === null || buildingComplex === void 0 ? void 0 : buildingComplex.coverageRatio) || ''} disabled /> %</div>
64
+ <div class="cell">
65
+ <input name="actualCoverageRatio" numeric .value=${data.actualCoverageRatio || ''} @input=${this._onInputChange} />
66
+ %
67
+ </div>
68
+ <div class="unit ${this._getDiffClass(coverageRatioDiff)}">${this._getDisplay(coverageRatioDiff)} %</div>
69
+ </div>
70
+
71
+ <div class="row">
72
+ <div class="label">• 용적률</div>
73
+ <div class="cell"><input .value=${(buildingComplex === null || buildingComplex === void 0 ? void 0 : buildingComplex.floorAreaRatio) || ''} disabled /> %</div>
74
+ <div class="cell">
75
+ <input name="actualFloorAreaRatio" numeric .value=${data.actualFloorAreaRatio || ''} @input=${this._onInputChange} />
76
+ %
77
+ </div>
78
+ <div class="unit ${this._getDiffClass(floorAreaRatioDiff)}">${this._getDisplay(floorAreaRatioDiff)} %</div>
79
+ </div>
80
+
81
+ <div class="row">
82
+ <div class="label">• 투입인력</div>
83
+ <div class="cell"><input .value=${(buildingComplex === null || buildingComplex === void 0 ? void 0 : buildingComplex.workerCount) || ''} disabled /> 명</div>
84
+ <div class="cell">
85
+ <input name="actualWorkerCount" numeric .value=${data.actualWorkerCount || ''} @input=${this._onInputChange} />
86
+
87
+ </div>
88
+ <div class="unit ${this._getDiffClass(workerCountDiff)}">${this._getDisplay(workerCountDiff)} 명</div>
89
+ </div>
90
+
91
+ <div class="row">
92
+ <div class="label">• 설계변경</div>
93
+ <div class="cell"><input .value=${(buildingComplex === null || buildingComplex === void 0 ? void 0 : buildingComplex.designChangeCount) || ''} disabled /> 회</div>
94
+ <div class="cell">
95
+ <input
96
+ name="actualDesignChangeCount"
97
+ numeric
98
+ .value=${data.actualDesignChangeCount || ''}
99
+ @input=${this._onInputChange}
100
+ />
101
+
102
+ </div>
103
+ <div class="unit ${this._getDiffClass(designChangeCountDiff)}">${this._getDisplay(designChangeCountDiff)} 회</div>
104
+ </div>
105
+
106
+ <div class="row">
107
+ <div class="label">• 공사비</div>
108
+ <div class="cell"><input .value=${(buildingComplex === null || buildingComplex === void 0 ? void 0 : buildingComplex.constructionCost) || ''} disabled /> 원</div>
109
+ <div class="cell">
110
+ <input
111
+ name="actualConstructionCost"
112
+ numeric
113
+ .value=${data.actualConstructionCost || ''}
114
+ @input=${this._onInputChange}
115
+ />
116
+
117
+ </div>
118
+ <div class="unit ${this._getDiffClass(constructionCostDiff)}">${this._getDisplay(constructionCostDiff)} 원</div>
119
+ </div>
120
+
121
+ <div class="row">
122
+ <div class="label">• 연면적</div>
123
+ <div class="cell"><input .value=${(buildingComplex === null || buildingComplex === void 0 ? void 0 : buildingComplex.area) || ''} disabled /> ㎡</div>
124
+ <div class="cell">
125
+ <input name="actualArea" numeric .value=${data.actualArea || ''} @input=${this._onInputChange} />
126
+
127
+ </div>
128
+ <div class="unit ${this._getDiffClass(areaDiff)}">${this._getDisplay(areaDiff)} ㎡</div>
129
+ </div>
130
+
131
+ <div class="button-line">
132
+ <div class="ghost-btn" @click=${this._reset}>초기화</div>
133
+ <div class="ghost-btn" @click=${() => this._saveAndMove()}>저장 & 다음</div>
134
+ </div>
135
+ </div>
136
+ `;
137
+ }
138
+ // Input 요소의 값이 변경될 때 호출되는 콜백 함수
139
+ _onInputChange(event, idx) {
140
+ const target = event.target;
141
+ let inputVal = target.value;
142
+ // 숫자 타입은 다른 문자 입력 제거
143
+ if (target.hasAttribute('numeric')) {
144
+ inputVal = Number(inputVal.replace(/[^\d.]/g, ''));
145
+ }
146
+ this.data = Object.assign(Object.assign({}, this.data), { [target.name]: inputVal });
147
+ this.dispatchEvent(new CustomEvent('complete-data-change', { detail: { tab: 1, data: this.data } }));
148
+ }
149
+ _getDiffClass(diff) {
150
+ return diff === 0 ? '' : diff > 0 ? 'plus' : 'minus';
151
+ }
152
+ _getDisplay(value) {
153
+ const sign = value === 0 ? '' : value > 0 ? '+' : '-';
154
+ return `${sign} ${Math.abs(value).toLocaleString()}`;
155
+ }
156
+ _saveAndMove() {
157
+ this.dispatchEvent(new CustomEvent('complete-tab-change', { detail: { toTab: 2, data: this.data } }));
158
+ }
159
+ _reset() {
160
+ this.data = {};
161
+ this.dispatchEvent(new CustomEvent('complete-tab-reset', { detail: { tab: 1 }, bubbles: true, composed: true }));
162
+ }
163
+ };
164
+ SvProjectCompleteTab1Plan.styles = [
165
+ css `
166
+ :host {
167
+ display: block;
168
+ }
169
+ .title {
170
+ color: #212529;
171
+ font-size: 13px;
172
+ font-weight: 400;
173
+ line-height: 24px;
174
+ text-align: center;
175
+ }
176
+
177
+ .rows {
178
+ display: flex;
179
+ flex-direction: column;
180
+ padding: 8px 6px;
181
+ }
182
+ .row.header {
183
+ min-height: 35px;
184
+ background: #f3f3fa;
185
+ border-top: 2px #0c4da2 solid;
186
+ grid-template-columns: 220px 1fr 1fr 200px;
187
+ padding: 0px 25px;
188
+
189
+ .header-label {
190
+ color: #212529;
191
+ text-align: center;
192
+ }
193
+ }
194
+ .row {
195
+ display: grid;
196
+ grid-template-columns: 220px 1fr 1fr 200px;
197
+ gap: 6px 10px;
198
+ align-items: center;
199
+ padding: 8px 25px;
200
+ border-bottom: 1px rgba(0, 0, 0, 0.1) solid;
201
+
202
+ .cell {
203
+ display: flex;
204
+ align-items: center;
205
+ justify-content: center;
206
+ }
207
+ }
208
+ .label {
209
+ color: #35618e;
210
+ font-size: 16px;
211
+ letter-spacing: -0.05em;
212
+ white-space: nowrap;
213
+ display: flex;
214
+ justify-content: center;
215
+ }
216
+ input {
217
+ padding: 6px 8px;
218
+ border: 1px solid rgba(0, 0, 0, 0.1);
219
+ border-radius: 5px;
220
+ background: #ffffff;
221
+ color: #212529;
222
+ font-size: 16px;
223
+ margin-right: 5px;
224
+
225
+ &:disabled {
226
+ background: #f6f6f6;
227
+ }
228
+ }
229
+ .unit {
230
+ text-align: center;
231
+ color: #212529;
232
+ }
233
+ .plus {
234
+ color: #e13232;
235
+ font-weight: 700;
236
+ }
237
+ .minus {
238
+ color: #1e88e5;
239
+ font-weight: 700;
240
+ }
241
+ .button-line {
242
+ display: flex;
243
+ justify-content: center;
244
+ gap: 10px;
245
+ margin-top: 16px;
246
+ }
247
+ .ghost-btn {
248
+ display: inline-flex;
249
+ align-items: center;
250
+ gap: 6px;
251
+ padding: 6px 10px;
252
+ background: #35618e;
253
+ color: #ffffff;
254
+ border-radius: 5px;
255
+ cursor: pointer;
256
+ }
257
+ .ghost-btn.secondary {
258
+ background: #7a91ac;
259
+ }
260
+ `
261
+ ];
262
+ __decorate([
263
+ property({ type: Object }),
264
+ __metadata("design:type", Object)
265
+ ], SvProjectCompleteTab1Plan.prototype, "data", void 0);
266
+ __decorate([
267
+ property({ type: Object }),
268
+ __metadata("design:type", Object)
269
+ ], SvProjectCompleteTab1Plan.prototype, "project", void 0);
270
+ SvProjectCompleteTab1Plan = __decorate([
271
+ customElement('sv-pc-tab1-plan')
272
+ ], SvProjectCompleteTab1Plan);
273
+ export { SvProjectCompleteTab1Plan };
274
+ //# sourceMappingURL=pc-tab1-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pc-tab1-plan.js","sourceRoot":"","sources":["../../../client/pages/project-complete-tabs/pc-tab1-plan.ts"],"names":[],"mappings":"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","sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { calcDiff, calcDateDiff } from '../../shared/func'\n\n@customElement('sv-pc-tab1-plan')\nexport class SvProjectCompleteTab1Plan extends LitElement {\n static styles = [\n css`\n :host {\n display: block;\n }\n .title {\n color: #212529;\n font-size: 13px;\n font-weight: 400;\n line-height: 24px;\n text-align: center;\n }\n\n .rows {\n display: flex;\n flex-direction: column;\n padding: 8px 6px;\n }\n .row.header {\n min-height: 35px;\n background: #f3f3fa;\n border-top: 2px #0c4da2 solid;\n grid-template-columns: 220px 1fr 1fr 200px;\n padding: 0px 25px;\n\n .header-label {\n color: #212529;\n text-align: center;\n }\n }\n .row {\n display: grid;\n grid-template-columns: 220px 1fr 1fr 200px;\n gap: 6px 10px;\n align-items: center;\n padding: 8px 25px;\n border-bottom: 1px rgba(0, 0, 0, 0.1) solid;\n\n .cell {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n }\n .label {\n color: #35618e;\n font-size: 16px;\n letter-spacing: -0.05em;\n white-space: nowrap;\n display: flex;\n justify-content: center;\n }\n input {\n padding: 6px 8px;\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 5px;\n background: #ffffff;\n color: #212529;\n font-size: 16px;\n margin-right: 5px;\n\n &:disabled {\n background: #f6f6f6;\n }\n }\n .unit {\n text-align: center;\n color: #212529;\n }\n .plus {\n color: #e13232;\n font-weight: 700;\n }\n .minus {\n color: #1e88e5;\n font-weight: 700;\n }\n .button-line {\n display: flex;\n justify-content: center;\n gap: 10px;\n margin-top: 16px;\n }\n .ghost-btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 10px;\n background: #35618e;\n color: #ffffff;\n border-radius: 5px;\n cursor: pointer;\n }\n .ghost-btn.secondary {\n background: #7a91ac;\n }\n `\n ]\n\n @property({ type: Object }) data: any = {}\n @property({ type: Object }) project: any = {}\n\n render() {\n const project = this.project\n const buildingComplex = this.project?.buildingComplex\n const data = this.data\n\n const startDateDiff = calcDateDiff(project.startDate, this.data.actualStartDate)\n const endDateDiff = calcDateDiff(project.endDate, this.data.actualEndDate)\n const coverageRatioDiff = calcDiff(buildingComplex?.coverageRatio as any, this.data.actualCoverageRatio)\n const floorAreaRatioDiff = calcDiff(buildingComplex?.floorAreaRatio as any, this.data.actualFloorAreaRatio)\n const workerCountDiff = calcDiff(buildingComplex?.workerCount as any, this.data.actualWorkerCount)\n const designChangeCountDiff = calcDiff(buildingComplex?.designChangeCount as any, this.data.actualDesignChangeCount)\n const constructionCostDiff = calcDiff(buildingComplex?.constructionCost as any, this.data.actualConstructionCost)\n const areaDiff = calcDiff(buildingComplex?.area as any, this.data.actualArea)\n\n return html`\n <div class=\"title\">\n <div>\n 당초 계획 대비 실제 진행 과정에서 변동된 공사비, 공기(공사기간), 면적, 기타 주요 항목을 현실에 맞게 수정·입력합니다.\n <br />이 정보는 성과 분석, KPI 평가, 통계 산출 등에 기준값으로 사용되므로, 가능한 한 실제 값 기준으로 정확히\n 입력해주시기 바랍니다.\n </div>\n </div>\n\n <div class=\"rows\">\n <div class=\"row header\">\n <div class=\"header-label\">기본정보</div>\n <div class=\"header-label\">계획</div>\n <div class=\"header-label\">실제</div>\n <div class=\"header-label\">편차</div>\n </div>\n\n <div class=\"row\">\n <div class=\"label\">• 공사 시작일</div>\n <div class=\"cell\"><input .value=${project.startDate} disabled /> 일</div>\n <div class=\"cell\">\n <input type=\"date\" name=\"actualStartDate\" .value=${data.actualStartDate} @input=${this._onInputChange} />\n 일\n </div>\n <div class=\"unit ${this._getDiffClass(startDateDiff)}\">${this._getDisplay(startDateDiff)} 일</div>\n </div>\n\n <div class=\"row\">\n <div class=\"label\">• 공사 종료일</div>\n <div class=\"cell\"><input .value=${project.endDate} disabled /> 일</div>\n <div class=\"cell\">\n <input type=\"date\" name=\"actualEndDate\" .value=${data.actualEndDate} @input=${this._onInputChange} />\n 일\n </div>\n <div class=\"unit ${this._getDiffClass(endDateDiff)}\">${this._getDisplay(endDateDiff)} 일</div>\n </div>\n\n <div class=\"row\">\n <div class=\"label\">• 건폐율</div>\n <div class=\"cell\"><input .value=${buildingComplex?.coverageRatio || ''} disabled /> %</div>\n <div class=\"cell\">\n <input name=\"actualCoverageRatio\" numeric .value=${data.actualCoverageRatio || ''} @input=${this._onInputChange} />\n %\n </div>\n <div class=\"unit ${this._getDiffClass(coverageRatioDiff)}\">${this._getDisplay(coverageRatioDiff)} %</div>\n </div>\n\n <div class=\"row\">\n <div class=\"label\">• 용적률</div>\n <div class=\"cell\"><input .value=${buildingComplex?.floorAreaRatio || ''} disabled /> %</div>\n <div class=\"cell\">\n <input name=\"actualFloorAreaRatio\" numeric .value=${data.actualFloorAreaRatio || ''} @input=${this._onInputChange} />\n %\n </div>\n <div class=\"unit ${this._getDiffClass(floorAreaRatioDiff)}\">${this._getDisplay(floorAreaRatioDiff)} %</div>\n </div>\n\n <div class=\"row\">\n <div class=\"label\">• 투입인력</div>\n <div class=\"cell\"><input .value=${buildingComplex?.workerCount || ''} disabled /> 명</div>\n <div class=\"cell\">\n <input name=\"actualWorkerCount\" numeric .value=${data.actualWorkerCount || ''} @input=${this._onInputChange} />\n 명\n </div>\n <div class=\"unit ${this._getDiffClass(workerCountDiff)}\">${this._getDisplay(workerCountDiff)} 명</div>\n </div>\n\n <div class=\"row\">\n <div class=\"label\">• 설계변경</div>\n <div class=\"cell\"><input .value=${buildingComplex?.designChangeCount || ''} disabled /> 회</div>\n <div class=\"cell\">\n <input\n name=\"actualDesignChangeCount\"\n numeric\n .value=${data.actualDesignChangeCount || ''}\n @input=${this._onInputChange}\n />\n 회\n </div>\n <div class=\"unit ${this._getDiffClass(designChangeCountDiff)}\">${this._getDisplay(designChangeCountDiff)} 회</div>\n </div>\n\n <div class=\"row\">\n <div class=\"label\">• 공사비</div>\n <div class=\"cell\"><input .value=${buildingComplex?.constructionCost || ''} disabled /> 원</div>\n <div class=\"cell\">\n <input\n name=\"actualConstructionCost\"\n numeric\n .value=${data.actualConstructionCost || ''}\n @input=${this._onInputChange}\n />\n 원\n </div>\n <div class=\"unit ${this._getDiffClass(constructionCostDiff)}\">${this._getDisplay(constructionCostDiff)} 원</div>\n </div>\n\n <div class=\"row\">\n <div class=\"label\">• 연면적</div>\n <div class=\"cell\"><input .value=${buildingComplex?.area || ''} disabled /> ㎡</div>\n <div class=\"cell\">\n <input name=\"actualArea\" numeric .value=${data.actualArea || ''} @input=${this._onInputChange} />\n ㎡\n </div>\n <div class=\"unit ${this._getDiffClass(areaDiff)}\">${this._getDisplay(areaDiff)} ㎡</div>\n </div>\n\n <div class=\"button-line\">\n <div class=\"ghost-btn\" @click=${this._reset}>초기화</div>\n <div class=\"ghost-btn\" @click=${() => this._saveAndMove()}>저장 & 다음</div>\n </div>\n </div>\n `\n }\n\n // Input 요소의 값이 변경될 때 호출되는 콜백 함수\n private _onInputChange(event: InputEvent, idx: number) {\n const target = event.target as HTMLInputElement\n let inputVal: any = target.value\n\n // 숫자 타입은 다른 문자 입력 제거\n if (target.hasAttribute('numeric')) {\n inputVal = Number(inputVal.replace(/[^\\d.]/g, ''))\n }\n\n this.data = { ...this.data, [target.name]: inputVal }\n this.dispatchEvent(new CustomEvent('complete-data-change', { detail: { tab: 1, data: this.data } }))\n }\n\n private _getDiffClass(diff: number) {\n return diff === 0 ? '' : diff > 0 ? 'plus' : 'minus'\n }\n\n private _getDisplay(value: number) {\n const sign = value === 0 ? '' : value > 0 ? '+' : '-'\n return `${sign} ${Math.abs(value).toLocaleString()}`\n }\n\n private _saveAndMove() {\n this.dispatchEvent(new CustomEvent('complete-tab-change', { detail: { toTab: 2, data: this.data } }))\n }\n\n private _reset() {\n this.data = {}\n this.dispatchEvent(new CustomEvent('complete-tab-reset', { detail: { tab: 1 }, bubbles: true, composed: true }))\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class SvProjectCompleteTab2Final extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ data: any;
5
+ kpiCategories: any;
6
+ render(): import("lit-html").TemplateResult<1>;
7
+ private _onInputChange;
8
+ private _onChange;
9
+ private _saveAndMove;
10
+ private _reset;
11
+ }