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

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 (231) 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/dist/index.d.ts +50 -0
  6. package/dist/index.js +53 -63
  7. package/dist/index.js.map +1 -1
  8. package/dist/util/GeneralFunctions.d.ts +3 -0
  9. package/dist/util/GeneralFunctions.js.map +1 -1
  10. package/dist/util/directives.d.ts +1 -0
  11. package/dist/util/directives.js +22 -0
  12. package/dist/util/directives.js.map +1 -0
  13. package/dist/util/eventBus.d.ts +7 -0
  14. package/dist/util/eventBus.js +8 -0
  15. package/dist/util/eventBus.js.map +1 -0
  16. package/dist/util/imageLoader.d.ts +6 -0
  17. package/dist/util/imageLoader.js.map +1 -1
  18. package/package.json +9 -23
  19. package/src/assets/scss/components/PsDataTable.scss +1 -1
  20. package/src/components/accordion/PsAccordionItem.vue +75 -75
  21. package/src/components/badges-and-tags/PsBadgeWithIcon.vue +31 -34
  22. package/src/components/badges-and-tags/PsCardInfos.vue +40 -41
  23. package/src/components/badges-and-tags/PsChartLegend.vue +47 -51
  24. package/src/components/badges-and-tags/PsClimateZoneBadge.vue +14 -19
  25. package/src/components/badges-and-tags/PsCostEffectBar.vue +24 -56
  26. package/src/components/badges-and-tags/PsDateCardInfo.vue +17 -18
  27. package/src/components/badges-and-tags/PsHighlightRippleDot.vue +3 -2
  28. package/src/components/badges-and-tags/PsMiniTag.vue +39 -41
  29. package/src/components/badges-and-tags/PsProgressBar.vue +72 -68
  30. package/src/components/badges-and-tags/PsTagScope.vue +17 -22
  31. package/src/components/badges-and-tags/PsTestimonialCard.vue +20 -26
  32. package/src/components/buttons/PsButton.vue +61 -62
  33. package/src/components/chips/PsChips.vue +98 -101
  34. package/src/components/controls/PsCheckbox.vue +84 -84
  35. package/src/components/controls/PsCheckboxSimple.vue +95 -95
  36. package/src/components/controls/PsDraggable.vue +53 -55
  37. package/src/components/controls/PsInlineSelector.vue +99 -99
  38. package/src/components/controls/PsRadioButton.vue +59 -58
  39. package/src/components/controls/PsRadioButtonSimple.vue +79 -75
  40. package/src/components/controls/PsSlider.vue +185 -176
  41. package/src/components/controls/PsSwitch.vue +51 -52
  42. package/src/components/controls/PsToggle.vue +53 -50
  43. package/src/components/data-graphics/PsBarChart.vue +19 -21
  44. package/src/components/datatable/PsDataTable.vue +56 -60
  45. package/src/components/datatable/PsDataTableItem.vue +14 -28
  46. package/src/components/forms/PsDropdown.vue +164 -162
  47. package/src/components/forms/PsDropdownList.vue +132 -129
  48. package/src/components/forms/PsInput.vue +155 -153
  49. package/src/components/forms/PsInputSelect.vue +91 -92
  50. package/src/components/forms/PsInputTextArea.vue +71 -71
  51. package/src/components/navigations/PsBreadcrumb.vue +26 -34
  52. package/src/components/notifications/PsDialog.vue +57 -56
  53. package/src/components/notifications/PsSimpleAlert.vue +28 -29
  54. package/src/components/notifications/PsToast.vue +40 -39
  55. package/src/components/table-results/PsTableResults.vue +452 -458
  56. package/src/components/table-results/PsTableResultsBody.vue +66 -67
  57. package/src/components/table-results/PsTableResultsHead.vue +62 -56
  58. package/src/components/table-results/PsTableResultsHeadComparison.vue +62 -56
  59. package/src/components/table-results/PsTableResultsHeadFlexible.vue +63 -56
  60. package/src/components/table-results/PsTableResultsRow.vue +55 -56
  61. package/src/components/tabs/PsTabHeader.vue +106 -100
  62. package/src/components/tooltip/PsDialogTooltip.vue +96 -101
  63. package/src/components/tooltip/PsRichTooltip.vue +42 -45
  64. package/src/components/tooltip/PsTooltip.vue +111 -116
  65. package/src/components/ui/PsDotLoader.vue +1 -5
  66. package/src/components/ui/PsIcon.vue +126 -129
  67. package/src/index.ts +57 -71
  68. package/src/tsconfig.json +12 -0
  69. package/src/{shims-vue.d.ts → types/index.d.ts} +0 -5
  70. package/src/util/{GeneralFunctions.ts → GeneralFunctions.js} +0 -3
  71. package/src/util/directives.ts +24 -0
  72. package/src/util/eventBus.js +10 -0
  73. package/src/util/{imageLoader.ts → imageLoader.js} +7 -8
  74. package/tailwind.config.js +1 -1
  75. package/tsconfig.json +15 -17
  76. package/.storybook/PolicyStudio.ts +0 -11
  77. package/.storybook/eventBus.ts +0 -26
  78. package/.storybook/main.ts +0 -21
  79. package/.storybook/manager.ts +0 -7
  80. package/.storybook/preview.ts +0 -17
  81. package/dist/contents/ComparisonData.js +0 -376
  82. package/dist/contents/ComparisonData.js.map +0 -1
  83. package/dist/contents/FlexibleData.js +0 -501
  84. package/dist/contents/FlexibleData.js.map +0 -1
  85. package/dist/contents/ResultsData.js +0 -530
  86. package/dist/contents/ResultsData.js.map +0 -1
  87. package/dist/css/psui_styles.css +0 -4647
  88. package/dist/stories/Accordion.stories.js +0 -56
  89. package/dist/stories/Accordion.stories.js.map +0 -1
  90. package/dist/stories/BadgeWithIcon.stories.js +0 -28
  91. package/dist/stories/BadgeWithIcon.stories.js.map +0 -1
  92. package/dist/stories/BarChart.stories.js +0 -16
  93. package/dist/stories/BarChart.stories.js.map +0 -1
  94. package/dist/stories/Breadcrumb.stories.js +0 -21
  95. package/dist/stories/Breadcrumb.stories.js.map +0 -1
  96. package/dist/stories/Button.stories.js +0 -44
  97. package/dist/stories/Button.stories.js.map +0 -1
  98. package/dist/stories/CardInfos.stories.js +0 -13
  99. package/dist/stories/CardInfos.stories.js.map +0 -1
  100. package/dist/stories/ChartLegend.stories.js +0 -13
  101. package/dist/stories/ChartLegend.stories.js.map +0 -1
  102. package/dist/stories/Checkbox.stories.js +0 -44
  103. package/dist/stories/Checkbox.stories.js.map +0 -1
  104. package/dist/stories/CheckboxSimple.stories.js +0 -48
  105. package/dist/stories/CheckboxSimple.stories.js.map +0 -1
  106. package/dist/stories/Chips.stories.js +0 -27
  107. package/dist/stories/Chips.stories.js.map +0 -1
  108. package/dist/stories/ClimateZoneBadge.stories.js +0 -15
  109. package/dist/stories/ClimateZoneBadge.stories.js.map +0 -1
  110. package/dist/stories/CostEffectBar.stories.js +0 -21
  111. package/dist/stories/CostEffectBar.stories.js.map +0 -1
  112. package/dist/stories/Datatable.stories.js +0 -45
  113. package/dist/stories/Datatable.stories.js.map +0 -1
  114. package/dist/stories/DateCardInfo.stories.js +0 -18
  115. package/dist/stories/DateCardInfo.stories.js.map +0 -1
  116. package/dist/stories/Dialog.stories.js +0 -127
  117. package/dist/stories/Dialog.stories.js.map +0 -1
  118. package/dist/stories/Draggable.stories.js +0 -20
  119. package/dist/stories/Draggable.stories.js.map +0 -1
  120. package/dist/stories/Dropdown.stories.js +0 -98
  121. package/dist/stories/Dropdown.stories.js.map +0 -1
  122. package/dist/stories/DropdownList.stories.js +0 -208
  123. package/dist/stories/DropdownList.stories.js.map +0 -1
  124. package/dist/stories/Header.stories.js +0 -39
  125. package/dist/stories/Header.stories.js.map +0 -1
  126. package/dist/stories/HighlightRippleDot.stories.js +0 -13
  127. package/dist/stories/HighlightRippleDot.stories.js.map +0 -1
  128. package/dist/stories/Icon.stories.js +0 -19
  129. package/dist/stories/Icon.stories.js.map +0 -1
  130. package/dist/stories/InlineSelector.stories.js +0 -16
  131. package/dist/stories/InlineSelector.stories.js.map +0 -1
  132. package/dist/stories/Input.stories.js +0 -235
  133. package/dist/stories/Input.stories.js.map +0 -1
  134. package/dist/stories/InputSelect.stories.js +0 -28
  135. package/dist/stories/InputSelect.stories.js.map +0 -1
  136. package/dist/stories/InputTextArea.stories.js +0 -23
  137. package/dist/stories/InputTextArea.stories.js.map +0 -1
  138. package/dist/stories/MiniTag.stories.js +0 -44
  139. package/dist/stories/MiniTag.stories.js.map +0 -1
  140. package/dist/stories/Playground.stories.js +0 -14
  141. package/dist/stories/Playground.stories.js.map +0 -1
  142. package/dist/stories/ProgressBar.stories.js +0 -21
  143. package/dist/stories/ProgressBar.stories.js.map +0 -1
  144. package/dist/stories/RadioButton.stories.js +0 -36
  145. package/dist/stories/RadioButton.stories.js.map +0 -1
  146. package/dist/stories/RadioButtonSimple.stories.js +0 -40
  147. package/dist/stories/RadioButtonSimple.stories.js.map +0 -1
  148. package/dist/stories/SimpleAlert.stories.js +0 -19
  149. package/dist/stories/SimpleAlert.stories.js.map +0 -1
  150. package/dist/stories/Slider.stories.js +0 -70
  151. package/dist/stories/Slider.stories.js.map +0 -1
  152. package/dist/stories/Switch.stories.js +0 -35
  153. package/dist/stories/Switch.stories.js.map +0 -1
  154. package/dist/stories/TabHeader.stories.js +0 -48
  155. package/dist/stories/TabHeader.stories.js.map +0 -1
  156. package/dist/stories/TableResults.stories.js +0 -717
  157. package/dist/stories/TableResults.stories.js.map +0 -1
  158. package/dist/stories/TagScope.stories.js +0 -16
  159. package/dist/stories/TagScope.stories.js.map +0 -1
  160. package/dist/stories/TestimonialCard.stories.js +0 -24
  161. package/dist/stories/TestimonialCard.stories.js.map +0 -1
  162. package/dist/stories/Toast.stories.js +0 -51
  163. package/dist/stories/Toast.stories.js.map +0 -1
  164. package/dist/stories/Toggle.stories.js +0 -42
  165. package/dist/stories/Toggle.stories.js.map +0 -1
  166. package/dist/stories/Tooltip.stories.js +0 -108
  167. package/dist/stories/Tooltip.stories.js.map +0 -1
  168. package/postcss.config.js +0 -8
  169. package/src/assets/images/multifamily-units.svg +0 -10
  170. package/src/assets/images/policy-studio.svg +0 -15
  171. package/src/components/playground/PsScrollBar.vue +0 -320
  172. package/src/contents/ComparisonData.ts +0 -378
  173. package/src/contents/FlexibleData.ts +0 -502
  174. package/src/contents/ResultsData.ts +0 -531
  175. package/src/stories/Accordion.stories.ts +0 -59
  176. package/src/stories/BadgeWithIcon.stories.ts +0 -31
  177. package/src/stories/BarChart.stories.ts +0 -17
  178. package/src/stories/Breadcrumb.stories.ts +0 -22
  179. package/src/stories/Button.stories.ts +0 -48
  180. package/src/stories/Button.vue +0 -59
  181. package/src/stories/CardInfos.stories.ts +0 -15
  182. package/src/stories/ChartLegend.stories.ts +0 -15
  183. package/src/stories/Checkbox.stories.ts +0 -45
  184. package/src/stories/CheckboxSimple.stories.ts +0 -49
  185. package/src/stories/Chips.stories.ts +0 -33
  186. package/src/stories/ClimateZoneBadge.stories.ts +0 -18
  187. package/src/stories/Colors.mdx +0 -70
  188. package/src/stories/CostEffectBar.stories.ts +0 -24
  189. package/src/stories/Datatable.stories.ts +0 -53
  190. package/src/stories/DateCardInfo.stories.ts +0 -20
  191. package/src/stories/Dialog.stories.ts +0 -131
  192. package/src/stories/Draggable.stories.ts +0 -23
  193. package/src/stories/Dropdown.stories.ts +0 -100
  194. package/src/stories/DropdownList.stories.ts +0 -213
  195. package/src/stories/ElevationSystem.mdx +0 -41
  196. package/src/stories/Header.stories.ts +0 -42
  197. package/src/stories/Header.vue +0 -77
  198. package/src/stories/HighlightRippleDot.stories.ts +0 -16
  199. package/src/stories/Icon.stories.ts +0 -23
  200. package/src/stories/InlineSelector.stories.ts +0 -18
  201. package/src/stories/Input.stories.ts +0 -243
  202. package/src/stories/InputSelect.stories.ts +0 -31
  203. package/src/stories/InputTextArea.stories.ts +0 -25
  204. package/src/stories/Introduction.mdx +0 -211
  205. package/src/stories/MiniTag.stories.ts +0 -59
  206. package/src/stories/Playground.stories.ts +0 -16
  207. package/src/stories/ProgressBar.stories.ts +0 -24
  208. package/src/stories/RadioButton.stories.ts +0 -40
  209. package/src/stories/RadioButtonSimple.stories.ts +0 -43
  210. package/src/stories/SimpleAlert.stories.ts +0 -22
  211. package/src/stories/Slider.stories.ts +0 -79
  212. package/src/stories/Switch.stories.ts +0 -39
  213. package/src/stories/TabHeader.stories.ts +0 -57
  214. package/src/stories/TableResults.stories.ts +0 -728
  215. package/src/stories/TagScope.stories.ts +0 -17
  216. package/src/stories/TestimonialCard.stories.ts +0 -27
  217. package/src/stories/Toast.stories.ts +0 -52
  218. package/src/stories/Toggle.stories.ts +0 -48
  219. package/src/stories/Tooltip.stories.ts +0 -114
  220. package/src/stories/Typography.mdx +0 -212
  221. package/src/stories/assets/code-brackets.svg +0 -1
  222. package/src/stories/assets/colors.svg +0 -1
  223. package/src/stories/assets/comments.svg +0 -1
  224. package/src/stories/assets/direction.svg +0 -1
  225. package/src/stories/assets/flow.svg +0 -1
  226. package/src/stories/assets/plugin.svg +0 -1
  227. package/src/stories/assets/repo.svg +0 -1
  228. package/src/stories/assets/stackalt.svg +0 -1
  229. package/src/stories/button.css +0 -30
  230. package/src/stories/header.css +0 -32
  231. 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
- ]