@policystudio/policy-studio-ui-vue 1.1.90-beta.12 → 1.1.90-beta.17

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 (224) hide show
  1. package/.eslintrc.js +2 -1
  2. package/.github/workflows/deploy-storybook.yml +4 -4
  3. package/.nvmrc +1 -0
  4. package/dist/css/psui_styles_output.css +6986 -0
  5. package/package.json +9 -23
  6. package/src/assets/scss/components/PsDataTable.scss +1 -1
  7. package/src/components/accordion/PsAccordionItem.vue +75 -75
  8. package/src/components/badges-and-tags/PsBadgeWithIcon.vue +31 -34
  9. package/src/components/badges-and-tags/PsCardInfos.vue +40 -41
  10. package/src/components/badges-and-tags/PsChartLegend.vue +47 -51
  11. package/src/components/badges-and-tags/PsClimateZoneBadge.vue +14 -19
  12. package/src/components/badges-and-tags/PsCostEffectBar.vue +24 -56
  13. package/src/components/badges-and-tags/PsDateCardInfo.vue +17 -18
  14. package/src/components/badges-and-tags/PsHighlightRippleDot.vue +3 -2
  15. package/src/components/badges-and-tags/PsMiniTag.vue +39 -41
  16. package/src/components/badges-and-tags/PsProgressBar.vue +72 -68
  17. package/src/components/badges-and-tags/PsTagScope.vue +17 -22
  18. package/src/components/badges-and-tags/PsTestimonialCard.vue +20 -26
  19. package/src/components/buttons/PsButton.vue +61 -62
  20. package/src/components/chips/PsChips.vue +98 -101
  21. package/src/components/controls/PsCheckbox.vue +84 -84
  22. package/src/components/controls/PsCheckboxSimple.vue +95 -95
  23. package/src/components/controls/PsDraggable.vue +53 -55
  24. package/src/components/controls/PsInlineSelector.vue +99 -99
  25. package/src/components/controls/PsRadioButton.vue +59 -58
  26. package/src/components/controls/PsRadioButtonSimple.vue +79 -75
  27. package/src/components/controls/PsSlider.vue +185 -176
  28. package/src/components/controls/PsSwitch.vue +51 -52
  29. package/src/components/controls/PsToggle.vue +53 -50
  30. package/src/components/data-graphics/PsBarChart.vue +19 -21
  31. package/src/components/datatable/PsDataTable.vue +56 -60
  32. package/src/components/datatable/PsDataTableItem.vue +14 -28
  33. package/src/components/forms/PsDropdown.vue +164 -162
  34. package/src/components/forms/PsDropdownList.vue +132 -129
  35. package/src/components/forms/PsInput.vue +155 -153
  36. package/src/components/forms/PsInputSelect.vue +91 -92
  37. package/src/components/forms/PsInputTextArea.vue +71 -71
  38. package/src/components/navigations/PsBreadcrumb.vue +26 -34
  39. package/src/components/notifications/PsDialog.vue +57 -56
  40. package/src/components/notifications/PsSimpleAlert.vue +28 -29
  41. package/src/components/notifications/PsToast.vue +40 -39
  42. package/src/components/table-results/PsTableResults.vue +452 -458
  43. package/src/components/table-results/PsTableResultsBody.vue +66 -67
  44. package/src/components/table-results/PsTableResultsHead.vue +62 -56
  45. package/src/components/table-results/PsTableResultsHeadComparison.vue +62 -56
  46. package/src/components/table-results/PsTableResultsHeadFlexible.vue +63 -56
  47. package/src/components/table-results/PsTableResultsRow.vue +55 -56
  48. package/src/components/tabs/PsTabHeader.vue +106 -100
  49. package/src/components/tooltip/PsDialogTooltip.vue +96 -101
  50. package/src/components/tooltip/PsRichTooltip.vue +42 -45
  51. package/src/components/tooltip/PsTooltip.vue +111 -116
  52. package/src/components/ui/PsDotLoader.vue +1 -5
  53. package/src/components/ui/PsIcon.vue +126 -129
  54. package/src/index.ts +57 -71
  55. package/src/tsconfig.json +12 -0
  56. package/src/{shims-vue.d.ts → types/index.d.ts} +0 -5
  57. package/src/util/{GeneralFunctions.ts → GeneralFunctions.js} +0 -3
  58. package/src/util/directives.ts +24 -0
  59. package/src/util/eventBus.js +10 -0
  60. package/src/util/{imageLoader.ts → imageLoader.js} +7 -8
  61. package/tailwind.config.js +1 -1
  62. package/tsconfig.json +15 -17
  63. package/.storybook/PolicyStudio.ts +0 -11
  64. package/.storybook/eventBus.ts +0 -26
  65. package/.storybook/main.ts +0 -21
  66. package/.storybook/manager.ts +0 -7
  67. package/.storybook/preview.ts +0 -17
  68. package/dist/contents/ComparisonData.js +0 -376
  69. package/dist/contents/ComparisonData.js.map +0 -1
  70. package/dist/contents/FlexibleData.js +0 -501
  71. package/dist/contents/FlexibleData.js.map +0 -1
  72. package/dist/contents/ResultsData.js +0 -530
  73. package/dist/contents/ResultsData.js.map +0 -1
  74. package/dist/css/psui_styles.css +0 -4647
  75. package/dist/index.js +0 -114
  76. package/dist/index.js.map +0 -1
  77. package/dist/stories/Accordion.stories.js +0 -56
  78. package/dist/stories/Accordion.stories.js.map +0 -1
  79. package/dist/stories/BadgeWithIcon.stories.js +0 -28
  80. package/dist/stories/BadgeWithIcon.stories.js.map +0 -1
  81. package/dist/stories/BarChart.stories.js +0 -16
  82. package/dist/stories/BarChart.stories.js.map +0 -1
  83. package/dist/stories/Breadcrumb.stories.js +0 -21
  84. package/dist/stories/Breadcrumb.stories.js.map +0 -1
  85. package/dist/stories/Button.stories.js +0 -44
  86. package/dist/stories/Button.stories.js.map +0 -1
  87. package/dist/stories/CardInfos.stories.js +0 -13
  88. package/dist/stories/CardInfos.stories.js.map +0 -1
  89. package/dist/stories/ChartLegend.stories.js +0 -13
  90. package/dist/stories/ChartLegend.stories.js.map +0 -1
  91. package/dist/stories/Checkbox.stories.js +0 -44
  92. package/dist/stories/Checkbox.stories.js.map +0 -1
  93. package/dist/stories/CheckboxSimple.stories.js +0 -48
  94. package/dist/stories/CheckboxSimple.stories.js.map +0 -1
  95. package/dist/stories/Chips.stories.js +0 -27
  96. package/dist/stories/Chips.stories.js.map +0 -1
  97. package/dist/stories/ClimateZoneBadge.stories.js +0 -15
  98. package/dist/stories/ClimateZoneBadge.stories.js.map +0 -1
  99. package/dist/stories/CostEffectBar.stories.js +0 -21
  100. package/dist/stories/CostEffectBar.stories.js.map +0 -1
  101. package/dist/stories/Datatable.stories.js +0 -45
  102. package/dist/stories/Datatable.stories.js.map +0 -1
  103. package/dist/stories/DateCardInfo.stories.js +0 -18
  104. package/dist/stories/DateCardInfo.stories.js.map +0 -1
  105. package/dist/stories/Dialog.stories.js +0 -127
  106. package/dist/stories/Dialog.stories.js.map +0 -1
  107. package/dist/stories/Draggable.stories.js +0 -20
  108. package/dist/stories/Draggable.stories.js.map +0 -1
  109. package/dist/stories/Dropdown.stories.js +0 -98
  110. package/dist/stories/Dropdown.stories.js.map +0 -1
  111. package/dist/stories/DropdownList.stories.js +0 -208
  112. package/dist/stories/DropdownList.stories.js.map +0 -1
  113. package/dist/stories/Header.stories.js +0 -39
  114. package/dist/stories/Header.stories.js.map +0 -1
  115. package/dist/stories/HighlightRippleDot.stories.js +0 -13
  116. package/dist/stories/HighlightRippleDot.stories.js.map +0 -1
  117. package/dist/stories/Icon.stories.js +0 -19
  118. package/dist/stories/Icon.stories.js.map +0 -1
  119. package/dist/stories/InlineSelector.stories.js +0 -16
  120. package/dist/stories/InlineSelector.stories.js.map +0 -1
  121. package/dist/stories/Input.stories.js +0 -235
  122. package/dist/stories/Input.stories.js.map +0 -1
  123. package/dist/stories/InputSelect.stories.js +0 -28
  124. package/dist/stories/InputSelect.stories.js.map +0 -1
  125. package/dist/stories/InputTextArea.stories.js +0 -23
  126. package/dist/stories/InputTextArea.stories.js.map +0 -1
  127. package/dist/stories/MiniTag.stories.js +0 -44
  128. package/dist/stories/MiniTag.stories.js.map +0 -1
  129. package/dist/stories/Playground.stories.js +0 -14
  130. package/dist/stories/Playground.stories.js.map +0 -1
  131. package/dist/stories/ProgressBar.stories.js +0 -21
  132. package/dist/stories/ProgressBar.stories.js.map +0 -1
  133. package/dist/stories/RadioButton.stories.js +0 -36
  134. package/dist/stories/RadioButton.stories.js.map +0 -1
  135. package/dist/stories/RadioButtonSimple.stories.js +0 -40
  136. package/dist/stories/RadioButtonSimple.stories.js.map +0 -1
  137. package/dist/stories/SimpleAlert.stories.js +0 -19
  138. package/dist/stories/SimpleAlert.stories.js.map +0 -1
  139. package/dist/stories/Slider.stories.js +0 -70
  140. package/dist/stories/Slider.stories.js.map +0 -1
  141. package/dist/stories/Switch.stories.js +0 -35
  142. package/dist/stories/Switch.stories.js.map +0 -1
  143. package/dist/stories/TabHeader.stories.js +0 -48
  144. package/dist/stories/TabHeader.stories.js.map +0 -1
  145. package/dist/stories/TableResults.stories.js +0 -717
  146. package/dist/stories/TableResults.stories.js.map +0 -1
  147. package/dist/stories/TagScope.stories.js +0 -16
  148. package/dist/stories/TagScope.stories.js.map +0 -1
  149. package/dist/stories/TestimonialCard.stories.js +0 -24
  150. package/dist/stories/TestimonialCard.stories.js.map +0 -1
  151. package/dist/stories/Toast.stories.js +0 -51
  152. package/dist/stories/Toast.stories.js.map +0 -1
  153. package/dist/stories/Toggle.stories.js +0 -42
  154. package/dist/stories/Toggle.stories.js.map +0 -1
  155. package/dist/stories/Tooltip.stories.js +0 -108
  156. package/dist/stories/Tooltip.stories.js.map +0 -1
  157. package/dist/util/GeneralFunctions.js +0 -29
  158. package/dist/util/GeneralFunctions.js.map +0 -1
  159. package/dist/util/imageLoader.js +0 -52
  160. package/dist/util/imageLoader.js.map +0 -1
  161. package/postcss.config.js +0 -8
  162. package/src/assets/images/multifamily-units.svg +0 -10
  163. package/src/assets/images/policy-studio.svg +0 -15
  164. package/src/components/playground/PsScrollBar.vue +0 -320
  165. package/src/contents/ComparisonData.ts +0 -378
  166. package/src/contents/FlexibleData.ts +0 -502
  167. package/src/contents/ResultsData.ts +0 -531
  168. package/src/stories/Accordion.stories.ts +0 -59
  169. package/src/stories/BadgeWithIcon.stories.ts +0 -31
  170. package/src/stories/BarChart.stories.ts +0 -17
  171. package/src/stories/Breadcrumb.stories.ts +0 -22
  172. package/src/stories/Button.stories.ts +0 -48
  173. package/src/stories/Button.vue +0 -59
  174. package/src/stories/CardInfos.stories.ts +0 -15
  175. package/src/stories/ChartLegend.stories.ts +0 -15
  176. package/src/stories/Checkbox.stories.ts +0 -45
  177. package/src/stories/CheckboxSimple.stories.ts +0 -49
  178. package/src/stories/Chips.stories.ts +0 -33
  179. package/src/stories/ClimateZoneBadge.stories.ts +0 -18
  180. package/src/stories/Colors.mdx +0 -70
  181. package/src/stories/CostEffectBar.stories.ts +0 -24
  182. package/src/stories/Datatable.stories.ts +0 -53
  183. package/src/stories/DateCardInfo.stories.ts +0 -20
  184. package/src/stories/Dialog.stories.ts +0 -131
  185. package/src/stories/Draggable.stories.ts +0 -23
  186. package/src/stories/Dropdown.stories.ts +0 -100
  187. package/src/stories/DropdownList.stories.ts +0 -213
  188. package/src/stories/ElevationSystem.mdx +0 -41
  189. package/src/stories/Header.stories.ts +0 -42
  190. package/src/stories/Header.vue +0 -77
  191. package/src/stories/HighlightRippleDot.stories.ts +0 -16
  192. package/src/stories/Icon.stories.ts +0 -23
  193. package/src/stories/InlineSelector.stories.ts +0 -18
  194. package/src/stories/Input.stories.ts +0 -243
  195. package/src/stories/InputSelect.stories.ts +0 -31
  196. package/src/stories/InputTextArea.stories.ts +0 -25
  197. package/src/stories/Introduction.mdx +0 -211
  198. package/src/stories/MiniTag.stories.ts +0 -59
  199. package/src/stories/Playground.stories.ts +0 -16
  200. package/src/stories/ProgressBar.stories.ts +0 -24
  201. package/src/stories/RadioButton.stories.ts +0 -40
  202. package/src/stories/RadioButtonSimple.stories.ts +0 -43
  203. package/src/stories/SimpleAlert.stories.ts +0 -22
  204. package/src/stories/Slider.stories.ts +0 -79
  205. package/src/stories/Switch.stories.ts +0 -39
  206. package/src/stories/TabHeader.stories.ts +0 -57
  207. package/src/stories/TableResults.stories.ts +0 -728
  208. package/src/stories/TagScope.stories.ts +0 -17
  209. package/src/stories/TestimonialCard.stories.ts +0 -27
  210. package/src/stories/Toast.stories.ts +0 -52
  211. package/src/stories/Toggle.stories.ts +0 -48
  212. package/src/stories/Tooltip.stories.ts +0 -114
  213. package/src/stories/Typography.mdx +0 -212
  214. package/src/stories/assets/code-brackets.svg +0 -1
  215. package/src/stories/assets/colors.svg +0 -1
  216. package/src/stories/assets/comments.svg +0 -1
  217. package/src/stories/assets/direction.svg +0 -1
  218. package/src/stories/assets/flow.svg +0 -1
  219. package/src/stories/assets/plugin.svg +0 -1
  220. package/src/stories/assets/repo.svg +0 -1
  221. package/src/stories/assets/stackalt.svg +0 -1
  222. package/src/stories/button.css +0 -30
  223. package/src/stories/header.css +0 -32
  224. package/webpack.config.js +0 -36
