@policystudio/policy-studio-ui-vue 1.1.90-beta.10 → 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 (132) 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 +56 -66
  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} +3 -5
  58. package/src/util/directives.ts +24 -0
  59. package/src/util/eventBus.js +10 -0
  60. package/src/util/{imageLoader.ts → imageLoader.js} +9 -8
  61. package/tailwind.config.js +1 -1
  62. package/tsconfig.json +16 -18
  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/css/psui_styles.css +0 -4647
  69. package/postcss.config.js +0 -8
  70. package/src/assets/images/multifamily-units.svg +0 -10
  71. package/src/assets/images/policy-studio.svg +0 -15
  72. package/src/components/playground/PsScrollBar.vue +0 -320
  73. package/src/contents/ComparisonData.ts +0 -378
  74. package/src/contents/FlexibleData.ts +0 -502
  75. package/src/contents/ResultsData.ts +0 -531
  76. package/src/stories/Accordion.stories.ts +0 -59
  77. package/src/stories/BadgeWithIcon.stories.ts +0 -31
  78. package/src/stories/BarChart.stories.ts +0 -17
  79. package/src/stories/Breadcrumb.stories.ts +0 -22
  80. package/src/stories/Button.stories.ts +0 -48
  81. package/src/stories/Button.vue +0 -59
  82. package/src/stories/CardInfos.stories.ts +0 -15
  83. package/src/stories/ChartLegend.stories.ts +0 -15
  84. package/src/stories/Checkbox.stories.ts +0 -45
  85. package/src/stories/CheckboxSimple.stories.ts +0 -49
  86. package/src/stories/Chips.stories.ts +0 -33
  87. package/src/stories/ClimateZoneBadge.stories.ts +0 -28
  88. package/src/stories/Colors.mdx +0 -70
  89. package/src/stories/CostEffectBar.stories.ts +0 -26
  90. package/src/stories/Datatable.stories.ts +0 -53
  91. package/src/stories/DateCardInfo.stories.ts +0 -20
  92. package/src/stories/Dialog.stories.ts +0 -131
  93. package/src/stories/Draggable.stories.ts +0 -32
  94. package/src/stories/Dropdown.stories.ts +0 -89
  95. package/src/stories/DropdownList.stories.ts +0 -213
  96. package/src/stories/ElevationSystem.mdx +0 -41
  97. package/src/stories/Header.stories.ts +0 -42
  98. package/src/stories/Header.vue +0 -77
  99. package/src/stories/HighlightRippleDot.stories.ts +0 -16
  100. package/src/stories/Icon.stories.ts +0 -22
  101. package/src/stories/InlineSelector.stories.ts +0 -18
  102. package/src/stories/Input.stories.ts +0 -244
  103. package/src/stories/InputSelect.stories.ts +0 -31
  104. package/src/stories/InputTextArea.stories.ts +0 -25
  105. package/src/stories/Introduction.mdx +0 -211
  106. package/src/stories/MiniTag.stories.ts +0 -59
  107. package/src/stories/Playground.stories.ts +0 -16
  108. package/src/stories/ProgressBar.stories.ts +0 -24
  109. package/src/stories/RadioButton.stories.ts +0 -41
  110. package/src/stories/RadioButtonSimple.stories.ts +0 -43
  111. package/src/stories/SimpleAlert.stories.ts +0 -22
  112. package/src/stories/Slider.stories.ts +0 -79
  113. package/src/stories/Switch.stories.ts +0 -39
  114. package/src/stories/TabHeader.stories.ts +0 -56
  115. package/src/stories/TableResults.stories.ts +0 -728
  116. package/src/stories/TagScope.stories.ts +0 -17
  117. package/src/stories/TestimonialCard.stories.ts +0 -27
  118. package/src/stories/Toast.stories.ts +0 -52
  119. package/src/stories/Toggle.stories.ts +0 -48
  120. package/src/stories/Tooltip.stories.ts +0 -114
  121. package/src/stories/Typography.mdx +0 -212
  122. package/src/stories/assets/code-brackets.svg +0 -1
  123. package/src/stories/assets/colors.svg +0 -1
  124. package/src/stories/assets/comments.svg +0 -1
  125. package/src/stories/assets/direction.svg +0 -1
  126. package/src/stories/assets/flow.svg +0 -1
  127. package/src/stories/assets/plugin.svg +0 -1
  128. package/src/stories/assets/repo.svg +0 -1
  129. package/src/stories/assets/stackalt.svg +0 -1
  130. package/src/stories/button.css +0 -30
  131. package/src/stories/header.css +0 -32
  132. package/webpack.config.js +0 -36
