nhsuk-tools-chart-components-react 1.0.0

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 (105) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +23 -0
  3. package/dist/cjs/bundle.css +598 -0
  4. package/dist/cjs/index.js +2 -0
  5. package/dist/cjs/index.js.map +1 -0
  6. package/dist/esm/bundle.css +598 -0
  7. package/dist/esm/components/blood-pressure/bp-chart-axes.js +2 -0
  8. package/dist/esm/components/blood-pressure/bp-chart-axes.js.map +1 -0
  9. package/dist/esm/components/blood-pressure/bp-chart-cell.js +2 -0
  10. package/dist/esm/components/blood-pressure/bp-chart-cell.js.map +1 -0
  11. package/dist/esm/components/blood-pressure/bp-chart-marker-icon.js +2 -0
  12. package/dist/esm/components/blood-pressure/bp-chart-marker-icon.js.map +1 -0
  13. package/dist/esm/components/blood-pressure/bp-chart-marker.js +2 -0
  14. package/dist/esm/components/blood-pressure/bp-chart-marker.js.map +1 -0
  15. package/dist/esm/components/blood-pressure/bp-chart-regions.js +2 -0
  16. package/dist/esm/components/blood-pressure/bp-chart-regions.js.map +1 -0
  17. package/dist/esm/components/blood-pressure/bp-chart.js +2 -0
  18. package/dist/esm/components/blood-pressure/bp-chart.js.map +1 -0
  19. package/dist/esm/components/blood-pressure/bp-figure-chart.js +2 -0
  20. package/dist/esm/components/blood-pressure/bp-figure-chart.js.map +1 -0
  21. package/dist/esm/components/bmi/bmi-chart-axes.js +2 -0
  22. package/dist/esm/components/bmi/bmi-chart-axes.js.map +1 -0
  23. package/dist/esm/components/bmi/bmi-chart-marker-icon.js +2 -0
  24. package/dist/esm/components/bmi/bmi-chart-marker-icon.js.map +1 -0
  25. package/dist/esm/components/bmi/bmi-chart-marker.js +2 -0
  26. package/dist/esm/components/bmi/bmi-chart-marker.js.map +1 -0
  27. package/dist/esm/components/bmi/bmi-chart-regions.js +2 -0
  28. package/dist/esm/components/bmi/bmi-chart-regions.js.map +1 -0
  29. package/dist/esm/components/bmi/bmi-chart.js +2 -0
  30. package/dist/esm/components/bmi/bmi-chart.js.map +1 -0
  31. package/dist/esm/components/bmi/bmi-figure-chart.js +2 -0
  32. package/dist/esm/components/bmi/bmi-figure-chart.js.map +1 -0
  33. package/dist/esm/components/chart-legend.js +2 -0
  34. package/dist/esm/components/chart-legend.js.map +1 -0
  35. package/dist/esm/components/child-bmi/cbmi-chart-axes.js +2 -0
  36. package/dist/esm/components/child-bmi/cbmi-chart-axes.js.map +1 -0
  37. package/dist/esm/components/child-bmi/cbmi-chart-marker-icon.js +2 -0
  38. package/dist/esm/components/child-bmi/cbmi-chart-marker-icon.js.map +1 -0
  39. package/dist/esm/components/child-bmi/cbmi-chart-marker.js +2 -0
  40. package/dist/esm/components/child-bmi/cbmi-chart-marker.js.map +1 -0
  41. package/dist/esm/components/child-bmi/cbmi-chart-regions.js +2 -0
  42. package/dist/esm/components/child-bmi/cbmi-chart-regions.js.map +1 -0
  43. package/dist/esm/components/child-bmi/cbmi-chart.js +2 -0
  44. package/dist/esm/components/child-bmi/cbmi-chart.js.map +1 -0
  45. package/dist/esm/components/child-bmi/cbmi-figure-chart.js +2 -0
  46. package/dist/esm/components/child-bmi/cbmi-figure-chart.js.map +1 -0
  47. package/dist/esm/custom-types/blood-pressure.types.js +2 -0
  48. package/dist/esm/custom-types/blood-pressure.types.js.map +1 -0
  49. package/dist/esm/custom-types/bmi.types.js +2 -0
  50. package/dist/esm/custom-types/bmi.types.js.map +1 -0
  51. package/dist/esm/custom-types/classifications.types.js +2 -0
  52. package/dist/esm/custom-types/classifications.types.js.map +1 -0
  53. package/dist/esm/index.js +2 -0
  54. package/dist/esm/index.js.map +1 -0
  55. package/dist/esm/models/bmi-chart.model.js +2 -0
  56. package/dist/esm/models/bmi-chart.model.js.map +1 -0
  57. package/dist/esm/models/cbmi-chart.model.js +2 -0
  58. package/dist/esm/models/cbmi-chart.model.js.map +1 -0
  59. package/dist/esm/src/__tests__/__helpers__/mocks/bmi-results.d.ts +29 -0
  60. package/dist/esm/src/__tests__/__helpers__/mocks/bp-results.d.ts +5 -0
  61. package/dist/esm/src/__tests__/__helpers__/mocks/cbmi-results.d.ts +21 -0
  62. package/dist/esm/src/__tests__/components/blood-pressure/bp-chart-figure.test.d.ts +1 -0
  63. package/dist/esm/src/__tests__/components/blood-pressure/bp-chart.test.d.ts +1 -0
  64. package/dist/esm/src/__tests__/components/bmi/bmi-chart-figure.test.d.ts +1 -0
  65. package/dist/esm/src/__tests__/components/bmi/bmi-chart.test.d.ts +1 -0
  66. package/dist/esm/src/__tests__/components/chart-legend.test.d.ts +1 -0
  67. package/dist/esm/src/__tests__/components/child-bmi/cbmi-chart-figure.test.d.ts +1 -0
  68. package/dist/esm/src/__tests__/components/child-bmi/cbmi-chart.test.d.ts +1 -0
  69. package/dist/esm/src/components/blood-pressure/bp-chart-axes.d.ts +18 -0
  70. package/dist/esm/src/components/blood-pressure/bp-chart-cell.d.ts +3 -0
  71. package/dist/esm/src/components/blood-pressure/bp-chart-marker-icon.d.ts +2 -0
  72. package/dist/esm/src/components/blood-pressure/bp-chart-marker.d.ts +12 -0
  73. package/dist/esm/src/components/blood-pressure/bp-chart-regions.d.ts +11 -0
  74. package/dist/esm/src/components/blood-pressure/bp-chart.d.ts +27 -0
  75. package/dist/esm/src/components/blood-pressure/bp-figure-chart.d.ts +37 -0
  76. package/dist/esm/src/components/bmi/bmi-chart-axes.d.ts +8 -0
  77. package/dist/esm/src/components/bmi/bmi-chart-marker-icon.d.ts +2 -0
  78. package/dist/esm/src/components/bmi/bmi-chart-marker.d.ts +7 -0
  79. package/dist/esm/src/components/bmi/bmi-chart-regions.d.ts +6 -0
  80. package/dist/esm/src/components/bmi/bmi-chart.d.ts +24 -0
  81. package/dist/esm/src/components/bmi/bmi-figure-chart.d.ts +33 -0
  82. package/dist/esm/src/components/chart-legend.d.ts +37 -0
  83. package/dist/esm/src/components/child-bmi/cbmi-chart-axes.d.ts +8 -0
  84. package/dist/esm/src/components/child-bmi/cbmi-chart-marker-icon.d.ts +1 -0
  85. package/dist/esm/src/components/child-bmi/cbmi-chart-marker.d.ts +9 -0
  86. package/dist/esm/src/components/child-bmi/cbmi-chart-regions.d.ts +6 -0
  87. package/dist/esm/src/components/child-bmi/cbmi-chart.d.ts +27 -0
  88. package/dist/esm/src/components/child-bmi/cbmi-figure-chart.d.ts +33 -0
  89. package/dist/esm/src/custom-types/blood-pressure.types.d.ts +29 -0
  90. package/dist/esm/src/custom-types/bmi.types.d.ts +41 -0
  91. package/dist/esm/src/custom-types/chart.types.d.ts +8 -0
  92. package/dist/esm/src/custom-types/classifications.types.d.ts +19 -0
  93. package/dist/esm/src/custom-types/threshold.types.d.ts +13 -0
  94. package/dist/esm/src/index.d.ts +14 -0
  95. package/dist/esm/src/models/bmi-chart.model.d.ts +16 -0
  96. package/dist/esm/src/models/cbmi-chart.model.d.ts +26 -0
  97. package/dist/esm/stories/Charts/Adult Bmi/Chart.stories.d.ts +56 -0
  98. package/dist/esm/stories/Charts/Adult Bmi/Figure.stories.d.ts +79 -0
  99. package/dist/esm/stories/Charts/Blood Pressure/Chart.stories.d.ts +122 -0
  100. package/dist/esm/stories/Charts/Blood Pressure/Figure.stories.d.ts +143 -0
  101. package/dist/esm/stories/Charts/Child Bmi/Chart.stories.d.ts +53 -0
  102. package/dist/esm/stories/Charts/Child Bmi/Figure.stories.d.ts +71 -0
  103. package/dist/esm/stories/Legend/ChartLegend.stories.d.ts +51 -0
  104. package/dist/index.d.ts +290 -0
  105. package/package.json +96 -0