@@ -1,502 +0,0 @@
1
- export const flexibleDataHeader = [
2
- {
3
- 'order': 0,
4
- 'key': 'measure_list',
5
- 'title': 'Measure List',
6
- 'columns': [
7
- {
8
- 'isActive': true,
9
- 'key': 'measures',
10
- 'title': 'Measures',
11
- 'description': null,
12
- 'isChart': true,
13
- 'hasHelper': {
14
- 'type': 'helper',
15
- 'id': 1
16
- }
17
- },
18
- {
19
- 'isActive': true,
20
- 'key': 'flexible_score',
21
- 'title': 'Flexible Score',
22
- 'description': 'annual energy savings',
23
- 'isChart': true,
24
- 'hasHelper': {
25
- 'type': 'helper',
26
- 'id': 1
27
- }
28
- },
29
- {
30
- 'isActive': true,
31
- 'key': 'mandatory',
32
- 'title': 'Mandatory',
33
- 'description': null,
34
- 'isChart': true,
35
- 'hasHelper': {
36
- 'type': 'helper',
37
- 'id': 1
38
- }
39
- }
40
- ],
41
- 'hasHelper': {
42
- 'type': 'helper',
43
- 'id': 23
44
- }
45
- },
46
- {
47
- 'order': 1,
48
- 'key': 'benefit_cost_ratios',
49
- 'title': 'Benefit/Cost Ratios',
50
- 'columns': [
51
- {
52
- 'isActive': true,
53
- 'key': 'onbill_benefit_to_cost_ratio',
54
- 'title': 'Onbill',
55
- 'description': '≥ 1.0 is cost effective',
56
- 'isChart': true,
57
- 'hasHelper': {
58
- 'type': 'helper',
59
- 'id': 1
60
- }
61
- },
62
- {
63
- 'isActive': true,
64
- 'key': 'tdv_benefit_to_cost_ratio',
65
- 'title': 'TDV',
66
- 'description': '≥ 1.0 is cost effective',
67
- 'isChart': true,
68
- 'hasHelper': {
69
- 'type': 'helper',
70
- 'id': 1
71
- }
72
- }
73
- ],
74
- 'hasHelper': {
75
- 'type': 'helper',
76
- 'id': 23
77
- }
78
- },
79
- {
80
- 'order': 2,
81
- 'key': 'per_home_results',
82
- 'title': 'Per Home Results',
83
- 'columns': [
84
- {
85
- 'isActive': true,
86
- 'key': 'forecast_initial_cost',
87
- 'title': 'Incremental Cost',
88
- 'description': null,
89
- 'hasProjections': true,
90
- 'hasHelper': {
91
- 'type': 'helper',
92
- 'id': 20
93
- },
94
- 'chartProjection': {
95
- 'title': 'Incremental Cost',
96
- 'subtitle': ''
97
- }
98
- },
99
- {
100
- 'isActive': true,
101
- 'key': 'annual_bill_savings',
102
- 'title': 'Annual Bill Savings',
103
- 'description': null,
104
- 'hasProjections': true,
105
- 'hasHelper': {
106
- 'type': 'helper',
107
- 'id': 18
108
- },
109
- 'chartProjection': {
110
- 'title': 'Annual Bill Savings',
111
- 'subtitle': 'MTCO2e'
112
- }
113
- },
114
- ],
115
- 'hasHelper': {
116
- 'type': 'helper',
117
- 'id': 25
118
- }
119
- }
120
- ]
121
-
122
- export const flexibleDataColumnGroup = [
123
- {
124
- 'order': 0,
125
- 'key': 'measure_list',
126
- 'title': 'Measure List',
127
- 'columns': [
128
- {
129
- 'isActive': true,
130
- 'key': 'flexible_score',
131
- 'title': 'Flexible Score',
132
- 'description': 'annual energy savings',
133
- 'isCenteredContent': true,
134
- 'isChart': false,
135
- 'hasScoreHelper': {
136
- 'type': 'tooltip',
137
- 'title': 'Packages don’t have a flexible score',
138
- 'description' : 'support text'
139
- },
140
- 'hasHelper': {
141
- 'type': 'helper',
142
- 'id': 1
143
- }
144
- },
145
- {
146
- 'isActive': true,
147
- 'key': 'mandatory',
148
- 'title': 'Mandatory',
149
- 'description': null,
150
- 'isCenteredContent': true,
151
- 'isSwitch': true,
152
- 'hasHelper': {
153
- 'type': 'helper',
154
- 'id': 1
155
- }
156
- }
157
- ],
158
- 'hasHelper': {
159
- 'type': 'helper',
160
- 'id': 23
161
- }
162
- },
163
- {
164
- 'order': 1,
165
- 'key': 'benefit_cost_ratios',
166
- 'title': 'Benefit/Cost Ratios',
167
- 'columns': [
168
- {
169
- 'isActive': true,
170
- 'key': 'onbill_benefit_to_cost_ratio',
171
- 'title': 'Onbill',
172
- 'description': '≥ 1.0 is cost effective',
173
- 'isChart': true,
174
- 'hasHelper': {
175
- 'type': 'helper',
176
- 'id': 1
177
- }
178
- },
179
- {
180
- 'isActive': true,
181
- 'key': 'tdv_benefit_to_cost_ratio',
182
- 'title': 'TDV',
183
- 'description': '≥ 1.0 is cost effective',
184
- 'isChart': true,
185
- 'hasHelper': {
186
- 'type': 'helper',
187
- 'id': 1
188
- }
189
- }
190
- ],
191
- 'hasHelper': {
192
- 'type': 'helper',
193
- 'id': 23
194
- }
195
- },
196
- {
197
- 'order': 2,
198
- 'key': 'per_home_results',
199
- 'title': 'Per Home Results',
200
- 'columns': [
201
- {
202
- 'isActive': true,
203
- 'key': 'forecast_initial_cost',
204
- 'title': 'Incremental Cost',
205
- 'description': null,
206
- 'hasProjections': true,
207
- 'hasHelper': {
208
- 'type': 'helper',
209
- 'id': 20
210
- },
211
- 'chartProjection': {
212
- 'title': 'Incremental Cost',
213
- 'subtitle': ''
214
- }
215
- },
216
- {
217
- 'isActive': true,
218
- 'key': 'annual_bill_savings',
219
- 'title': 'Annual Bill Savings',
220
- 'description': null,
221
- 'hasProjections': true,
222
- 'hasHelper': {
223
- 'type': 'helper',
224
- 'id': 18
225
- },
226
- 'chartProjection': {
227
- 'title': 'Annual Bill Savings',
228
- 'subtitle': 'MTCO2e'
229
- }
230
- },
231
- ],
232
- 'hasHelper': {
233
- 'type': 'helper',
234
- 'id': 25
235
- }
236
- }
237
- ]
238
-
239
- export const flexibleDataSummary = [
240
- {
241
- 'data': {
242
- 'onbill_benefit_to_cost_ratio': null,
243
- 'mandatory': null,
244
- },
245
- 'deep': 0,
246
- 'id': 'policy',
247
- 'title': 'Efficiency',
248
- 'items': [
249
- {
250
- 'data': {
251
- 'annual_bill_savings': 1427.3145433224304,
252
- 'forecast_initial_cost': 408160,
253
- 'initial_cost': 2014,
254
- 'emissions_savings': 2.045,
255
- 'kwh_savings': -3999,
256
- 'therms_savings': 400.1415,
257
- 'lifecycle_savings': -4160.687805,
258
- 'tdv_benefit_to_cost_ratio': 1.42,
259
- 'onbill_benefit_to_cost_ratio': 2.01,
260
- 'flexible_score': 2,
261
- 'mandatory': false,
262
- },
263
- 'deep': 1,
264
- 'id': 'policy:container-2459',
265
- 'title': 'LED + Exterior Photosensor',
266
- 'is_disabled': false,
267
- 'is_last': false,
268
- 'index': '0-0',
269
- 'last_deep': false
270
- },
271
- {
272
- 'data': {
273
- 'annual_bill_savings': -2897.5373860970467,
274
- 'forecast_initial_cost': 432795.17237499997,
275
- 'initial_cost': -1567.1339524038463,
276
- 'emissions_savings': 0.16826923076923078,
277
- 'kwh_savings': -880.5528846153846,
278
- 'therms_savings': 54.902403846153845,
279
- 'lifecycle_savings': -3264.74441875,
280
- 'tdv_benefit_to_cost_ratio': 1.24,
281
- 'onbill_benefit_to_cost_ratio': 2.01,
282
- 'flexible_score': 2,
283
- 'mandatory': false,
284
- },
285
- 'deep': 1,
286
- 'id': 'policy:container-2539',
287
- 'title': 'R-49 Attic Insulation',
288
- 'is_disabled': false,
289
- 'is_last': true,
290
- 'index': '0-1',
291
- 'last_deep': false
292
- },
293
- {
294
- 'data': {
295
- 'annual_bill_savings': -2897.5373860970467,
296
- 'forecast_initial_cost': 432795.17237499997,
297
- 'initial_cost': -1567.1339524038463,
298
- 'emissions_savings': 0.16826923076923078,
299
- 'kwh_savings': -880.5528846153846,
300
- 'therms_savings': 54.902403846153845,
301
- 'lifecycle_savings': -3264.74441875,
302
- 'tdv_benefit_to_cost_ratio': 1.24,
303
- 'onbill_benefit_to_cost_ratio': 2.01,
304
- 'flexible_score': 2,
305
- 'mandatory': false,
306
- },
307
- 'deep': 1,
308
- 'id': 'policy:container-2539',
309
- 'title': 'Duct Sealing',
310
- 'is_disabled': false,
311
- 'is_last': true,
312
- 'index': '0-1',
313
- 'last_deep': false
314
- },
315
- {
316
- 'data': {
317
- 'annual_bill_savings': -2897.5373860970467,
318
- 'forecast_initial_cost': 432795.17237499997,
319
- 'initial_cost': -1567.1339524038463,
320
- 'emissions_savings': 0.16826923076923078,
321
- 'kwh_savings': -880.5528846153846,
322
- 'therms_savings': 54.902403846153845,
323
- 'lifecycle_savings': -3264.74441875,
324
- 'tdv_benefit_to_cost_ratio': 1.24,
325
- 'onbill_benefit_to_cost_ratio': 2.01,
326
- 'flexible_score': 2,
327
- 'mandatory': false,
328
- },
329
- 'deep': 1,
330
- 'id': 'policy:container-2539',
331
- 'title': 'New Ducts + Duct Sealing',
332
- 'is_disabled': false,
333
- 'is_last': true,
334
- 'index': '0-1',
335
- 'last_deep': false
336
- }
337
- ],
338
- 'is_disabled': false,
339
- 'index': '0',
340
- 'last_deep': false
341
- },
342
- {
343
- 'data': {
344
- 'onbill_benefit_to_cost_ratio': null,
345
- 'mandatory': null,
346
- },
347
- 'deep': 0,
348
- 'id': 'policy',
349
- 'title': 'Electrification',
350
- 'items': [
351
- {
352
- 'data': {
353
- 'annual_bill_savings': 1427.3145433224304,
354
- 'forecast_initial_cost': 408160,
355
- 'initial_cost': 2014,
356
- 'emissions_savings': 2.045,
357
- 'kwh_savings': -3999,
358
- 'therms_savings': 400.1415,
359
- 'lifecycle_savings': -4160.687805,
360
- 'onbill_benefit_to_cost_ratio': 0.7,
361
- 'tdv_benefit_to_cost_ratio': 1.42,
362
- 'flexible_score': 3,
363
- 'mandatory': false,
364
- },
365
- 'deep': 1,
366
- 'id': 'policy:container-2459',
367
- 'title': 'HVAC Heat Pump',
368
- 'is_disabled': false,
369
- 'is_last': false,
370
- 'index': '0-0',
371
- 'last_deep': false
372
- },
373
- {
374
- 'data': {
375
- 'annual_bill_savings': -2897.5373860970467,
376
- 'forecast_initial_cost': 432795.17237499997,
377
- 'initial_cost': -1567.1339524038463,
378
- 'emissions_savings': 0.16826923076923078,
379
- 'kwh_savings': -880.5528846153846,
380
- 'therms_savings': 54.902403846153845,
381
- 'lifecycle_savings': -3264.74441875,
382
- 'tdv_benefit_to_cost_ratio': 1.24,
383
- 'onbill_benefit_to_cost_ratio': 0.9,
384
- 'flexible_score': 1,
385
- 'mandatory': false,
386
- },
387
- 'deep': 1,
388
- 'id': 'policy:container-2539',
389
- 'title': 'High Eff HVAC Heat Pump',
390
- 'is_disabled': false,
391
- 'is_last': true,
392
- 'index': '0-1',
393
- 'last_deep': false
394
- },
395
- {
396
- 'data': {
397
- 'annual_bill_savings': -2897.5373860970467,
398
- 'forecast_initial_cost': 432795.17237499997,
399
- 'initial_cost': -1567.1339524038463,
400
- 'emissions_savings': 0.16826923076923078,
401
- 'kwh_savings': -880.5528846153846,
402
- 'therms_savings': 54.902403846153845,
403
- 'lifecycle_savings': -3264.74441875,
404
- 'tdv_benefit_to_cost_ratio': 1.24,
405
- 'onbill_benefit_to_cost_ratio': 0.9,
406
- 'flexible_score': 1,
407
- 'mandatory': false,
408
- },
409
- 'deep': 1,
410
- 'id': 'policy:container-2539',
411
- 'title': 'HPWH',
412
- 'is_disabled': false,
413
- 'is_last': true,
414
- 'index': '0-1',
415
- 'last_deep': false
416
- }
417
- ],
418
- 'is_disabled': false,
419
- 'index': '0',
420
- 'last_deep': false
421
- },
422
- {
423
- 'data': {
424
- 'onbill_benefit_to_cost_ratio': null,
425
- 'mandatory': null,
426
- },
427
- 'deep': 0,
428
- 'id': 'policy',
429
- 'title': 'PV Measures',
430
- 'items': [
431
- {
432
- 'data': {
433
- 'annual_bill_savings': 1427.3145433224304,
434
- 'forecast_initial_cost': 408160,
435
- 'initial_cost': 2014,
436
- 'emissions_savings': 2.045,
437
- 'kwh_savings': -3999,
438
- 'therms_savings': 400.1415,
439
- 'lifecycle_savings': -4160.687805,
440
- 'onbill_benefit_to_cost_ratio': 0.7,
441
- 'tdv_benefit_to_cost_ratio': 1.42,
442
- 'flexible_score': 3,
443
- 'mandatory': false,
444
- },
445
- 'deep': 1,
446
- 'id': 'policy:container-2459',
447
- 'title': 'PV + Battery',
448
- 'is_disabled': false,
449
- 'is_last': false,
450
- 'index': '0-0',
451
- 'last_deep': false
452
- },
453
- {
454
- 'data': {
455
- 'annual_bill_savings': -2897.5373860970467,
456
- 'forecast_initial_cost': 432795.17237499997,
457
- 'initial_cost': -1567.1339524038463,
458
- 'emissions_savings': 0.16826923076923078,
459
- 'kwh_savings': -880.5528846153846,
460
- 'therms_savings': 54.902403846153845,
461
- 'lifecycle_savings': -3264.74441875,
462
- 'tdv_benefit_to_cost_ratio': 1.24,
463
- 'onbill_benefit_to_cost_ratio': 0.9,
464
- 'flexible_score': 0,
465
- 'mandatory': false,
466
- },
467
- 'deep': 1,
468
- 'id': 'policy:container-2539',
469
- 'title': 'PV',
470
- 'is_disabled': false,
471
- 'is_last': true,
472
- 'index': '0-1',
473
- 'last_deep': false
474
- },
475
- {
476
- 'data': {
477
- 'annual_bill_savings': -2897.5373860970467,
478
- 'forecast_initial_cost': 432795.17237499997,
479
- 'initial_cost': -1567.1339524038463,
480
- 'emissions_savings': 0.16826923076923078,
481
- 'kwh_savings': -880.5528846153846,
482
- 'therms_savings': 54.902403846153845,
483
- 'lifecycle_savings': -3264.74441875,
484
- 'tdv_benefit_to_cost_ratio': 1.24,
485
- 'onbill_benefit_to_cost_ratio': 0.9,
486
- 'flexible_score': 1,
487
- 'mandatory': false,
488
- },
489
- 'deep': 1,
490
- 'id': 'policy:container-2539',
491
- 'title': 'PV + Electric Ready Pre-Wire',
492
- 'is_disabled': false,
493
- 'is_last': true,
494
- 'index': '0-1',
495
- 'last_deep': false
496
- }
497
- ],
498
- 'is_disabled': false,
499
- 'index': '0',
500
- 'last_deep': false
501
- },
502
- ]