@@ -1,728 +0,0 @@
1
- // @ts-ignore
2
- import PsTableResults, { tableLayout } from '../components/table-results/PsTableResults.vue'
3
- import PsTableResultsHead from '../components/table-results/PsTableResultsHead.vue'
4
- import PsTableResultsHeadFlexible from '../components/table-results/PsTableResultsHeadFlexible.vue'
5
- import PsTableResultsHeadComparison from '../components/table-results/PsTableResultsHeadComparison.vue'
6
- import PsProgressBar from '../components/badges-and-tags/PsProgressBar.vue'
7
- import PsSwitch from '../components/controls/PsSwitch.vue'
8
-
9
- import { resultsDataHeader, resultsDataColumnGroup, resultsDataSummary } from '../contents/ResultsData'
10
- import { comparisonDataHeader, comparisonDataColumnGroup, comparisonDataSummary } from '../contents/ComparisonData'
11
- import { flexibleDataHeader, flexibleDataColumnGroup, flexibleDataSummary } from '../contents/FlexibleData'
12
-
13
- export default {
14
- title: 'Data Tables/TableResults',
15
- component: { PsTableResults, PsTableResultsHead, PsTableResultsHeadComparison, PsTableResultsHeadFlexible },
16
- argTypes: {
17
- layout: { control: { type: 'inline-radio', options: tableLayout } },
18
- onClick: { action: 'clicked' },
19
- onCollapse: { action: 'clicked' },
20
- },
21
- }
22
- // @ts-ignore
23
- const TableResults = (args, { argTypes }) => ({
24
- props: Object.keys(argTypes),
25
- components: { PsTableResults, PsTableResultsHead, PsTableResultsHeadComparison, PsTableResultsHeadFlexible },
26
- subcomponents: { PsProgressBar, PsSwitch },
27
- template: `
28
- <div style="width:100%;">
29
- <div
30
- :class="$props['layout'] == 'comparison' ? 'psui-bg-gray-20 psui-p-8' : 'psui-bg-white'"
31
- >
32
- <PsTableResults v-bind="$props">
33
- <template v-slot:header>
34
- <PsTableResultsHeadComparison
35
- v-if="$props['layout'] == 'comparison'"
36
- v-bind="$props"
37
- first-column-title="Comparing 4 Policies"
38
- first-column-description=""
39
- />
40
- <PsTableResultsHeadFlexible
41
- v-else-if="$props['layout'] == 'flexible'"
42
- v-bind="$props"
43
- first-column-title="Measure List"
44
- first-column-description="Measures"
45
- />
46
- <PsTableResultsHead
47
- v-else
48
- v-bind="$props"
49
- />
50
- </template>
51
- </PsTableResults>
52
- </div>
53
- </div>
54
- `
55
- })
56
-
57
- export const Results = TableResults.bind({})
58
- // @ts-ignore
59
- Results.args = {
60
- layout: 'results',
61
- header: resultsDataHeader,
62
- columnGroups: resultsDataColumnGroup,
63
- summaryData: resultsDataSummary,
64
- footer: [],
65
- showRowsCollapsed: true,
66
- }
67
-
68
- export const Comparison = TableResults.bind({})
69
- // @ts-ignore
70
- Comparison.args = {
71
- layout: 'comparison',
72
- header: comparisonDataHeader,
73
- columnGroups: comparisonDataColumnGroup,
74
- summaryData: comparisonDataSummary,
75
- footer: [],
76
- showRowsCollapsed: true,
77
- }
78
-
79
- export const Flexible = TableResults.bind({})
80
- // @ts-ignore
81
- Flexible.args = {
82
- layout: 'flexible',
83
- header: flexibleDataHeader,
84
- columnGroups: flexibleDataColumnGroup,
85
- summaryData: flexibleDataSummary,
86
- tableMaxHeight: 'auto',
87
- footer: [],
88
- showRowsCollapsed: false
89
- }
90
-
91
- // const TableSimple = (args, { argTypes }) => ({
92
- // props: Object.keys(argTypes),
93
- // components: { PsTableResults, PsTableResultsHead },
94
- // template: `
95
- // <div style="width:100%;">
96
- // <PsTableResults v-bind="$props">
97
- // <template v-slot:header>
98
- // <PsTableResultsHead v-bind="$props" />
99
- // </template>
100
- // </PsTableResults>
101
- // </div>
102
- // `
103
- // })
104
-
105
- // export const Simple = TableSimple.bind({})
106
- // Simple.args = {
107
- // layout: 'results',
108
- // header: [
109
- // {
110
- // 'order': 0,
111
- // 'key': 'fixed_columns',
112
- // 'title': 'Cost-Effectiveness',
113
- // 'columns': [
114
- // {
115
- // 'isActive': true,
116
- // 'key': 'tdv_benefit_to_cost_ratio',
117
- // 'title': 'TDV',
118
- // 'description': '≥ 1.0 is cost effective',
119
- // 'isChart': true,
120
- // 'hasHelper': {
121
- // 'type': 'helper',
122
- // 'id': 1
123
- // }
124
- // }
125
- // ],
126
- // 'hasHelper': {
127
- // 'type': 'helper',
128
- // 'id': 23
129
- // }
130
- // },
131
- // {
132
- // 'order': 2,
133
- // 'key': 'city_wide_impact',
134
- // 'title': 'Wide Impact',
135
- // 'columns': [
136
- // {
137
- // 'isActive': true,
138
- // 'key': 'forecast_units_affected',
139
- // 'title': 'Affected Units',
140
- // 'description': '(lifecycle)',
141
- // 'hasProjections': true,
142
- // 'hasHelper': {
143
- // 'type': 'helper',
144
- // 'id': 17
145
- // },
146
- // 'chartProjection': {
147
- // 'title': 'Number of Affected Units',
148
- // 'subtitle': ''
149
- // }
150
- // },
151
- // {
152
- // 'isActive': true,
153
- // 'key': 'forecast_initial_cost',
154
- // 'title': 'Compliance Cost',
155
- // 'description': '(lifecycle)',
156
- // 'hasProjections': true,
157
- // 'hasHelper': {
158
- // 'type': 'helper',
159
- // 'id': 20
160
- // },
161
- // 'chartProjection': {
162
- // 'title': 'Compliance Cost',
163
- // 'subtitle': ''
164
- // }
165
- // },
166
- // {
167
- // 'isActive': true,
168
- // 'key': 'forecast_emissions_savings',
169
- // 'title': 'Emissions Reductions',
170
- // 'description': '(lifecycle MTCO2e)',
171
- // 'hasProjections': true,
172
- // 'hasHelper': {
173
- // 'type': 'helper',
174
- // 'id': 18
175
- // },
176
- // 'chartProjection': {
177
- // 'title': 'Emissions Reductions',
178
- // 'subtitle': 'MTCO2e'
179
- // }
180
- // },
181
- // {
182
- // 'isActive': true,
183
- // 'key': 'forecast_lifecycle_savings',
184
- // 'title': 'Lifecycle Savings',
185
- // 'description': '(on-bill)',
186
- // 'hasProjections': true,
187
- // 'hasHelper': {
188
- // 'type': 'helper',
189
- // 'id': 19
190
- // },
191
- // 'chartProjection': {
192
- // 'title': 'Bill Savings',
193
- // 'subtitle': ''
194
- // }
195
- // },
196
- // {
197
- // 'isActive': true,
198
- // 'key': 'forecast_kwh_savings',
199
- // 'title': 'Electricity Savings',
200
- // 'description': '(lifecycle kWh)',
201
- // 'hasProjections': true,
202
- // 'hasHelper': {
203
- // 'type': 'helper',
204
- // 'id': 21
205
- // },
206
- // 'chartProjection': {
207
- // 'title': 'Electricity Savings',
208
- // 'subtitle': 'kWh'
209
- // }
210
- // },
211
- // {
212
- // 'isActive': true,
213
- // 'key': 'forecast_therms_savings',
214
- // 'title': 'Gas Savings',
215
- // 'description': '(lifecycle therms)',
216
- // 'hasProjections': true,
217
- // 'hasHelper': {
218
- // 'type': 'helper',
219
- // 'id': 22
220
- // },
221
- // 'chartProjection': {
222
- // 'title': 'Gas Savings',
223
- // 'subtitle': 'therms'
224
- // }
225
- // }
226
- // ],
227
- // 'hasHelper': {
228
- // 'type': 'helper',
229
- // 'id': 25
230
- // }
231
- // }
232
- // ],
233
- // columnGroups: [
234
- // {
235
- // 'order': 0,
236
- // 'key': 'fixed_columns',
237
- // 'title': 'Cost-Effectiveness',
238
- // 'columns': [
239
- // {
240
- // 'isActive': true,
241
- // 'key': 'tdv_benefit_to_cost_ratio',
242
- // 'title': 'TDV',
243
- // 'description': '≥ 1.0 is cost effective',
244
- // 'isChart': true,
245
- // 'hasHelper': {
246
- // 'type': 'helper',
247
- // 'id': 1
248
- // }
249
- // }
250
- // ],
251
- // 'hasHelper': {
252
- // 'type': 'helper',
253
- // 'id': 23
254
- // }
255
- // },
256
- // {
257
- // 'order': 2,
258
- // 'key': 'city_wide_impact',
259
- // 'title': 'Wide Impact',
260
- // 'columns': [
261
- // {
262
- // 'isActive': true,
263
- // 'key': 'forecast_units_affected',
264
- // 'title': 'Affected Units',
265
- // 'description': '(lifecycle)',
266
- // 'hasProjections': true,
267
- // 'hasHelper': {
268
- // 'type': 'helper',
269
- // 'id': 17
270
- // },
271
- // 'chartProjection': {
272
- // 'title': 'Number of Affected Units',
273
- // 'subtitle': ''
274
- // }
275
- // },
276
- // {
277
- // 'isActive': true,
278
- // 'key': 'forecast_initial_cost',
279
- // 'title': 'Compliance Cost',
280
- // 'description': '(lifecycle)',
281
- // 'hasProjections': true,
282
- // 'hasHelper': {
283
- // 'type': 'helper',
284
- // 'id': 20
285
- // },
286
- // 'chartProjection': {
287
- // 'title': 'Compliance Cost',
288
- // 'subtitle': ''
289
- // }
290
- // },
291
- // {
292
- // 'isActive': true,
293
- // 'key': 'forecast_emissions_savings',
294
- // 'title': 'Emissions Reductions',
295
- // 'description': '(lifecycle MTCO2e)',
296
- // 'hasProjections': true,
297
- // 'hasHelper': {
298
- // 'type': 'helper',
299
- // 'id': 18
300
- // },
301
- // 'chartProjection': {
302
- // 'title': 'Emissions Reductions',
303
- // 'subtitle': 'MTCO2e'
304
- // }
305
- // },
306
- // {
307
- // 'isActive': true,
308
- // 'key': 'forecast_lifecycle_savings',
309
- // 'title': 'Lifecycle Savings',
310
- // 'description': '(on-bill)',
311
- // 'hasProjections': true,
312
- // 'hasHelper': {
313
- // 'type': 'helper',
314
- // 'id': 19
315
- // },
316
- // 'chartProjection': {
317
- // 'title': 'Bill Savings',
318
- // 'subtitle': ''
319
- // }
320
- // },
321
- // {
322
- // 'isActive': true,
323
- // 'key': 'forecast_kwh_savings',
324
- // 'title': 'Electricity Savings',
325
- // 'description': '(lifecycle kWh)',
326
- // 'hasProjections': true,
327
- // 'hasHelper': {
328
- // 'type': 'helper',
329
- // 'id': 21
330
- // },
331
- // 'chartProjection': {
332
- // 'title': 'Electricity Savings',
333
- // 'subtitle': 'kWh'
334
- // }
335
- // },
336
- // {
337
- // 'isActive': true,
338
- // 'key': 'forecast_therms_savings',
339
- // 'title': 'Gas Savings',
340
- // 'description': '(lifecycle therms)',
341
- // 'hasProjections': true,
342
- // 'hasHelper': {
343
- // 'type': 'helper',
344
- // 'id': 22
345
- // },
346
- // 'chartProjection': {
347
- // 'title': 'Gas Savings',
348
- // 'subtitle': 'therms'
349
- // }
350
- // }
351
- // ],
352
- // 'hasHelper': {
353
- // 'type': 'helper',
354
- // 'id': 25
355
- // }
356
- // }
357
- // ],
358
- // summaryData: [
359
- // {
360
- // 'data': {
361
- // 'forecast_units_affected': 337.5,
362
- // 'forecast_emissions_savings': -1470.2228427746163,
363
- // 'forecast_therms_savings': -365783.4118312498,
364
- // 'forecast_kwh_savings': 5790873.440625001,
365
- // 'forecast_lifecycle_savings': 1384353.6577500012,
366
- // 'forecast_initial_cost': 840955.172375,
367
- // 'initial_cost': -744.7994892592594,
368
- // 'annual_bill_savings_avg': null,
369
- // 'annual_bill_savings': -229.11570370370367,
370
- // 'emissions_savings': 0.5992222222222222,
371
- // 'kwh_savings': -1596.6407407407407,
372
- // 'therms_savings': 134.17952962962963,
373
- // 'lifecycle_savings': -3470.4795667037033,
374
- // 'compliance_margin': 6.797037037037037,
375
- // 'baseline_fuel_type': 'Mixed-fuel',
376
- // 'energy_savings_combined': 7.96989981162963,
377
- // 'on_bill_cost_ratio': 0.9328797158714975,
378
- // 'tdv_benefit_to_cost_ratio': 1.327363515218667,
379
- // 'simple_payback': 4.842552503682514,
380
- // 'tdv2022_benefit_to_cost_ratio': 0
381
- // },
382
- // 'deep': 0,
383
- // 'id': 'policy',
384
- // 'title': 'Total Impact',
385
- // 'items': [
386
- // {
387
- // 'data': {
388
- // 'forecast_units_affected': 77.5,
389
- // 'forecast_emissions_savings': 1427.3145433224304,
390
- // 'forecast_therms_savings': 296624.89395,
391
- // 'forecast_kwh_savings': -2102697.449999999,
392
- // 'forecast_lifecycle_savings': 19620.35775000001,
393
- // 'forecast_initial_cost': 408160,
394
- // 'initial_cost': 2014,
395
- // 'annual_bill_savings_avg': null,
396
- // 'annual_bill_savings': -439.0199999999999,
397
- // 'emissions_savings': 2.045,
398
- // 'kwh_savings': -3999,
399
- // 'therms_savings': 400.1415,
400
- // 'lifecycle_savings': -4160.687805,
401
- // 'compliance_margin': 29.6,
402
- // 'baseline_fuel_type': 'Mixed-fuel',
403
- // 'energy_savings_combined': 26.36819047,
404
- // 'on_bill_cost_ratio': 1.460322707,
405
- // 'tdv_benefit_to_cost_ratio': 1.42,
406
- // 'simple_payback': 0,
407
- // 'tdv2022_benefit_to_cost_ratio': 0
408
- // },
409
- // 'deep': 1,
410
- // 'id': 'policy:container-2459',
411
- // 'title': 'New Single Family Units',
412
- // 'items': [
413
- // {
414
- // 'data': {
415
- // 'forecast_units_affected': 77.5,
416
- // 'forecast_emissions_savings': 1427.3145433224304,
417
- // 'forecast_therms_savings': 296624.89395,
418
- // 'forecast_kwh_savings': -2102697.449999999,
419
- // 'forecast_lifecycle_savings': 19620.35775000001,
420
- // 'forecast_initial_cost': 408160,
421
- // 'initial_cost': 2014,
422
- // 'annual_bill_savings_avg': null,
423
- // 'annual_bill_savings': -439.0199999999999,
424
- // 'emissions_savings': 2.045,
425
- // 'kwh_savings': -3999,
426
- // 'therms_savings': 400.1415,
427
- // 'lifecycle_savings': -4160.687805,
428
- // 'compliance_margin': 29.6,
429
- // 'baseline_fuel_type': 'Mixed-fuel',
430
- // 'energy_savings_combined': 26.36819047,
431
- // 'on_bill_cost_ratio': 1.460322707,
432
- // 'tdv_benefit_to_cost_ratio': 1.42,
433
- // 'simple_payback': 0,
434
- // 'tdv2022_benefit_to_cost_ratio': 0
435
- // },
436
- // 'deep': 2,
437
- // 'id': 'policy:container-2459:climateZone-1-PGE',
438
- // 'title': 'Climate Zone 1',
439
- // 'items': [
440
- // {
441
- // 'data': {
442
- // 'forecast_units_affected': 77.5,
443
- // 'forecast_emissions_savings': 1427.3145433224304,
444
- // 'forecast_therms_savings': 296624.89395,
445
- // 'forecast_kwh_savings': -2102697.449999999,
446
- // 'forecast_lifecycle_savings': 19620.35775000001,
447
- // 'forecast_initial_cost': 408160,
448
- // 'initial_cost': 2014,
449
- // 'annual_bill_savings': -439.02,
450
- // 'emissions_savings': 2.045,
451
- // 'kwh_savings': -3999,
452
- // 'therms_savings': 400.1415,
453
- // 'lifecycle_savings': -4160.687805,
454
- // 'compliance_margin': 29.6,
455
- // 'baseline_fuel_type': 'Mixed-fuel',
456
- // 'energy_savings_combined': 26.36819047,
457
- // 'on_bill_cost_ratio': 1.460322707,
458
- // 'tdv_benefit_to_cost_ratio': 1.42,
459
- // 'simple_payback': 0,
460
- // 'tdv2022_benefit_to_cost_ratio': null
461
- // },
462
- // 'deep': 3,
463
- // 'id': 'policy:container-2459:climateZone-1-PGE:fuel-all-electric',
464
- // 'title': 'All Electric',
465
- // 'items': null,
466
- // 'is_disabled': false,
467
- // 'is_last': false,
468
- // 'index': '0-0-0-0',
469
- // 'last_deep': true
470
- // },
471
- // {
472
- // 'data': {
473
- // 'initial_cost': 1806.25,
474
- // 'annual_bill_savings': 186.04,
475
- // 'emissions_savings': 0.42,
476
- // 'kwh_savings': 89.395,
477
- // 'therms_savings': 68.604,
478
- // 'lifecycle_savings': 5647.744375,
479
- // 'compliance_margin': 11.95,
480
- // 'baseline_fuel_type': 'Mixed-fuel',
481
- // 'energy_savings_combined': 7.16541574,
482
- // 'on_bill_cost_ratio': 2.784541829,
483
- // 'tdv_benefit_to_cost_ratio': 2.75,
484
- // 'simple_payback': 9.708831573,
485
- // 'tdv2022_benefit_to_cost_ratio': null
486
- // },
487
- // 'deep': 3,
488
- // 'id': 'policy:container-2459:climateZone-1-PGE:fuel-mixed-fuel',
489
- // 'title': 'Mixed-fuel',
490
- // 'items': null,
491
- // 'is_disabled': true,
492
- // 'is_last': true,
493
- // 'index': '0-0-0-1',
494
- // 'last_deep': true
495
- // }
496
- // ],
497
- // 'is_disabled': false,
498
- // 'is_last': false,
499
- // 'index': '0-0-0',
500
- // 'last_deep': false
501
- // },
502
- // {
503
- // 'data': {
504
- // 'forecast_units_affected': 77.5,
505
- // 'forecast_emissions_savings': 1427.3145433224304,
506
- // 'forecast_therms_savings': 296624.89395,
507
- // 'forecast_kwh_savings': -2102697.449999999,
508
- // 'forecast_lifecycle_savings': 19620.35775000001,
509
- // 'forecast_initial_cost': 408160,
510
- // 'initial_cost': 2014,
511
- // 'annual_bill_savings_avg': null,
512
- // 'annual_bill_savings': -439.0199999999999,
513
- // 'emissions_savings': 2.045,
514
- // 'kwh_savings': -3999,
515
- // 'therms_savings': 400.1415,
516
- // 'lifecycle_savings': -4160.687805,
517
- // 'compliance_margin': 29.6,
518
- // 'baseline_fuel_type': 'Mixed-fuel',
519
- // 'energy_savings_combined': 26.36819047,
520
- // 'on_bill_cost_ratio': 1.460322707,
521
- // 'tdv_benefit_to_cost_ratio': 1.42,
522
- // 'simple_payback': 0,
523
- // 'tdv2022_benefit_to_cost_ratio': 0
524
- // },
525
- // 'deep': 2,
526
- // 'id': 'policy:container-2459:climateZone-2-PGE',
527
- // 'title': 'Climate Zone 2',
528
- // 'items': [
529
- // {
530
- // 'data': {
531
- // 'forecast_units_affected': 77.5,
532
- // 'forecast_emissions_savings': 1427.3145433224304,
533
- // 'forecast_therms_savings': 296624.89395,
534
- // 'forecast_kwh_savings': -2102697.449999999,
535
- // 'forecast_lifecycle_savings': 19620.35775000001,
536
- // 'forecast_initial_cost': 408160,
537
- // 'initial_cost': 2014,
538
- // 'annual_bill_savings': -439.02,
539
- // 'emissions_savings': 2.045,
540
- // 'kwh_savings': -3999,
541
- // 'therms_savings': 400.1415,
542
- // 'lifecycle_savings': -4160.687805,
543
- // 'compliance_margin': 29.6,
544
- // 'baseline_fuel_type': 'Mixed-fuel',
545
- // 'energy_savings_combined': 26.36819047,
546
- // 'on_bill_cost_ratio': 1.460322707,
547
- // 'tdv_benefit_to_cost_ratio': 1.42,
548
- // 'simple_payback': 0,
549
- // 'tdv2022_benefit_to_cost_ratio': null
550
- // },
551
- // 'deep': 3,
552
- // 'id': 'policy:container-2459:climateZone-2-PGE:fuel-all-electric',
553
- // 'title': 'All Electric',
554
- // 'items': null,
555
- // 'is_disabled': false,
556
- // 'is_last': false,
557
- // 'index': '0-0-0-0',
558
- // 'last_deep': true
559
- // },
560
- // {
561
- // 'data': {
562
- // 'initial_cost': 1806.25,
563
- // 'annual_bill_savings': 186.04,
564
- // 'emissions_savings': 0.42,
565
- // 'kwh_savings': 89.395,
566
- // 'therms_savings': 68.604,
567
- // 'lifecycle_savings': 5647.744375,
568
- // 'compliance_margin': 11.95,
569
- // 'baseline_fuel_type': 'Mixed-fuel',
570
- // 'energy_savings_combined': 7.16541574,
571
- // 'on_bill_cost_ratio': 2.784541829,
572
- // 'tdv_benefit_to_cost_ratio': 2.75,
573
- // 'simple_payback': 9.708831573,
574
- // 'tdv2022_benefit_to_cost_ratio': null
575
- // },
576
- // 'deep': 3,
577
- // 'id': 'policy:container-2459:climateZone-2-PGE:fuel-mixed-fuel',
578
- // 'title': 'Mixed-fuel',
579
- // 'items': null,
580
- // 'is_disabled': true,
581
- // 'is_last': true,
582
- // 'index': '0-0-0-1',
583
- // 'last_deep': true
584
- // }
585
- // ],
586
- // 'is_disabled': true,
587
- // 'is_last': true,
588
- // 'index': '0-0-1',
589
- // 'last_deep': false
590
- // }
591
- // ],
592
- // 'is_disabled': false,
593
- // 'is_last': false,
594
- // 'index': '0-0',
595
- // 'last_deep': false
596
- // },
597
- // {
598
- // 'data': {
599
- // 'forecast_units_affected': 260,
600
- // 'forecast_emissions_savings': -2897.5373860970467,
601
- // 'forecast_therms_savings': -662408.3057812498,
602
- // 'forecast_kwh_savings': 7893570.890625,
603
- // 'forecast_lifecycle_savings': 1364733.3000000012,
604
- // 'forecast_initial_cost': 432795.17237499997,
605
- // 'initial_cost': -1567.1339524038463,
606
- // 'annual_bill_savings_avg': null,
607
- // 'annual_bill_savings': -166.54807692307693,
608
- // 'emissions_savings': 0.16826923076923078,
609
- // 'kwh_savings': -880.5528846153846,
610
- // 'therms_savings': 54.902403846153845,
611
- // 'lifecycle_savings': -3264.74441875,
612
- // 'compliance_margin': 0,
613
- // 'baseline_fuel_type': 'Mixed-fuel',
614
- // 'energy_savings_combined': 2.4857939423076925,
615
- // 'on_bill_cost_ratio': 0.435459354,
616
- // 'tdv_benefit_to_cost_ratio': 1.2400000000000002,
617
- // 'simple_payback': 9.409461647,
618
- // 'tdv2022_benefit_to_cost_ratio': 0
619
- // },
620
- // 'deep': 1,
621
- // 'id': 'policy:container-2539',
622
- // 'title': 'New ADUs',
623
- // 'items': [
624
- // {
625
- // 'data': {
626
- // 'forecast_units_affected': 260,
627
- // 'forecast_emissions_savings': -2897.5373860970467,
628
- // 'forecast_therms_savings': -662408.3057812498,
629
- // 'forecast_kwh_savings': 7893570.890625,
630
- // 'forecast_lifecycle_savings': 1364733.3000000012,
631
- // 'forecast_initial_cost': 432795.17237499997,
632
- // 'initial_cost': -1567.1339524038463,
633
- // 'annual_bill_savings_avg': null,
634
- // 'annual_bill_savings': -166.54807692307693,
635
- // 'emissions_savings': 0.16826923076923078,
636
- // 'kwh_savings': -880.5528846153846,
637
- // 'therms_savings': 54.902403846153845,
638
- // 'lifecycle_savings': -3264.74441875,
639
- // 'compliance_margin': 0,
640
- // 'baseline_fuel_type': 'Mixed-fuel',
641
- // 'energy_savings_combined': 2.4857939423076925,
642
- // 'on_bill_cost_ratio': 0.435459354,
643
- // 'tdv_benefit_to_cost_ratio': 1.2400000000000002,
644
- // 'simple_payback': 9.409461647,
645
- // 'tdv2022_benefit_to_cost_ratio': 0
646
- // },
647
- // 'deep': 2,
648
- // 'id': 'policy:container-2539:climateZone-1-PGE',
649
- // 'title': 'Climate Zone 1',
650
- // 'items': [
651
- // {
652
- // 'data': {
653
- // 'forecast_units_affected': 125,
654
- // 'forecast_emissions_savings': -2897.5373860970467,
655
- // 'forecast_therms_savings': -662408.3057812498,
656
- // 'forecast_kwh_savings': 7893570.890625,
657
- // 'forecast_lifecycle_savings': 1364733.3000000012,
658
- // 'forecast_initial_cost': 432795.17237499997,
659
- // 'initial_cost': -3259.638621,
660
- // 'annual_bill_savings': -346.42,
661
- // 'emissions_savings': 0.35,
662
- // 'kwh_savings': -1831.55,
663
- // 'therms_savings': 114.197,
664
- // 'lifecycle_savings': -6790.668391,
665
- // 'compliance_margin': 0,
666
- // 'baseline_fuel_type': 'Mixed-fuel',
667
- // 'energy_savings_combined': 5.1704514,
668
- // 'on_bill_cost_ratio': 0.435459354,
669
- // 'tdv_benefit_to_cost_ratio': 1.24,
670
- // 'simple_payback': 9.409461647,
671
- // 'tdv2022_benefit_to_cost_ratio': null
672
- // },
673
- // 'deep': 3,
674
- // 'id': 'policy:container-2539:climateZone-1-PGE:fuel-all-electric',
675
- // 'title': 'All Electric',
676
- // 'items': null,
677
- // 'is_disabled': false,
678
- // 'is_last': false,
679
- // 'index': '0-1-0-0',
680
- // 'last_deep': true
681
- // },
682
- // {
683
- // 'data': {
684
- // 'forecast_units_affected': 135,
685
- // 'initial_cost': 0,
686
- // 'annual_bill_savings': 0,
687
- // 'emissions_savings': 0,
688
- // 'kwh_savings': 0,
689
- // 'therms_savings': 0,
690
- // 'lifecycle_savings': 0,
691
- // 'compliance_margin': 0,
692
- // 'baseline_fuel_type': 'Mixed-fuel',
693
- // 'energy_savings_combined': 0,
694
- // 'on_bill_cost_ratio': 0,
695
- // 'tdv_benefit_to_cost_ratio': 0,
696
- // 'simple_payback': 0,
697
- // 'tdv2022_benefit_to_cost_ratio': null
698
- // },
699
- // 'deep': 3,
700
- // 'id': 'policy:container-2539:climateZone-1-PGE:fuel-mixed-fuel',
701
- // 'title': 'Mixed-fuel',
702
- // 'items': null,
703
- // 'is_disabled': false,
704
- // 'is_last': true,
705
- // 'index': '0-1-0-1',
706
- // 'last_deep': true
707
- // }
708
- // ],
709
- // 'is_disabled': false,
710
- // 'is_last': true,
711
- // 'index': '0-1-0',
712
- // 'last_deep': false
713
- // }
714
- // ],
715
- // 'is_disabled': false,
716
- // 'is_last': true,
717
- // 'index': '0-1',
718
- // 'last_deep': false
719
- // }
720
- // ],
721
- // 'is_disabled': false,
722
- // 'index': '0',
723
- // 'last_deep': false
724
- // }
725
- // ],
726
- // footer: [],
727
- // showRowsCollapsed: true,
728
- // }