@@ -0,0 +1,2 @@
1
+ import e from"react";import{BpGraphAxes as a}from"./bp-chart-axes.js";import{BpGraphMarker as s}from"./bp-chart-marker.js";import{BpGraphRegions as r}from"./bp-chart-regions.js";import{BpChartCell as t}from"./bp-chart-cell.js";function l({bounds:l,graphLayout:i,reading:n}){const{systolic:c,diastolic:o}=n,{systolicLabel:d,diastolicLabel:m}=i;return e.createElement("div",{className:"nhsuk-body-s"},e.createElement("div",{className:"nhsuk-bp-systolic-legend-wrapper","aria-hidden":"true"},e.createElement("div",{className:"nhsuk-bp-systolic-legend-marker"}),e.createElement("span",null,d)),e.createElement("div",{className:"nhsuk-bp-graph","aria-hidden":"true"},e.createElement(a,{bounds:l}),e.createElement(s,{systolicReading:c,diastolicReading:o,systolicLowerBound:l.systolic.lower,systolicUpperBound:l.systolic.upper[3].value,diastolicLowerBound:l.diastolic.lower,diastolicUpperBound:l.diastolic.upper[3].value}),e.createElement(r,{bounds:l}),i.rows.map((a=>e.createElement("div",{key:a.id,className:"nhsuk-bp-graph-row"},a.cells.map((a=>e.createElement(t,Object.assign({key:a.id},a))))))),e.createElement(r,{bounds:l,renderAsBoundary:!0})),e.createElement("div",{className:"nhsuk-bp-diastolic-legend-wrapper","aria-hidden":"true"},e.createElement("div",{className:"nhsuk-bp-diastolic-legend-marker"}),e.createElement("span",null,m)))}export{l as BpChart};
2
+ //# sourceMappingURL=bp-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bp-chart.js","sources":["../../../../../../src/components/blood-pressure/bp-chart.tsx"],"sourcesContent":[null],"names":["BpChart","bounds","graphLayout","reading","systolic","diastolic","systolicLabel","diastolicLabel","React","createElement","className","BpGraphAxes","BpGraphMarker","systolicReading","diastolicReading","systolicLowerBound","lower","systolicUpperBound","upper","value","diastolicLowerBound","diastolicUpperBound","BpGraphRegions","rows","map","rowConfig","key","id","cells","cellProps","BpChartCell","Object","assign","renderAsBoundary"],"mappings":"mOAoCM,SAAUA,GAAQC,OACtBA,EAAMC,YACNA,EAAWC,QACXA,IAEA,MAAMC,SAAEA,EAAQC,UAAEA,GAAcF,GAC1BG,cAAEA,EAAaC,eAAEA,GAAmBL,EAE1C,OACEM,EAAAC,cAAA,MAAA,CAAKC,UAAU,gBACbF,EAAAC,cAAA,MAAA,CAAKC,UAAU,mCAAkC,cAAa,QAC5DF,EAAKC,cAAA,MAAA,CAAAC,UAAU,oCACfF,EAAOC,cAAA,OAAA,KAAAH,IAGTE,EAAAC,cAAA,MAAA,CAAKC,UAAU,iBAAgB,cAAa,QAC1CF,EAAAC,cAACE,EAAW,CAACV,OAAQA,IACrBO,EAACC,cAAAG,GACCC,gBAAiBT,EACjBU,iBAAkBT,EAClBU,mBAAoBd,EAAOG,SAASY,MACpCC,mBAAoBhB,EAAOG,SAASc,MAAM,GAAGC,MAC7CC,oBAAqBnB,EAAOI,UAAUW,MACtCK,oBAAqBpB,EAAOI,UAAUa,MAAM,GAAGC,QAEjDX,EAAAC,cAACa,EAAc,CAACrB,OAAQA,IACvBC,EAAYqB,KAAKC,KAAKC,GACrBjB,uBAAKkB,IAAKD,EAAUE,GAAIjB,UAAU,sBAC/Be,EAAUG,MAAMJ,KAAKK,GACpBrB,EAAAC,cAACqB,EAAWC,OAAAC,OAAA,CAACN,IAAKG,EAAUF,IAAQE,SAI1CrB,EAACC,cAAAa,GAAerB,OAAQA,EAAQgC,uBAGlCzB,EAAAC,cAAA,MAAA,CAAKC,UAAU,oCAAmC,cAAa,QAC7DF,EAAKC,cAAA,MAAA,CAAAC,UAAU,qCACfF,EAAAC,cAAA,OAAA,KAAOF,IAIf"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{ChartLegend as a}from"../chart-legend.js";import{BpChart as t}from"./bp-chart.js";import{BpGraphMarkerIcon as r}from"./bp-chart-marker-icon.js";function n({bounds:n,graphLayout:s,reading:c,ariaLabel:l,legendKeys:m,legendMarkerText:i}){const o=((a,t)=>Object.entries(a).map((([e,a])=>({text:a,className:`nhsuk-bp-legend-key-classification-${e}`}))).concat({text:t,className:"nhsuk-bp-legend-key-marker",element:e.createElement(r,null)}))(m,i);return e.createElement("figure",{className:"nhsuk-u-margin-0"},e.createElement("figcaption",{className:"nhsuk-u-visually-hidden"},l),e.createElement(t,{bounds:n,reading:c,graphLayout:s}),e.createElement(a,{legendKeys:o}))}export{n as BpChartFigure};
2
+ //# sourceMappingURL=bp-figure-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bp-figure-chart.js","sources":["../../../../../../src/components/blood-pressure/bp-figure-chart.tsx"],"sourcesContent":[null],"names":["BpChartFigure","bounds","graphLayout","reading","ariaLabel","legendKeys","legendMarkerText","bpLegendKeys","Object","entries","map","classification","label","text","className","concat","element","React","createElement","BpGraphMarkerIcon","populateBpChartLegendItems","BpChart","ChartLegend"],"mappings":"4KA8DgB,SAAAA,GAAcC,OAC5BA,EAAMC,YACNA,EAAWC,QACXA,EAAOC,UACPA,EAASC,WACTA,EAAUC,iBACVA,IAEA,MAAMC,EA1D2B,EACjCF,EACAC,IAEAE,OAAOC,QAAQJ,GACZK,KACC,EAAEC,EAAgBC,MAA4B,CAC5CC,KAAMD,EACNE,UAAW,sCAAsCH,QAGpDI,OAAO,CACNF,KAAMP,EACNQ,UAAW,6BACXE,QAASC,EAACC,cAAAC,EAAoB,QA4CbC,CAA2Bf,EAAYC,GAC5D,OACEW,EAAAC,cAAA,SAAA,CAAQJ,UAAU,oBAChBG,EAAAC,cAAA,aAAA,CAAYJ,UAAU,2BAA2BV,GACjDa,EAAAC,cAACG,EAAO,CAACpB,OAAQA,EAAQE,QAASA,EAASD,YAAaA,IAExDe,EAACC,cAAAI,GAAYjB,WAAYE,IAG/B"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{BmiClassificationLabel as t}from"../../custom-types/bmi.types.js";function r({markerText:t,offsetPercent:r}){return e.createElement("div",{className:"nhsuk-bmi-axis-marker",style:{left:`${r}%`}},e.createElement("div",{className:"nhsuk-bmi-axis-marker-label"},t))}function n({model:n}){return e.createElement(e.Fragment,null,e.createElement(r,{markerText:n.bounds.upperBounds[t.Underweight].toString(),offsetPercent:n.classificationPercentage(t.Underweight)}),e.createElement(r,{markerText:n.bounds.upperBounds[t.Healthy].toString(),offsetPercent:n.classificationPercentage(t.Healthy)}),e.createElement(r,{markerText:n.bounds.upperBounds[t.Overweight].toString(),offsetPercent:n.classificationPercentage(t.Overweight)}))}export{n as BmiChartAxes};
2
+ //# sourceMappingURL=bmi-chart-axes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bmi-chart-axes.js","sources":["../../../../../../src/components/bmi/bmi-chart-axes.tsx"],"sourcesContent":[null],"names":["AxisMarker","markerText","offsetPercent","React","createElement","className","style","left","BmiChartAxes","model","Fragment","bounds","upperBounds","BmiClassificationLabel","Underweight","toString","classificationPercentage","Healthy","Overweight"],"mappings":"8FAcA,SAASA,GAAWC,WAClBA,EAAUC,cACVA,IAEA,OACEC,EAAAC,cAAA,MAAA,CACEC,UAAU,wBACVC,MAAO,CAAEC,KAAM,GAAGL,OAClBC,EAAKC,cAAA,MAAA,CAAAC,UAAW,+BAAqCJ,GAG3D,CAEgB,SAAAO,GAAaC,MAC3BA,IAEA,OACEN,EAAAC,cAAAD,EAAAO,SAAA,KACEP,EAAAC,cAACJ,EAAU,CACTC,WAAYQ,EAAME,OAAOC,YACvBC,EAAuBC,aACvBC,WACFb,cAAeO,EAAMO,yBACnBH,EAAuBC,eAG3BX,EAAAC,cAACJ,EAAU,CACTC,WAAYQ,EAAME,OAAOC,YACvBC,EAAuBI,SACvBF,WACFb,cAAeO,EAAMO,yBACnBH,EAAuBI,WAG3Bd,EAAAC,cAACJ,EAAU,CACTC,WAAYQ,EAAME,OAAOC,YACvBC,EAAuBK,YACvBH,WACFb,cAAeO,EAAMO,yBACnBH,EAAuBK,cAKjC"}
@@ -0,0 +1,2 @@
1
+ import L from"react";function e(){return L.createElement("svg",{viewBox:"1 1 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},L.createElement("g",{clipPath:"url(#clip0_1346_102759)"},L.createElement("path",{xmlns:"http://www.w3.org/2000/svg",d:"M1.93209 4.05025L1.57854 4.40381L1.93209 4.75736L6.17473 9L1.93209 13.2426L1.57854 13.5962L1.93209 13.9497L4.05341 16.0711L4.40697 16.4246L4.76052 16.0711L9.00316 11.8284L13.2458 16.0711L13.5994 16.4246L13.9529 16.0711L16.0742 13.9497L16.4278 13.5962L16.0742 13.2426L11.8316 9L16.0742 4.75736L16.4278 4.40381L16.0742 4.05025L13.9529 1.92893L13.5994 1.57538L13.2458 1.92893L9.00316 6.17157L4.76052 1.92893L4.40697 1.57538L4.05341 1.92893L1.93209 4.05025Z",fill:"black",stroke:"white"})))}export{e as BmiChartMarkerIcon};
2
+ //# sourceMappingURL=bmi-chart-marker-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bmi-chart-marker-icon.js","sources":["../../../../../../src/components/bmi/bmi-chart-marker-icon.tsx"],"sourcesContent":[null],"names":["BmiChartMarkerIcon","React","createElement","viewBox","fill","xmlns","clipPath","d","stroke"],"mappings":"8BAEgBA,IACd,OACEC,EAAAC,cAAA,MAAA,CAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,8BACzCJ,EAAGC,cAAA,IAAA,CAAAI,SAAS,2BACVL,EAAAC,cAAA,OAAA,CACEG,MAAM,6BACNE,EAAE,wcACFH,KAAK,QACLI,OAAO,WAKjB"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{BmiChartMarkerIcon as t}from"./bmi-chart-marker-icon.js";function r({bmi:r,model:m}){const o=m.offsetPercentage(r);let a=0;if(o>0){const e=1,t=Math.pow(10,e);a=Math.round(o*t)/t}return e.createElement("div",{className:"nhsuk-bmi-chart-marker",style:{left:`${a}%`}},e.createElement(t,null))}export{r as BmiChartMarker};
2
+ //# sourceMappingURL=bmi-chart-marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bmi-chart-marker.js","sources":["../../../../../../src/components/bmi/bmi-chart-marker.tsx"],"sourcesContent":[null],"names":["BmiChartMarker","bmi","model","offset","offsetPercentage","roundedOffset","roundingPrecision","multiplier","Math","pow","round","React","createElement","className","style","left","BmiChartMarkerIcon"],"mappings":"8FAKgBA,GAAeC,IAC7BA,EAAGC,MACHA,IAKA,MAAMC,EAASD,EAAME,iBAAiBH,GAEtC,IAAII,EAAgB,EACpB,GAAIF,EAAS,EAAG,CACd,MAAMG,EAAoB,EACpBC,EAAaC,KAAAC,IAAA,GAAMH,GAEzBD,EAAgBG,KAAKE,MAAMP,EAASI,GAAcA,CACnD,CAED,OACEI,EAAAC,cAAA,MAAA,CACEC,UAAU,yBACVC,MAAO,CAAEC,KAAM,GAAGV,OAClBM,EAAAC,cAACI,EAAkB,MAGzB"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{BmiClassificationLabel as t}from"../../custom-types/bmi.types.js";function i({classification:t,model:i}){const c=i.classificationPercentage(t);return e.createElement("div",{className:`nhsuk-bmi-classification-${t}`,style:{width:`${c}%`}})}function c({model:c}){return e.createElement(e.Fragment,null,e.createElement(i,{classification:t.Underweight,model:c}),e.createElement(i,{classification:t.Healthy,model:c}),e.createElement(i,{classification:t.Overweight,model:c}),e.createElement(i,{classification:t.Obese,model:c}))}export{c as BmiChartRegions};
2
+ //# sourceMappingURL=bmi-chart-regions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bmi-chart-regions.js","sources":["../../../../../../src/components/bmi/bmi-chart-regions.tsx"],"sourcesContent":[null],"names":["RegionForClassification","classification","model","width","classificationPercentage","React","createElement","className","style","BmiChartRegions","Fragment","BmiClassificationLabel","Underweight","Healthy","Overweight","Obese"],"mappings":"8FAQA,SAASA,GAAwBC,eAC/BA,EAAcC,MACdA,IAKA,MAAMC,EAAQD,EAAME,yBAAyBH,GAE7C,OACEI,EACEC,cAAA,MAAA,CAAAC,UAAW,4BAA4BN,IACvCO,MAAO,CAAEL,MAAO,GAAGA,OAGzB,CAEgB,SAAAM,GAAgBP,MAC9BA,IAIA,OACEG,EAAAC,cAAAD,EAAAK,SAAA,KACEL,EAACC,cAAAN,EACC,CAAAC,eAAgBU,EAAuBC,YACvCV,MAAOA,IAETG,EAACC,cAAAN,EACC,CAAAC,eAAgBU,EAAuBE,QACvCX,MAAOA,IAETG,EAACC,cAAAN,EACC,CAAAC,eAAgBU,EAAuBG,WACvCZ,MAAOA,IAETG,EAAAC,cAACN,EAAuB,CACtBC,eAAgBU,EAAuBI,MACvCb,MAAOA,IAIf"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{BmiResultChart as m}from"../../models/bmi-chart.model.js";import{BmiChartMarker as r}from"./bmi-chart-marker.js";import{BmiChartRegions as t}from"./bmi-chart-regions.js";import{BmiChartAxes as o}from"./bmi-chart-axes.js";function i({classificationBounds:i,bmi:a}){const c=new m(i);return e.createElement("div",{className:"nhsuk-bmi-graph","aria-hidden":"true"},e.createElement(o,{model:c}),e.createElement(r,{bmi:a,model:c}),e.createElement(t,{model:c}))}export{i as BmiChart};
2
+ //# sourceMappingURL=bmi-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bmi-chart.js","sources":["../../../../../../src/components/bmi/bmi-chart.tsx"],"sourcesContent":[null],"names":["BmiChart","classificationBounds","bmi","chartModel","BmiResultChart","React","createElement","className","BmiChartAxes","model","BmiChartMarker","BmiChartRegions"],"mappings":"kQA6BgBA,GAASC,qBACvBA,EAAoBC,IACpBA,IAEA,MAAMC,EAAa,IAAIC,EAAeH,GAEtC,OACEI,EAAKC,cAAA,MAAA,CAAAC,UAAU,gCAA8B,QAC3CF,EAAAC,cAACE,EAAY,CAACC,MAAON,IACrBE,EAACC,cAAAI,GAAeR,IAAKA,EAAKO,MAAON,IACjCE,EAACC,cAAAK,GAAgBF,MAAON,IAG9B"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{ChartLegend as a}from"../chart-legend.js";import{BmiChart as t}from"./bmi-chart.js";import{BmiChartMarkerIcon as r}from"./bmi-chart-marker-icon.js";function n({classificationBounds:n,bmi:i,ariaLabel:m,legendKeys:s,legendMarkerText:c}){const l=((a,t)=>Object.entries(a).map((([e,a])=>({text:a,className:`nhsuk-bmi-legend-key-classification-${e}`}))).concat({text:t,className:"nhsuk-bmi-legend-key-marker",element:e.createElement(r,null)}))(s,c);return e.createElement("figure",{className:"nhsuk-u-margin-0"},e.createElement("figcaption",{className:"nhsuk-u-visually-hidden"},m),e.createElement(t,{classificationBounds:n,bmi:i}),e.createElement(a,{legendKeys:l,borderWrapper:!0}))}export{n as BmiChartFigure};
2
+ //# sourceMappingURL=bmi-figure-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bmi-figure-chart.js","sources":["../../../../../../src/components/bmi/bmi-figure-chart.tsx"],"sourcesContent":[null],"names":["BmiChartFigure","classificationBounds","bmi","ariaLabel","legendKeys","legendMarkerText","bmiLegendKeys","Object","entries","map","classification","label","text","className","concat","element","React","createElement","BmiChartMarkerIcon","populateBmiChartLegendItems","BmiChart","ChartLegend","borderWrapper"],"mappings":"gLAyDgB,SAAAA,GAAeC,qBAC7BA,EAAoBC,IACpBA,EAAGC,UACHA,EAASC,WACTA,EAAUC,iBACVA,IAEA,MAAMC,EAtD4B,EAClCF,EACAC,IAEAE,OAAOC,QAAQJ,GACZK,KACC,EAAEC,EAAgBC,MAA4B,CAC5CC,KAAMD,EACNE,UAAW,uCAAuCH,QAGrDI,OAAO,CACNF,KAAMP,EACNQ,UAAW,8BACXE,QAASC,EAACC,cAAAC,EAAqB,QAwCbC,CACpBf,EACAC,GAGF,OACEW,EAAAC,cAAA,SAAA,CAAQJ,UAAU,oBAChBG,EAAAC,cAAA,aAAA,CAAYJ,UAAU,2BAA2BV,GACjDa,EAACC,cAAAG,GAASnB,qBAAsBA,EAAsBC,IAAKA,IAE3Dc,EAACC,cAAAI,EAAY,CAAAjB,WAAYE,EAAegB,eAAa,IAG3D"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{Card as n}from"nhsuk-react-components";function t({element:n,text:t,className:a,wrapperClassName:r}){return e.createElement("div",{className:`nhsuk-chart-legend-key-wrapper ${null!=r?r:""}`},e.createElement("div",{className:`nhsuk-chart-legend-key ${null!=a?a:""}`},n),t)}function a({legendKeys:a,className:r}){return e.createElement(n,{className:`${r} nhsuk-u-padding-3 nhsuk-chart-legend-card`},a.map((n=>e.createElement(t,Object.assign({key:n.text},n)))))}function r({legendKeys:n,className:a}){return e.createElement("div",{className:a},n.map((n=>e.createElement(t,Object.assign({key:n.text},n)))))}function s({legendKeys:n,borderWrapper:t=!0}){const s="nhsuk-u-margin-top-6 nhsuk-u-margin-bottom-3 nhsuk-u-secondary-text-color nhsuk-body-s";return e.createElement("div",{"aria-hidden":"true"},t?e.createElement(a,{legendKeys:n,className:s}):e.createElement(r,{legendKeys:n,className:s}))}export{s as ChartLegend};
2
+ //# sourceMappingURL=chart-legend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-legend.js","sources":["../../../../../src/components/chart-legend.tsx"],"sourcesContent":[null],"names":["ChartLegendKeyComponent","element","text","className","wrapperClassName","React","createElement","ChartLegendBorderedComponent","legendKeys","Card","map","legendKey","Object","assign","key","ChartLegendBorderlessComponent","ChartLegend","borderWrapper"],"mappings":"mEAmBA,SAASA,GAAwBC,QAC/BA,EAAOC,KACPA,EAAIC,UACJA,EAASC,iBACTA,IAEA,OACEC,EAAAC,cAAA,MAAA,CAAKH,UAAW,kCAAkCC,QAAAA,EAAoB,MACpEC,EAAAC,cAAA,MAAA,CAAKH,UAAW,0BAA0BA,QAAAA,EAAa,MACpDF,GAEFC,EAGP,CAOA,SAASK,GAA6BC,WACpCA,EAAUL,UACVA,IAKA,OACEE,EAAAC,cAACG,EAAI,CAACN,UAAW,GAAGA,+CACjBK,EAAWE,KAAKC,GACfN,EAACC,cAAAN,EAAwBY,OAAAC,OAAA,CAAAC,IAAKH,EAAUT,MAAUS,MAI1D,CAQA,SAASI,GAA+BP,WACtCA,EAAUL,UACVA,IAKA,OACEE,EAAAC,cAAA,MAAA,CAAKH,UAAWA,GACbK,EAAWE,KAAKC,GACfN,EAAAC,cAACN,EAAuBY,OAAAC,OAAA,CAACC,IAAKH,EAAUT,MAAUS,MAI1D,CAuBM,SAAUK,GAAYR,WAC1BA,EAAUS,cACVA,GAAgB,IAEhB,MAAMd,EACJ,yFAEF,OACEE,EAAiBC,cAAA,MAAA,CAAA,cAAA,QACdW,EACCZ,EAAAC,cAACC,EACC,CAAAC,WAAYA,EACZL,UAAWA,IAGbE,EAACC,cAAAS,GACCP,WAAYA,EACZL,UAAWA,IAKrB"}
@@ -0,0 +1,2 @@
1
+ import{BaseClassifications as e}from"../../custom-types/bmi.types.js";import t from"react";function r({markerText:e,offsetPercent:r}){return t.createElement("div",{className:"nhsuk-cbmi-axis-marker",style:{left:`${r}%`}},t.createElement("div",{className:"nhsuk-font-size-16 nhsuk-cbmi-axis-marker-label"},e))}function n({model:n}){return t.createElement(t.Fragment,null,t.createElement(r,{markerText:n.bounds.upperBounds[e.Underweight].toString(),offsetPercent:n.classificationPercentage(e.Underweight)}),t.createElement(r,{markerText:n.bounds.upperBounds[e.Healthy].toString(),offsetPercent:n.classificationPercentage(e.Healthy)}))}export{n as ChildBmiChartAxes};
2
+ //# sourceMappingURL=cbmi-chart-axes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbmi-chart-axes.js","sources":["../../../../../../src/components/child-bmi/cbmi-chart-axes.tsx"],"sourcesContent":[null],"names":["AxisMarker","markerText","offsetPercent","React","createElement","className","style","left","ChildBmiChartAxes","model","Fragment","bounds","upperBounds","BaseClassifications","Underweight","toString","classificationPercentage","Healthy"],"mappings":"2FAcA,SAASA,GAAWC,WAClBA,EAAUC,cACVA,IAEA,OACEC,EAAAC,cAAA,MAAA,CACEC,UAAU,yBACVC,MAAO,CAAEC,KAAM,GAAGL,OAClBC,EAAKC,cAAA,MAAA,CAAAC,UAAU,mDACZJ,GAIT,CAEgB,SAAAO,GAAkBC,MAChCA,IAEA,OACEN,EAAAC,cAAAD,EAAAO,SAAA,KACEP,EAAAC,cAACJ,EAAU,CACTC,WAAYQ,EAAME,OAAOC,YACvBC,EAAoBC,aACpBC,WACFb,cAAeO,EAAMO,yBACnBH,EAAoBC,eAGxBX,EAAAC,cAACJ,EAAU,CACTC,WAAYQ,EAAME,OAAOC,YACvBC,EAAoBI,SACpBF,WACFb,cAAeO,EAAMO,yBACnBH,EAAoBI,WAK9B"}
@@ -0,0 +1,2 @@
1
+ import e from"react";function t(){return e.createElement("svg",{viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e.createElement("path",{d:"M6 9L0.803849 -9.78799e-07L11.1962 -7.02746e-08L6 9Z",fill:"black"}))}export{t as ChildBmiChartMarkerIcon};
2
+ //# sourceMappingURL=cbmi-chart-marker-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbmi-chart-marker-icon.js","sources":["../../../../../../src/components/child-bmi/cbmi-chart-marker-icon.tsx"],"sourcesContent":[null],"names":["ChildBmiChartMarkerIcon","React","createElement","viewBox","fill","xmlns","d"],"mappings":"8BAEgBA,IACd,OACEC,EAAAC,cAAA,MAAA,CAAKC,QAAQ,YAAYC,KAAK,OAAOC,MAAM,8BACzCJ,EACEC,cAAA,OAAA,CAAAI,EAAE,uDACFF,KAAK,UAIb"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{ChildBmiChartMarkerIcon as t}from"./cbmi-chart-marker-icon.js";const a=e=>e<=20?"nhsuk-cbmi-chart-label-align-left":e<=80?"nhsuk-cbmi-chart-label-align-center":"nhsuk-cbmi-chart-label-align-right";function r({centile:t,markerText:r}){return e.createElement("div",{className:"nhsuk-cbmi-chart-label-marker"},e.createElement("div",{className:`nhsuk-u-font-size-19 ${a(t.value)}`},r,e.createElement("span",{className:"nhsuk-cbmi-chart-centile-marker"},t.label)))}function l({centile:a,model:l,markerText:c}){const n=l.clampedOffsetPercentage(a.value);let m=0;if(n>0){const e=1,t=Math.pow(10,e);m=Math.round(n*t)/t}return e.createElement("div",null,e.createElement("div",{className:"nhsuk-cbmi-chart-arrow-marker",style:{left:`${m}%`}},e.createElement(r,{centile:a,markerText:c}),e.createElement(t,null)),e.createElement("div",{className:"nhsuk-cbmi-chart-axis-marker",style:{left:`${m}%`}}))}export{l as ChildBmiChartMarker};
2
+ //# sourceMappingURL=cbmi-chart-marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbmi-chart-marker.js","sources":["../../../../../../src/components/child-bmi/cbmi-chart-marker.tsx"],"sourcesContent":[null],"names":["alignTextStyle","position","ChildBmiChartMarkerText","centile","markerText","React","createElement","className","value","label","ChildBmiChartMarker","model","offset","clampedOffsetPercentage","roundedOffset","roundingPrecision","multiplier","Math","pow","round","style","left","ChildBmiChartMarkerIcon"],"mappings":"2FAYA,MAAMA,EAAkBC,GAClBA,GAAY,GACP,oCAELA,GAAY,GACP,sCAEF,qCAGT,SAASC,GAAwBC,QAC/BA,EAAOC,WACPA,IAKA,OACEC,EAAAC,cAAA,MAAA,CAAKC,UAAU,iCACbF,EAAKC,cAAA,MAAA,CAAAC,UAAW,wBAAwBP,EAAeG,EAAQK,UAC5DJ,EACDC,EAAMC,cAAA,OAAA,CAAAC,UAAU,mCAAmCJ,EAAQM,QAInE,CACM,SAAUC,GAAoBP,QAClCA,EAAOQ,MACPA,EAAKP,WACLA,IAMA,MAAMQ,EAASD,EAAME,wBAAwBV,EAAQK,OAErD,IAAIM,EAAgB,EACpB,GAAIF,EAAS,EAAG,CACd,MAAMG,EAAoB,EACpBC,EAAaC,KAAAC,IAAA,GAAMH,GACzBD,EAAgBG,KAAKE,MAAMP,EAASI,GAAcA,CACnD,CAED,OACEX,EAAAC,cAAA,MAAA,KACED,EAAAC,cAAA,MAAA,CACEC,UAAU,gCACVa,MAAO,CAAEC,KAAM,GAAGP,OAClBT,EAACC,cAAAJ,GAAwBC,QAASA,EAASC,WAAYA,IACvDC,EAACC,cAAAgB,SAEHjB,EAAAC,cAAA,MAAA,CACEC,UAAU,+BACVa,MAAO,CAAEC,KAAM,GAAGP,QAI1B"}
@@ -0,0 +1,2 @@
1
+ import{BaseClassifications as e}from"../../custom-types/bmi.types.js";import t from"react";function i({classification:e,model:i}){const c=i.classificationPercentage(e);return t.createElement("div",{className:`nhsuk-cbmi-classification-${e}`,style:{width:`${c}%`}})}function c({model:c}){return t.createElement(t.Fragment,null,t.createElement(i,{classification:e.Underweight,model:c}),t.createElement(i,{classification:e.Healthy,model:c}),t.createElement(i,{classification:e.Overweight,model:c}))}export{c as ChildBmiChartRegions};
2
+ //# sourceMappingURL=cbmi-chart-regions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbmi-chart-regions.js","sources":["../../../../../../src/components/child-bmi/cbmi-chart-regions.tsx"],"sourcesContent":[null],"names":["RegionForClassification","classification","model","width","classificationPercentage","React","createElement","className","style","ChildBmiChartRegions","Fragment","BaseClassifications","Underweight","Healthy","Overweight"],"mappings":"2FAQA,SAASA,GAAwBC,eAC/BA,EAAcC,MACdA,IAKA,MAAMC,EAAQD,EAAME,yBAAyBH,GAC7C,OACEI,EACEC,cAAA,MAAA,CAAAC,UAAW,6BAA6BN,IACxCO,MAAO,CAAEL,MAAO,GAAGA,OAGzB,CAEgB,SAAAM,GAAqBP,MACnCA,IAIA,OACEG,EAAAC,cAAAD,EAAAK,SAAA,KACEL,EAACC,cAAAN,EACC,CAAAC,eAAgBU,EAAoBC,YACpCV,MAAOA,IAETG,EAACC,cAAAN,EACC,CAAAC,eAAgBU,EAAoBE,QACpCX,MAAOA,IAETG,EAAAC,cAACN,EAAuB,CACtBC,eAAgBU,EAAoBG,WACpCZ,MAAOA,IAIf"}
@@ -0,0 +1,2 @@
1
+ import{ChildBmiResultChart as e}from"../../models/cbmi-chart.model.js";import r from"react";import{ChildBmiChartAxes as m}from"./cbmi-chart-axes.js";import{ChildBmiChartMarker as t}from"./cbmi-chart-marker.js";import{ChildBmiChartRegions as o}from"./cbmi-chart-regions.js";function a({classificationBounds:a,centile:c,markerText:i}){const n=new e(a);return r.createElement("div",{className:"nhsuk-cbmi-graph nhsuk-u-margin-bottom-9 ","aria-hidden":"true"},r.createElement(m,{model:n}),r.createElement(t,{centile:c,markerText:i,model:n}),r.createElement(o,{model:n}))}export{a as ChildBmiChart};
2
+ //# sourceMappingURL=cbmi-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbmi-chart.js","sources":["../../../../../../src/components/child-bmi/cbmi-chart.tsx"],"sourcesContent":[null],"names":["ChildBmiChart","classificationBounds","centile","markerText","chartModel","ChildBmiResultChart","React","createElement","className","ChildBmiChartAxes","model","ChildBmiChartMarker","ChildBmiChartRegions"],"mappings":"iRAmCM,SAAUA,GAAcC,qBAC5BA,EAAoBC,QACpBA,EAAOC,WACPA,IAEA,MAAMC,EAAa,IAAIC,EAAoBJ,GAE3C,OACEK,EACEC,cAAA,MAAA,CAAAC,UAAW,0DACC,QACZF,EAAAC,cAACE,EAAiB,CAACC,MAAON,IAC1BE,EAAAC,cAACI,EAAmB,CAClBT,QAASA,EACTC,WAAYA,EACZO,MAAON,IAETE,EAACC,cAAAK,GAAqBF,MAAON,IAGnC"}
@@ -0,0 +1,2 @@
1
+ import e from"react";import{ChartLegend as a}from"../chart-legend.js";import{ChildBmiChart as r}from"./cbmi-chart.js";function t({classificationBounds:t,centile:n,centileMarkerText:i,ariaLabel:s,legendKeys:c}){const l=Object.entries(c).map((([e,a])=>({text:a,className:`nhsuk-cbmi-legend-key-classification-${e}`,wrapperClassName:"nhsuk-cbmi-legend-marker"})));return e.createElement("figure",{className:"nhsuk-u-margin-0"},e.createElement("figcaption",{className:"nhsuk-u-visually-hidden"},s),e.createElement(r,{classificationBounds:t,centile:n,markerText:i}),e.createElement(a,{legendKeys:l,borderWrapper:!1}))}export{t as ChildBmiChartFigure};
2
+ //# sourceMappingURL=cbmi-figure-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbmi-figure-chart.js","sources":["../../../../../../src/components/child-bmi/cbmi-figure-chart.tsx"],"sourcesContent":[null],"names":["ChildBmiChartFigure","classificationBounds","centile","centileMarkerText","ariaLabel","legendKeys","cbmiLegendKeys","Object","entries","map","classification","label","text","className","wrapperClassName","React","createElement","ChildBmiChart","markerText","ChartLegend","borderWrapper"],"mappings":"sHAwCgB,SAAAA,GAAoBC,qBAClCA,EAAoBC,QACpBA,EAAOC,kBACPA,EAAiBC,UACjBA,EAASC,WACTA,IAEA,MAAMC,EAAiBC,OAAOC,QAAQH,GAAYI,KAChD,EAAEC,EAAgBC,MAAY,CAC5BC,KAAMD,EACNE,UAAW,wCAAwCH,IACnDI,iBAAkB,+BAItB,OACEC,EAAAC,cAAA,SAAA,CAAQH,UAAU,oBAChBE,EAAAC,cAAA,aAAA,CAAYH,UAAU,2BAA2BT,GACjDW,EAAAC,cAACC,EAAa,CACZhB,qBAAsBA,EACtBC,QAASA,EACTgB,WAAYf,IAEdY,EAAAC,cAACG,EAAW,CAACd,WAAYC,EAAgBc,eAAe,IAG9D"}
@@ -0,0 +1,2 @@
1
+ const e={Low:"0",Healthy:"1",SlightlyRaised:"2",High:"3",VeryHigh:"4"};export{e as BpClassificationLevel};
2
+ //# sourceMappingURL=blood-pressure.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blood-pressure.types.js","sources":["../../../../../src/custom-types/blood-pressure.types.ts"],"sourcesContent":[null],"names":["BpClassificationLevel","Low","Healthy","SlightlyRaised","High","VeryHigh"],"mappings":"AAAa,MAAAA,EAAwB,CACnCC,IAAK,IACLC,QAAS,IACTC,eAAgB,IAChBC,KAAM,IACNC,SAAU"}
@@ -0,0 +1,2 @@
1
+ const e={Underweight:"underweight",Healthy:"healthy",Overweight:"overweight"},s=Object.assign(Object.assign({},e),{Obese:"obese"}),t=Object.assign(Object.assign({},e),{Obese1:"obese1",Obese2:"obese2",Obese3:"obese3"});t.Underweight,t.Healthy,t.Underweight,t.Overweight,t.Healthy;export{e as BaseClassifications,t as BmiClassification,s as BmiClassificationLabel};
2
+ //# sourceMappingURL=bmi.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bmi.types.js","sources":["../../../../../src/custom-types/bmi.types.ts"],"sourcesContent":[null],"names":["BaseClassifications","Underweight","Healthy","Overweight","BmiClassificationLabel","Object","assign","Obese","BmiClassification","Obese1","Obese2","Obese3"],"mappings":"AAEa,MAAAA,EAAsB,CACjCC,YAAa,cACbC,QAAS,UACTC,WAAY,cAGDC,EAAyBC,OAAAC,OAAAD,OAAAC,OAAA,GACjCN,GAAmB,CACtBO,MAAO,UAGIC,EAAoBH,OAC5BC,OAAAD,OAAAC,OAAA,CAAA,EAAAN,IACHS,OAAQ,SACRC,OAAQ,SACRC,OAAQ,WAgBPH,EAAkBP,YAClBO,EAAkBN,QAAUM,EAAkBP,YAC9CO,EAAkBL,WAAaK,EAAkBN"}
@@ -0,0 +1,2 @@
1
+ import{BmiClassification as e}from"./bmi.types.js";const t={[e.Underweight]:null,[e.Healthy]:e.Underweight,[e.Overweight]:e.Healthy};export{t as ChildBmiClassificationsOrderMap};
2
+ //# sourceMappingURL=classifications.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classifications.types.js","sources":["../../../../../src/custom-types/classifications.types.ts"],"sourcesContent":[null],"names":["ChildBmiClassificationsOrderMap","BmiClassification","Underweight","Healthy","Overweight"],"mappings":"mDAgBa,MAAAA,EAAkC,CAC7C,CAACC,EAAkBC,aAAc,KACjC,CAACD,EAAkBE,SAAUF,EAAkBC,YAC/C,CAACD,EAAkBG,YAAaH,EAAkBE"}
@@ -0,0 +1,2 @@
1
+ export{ChildBmiChart}from"./components/child-bmi/cbmi-chart.js";export{ChildBmiChartFigure}from"./components/child-bmi/cbmi-figure-chart.js";export{BmiChart}from"./components/bmi/bmi-chart.js";export{BmiChartFigure}from"./components/bmi/bmi-figure-chart.js";export{BpChart}from"./components/blood-pressure/bp-chart.js";export{BpChartFigure}from"./components/blood-pressure/bp-figure-chart.js";export{ChartLegend}from"./components/chart-legend.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{BmiClassificationLabel as e,BmiClassification as t}from"../custom-types/bmi.types.js";class r{constructor(r){this.bounds={lowerBound:17.5,upperBounds:{[e.Underweight]:r.upper[t.Underweight].value,[e.Healthy]:r.upper[t.Healthy].value,[e.Overweight]:r.upper[t.Overweight].value,[e.Obese]:r.upper[t.Obese2].value}}}get chartRange(){return this.bounds.upperBounds[e.Obese]-this.bounds.lowerBound}classificationPercentage(e){return this.offsetPercentage(this.bounds.upperBounds[e])}offsetPercentage(e){return(e-this.bounds.lowerBound)/this.chartRange*100}}export{r as BmiResultChart};
2
+ //# sourceMappingURL=bmi-chart.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bmi-chart.model.js","sources":["../../../../../src/models/bmi-chart.model.ts"],"sourcesContent":[null],"names":["BmiResultChart","constructor","classificationBounds","this","bounds","lowerBound","upperBounds","BmiClassificationLabel","Underweight","upper","BmiClassification","value","Healthy","Overweight","Obese","Obese2","chartRange","classificationPercentage","classification","offsetPercentage"],"mappings":"mGAUaA,EAGX,WAAAC,CAAYC,GACVC,KAAKC,OAAS,CACZC,WAPoB,KAQpBC,YAAa,CACX,CAACC,EAAuBC,aACtBN,EAAqBO,MAAMC,EAAkBF,aAAaG,MAC5D,CAACJ,EAAuBK,SACtBV,EAAqBO,MAAMC,EAAkBE,SAASD,MACxD,CAACJ,EAAuBM,YACtBX,EAAqBO,MAAMC,EAAkBG,YAAYF,MAC3D,CAACJ,EAAuBO,OACtBZ,EAAqBO,MAAMC,EAAkBK,QAAQJ,OAG5D,CAED,cAAIK,GACF,OACEb,KAAKC,OAAOE,YAAYC,EAAuBO,OAC/CX,KAAKC,OAAOC,UAEf,CAMD,wBAAAY,CACEC,GAEA,OAAOf,KAAKgB,iBAAiBhB,KAAKC,OAAOE,YAAYY,GACtD,CAKD,gBAAAC,CAAiBR,GACf,OAASA,EAAQR,KAAKC,OAAOC,YAAcF,KAAKa,WAAc,GAC/D"}
@@ -0,0 +1,2 @@
1
+ import{ChildBmiClassificationsOrderMap as e}from"../custom-types/classifications.types.js";import{BmiClassificationLabel as t,BmiClassification as s,BaseClassifications as r}from"../custom-types/bmi.types.js";class n{constructor(e){this.bounds={lowerBound:0,upperBounds:{[t.Underweight]:e.upper[s.Underweight].value,[t.Healthy]:e.upper[s.Healthy].value,[t.Overweight]:e.upper[s.Overweight].value}}}get chartRange(){return this.bounds.upperBounds[s.Overweight]-this.bounds.lowerBound}classificationPercentage(e){return this.offsetPercentage(this.bounds.upperBounds[e])}offsetPercentage(e){const t=this.chartRange;if(e<=2){const s=.08*t;return this.calculateOffset(e,r.Underweight,s)}if(e<=91){const s=.72*t,n=.08*t;return this.calculateOffset(e,r.Healthy,s)+n}const s=.2*t,n=.8*t;return this.calculateOffset(e,r.Overweight,s)+n}calculateOffset(t,s,r){const n=e[s]?this.bounds.upperBounds[e[s]]:0;return(t-n)/(this.bounds.upperBounds[s]-n)*r}clampedOffsetPercentage(e){const t=Math.max(1,Math.min(e,99));return this.offsetPercentage(t)}}export{n as ChildBmiResultChart};
2
+ //# sourceMappingURL=cbmi-chart.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cbmi-chart.model.js","sources":["../../../../../src/models/cbmi-chart.model.ts"],"sourcesContent":[null],"names":["ChildBmiResultChart","constructor","classificationBounds","this","bounds","lowerBound","upperBounds","BmiClassificationLabel","Underweight","upper","BmiClassification","value","Healthy","Overweight","chartRange","classificationPercentage","classification","offsetPercentage","containerWidth","scaledWidth","calculateOffset","BaseClassifications","scaledStart","width","previousOffset","ChildBmiClassificationsOrderMap","clampedOffsetPercentage","clampedValue","Math","max","min"],"mappings":"uNAgBaA,EAGX,WAAAC,CAAYC,GACVC,KAAKC,OAAS,CACZC,WAToB,EAUpBC,YAAa,CACX,CAACC,EAAuBC,aACtBN,EAAqBO,MAAMC,EAAkBF,aAAaG,MAC5D,CAACJ,EAAuBK,SACtBV,EAAqBO,MAAMC,EAAkBE,SAASD,MACxD,CAACJ,EAAuBM,YACtBX,EAAqBO,MAAMC,EAAkBG,YAAYF,OAGhE,CAED,cAAIG,GACF,OACEX,KAAKC,OAAOE,YAAYI,EAAkBG,YAC1CV,KAAKC,OAAOC,UAEf,CAMD,wBAAAU,CAAyBC,GACvB,OAAOb,KAAKc,iBAAiBd,KAAKC,OAAOE,YAAYU,GACtD,CAQD,gBAAAC,CAAiBN,GACf,MAAMO,EAAiBf,KAAKW,WAE5B,GAAIH,GAAS,EAAG,CACd,MAAMQ,EAA+B,IAAjBD,EACpB,OAAOf,KAAKiB,gBACVT,EACAU,EAAoBb,YACpBW,EAEH,CAED,GAAIR,GAAS,GAAI,CACf,MAAMQ,EAA+B,IAAjBD,EACdI,EAA+B,IAAjBJ,EACpB,OACEf,KAAKiB,gBAAgBT,EAAOU,EAAoBT,QAASO,GACzDG,CAEH,CAED,MAAMH,EAA+B,GAAjBD,EACdI,EAA+B,GAAjBJ,EACpB,OACEf,KAAKiB,gBAAgBT,EAAOU,EAAoBR,WAAYM,GAC5DG,CAEH,CAEO,eAAAF,CACNT,EACAK,EACAO,GAEA,MAAMC,EAAiBC,EAAgCT,GACnDb,KAAKC,OAAOE,YACVmB,EAAgCT,IAElC,EAIJ,OAASL,EAAQa,IAFfrB,KAAKC,OAAOE,YAAYU,GAAkBQ,GAEQD,CACrD,CAOD,uBAAAG,CAAwBf,GACtB,MAAMgB,EAAeC,KAAKC,IA5FZ,EA4F2BD,KAAKE,IAAInB,EA3FpC,KA4Fd,OAAOR,KAAKc,iBAAiBU,EAC9B"}
@@ -0,0 +1,29 @@
1
+ export declare const mockedBmiClassificationBounds: {
2
+ lower: number;
3
+ upper: {
4
+ underweight: {
5
+ value: number;
6
+ label: string;
7
+ };
8
+ healthy: {
9
+ value: number;
10
+ label: string;
11
+ };
12
+ overweight: {
13
+ value: number;
14
+ label: string;
15
+ };
16
+ obese1: {
17
+ value: number;
18
+ label: string;
19
+ };
20
+ obese2: {
21
+ value: number;
22
+ label: string;
23
+ };
24
+ obese3: {
25
+ value: undefined;
26
+ label: string;
27
+ };
28
+ };
29
+ };
@@ -0,0 +1,5 @@
1
+ import { BpGraphLayout, BpReadingValue } from '@custom-types/blood-pressure.types';
2
+ import { BpBounds } from '@custom-types/classifications.types';
3
+ export declare const mockedBptReading: BpReadingValue;
4
+ export declare const mockedBpClassificationBounds: BpBounds;
5
+ export declare const mockedBpGraphLayout: BpGraphLayout;
@@ -0,0 +1,21 @@
1
+ export declare const mockedCentileValue: {
2
+ value: number;
3
+ label: string;
4
+ };
5
+ export declare const mockedChildBmiClassificationBounds: {
6
+ lower: number;
7
+ upper: {
8
+ underweight: {
9
+ value: number;
10
+ label: string;
11
+ };
12
+ healthy: {
13
+ value: number;
14
+ label: string;
15
+ };
16
+ overweight: {
17
+ value: number;
18
+ label: string;
19
+ };
20
+ };
21
+ };
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,18 @@
1
+ import { BpBounds } from '@custom-types/classifications.types';
2
+ import './styles/bp-chart-axes.module.scss';
3
+ export declare enum AxisType {
4
+ Systolic = 0,
5
+ Diastolic = 1
6
+ }
7
+ type BpGraphAxisLabelProps = Readonly<{
8
+ axisType: AxisType;
9
+ labelText: string;
10
+ offsetPercent: number;
11
+ applyLabelSpecificStyles?: boolean;
12
+ }>;
13
+ type BpGraphAxesProps = Readonly<{
14
+ bounds: BpBounds;
15
+ }>;
16
+ export declare function BpGraphAxisValueLabel({ axisType, labelText, offsetPercent, applyLabelSpecificStyles, }: BpGraphAxisLabelProps): JSX.Element;
17
+ export declare function BpGraphAxes({ bounds }: BpGraphAxesProps): JSX.Element;
18
+ export {};
@@ -0,0 +1,3 @@
1
+ import { BpCellConfiguration } from '@custom-types/blood-pressure.types';
2
+ import './styles/bp-chart-cell.module.scss';
3
+ export declare function BpChartCell({ firstInRow, firstInColumn, }: Readonly<BpCellConfiguration>): JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { JSX } from 'react';
2
+ export declare function BpGraphMarkerIcon(): JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { JSX } from 'react';
2
+ import './styles/bp-chart-marker.module.scss';
3
+ type BpGraphMarkerProps = Readonly<{
4
+ systolicReading: number;
5
+ diastolicReading: number;
6
+ systolicLowerBound: number;
7
+ systolicUpperBound: number;
8
+ diastolicLowerBound: number;
9
+ diastolicUpperBound: number;
10
+ }>;
11
+ export declare function BpGraphMarker({ systolicReading, diastolicReading, systolicLowerBound, systolicUpperBound, diastolicLowerBound, diastolicUpperBound, }: BpGraphMarkerProps): JSX.Element;
12
+ export {};
@@ -0,0 +1,11 @@
1
+ import { BpClassificationLevelType } from '@custom-types/blood-pressure.types';
2
+ import { BpBounds } from '@custom-types/classifications.types';
3
+ import './styles/bp-chart-region-boundaries.module.scss';
4
+ export type BpGraphBoundaryProps = Readonly<{
5
+ bounds: BpBounds;
6
+ renderAsBoundary?: boolean;
7
+ }>;
8
+ export declare function RegionsForClassification({ classification, bounds, renderAsBoundary, }: Readonly<BpGraphBoundaryProps & {
9
+ classification: BpClassificationLevelType;
10
+ }>): JSX.Element;
11
+ export declare function BpGraphRegions({ bounds, renderAsBoundary, }: BpGraphBoundaryProps): JSX.Element;
@@ -0,0 +1,27 @@
1
+ import { BpBounds } from '@custom-types/classifications.types';
2
+ import { BpGraphLayout, BpReadingValue } from '@custom-types/blood-pressure.types';
3
+ import './styles/bp-chart.module.scss';
4
+ /**
5
+ * The properties for @BpChart component
6
+ *
7
+ * @param {BpBounds} bounds - The blood pressure classification ranges
8
+ * @param {BpGraphLayout} graphLayout - The graph layout contains rows configuration and systolic/diastolic chart labels
9
+ * @param {BpReadingValue} readings - The systolic and diastolic blood pressure readings
10
+ */
11
+ export type BpChartProps = {
12
+ bounds: BpBounds;
13
+ graphLayout: BpGraphLayout;
14
+ reading: BpReadingValue;
15
+ };
16
+ /**
17
+ * A component to display the blood pressure chart
18
+ *
19
+ * @typedef {object} BpChartProps
20
+ * @property {BpBounds} bounds - The blood pressure classification ranges
21
+ * @property {BpGraphLayout} graphLayout - The graph layout contains rows configuration and systolic/diastolic chart labels
22
+ * @property {BpReadingValue} readings - The systolic and diastolic blood pressure readings
23
+ *
24
+ * @param {BpChartProps} props
25
+ * @returns {JSX.Element}
26
+ */
27
+ export declare function BpChart({ bounds, graphLayout, reading, }: Readonly<BpChartProps>): JSX.Element;
@@ -0,0 +1,37 @@
1
+ import { JSX } from 'react';
2
+ import { BpBounds } from '@custom-types/classifications.types';
3
+ import { BpGraphLayout, BpLegendKeys, BpReadingValue } from '@custom-types/blood-pressure.types';
4
+ import './styles/bp-chart-panel.module.scss';
5
+ /**
6
+ * The properties for @BpChartFigure component
7
+ *
8
+ * @param {BpBounds} bounds - The blood pressure classification ranges
9
+ * @param {BpGraphLayout} graphLayout - The graph layout with row configuration and systolic/diastolic chart labels
10
+ * @param {BpReadingValue} readings - The systolic and diastolic blood pressure readings
11
+ * @param {string }ariaLabel - The aria label for the chart figure
12
+ * @param {BpLegendKeys} legendKeys - The legend keys for the chart figure
13
+ * @param {string } legendMarkerText - The legend marker text
14
+ */
15
+ export type BpChartFigureProps = {
16
+ bounds: BpBounds;
17
+ graphLayout: BpGraphLayout;
18
+ reading: BpReadingValue;
19
+ ariaLabel: string;
20
+ legendKeys: BpLegendKeys;
21
+ legendMarkerText: string;
22
+ };
23
+ /**
24
+ * A component to display the blood pressure chart figure
25
+ *
26
+ * @typedef {object} BpChartFigureProps
27
+ * @property {BpBounds} bounds - The blood pressure classification ranges
28
+ * @property {BpGraphLayout} graphLayout - The graph layout with row configuration and systolic/diastolic chart labels
29
+ * @property {BpReadingValue} readings - The systolic and diastolic blood pressure readings
30
+ * @property {string }ariaLabel - The aria label for the chart figure
31
+ * @property {BpLegendKeys} legendKeys - The legend keys for the chart figure
32
+ * @property {string } legendMarkerText - The legend marker text
33
+ *
34
+ * @param {BpChartFigureProps} props
35
+ * @returns {JSX.Element}
36
+ */
37
+ export declare function BpChartFigure({ bounds, graphLayout, reading, ariaLabel, legendKeys, legendMarkerText, }: Readonly<BpChartFigureProps>): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'react';
2
+ import { BmiResultChart } from '@models/bmi-chart.model';
3
+ import './styles/bmi-chart-axes.module.scss';
4
+ type BmitGraphAxesProps = {
5
+ model: BmiResultChart;
6
+ };
7
+ export declare function BmiChartAxes({ model, }: Readonly<BmitGraphAxesProps>): JSX.Element;
8
+ export {};
@@ -0,0 +1,2 @@
1
+ import { JSX } from 'react';
2
+ export declare function BmiChartMarkerIcon(): JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { JSX } from 'react';
2
+ import { BmiResultChart } from '@models/bmi-chart.model';
3
+ import './styles/bmi-chart-marker.module.scss';
4
+ export declare function BmiChartMarker({ bmi, model, }: Readonly<{
5
+ bmi: number;
6
+ model: BmiResultChart;
7
+ }>): JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { JSX } from 'react';
2
+ import { BmiResultChart } from '@models/bmi-chart.model';
3
+ import './styles/bmi-chart-regions.module.scss';
4
+ export declare function BmiChartRegions({ model, }: Readonly<{
5
+ model: BmiResultChart;
6
+ }>): JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { JSX } from 'react';
2
+ import { BmiClassificationBounds } from '@custom-types/bmi.types';
3
+ import './styles/bmi-chart.module.scss';
4
+ /**
5
+ * The properties for @BmiChart component
6
+ *
7
+ * @param {classificationBounds} classificationBounds - The body mass index classification ranges
8
+ * @param {number} bmi - The body mass index value
9
+ */
10
+ export type BmiChartProps = {
11
+ classificationBounds: BmiClassificationBounds;
12
+ bmi: number;
13
+ };
14
+ /**
15
+ * A component to display the body mass index chart
16
+ *
17
+ * @typedef {object} BmiChartProps
18
+ * @property {classificationBounds} classificationBounds - The body mass index classification ranges
19
+ * @property {number} bmi - The body mass index value
20
+ *
21
+ * @param {BmiChartProps} props
22
+ * @returns {JSX.Element}
23
+ */
24
+ export declare function BmiChart({ classificationBounds, bmi, }: Readonly<BmiChartProps>): JSX.Element;
@@ -0,0 +1,33 @@
1
+ import { JSX } from 'react';
2
+ import { BmiClassificationBounds, BmiLegendKeys } from '@custom-types/bmi.types';
3
+ import './styles/bmi-chart-card.module.scss';
4
+ /**
5
+ * The properties for @BmiChartFigure component
6
+ *
7
+ * @param {classificationBounds} classificationBounds - The body mass index classification ranges
8
+ * @param {number} bmi - The body mass index value
9
+ * @param {string} ariaLabel - The aria label for the chart figure
10
+ * @param {BmiLegendKeys} legendKeys - The chart legend items
11
+ * @param {string} legendMarkerText The chart legend marker text
12
+ */
13
+ export type BmiChartFigureProps = {
14
+ classificationBounds: BmiClassificationBounds;
15
+ bmi: number;
16
+ ariaLabel: string;
17
+ legendKeys: BmiLegendKeys;
18
+ legendMarkerText: string;
19
+ };
20
+ /**
21
+ * A component to display the body mass index chart figure
22
+ *
23
+ * @typedef {object} BmiChartFigureProps
24
+ * @property {classificationBounds} classificationBounds - The body mass index classification ranges
25
+ * @property {number} bmi - The body mass index value
26
+ * @property {string} ariaLabel - The aria label for the chart figure
27
+ * @property {BmiLegendKeys} legendKeys - The chart legend items
28
+ * @property {string} legendMarkerText The chart legend marker text
29
+ *
30
+ * @param {BmiChartFigureProps} props
31
+ * @returns {JSX.Element}
32
+ */
33
+ export declare function BmiChartFigure({ classificationBounds, bmi, ariaLabel, legendKeys, legendMarkerText, }: Readonly<BmiChartFigureProps>): JSX.Element;
@@ -0,0 +1,37 @@
1
+ import { JSX } from 'react';
2
+ import './styles/chart-legend.scss';
3
+ /**
4
+ * The ChartLegendKey type
5
+ *
6
+ * @param {string} className - Optional: The classname of the legend key
7
+ * @param {string} wrapperClassName - Optional: The wrapper classname for the card component
8
+ * @param {string} text - The text of the legend key
9
+ * @param {BmiLegendKeys} JSX.Element - Optional: A JSX.Element of the legend key
10
+ */
11
+ export type ChartLegendKey = {
12
+ className?: string;
13
+ wrapperClassName?: string;
14
+ text: string;
15
+ element?: JSX.Element;
16
+ };
17
+ /**
18
+ * The properties for @ChartLegend component
19
+ *
20
+ * @param {ChartLegendKey[]} legendKeys - The list of legend keys
21
+ * @param {boolean} borderWrapper - Optional: A boolean value to enable or disable a border around the legend items with a set max width of 250px
22
+ */
23
+ export type ChartLegendProps = {
24
+ legendKeys: ChartLegendKey[];
25
+ borderWrapper?: boolean;
26
+ };
27
+ /**
28
+ * A component to display a legend associated with a chart, consisting of a card which wraps a set of legend keys.
29
+ *
30
+ * @typedef {object} ChartLegendProps
31
+ * @property {ChartLegendKey[]} legendKeys - The list of legend keys
32
+ * @property {boolean} borderWrapper - Optional: A boolean value to enable or disable a border around the legend items with a set max width of 250px
33
+ *
34
+ * @param {ChartLegendProps} props
35
+ * @returns {JSX.Element}
36
+ */
37
+ export declare function ChartLegend({ legendKeys, borderWrapper, }: Readonly<ChartLegendProps>): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { ChildBmiResultChart } from '@models/cbmi-chart.model';
2
+ import { JSX } from 'react';
3
+ import './styles/cbmi-chart-axes.module.scss';
4
+ type ChildBmitGraphAxesProps = {
5
+ model: ChildBmiResultChart;
6
+ };
7
+ export declare function ChildBmiChartAxes({ model, }: Readonly<ChildBmitGraphAxesProps>): JSX.Element;
8
+ export {};
@@ -0,0 +1 @@
1
+ export declare function ChildBmiChartMarkerIcon(): JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { ChildBmiResultChart } from '@models/cbmi-chart.model';
2
+ import { JSX } from 'react';
3
+ import { CentileValue } from '@custom-types/bmi.types';
4
+ import './styles/cbmi-chart-marker.module.scss';
5
+ export declare function ChildBmiChartMarker({ centile, model, markerText, }: Readonly<{
6
+ centile: CentileValue;
7
+ model: ChildBmiResultChart;
8
+ markerText: string;
9
+ }>): JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ChildBmiResultChart } from '@models/cbmi-chart.model';
2
+ import { JSX } from 'react';
3
+ import './styles/cbmi-chart-regions.module.scss';
4
+ export declare function ChildBmiChartRegions({ model, }: Readonly<{
5
+ model: ChildBmiResultChart;
6
+ }>): JSX.Element;